Skip to main content
Jump to: navigation, search

Difference between revisions of "PTP/designs/rm view"

< PTP‎ | designs
 
Line 1: Line 1:
 
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.
 
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.
  
== Classes-Responsibilities-Collaboration (CRC) ==
+
== Package resourcemanager ==
  
 
For interfaces and abstract classes, the responsibilities and collaborations refer to concrete objects that are implementations of the interface or abstract class.
 
For interfaces and abstract classes, the responsibilities and collaborations refer to concrete objects that are implementations of the interface or abstract class.
  
== Package resourcemanager ==
+
=== Interface: IRMResourceManager ===
 
+
=== 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
+
; Responsibilities:  Proxy used to connect to the ResourceManagerHost's actual resource manager (ARM).<br> 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
 
; Collaborations:    IRMResourceManagerHost
 
    IRMResourceManagerListener
 
    IRMResourceManagerListener

Revision as of 13:28, 20 April 2006

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.

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:    

Class: ResourceManagerHost

 Responsibilities:   Determine which remote (or local) host's resource

manager to proxy Determine which resource manager on the host to proxy

 Collaborations:

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

Back to the top