SiteWhere does not currently have support for devices that are composed of other devices. For instance, a single "hub" device may be configurable with a number of contained devices that each need to have their own specifications and asset assignments. There is no straightforward way of doing this with the current model. Device specifications should allow for both "standalone" and "composite" device types. For composite devices, a schema should be supplied to indicate where nested devices may be "plugged in". The schema will be designed via a graphical editor within the device specification detail page and will support the concept of "device slots" and "device units". Device slots are places where devices may be plugged in. Device units are entities that group related slots. The schema should allow for any number of levels of nesting using device units. When creating or editing a composite device, child devices may be plugged in based on the device element schema from the device specification. Only one device may occupy a slot and a device may not be assigned to multiple parent devices.