[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[ptp-dev] Update to design
|
PTPers,
I've modified the design slightly. The deltas are listed
first, then the CRCs are listed in totality.
Additional modeling elements:
-------------------------------------------------------------------------------
Enumeration: RMStatus
Responsibilities: Provide consistent labeling of element status
OK element is up and able to accept jobs, etc.
DOWN element is down, reason will have to be
provided in other attributes
UNAVAILABLE element is unable to accept jobs,
etc., reason will have to be provied in
other attributes
Collaborations: ResourceManagerHost, IRMMachine, IRMNode,
IRMQueue
-------------------------------------------------------------------------------
Enumeration: RMJobStatus
Responsibilities: Provide consistent labeling of job status
PENDING job is pending in queue
RUNNING job is running normally
SUSPENDED job is suspended, reason will have
to be provided in other attributes
DONE job has completed normally
EXIT job has completed abnormally, reason will
have to be provide in other attributes
UNKNOWN job status is unknown
Collaborations: IRMJob
-------------------------------------------------------------------------------
Updated modeling elements,
deltas shown with += for insertion and -= for removal:
-------------------------------------------------------------------------------
Interface: IRMProcess
+= Responsibilities: Provide node on which the process runs
-------------------------------------------------------------------------------
Interface: IRMNode
+= Responsibilities: Provide node's status
+= Collaborations: RMStatus
-------------------------------------------------------------------------------
Interface: IRMMachine
+= Responsibilities: Provide machine's status
+= Collaborations: RMStatus
-------------------------------------------------------------------------------
Interface: IRMQueue
+= Responsibilities: Provide queue's status
+= Collaborations: RMStatus
-------------------------------------------------------------------------------
Class: ResourceManagerHost
+= Responsibilities: Provide host's status
+= Collaborations: RMStatus
-------------------------------------------------------------------------------
Interface: IRMJob
+= Responsibilities: Provide job's status
+= Collaborations: RMJobStatus
-------------------------------------------------------------------------------
Here is the new set of CRCs that include the above updates
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: RMStatus
-------------------------------------------------------------------------------
Class: ResourceManagerHost
Responsibilities: Determine which remote (or local) host's resource
manager to proxy
Determine which resource manager on the host to
proxy
Provide host's status
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
Provide machine's status
Collaborations: IAttribute
IAttrDesc
RMStatus
-------------------------------------------------------------------------------
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
Provide queue's status
Collaborations: IAttribute
IAttrDesc
RMStatus
-------------------------------------------------------------------------------
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
Provide node's status
Collaborations: IAttribute
IAttrDesc
RMStatus
-------------------------------------------------------------------------------
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
Provide job's status
Collaborations: IAttribute
IAttrDesc
RMJobStatus
-------------------------------------------------------------------------------
Interface: IRMProcess
Responsibilities: Provide the status information, i.e. attributes,
for the ARM's associated process
Provide specific attributes for a given
attribute description
Provide node on which the process runs
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
-------------------------------------------------------------------------------
Enumeration: RMStatus
Responsibilities: Provide consistent labeling of element status
OK element is up and able to accept jobs, etc.
DOWN element is down, reason will have to be
provided in other attributes
UNAVAILABLE element is unable to accept jobs,
etc., reason will have to be provied in
other attributes
Collaborations: ResourceManagerHost, IRMMachine, IRMNode,
IRMQueue
-------------------------------------------------------------------------------
Enumeration: RMJobStatus
Responsibilities: Provide consistent labeling of job status
PENDING job is pending in queue
RUNNING job is running normally
SUSPENDED job is suspended, reason will have
to be provided in other attributes
DONE job has completed normally
EXIT job has completed abnormally, reason will
have to be provide in other attributes
UNKNOWN job status is unknown
Collaborations: IRMJob
-------------------------------------------------------------------------------
Regards,
Randy
--
Randy M. Roberts
rsqrd@xxxxxxxx
work: (505)665-4285
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety." -- Benjamin Franklin
Attachment:
resourcemanager.pdf
Description: Adobe PDF document