Phase 1 - Core and Sequence Diagram

Scope

This phase is limited to developing toolkit core and functionality related to sequence diagrams. Within the scope of the phase the following items are to be developed:

Requirements

Xml-based Language Requirements
Core Requirements
Sequence Diagram Requirements
SD1. Frame element.
This notation shows a rectangular frame arount the diagram with its name in the left upper corner.
frame.jpg
SD2. Lifeline element.
Lifeline can be of different types. In the first phase there will be only a normal lifeline and actor lifeline notations.
Actor lifeline is always thick because an actor is always "alive".
Normal lifelines can have a type, defined through a colon. The lifeline name must be unique within a type.
LifelineActor lifeline
LifelineActor lifeline
SD3. Execution specification element.
Depicts the execution time on a lifeline.
execution_specification.jpg
SD4. Interaction use element.
This element allows to reference another sequence diagram. The element can span over several lifelines.
interaction_use.jpg
SD5. Combined fragment element.
Combined fragment allows to define groups of messages as a single entity. The element can span over several lifelines.
In the first phase only alt and loop will be implemented.
Alt allows to depict a choice between two alternatives. The notation can contain a predicate.
Loop depicts a group of messages repeated in a cycle.
AltLoop
AltLoop
SD6. State invariant element.
Allows definition of runtime constraints.
state_invariant.jpg
SD7. Continuation element.
Represents labels defining intermediate points in the flow of control. This element can span over several lifelines.
continuation.jpg
SD8. Destruction event element.
This element states that no more execution in current lifeline is possible.
destruction_event.jpg
SD9. Concurrent element.
Defeines that a section in a lifeline can be executed concurrently.
concurrent.jpg
SD10. Duration constraint element.
This element defines duration of a time-consuming operation. Can be applied only to duration messages.
duration_constraint.jpg
SD11. Time constraint element.
Allows to define timepoints on a sequence diagram.
time_constraint.jpg
SD12. SD12. Message element.
Connects two lifelines, or a lifiline with itself. Each message can have a label. Checking syntax of the label messages will be implemented in the next phases. There can be different types of messages:
call messageCall messages represent a method call. Can be either synchronous or asynchronous.
return messageDefines the reply to a method call. The return message from a method has a dashed line.
self-messageRepresents an object's call to itself. Can be either synchronous or asynchronous.
recursive messageDefines a recursive method call. Can be either synchronous or asynchronous.
duration messageAllows to specify calls which have specific duration. Can be either synchronous or asynchronous. The duration message is a slanting line.
create messageDefines a call to object constructor. A lifelne, to which this call is addressed, begins only after this call. Object creation Message has a dashed line with an open arrow.
found messageIs a message where the origin of the message is outside the scope of the description. Found Messages are described as a small black circle at the starting end of the Message.
lost messageIs a message that never reached its destination. Lost Messages are described as a small black circle at the arrow end of the Message.
synchronous messageSynchronous Messages typically represent operation calls and are shown with a filled arrow head.
asynchronous messageAsynchronous Messages have an open arrow head.

Message notations.
Call message synchronouscall_message_sync.jpg
Call message asynchronouscall_message_async.jpg
Return messagereturn_message.jpg
Self messageself_message.jpg
Recursive messagerecursive_message.jpg
Duration messageduration_constraint.jpg
Create messagecreate_message.jpg
Found messagefound_message.jpg
Lost messagelost_message.jpg
SD13. Stereotypes.
It must be possible to define stereotypes for lifelines and for message elements. The names of stereotypes appear in double angle brackets.
stereotypes.jpg
Parser Requirements
Client Tool Requirements
User Guide Requirements