Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
PTP/designs/rm view
This is a preliminary design for the PTP Resource Management system. This is the design of the first phase product, which is limited in scope to viewing the state of the resource manager. This includes the machines, jobs, queues, and nodes that are under the resource manager's control. The classes currently in PTP will implement these new interfaces in addition to their previously implemented interfaces.
Contents
- 1 Package resourcemanager
- 1.1 Interface: IRMResourceManager
- 1.2 Interface: IRMResourceManagerListener
- 1.3 Interface: ResourceManagerEvent
- 1.4 Class: ResourceManagerHost
- 1.5 Interface: IRMMachine
- 1.6 Interface: IRMQueue
- 1.7 Interface: IRMNode
- 1.8 Interface: IRMJob
- 1.9 Interface: IRMProcess
- 1.10 Interface: IAttribute
- 1.11 Interface: IAttrDesc
Package resourcemanager
For interfaces and abstract classes, the responsibilities and collaborations refer to concrete objects that are implementations of the interface or abstract class.
Interface: IRMResourceManager
- Responsibilities
- Proxy used to connect to the ResourceManagerHost's actual resource manager (ARM).
Retrieve list of machines, nodes, jobs, process, and queues from ARM.
Notify registered objects that the lists have changed, either in composition, or in their element's attributes due to changes propagated from the ARM - Collaborations
- IRMResourceManagerHost
IRMResourceManagerListener
IRMResourceManagerEvent
IRMMachine, IRMNode, IRMJob, IRMQueue
Interface: IRMResourceManagerListener
- Responsibilities
- Registration site for Observer pattern to allow objects to be notified of changes in the IRMResourceManager's status
- Collaborations
- IRMResourceManager
IRMEvent
Interface: ResourceManagerEvent
- Responsibilities
- Determine type of changed in the IRMResourceManager's state
- Collaborations
- none
Class: ResourceManagerHost
- Responsibilities
- Determine which remote (or local) host's resource manager to proxy
Determine which resource manager on the host to proxy - Collaborations
- none
Interface: IRMMachine
- Responsibilities
- Provide the status information, i.e. attributes, for the ARM's associated machine
Provide specific attributes for a given attribute description
List all nodes associated with ARM's machine - Collaborations
- IAttribute
IAttrDesc
Interface: IRMQueue
- Responsibilities
- Provide the status information, i.e. attributes, for the ARM's associated queue
Provide specific attributes for a given attribute description
List all nodes that may have jobs dispatched from this queue - Collaborations
- IAttribute
IAttrDesc
Interface: IRMNode
- Responsibilities
- Provide the status information, i.e. attributes, for the ARM's associated node
Provide specific attributes for a given attribute description
List all jobs associated with ARM's node
List all queues that can run jobs on this node - Collaborations
- IAttribute
IAttrDesc
Interface: IRMJob
- Responsibilities
- Provide the status information, i.e. attributes, for the ARM's associated job
Provide specific attributes for a given attribute description
List all processes associated with ARM's job - Collaborations
- IAttribute
IAttrDesc
Interface: IRMProcess
- Responsibilities
- Provide the status information, i.e. attributes, for the ARM's associated process
Provide specific attributes for a given attribute description - Collaborations
- IAttribute
IAttrDesc
Interface: IAttribute
- Responsibilities
- Maintain the relationship between an attribute's value and its description
Specifies a strict-weak ordering of itself and other attributes
Provide a string representation of the attribute - Collaborations
- IAttrDesc
Interface: IAttrDesc
Responsibilities: Provide a string description of the attribute
Provide a name of the attribute Know the actual type of the attribute Create new attributes of the correct type
Collaborations: IAttribute