Figure PR.20 - Specifying Different Types of EquipmentHolders

Header Image
Project:
Figure PR.20 - Specifying Different Types of EquipmentHolders : Class diagram
Created: 3/28/2022 3:51:09 PM
Modified: 10/3/2023 6:33:55 AM
Project:
Advanced:
EquipmentHolder represents a specific category of physical objects. This means that it has its own hierarchy of objects. Specifically, we’ve already differentiated between Slots and Chassis (which are both subclasses of EquipmentHolder). The M.3100 definition of this class describes it as representing physical objects that are both manageable as well as able to host, hold, or contain other physical objects. Examples of physical objects that can be represented by instances of this object class are Racks, Chassis, Shelfs, Cards, and Slots. (Note that M.3100 does not define all of these different types of EquipmentHolder.)<br/>Some devices are built in such a way as to enable other devices to be mounted inside them. This can be modelled using the composite pattern, which divides an entity into two subclasses. One subclass is used to model stand-alone objects, and the other subclass is used to model objects that can contain more objects of that type. We can apply this pattern to the EquipmentHolder class to obtain the following Figure.<br/>The acceptableEquipmentList attribute is an array of strings, based on M.3100, which identifies the types of equipment objects that can be supported by this object. This attribute is defined for backwards compatibility with M.3100.<br/>The typeOfHolder attribute is an enumerated integer that identifies the type of the Holder that this object instance is. It is based on M.3100 but includes additional values.<br/>The holderStatus attribute indicates the status of the EquipmentHolder (e.g., is it installed).<br/>The figure below has now formalized what we knew all along – there are really two different types of EquipmentHolders. One type, designated by the AtomicHolder class, is meant to be used in a stand-alone way. This doesn’t mean that a Slot exists by itself; rather, the Slot cannot be used to form another type of EquipmentHolder. Contrast this to either a Rack or a Chassis. Both of these are subclasses of the CompositeHolder class, because both of them can be used to form more complex types of EquipmentHolders. For example, a Chassis can contain either another Chassis or a Slot, and a Rack can contain either a set of Chassis or a “sub-Rack”.<br/>