3C Clear Clean Concise  UML                       Back to 2torial   Contents
communityUML 2torial

Time in UML 1

          "The UML authors targeted the modeling of
                  concurrent, distributed systems." 
                                                                 [UML 1.4 p. 1-7]

Here are some examples of the ways that UML 1 allows a modeler to use time.  And some examples of how time is used in the defintion of UML 1.

UML 1 uses the concepts, after, already, before, concurrent, delay, different time, duration, during, instant, moment, persistent, same time, sequential, simultaneous, time, transitory and when.


"[A] TimeExpression defines a statement which will define the time of occurrence of an event. The specific format of time expressions is not specified here and is subject to implementation considerations."

"If the time expression is relative and no explicit starting time is defined, then it is relative to the time of entry into the source state of the transition triggered by the event."

"... an instance may have multiple classes at one time and may gain or lose classes over time..."

"An [active] Object has its own thread of control and runs concurrently with other active Objects."

"The occurrence that generates an event instance is assumed to take place at an instant in time with no duration."

"The predecessors [of a message] are the set of messages that must be completed before the current message may be executed."

"[The initial value expression] is meant to be evaluated at the time the object is initialized."

"The constraint holds for instances of the classifier when an instance is in that state."

"Messages may be executed concurrently subject to the sequential constraints imposed by the predecessors and activator relationship."

"A TimeEvent models the expiration of a specific deadline. Note that the time of occurrence of a time event instance (i.e., the expiration of the deadline) is the same as the time of its reception. However, it is important to note that there may be a variable delay between the time of reception and the time of dispatching (e.g., due to queueing delays)."

"[An invariant] indicates that the conditions of the constraint must hold over time (for the time period of concern in the particular containing element)..."

"Multiple calls from concurrent threads may occur simultaneously to one Instance (on any concurrent Operation)."

"Whenever a state is entered, it executes its entry action before any other action is executed."  [Italics in original]

"Association Persistence denotes the permanence of the state of the association, marking it as transitory (its state is destroyed when the instance is destroyed) or persistent (its state is not destroyed when the instance is destroyed)."

"Flow specifies a Flow relationship, source and target of which represent the same instance at different points in time, but each with potentially different values, state instance, and roles. A Become flow relationship from A to B means that instance A becomes B with possibly new values, state instance, and roles at a different moment in time/space."

The completion event is dispatched before any other queued events..."

"Composite aggregation is a strong form of aggregation which requires that a part instance be included in at most one composite at a time...   A shareable aggregation denotes weak ownership (i.e., the part may be included in several aggregates) and its owner may also change over time."

"A transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before."

"A synch sate is used in conjunction with forks and joins to insure that one region leaves a particular state or states before another region can enter a particular state or states."

"For the model to be well formed, the [constraint] expression must always yield a true value when evaluated for instances of the constrained elements at any time when the system is stable (i.e., not during the execution of an atomic operation)."

"A TimeEvent models the expiration of a specific deadline. Note that the time of occurrence of a time event instance (i.e., the expiration of the deadline) is the same as the time of its reception. However, it is important to note that there may be a variable delay between the time of reception and the time of dispatching (e.g., due to queueing delays)."

"If the time expression is relative and no explicit starting time is defined, then it is relative to the time of entry into the source state of the transition triggered by the event."


 

Back to 2torial    Contents

  DA.gif (4367 bytes)

The OMG mark, ‘UML,’  is a trademark of Object Management Group, Inc. (OMG). 


During development of this web site, please send comments to Joaquin Miller. mailto:joaquin@acm.org    
Copyright © 2000 Financial Systems Architects