DepotSafety
allocates drums to available storage space StorageAllocation
applies depot safety policies during storage allocation  
   
   
   
   
   
   
   
   
   
   
   
   

 

StorageAllocation
knows a kind of EPA hazard Hazard
knows how many drums are assigned to a storage building StorageBuilding
allocates drum storage to a storage building  
applies drum storage safety policies during allocation  
   
StorageAllocation class  
produces prospective storage allocations  
balances storage across prospective allocations  
   
   
   
   
   
   

 

Building
knows a building identifier  
knows its location within the depot (address)  
knows its physical dimensions Perimeter
   
   
   
   
   
   
   
   
   
   
   

 

Perimeter
knows an origin Point
knows a boundary extent (width x depth) Point
can expand itself by some interval  
can determine whether it overlaps another perimeter  
   
   
   
   
   
   
   
   
   
   

 

StorageBuilding extends Building
stores drums containing hazardous chemicals DrumStorage
may only ever store two compatible hazard types EpaCompliance?
   
   
   
   
   
   
   
   
   
   
   
   

 

DrumStorage
has a storage license for a specific kind of hazard StorageLicense
knows how many drums it can store (storage limit)  
contains some drums Drum
knows how many more drums it can store (remaining capacity)  
   
   
   
   
   
   
   
   
   
   

 

StorageLicense
applies to a kind of EPA hazard Hazard
applies to a specific storage building StorageBuilding
knows a drum storage limit  
   
StorageLicense class  
maintains a license inventory (assets)  
provies access to licenses by hazard  
   
   
   
   
   
   
   

 

Hazard
identifies a kind of EPA hazard  
   
Hazard class  
provides access to the registered hazard types: 1, 2, 3  
   
   
   
   
   
   
   
   
   
   

 

Drum
knows a drum identifier  
contains a hazardous chemical Chemical
knows its measurements Weight
  Volume
   
   
   
   
   
   
   
   
   
   

 

Chemical
knows its name  
knows a formula  
knows its EPA hazard classification Hazard
   
Chemical class  
maintains a chemical registry  
provides access to chemicals by name  
provides access to chemicals by formula