Legacy Issue Number: 10421
Source: Northrop Grumman ( Mike Browne)
Problem: Previous efforts to create an interface definition hierarchy and constraints on device components that would allow for light weight device component definitions has left some inconsistencies in the definitions, and did not address the resource components. The real desire is to remove the constraints from the resource and device definitions to allow for both simple and sophisticated definitions to be managed consistently. For example, device compositions reference device components which inherit from device which inherit state management and capacity manager. There is currently no way for a lightweight device to be part of the composition.
Proposed Solution: Modify both the Resource and Device interface sections to remove unwanted inheritance and add in constraints for building more sophisticated versions. This will allow the base versions to be the generalization required for reference in other facilities to create the desired consistent behavior.
Remove inheritance dependency from Resource such that only the specializations of Identifier, Lifecycle (init, release) and ControllableComponent (start,stop) interfaces are included. The remaining interfaces would remain without dependencies.
Add constraints to the effect that:
if a component has test properties then the component shall realize the TestableObject Interface
It a component has configure and/or query properties then the component shall realize the PropertySet interface.
If a component has provides ports then the component shall realize the PortSupplier interface.
If a component has uses ports then the component shall realize the PortConnector interface.
Remove the inheritance dependency on CapacityManager and StateManagement from the Device interface. Leave these interfaces as standalone interfaces.
Add Device Component constraints to the effect that:
if the component manages service properties then the component shall realize the CapacityManager interface
is the component has managed service properties then the component shall realize the PropertySet interface.
Also add sematics to the effect that if the DeviceComponent is suppose to be a managed component then it would realize the StatementManagement interface.
Move the methods contained in loadable and executable back into the LoadableDevice and ExecutableDevice respectively as with the revised definition of Device, these could be used as desired without the separate interfaces.
Then clean up any wording, etc. to ensure the any and all mixes can play together nicely.
Reported: SDRP 1.0b1 — Fri, 20 Oct 2006 04:00 GMT
Disposition: Resolved — SDRP 1.0
No Data Available
Updated: Sat, 7 Mar 2015 00:33 GMT