IBM
Contents Index Previous Next



About Symbols and Lines


The notation used for symbols and lines in the OM Editor complies with Static Structure (Class) diagrams defined in UML (Unified Modeling Language), version 1.3.

The notation used for symbols and lines in the SC Editor complies with State Chart diagrams defined in UML (Unified Modeling Language), version 1.3.

The notation used for symbols and lines in the DP Editor is based on the notation of Deployment and Component diagrams defined in UML (Unified Modeling Language), version 1.3.

The notation used for symbols and lines in the HMSC Editor complies with the ITU-T Z.120 recommendation from 1996. The comment symbol and the parallel frame symbol are not supported.

The notation used for symbols and lines in the MSC Editor complies with the ITU-T Z.120 recommendation from 1996. All MSC'96 symbols except the general ordering arrow are supported. Furthermore the MSC Editor does not support drawing of messages to the environment frame and message gates. Inline expressions are always global (i.e. they cover all instances).

For short explanations of when to use different symbols, see Symbols and Lines - Quick Reference.

Symbols

Diagrams contain different types of symbols that describe the structure of the diagram. All symbols must be placed inside the frame symbol. Figure 284 identifies these symbols in the symbol menu.

You can draw symbols in color, see Color on Symbols.

All symbols that are available in the symbol menu are selectable and moveable; they can be assigned arbitrary locations by you, with the exception that symbols are normally not allowed to overlap1. SC only: symbols can however be placed inside a state symbol, see State Symbols.

Common Symbol

A symbol common for all the editors is:

Symbol Appearance Symbol Name Summary

Text

Informal specification, global comments

Text Symbols

Text symbols contain informal text. It is not possible to connect any lines to a text symbol.

Double-clicking on a text symbol minimizes the symbol if not already minimized and maximizes the symbol if not already maximized.

Text symbols are typically used to add comments to diagrams or to convey system information (HMSC Editor: on a global level) that cannot be captured using the constructs offered by the editor.

When all of the text within a text symbol is in view, the upper right corner looks like a piece of paper that has been folded. When any portion of the text within a text symbol cannot be seen (because the text symbol is too small), the upper right corner looks like it has been clipped.

OM Symbols and Lines

See also Symbols and Lines - Quick Reference.

Symbol Appearance Symbol Name Summary

Class

Class definition

Object

Class instance

Text in Class and Object Symbols

OM symbols have one or more text compartments, which should be filled with a textual expression. While the OM Editor does not require that symbol text compartments should contain text, it will perform a syntactic check on text compartments as soon as they are changed and deselected.

The syntax rules of OM diagrams are detailed in Object Model Syntax.

Note:

The OM Editor does not enforce syntax correctness in OM class and object symbols. This means that it is possible to use any conventions you desire for the textual contents of symbols; however, some features offered by the OM Editor will not be available, notably the Browse & Edit Class dialog.

Syntax checking on text in general is described in greater detail under Textual Syntax Checks.

Class Symbols

A class symbol is divided into three horizontal compartments. In order from the top, the compartments are:

The text in these compartments is parsed by the OM Editor and should conform to the syntax specified in Class Symbol Syntax.

In the name compartment two more extra text fields can appear. If adding text to the stereotype and properties fields in the Symbol Details window, these texts will also be visible inside the name compartment. These texts are not subject to syntactic checks.

Figure 285 : Class symbol with stereotype and properties texts

If you double-click a class symbol, the Browse & Edit Class dialog will be opened (see Browse & Edit Class Dialog).

Object Symbols

Used to describe an OM object, or an instance of a class.

An object symbol differs from a class symbol in that it does not contain an operations compartment. In addition, the remaining compartments require a somewhat different syntax, see Object Symbol Syntax.

The object symbols handles stereotype and properties texts in the same way as the Class symbol.

If you double-click an object symbol whose name compartment includes a class name2, the Browse & Edit Class dialog will be opened (see Browse & Edit Class Dialog).

Lines

Lines are the graphical objects that interconnect objects. Normally a line interconnects two symbols but it could also connect a symbol with another line. The following types of lines interconnecting symbols are defined in OM diagrams (see Figure 286):

The only line interconnecting a symbol and a line in OM diagrams is:

Figure 286 : Lines in OM diagrams

To insert lines, select a class or object symbol, drag one of the handles that appear on the source symbol and connect it to the target symbol. There is one handle for each type of line.

Figure 287 : Handles for different line types

The Link Class line handle is placed on selected association and aggregation lines.

Figure 288 : Handle for Link Class line

When a handle is clicked, the status bar shortly describes what the handle is used for and how to draw a line. This chapter does not describe how to work with lines. However, working with lines in the OM Editor is similar to working with lines in the SDL Editor; see Working with Lines.

