Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] Updated diagram and CRCs for resourcemanager package

Randy,

1. What is the relationship between IRMMachine, IRMNode, etc. and IPMachine, IPNode, etc?

2. The IRMResourceManager interface retrieves a '...list of machines, nodes, jobs, process,...' Currently this is performed by the IMonitoringSystem/IControlSystem interfaces. Does IRMResourceManager supersede the other interfaces?

3. Please provide details on how the Resource Manager interacts with the current model/interfaces, etc?

4. Please provide a brief overview of the components (for example, what is the purpose of the attribute interfaces).

I'll start getting this up on the wiki.

Thanks,

Greg

On Apr 20, 2006, at 11:11 AM, Randy M. Roberts wrote:

Resource Manager Design:

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.

After having discussed the design with Nathan I've made changes to the
package and names of the major interfaces.  The classes currently in
PTP will implement these new interfaces in addition to their
previously implemented interfaces.

I have included an updated diagram.

I've included a brief Classes-Responsibilities-Collaboration (CRC)
"card" for the interfaces and classes in the design.

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

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

---------------------------------------------------------------------- ---------


Regards,
Randy

<resourcemanager.pdf>
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev



Back to the top