Lines are always connected to objects; they are not allowed to exist on their own. A line is allowed to overlap any other object.

Lines are selectable; they can be moved and reshaped by you. Some layout work is performed automatically by the OM Editor.

Double-clicking on a line brings up the Line Details window (see Line Details Window).

See also Line Attribute Objects.

SC Symbols and Lines

See also Symbols and Lines - Quick Reference.

Symbol Appearance Symbol Name Summary

State

State definition.

Start

Starting point of the SC.

Termination

Termination point of the SC.

Text in State Symbols

State symbols have three text compartments which should be filled with textual expressions, but are allowed to remain empty. A syntactic check on a text compartment is performed as soon as it is changed and deselected.

State Symbols

A state symbol contains a state section which is divided into horizontal compartments. In order from the top, the compartments are:

The text in these compartments should conform to the syntax specified in State Symbol Syntax.

The state symbol may have an additional compartment with a graphic region holding a nested SC. This is called the substate compartment and states with this compartment are often called hierarchical states or superstates. The state will be extended with this compartment when a symbol is placed within it. The compartment disappears when the last symbol is removed from it.

Figure 289 : A state with its compartments

Text symbols are allowed to be placed inside the substate compartment but will not belong to the state. Thus, it will not automatically be part of the operations done on the state symbol, e.g. move, copy, etc.

Start Symbols

The start symbol is used to indicate where a SC starts.

Termination Symbols

The termination symbol is used to indicate where a SC terminates.

Lines

Lines are the graphical objects that interconnect objects. There is only one kind of line interconnecting symbols in SC diagrams, a transition line (see Figure 286):

Figure 290 : Transition line in SC diagrams

To insert lines, select a start or state symbol, drag the handle that appears on the source symbol and connect it to the target symbol.

Figure 291 : Handle for transition lines

When a handle is clicked, the status bar shortly describes what the handle is used for and how to draw a line. This chapter does not describe how to work with lines. However, working with lines in the SC Editor is similar to working with lines in the SDL Editor; see Working with Lines.

Lines are always connected to objects; they are not allowed to exist on their own. A line is allowed to overlap any other object.

Lines are selectable; they can be moved and reshaped by you. Some layout work is performed automatically by the SC Editor.

See also Line Attribute Objects.

DP Symbols and Lines

See also Symbols and Lines - Quick Reference.

.
Symbol Appearance Symbol Name Summary

Node

A run-time physical object that represents a computational resource (see [6]).

Component

A physical, replacable part of a system that packages implementation (see [6]).

Thread

An OS thread, i.e. a light-weight process. Not to be mistaken for an OS task, i.e. a heavy-weight process.

Object

An SDL entity, i.e. a system, block or process.

Double-clicking on a DP symbol brings up the Symbol Details window (see Symbol Details Window).

Node Symbols

For node symbols the following text attributes can be edited:

The name text can be edited directly in the symbol and should conform with the syntax described in Node Symbol Syntax. The other texts can be edited in the Symbol Details window and are not subject to syntactic checks.

.

Figure 292 : Node symbol with stereotype and properties texts

Component Symbols

The text attributes of component symbols are the same and follow the same rules as those of node symbols. You can select the integration model for a component symbol from the Symbol Details dialog box. The syntax rules that apply are described in Component Symbol Syntax.

Figure 293 : Component symbol with properties text

Thread Symbols

For thread symbols only the name text is visual. From the Symbol Details dialog box, you can edit thread priority, stack size, queue size and max signal size for a thread. The syntax rules described in Thread Symbol Syntax are applied.

Object Symbols

Object symbols have the following text attributes:

In the Symbol Details window the stereotype, properties and qualifier texts can be added. If the stereotype text for an object symbol is process the appearance of the symbol is changed.

.

Figure 294 : Object with stereotype "process"

The qualifier of an object symbol is displayed in the status bar when pointing the mouse at the symbol.

The syntax rules for the object symbol text attributes are described in Object Symbol Syntax.

Lines

Lines are graphical objects that interconnect objects. Two types of lines are defined in DP diagrams (see Figure 295):

Figure 295 : Lines in DP diagrams

To insert lines, select a symbol, drag one of the handles that appear on the source symbol and connect it to the target symbol. There is one handle for each type of line.

Figure 296 : Handles for different line types

When a handle is clicked, the status bar shortly describes what the handle is used for and how to draw a line. This chapter does not describe how to work with lines. However, working with lines in the DP Editor is similar to working with lines in the SDL Editor; see Working with Lines.

Lines are always connected to objects; they are not allowed to exist on their own. A line is allowed to overlap any other object.

Lines are selectable; they can be moved and reshaped by you. Some layout work is performed automatically by the DP Editor.

Double-clicking on a line brings up the Line Details window (see Line Details Window).

See also Line Attribute Objects.

HMSC Symbols and Lines

See also Symbols and Lines - Quick Reference.

Symbol Appearance Symbol Name Summary

MSC Reference

Reference to another MSC diagram or MSC reference expression

Condition

Expresses alternative path in an HMSC

Connection Point

Expresses that lines are connected at this point

Start

Start of the HMSC road map.

End

End of the HMSC road map.

Reference Symbols

The reference symbol is used to refer to other (H)MSC's of the MSC document. The MSC references are objects of the type given by the references MSC.

MSC references may not only refer to a single MSC, but also to MSC reference expressions. MSC reference expressions are textual MSC expressions constructed from the operators alt, par, seq, loop, opt, exc and subst, and MSC references.

The text is parsed by the HMSC Editor and should conform to the syntax specified in Reference Symbol Syntax.

Double-clicking on a reference symbol opens the referenced MSC diagram. Note that if a reference symbol contains more than one name, you should place the cursor directly on one of the MSC names; otherwise an dialog is presented, see Navigate.

Condition Symbols

The condition symbol in HMSC's can be used to indicate global system states and impose restrictions on the MSC's that are referenced in the HMSC.

The text is parsed by the HMSC Editor and should conform to the syntax specified in Condition Symbol Syntax.

Connection Point Symbols

The connection point symbol in HMSC's is used to indicate that two (or more) crossing lines are actually connected.

Start Symbols

The start symbol in HMSC's is used to indicate where an HMSC road map starts.

End Symbols

The end symbol in HMSC's is used to indicate where and HMSC road map ends.

Lines

Lines are the graphical objects that interconnect objects. There is only one kind of line in the HMSC Editor.

To insert lines, select any3 of the symbols, drag the handle that appear on the source symbol and connect it to the target symbol.

Figure 297 : Symbol line handle

When a handle is clicked, the status bar shortly describes how to draw a line. This chapter does not describe how to work with lines. However, working with lines in the HMSC Editor is similar to working with lines in the SDL Editor; see Working with Lines.

Lines are always connected to objects; they are not allowed to exist on their own. A line is allowed to cross (but not overlap) another line. Since lines in HMSC's are directed, lines always starts at the bottom of a symbol and ends on the top of a symbol.

Lines are selectable; they can be moved and reshaped by you.

MSC Symbols and Lines

See also Symbols and Lines - Quick Reference.

Symbols are the graphical objects that build up the contents of an MSC. Lines are the graphical objects that interconnect symbols. Lines are available in the symbol menu and are thus handled as symbols.

Symbol Appearance Symbol Name References to Z.120

Text

Z.120  2.3

Comment

Z.120  2.3

Instance head

Z.120  4.2

Instance end

Z.120  4.2

Message

Z.120  4.3

Message-to-self

Z.120  4.3

Found message

Z.120  4.3

Lost message

Z.120  4.3

Condition

Z.120  4.6

Timer1

Z.120  4.7

Separate timer set2

Z.120  4.7

Separate timer reset

Z.120  4.7

Separate timer consumed / timeout

Z.120  4.7

Action

Z.120  4.8

Create

Z.120  4.9

Stop

Z.120  4.10

Coregion

Z.120  5.1

MSC Reference

Z.120  5.4

Inline expression

Z.120  5.3

Inline separator

Z.120  5.3

1

The Z.120 symbols timer set and time-out are in this case merged into one symbol, the MSC Editor timer symbol.

2

A separate timer reset or timer consumed symbol is created by creating a separate timer set symbol, followed by changing its status to either reset or consumed.

Syntax Checking on Symbols and Lines

The MSC Editor checks that the symbols are positioned in the MSC in accordance to rules governed by Z.120. Lines are always connected to at least one symbol, they are not allowed to exist on their own. The MSC Editor checks that lines are connected to symbols in accordance to Z.120.

Graphical Properties of Symbols and Lines

All symbols that are available in the symbol menu are selectable and moveable. They can be placed automatically or you may, as long as the Z.120 syntax rules are respected, assign them arbitrary locations.

Lines are selectable; you can move them and reconnect them. Some layout work is performed automatically when a line is drawn.

Most of the symbols are not resizable; these are indicated by grayed selection squares. Other symbols may be resized; this is shown by a filled selection square.

Textual Attributes

Textual objects are the textual attributes that are related to a symbol or a line.

Some MSC symbols have one or multiple text attributes. A text attribute should be filled with an MSC/PR expression (textual expression) that is syntactically correct according to Z.120, alternatively filled with some informal text if the MSC concept is used informally.

Text attributes related to messages and timers may be moved freely by you. Textual objects are allowed to overlap any other objects.

Line Attribute Objects

This section applies to OM, SC and DP only.

Line attribute objects represent additional items of information associated with lines. It is not possible to create free line attribute objects that are not associated with any line; line attributes are always associated to, and destroyed with, their respective lines.

SC only: Each transition line has a line attribute object, the transition label, which is pre-created by the SC Editor when you create a line. You may ignore this attribute or fill in the textual contents, as appropriate. The text should conform to the syntax specified in Transition Line Syntax.

OM only: Each type of line has a primary line attribute object, the name (for associations and aggregations) or discriminator (for generalizations) attribute, which is pre-created by the OM Editor when you create a line. You may ignore the primary attribute or fill in the textual contents, as appropriate.

DP only: Each type of line has a primary line attribute object, the protocol (for associations) or multiplicity (for aggregations) attribute, which is pre-created by the DP Editor when you create a line. You may ignore the primary attribute or fill in the textual contents, as appropriate.

OM and DP only: A number of secondary line attribute objects can be created for each line using the Line Details window (see Line Details Window and Line Details Window respectively). The exact number and types of line attribute objects depends on the type of line and is summarized in tables below.

Line attribute objects have a number of common characteristics:

OM only: While most line attributes can be moved freely and are allowed to overlap other objects, some attributes, such as the association qualifier, are restrained by graphical layout restrictions and cannot be freely moved.

OM Line Attribute Objects

Name and Graphical Appearance Line Attribute Objects (· Primary and - Secondary)

Association

Aggregation

Generalization

Link Class

  • No line attributes

OM Aggregation/Association Attributes5

Attribute Appearance Attribute Name (Properties) Summary

Name

(Pre-created, Editable, Optional arrow)

Names a conceptual connection between object instances.

While always bidirectional, the name usually denotes traversal of the association in the "forward" direction, as defined by the optional arrow.

Reverse Name

(Editable, Optional arrow)

Allows a separate name to be used when the link is traversed in the opposite direction.

Qualifier

(Editable, Not moveable)

Describes an association between two objects that is defined by the identity of a third object.

Ordered

(Not editable)

The ordered attribute puts additional constraints on a one-to-many association.

Sorted

(Not editable)

The sorted attribute puts additional constraints on a one-to-many association.

Role Name

(Editable)

Each end of an association is called a role. While redundant, well-named roles can sometimes facilitate analysis.

Role Multiplicity

(Editable)

Multiplicity is used to constrain the number of related objects. Multiplicity can be fixed, a closed range, an open range, or any combination of these.

Derived Attribute

(Not editable, Not moveable)

Indicates that the association represents redundant information, that can be calculated by following other associations.

Constraint

(Editable)

Allows the specification of arbitrary constraints. The specified text is automatically placed between `{` and `}'.

OM Aggregation Attributes

Attribute Appearance Attribute Name (Properties) Summary

Composite

(Editable)

Indicates aggregation with strong ownership.

OM Generalization Attributes

Attribute Appearance Attribute Name (Properties) Summary

Discriminator

(Pre-created, Editable)

The discriminator describes which property of an object is being abstracted by a particular generalization relationship.

SC Line Attribute Objects

Name and Graphical Appearance Line Attribute Objects

Transition

  • Transition label of the transition

SC Transition Attributes

Attribute Appearance Attribute Name (Properties) Summary

Transition label

(Pre-created, Editable)

Describes the transition.

For a description of the syntax, see Transition Line Syntax.

DP Line Attribute Objects

Name and Graphical Appearance Line Attribute Objects (· Primary and - Secondary)

Aggregation

Composite Aggregation

DP Association Attributes

Attribute Appearance Attribute Name (Properties) Summary

Protocol

(Pre-created, Editable)

The protocol of the communication path.

Name

(Editable)

The name of the communication path.

Encoding

(Editable)

The encoding of the communication path.

Direction

(Editable)

The direction of the communication path.

DP Aggregation Attributes

Attribute Appearance Attribute Name (Properties) Summary

Multiplicity

(Pre-created, Editable)

Multiplicity is used to constrain the number of related objects. Multiplicity can be fixed or an infinite number.

1

In certain situations symbols will overlap as a consequence of automatic resizing when new text is entered in the symbols. Such symbols can only be moved to areas where an overlap does not occur.

2

A class name is considered present only if the class name follows the object name after being separated by a colon `:' character.

3

This does not apply to the stop symbols, since lines can not be drawn from it, only to it.

4

While the results are normally what you would prefer, it is always possible to manually adjust the position of moveable line attributes after repositioning the line.

5

While these attributes are available both for associations and aggregations, they are much more often used for associations. The use of these attributes for aggregations depends on how sharply the analysis or design separates between association and aggregation.


http://www.ibm.com/rational
Contents Index Previous Next