[Previous] [Next] [Contents] [Index]


    Using the ORCA Diagram Editors

This chapter describes the ORCA diagram editors, which you use for creating, drawing and printing OM (Object Models), SC (State Charts), MSC (Message Sequence Charts) and HMSC (High-level Message Sequence Charts) diagrams. Another name for HMSC is "road map".

This chapter contains information about the functionality, menus, dialogs and windows of the ORCA diagram editors. For a guide to how to create and edit MSCs, see Editing MSC Diagrams.

ORCA is part of the Telelogic product suite and stands for Object oriented Requirement Capture and Analysis.

Table of Contents 

General

The editor described in this chapter is a combined OM, SC, MSC and HMSC Editor. This editor is thus capable of showing four different types of diagrams, namely the Object Model (OM) diagrams, State Chart (SC) diagrams, Message Sequence Chart (MSC) diagrams, and High-level MSC (HMSC) diagrams.

This combined editor is calledthe editorthroughout this chapter. If only a specific editor is applied, that editor will be explicitly mentioned.

OM, SC and HMSC diagrams are handled by one editor window, whereas MSC diagrams are handled by a separate editor window. This means that two editor windows are needed to handle all four diagram types.

The editor handling SDL diagrams is described in Using the SDL Editor.

How to edit MSC diagrams is described more closely in Editing MSC Diagrams.

Diagrams and Pages

The handling of diagrams and pages is common to the OM, SC, MSC and HMSC diagrams. The editor can handle any number of diagrams.

The pages that the editor displays are always contained within a diagram. A diagram can contain any number of pages, but, must contain at least one page. The MSC Editor is an exception as it always contains only one page. This page is enlarged when objects are added, etc.

The pages that are contained in a diagram are listed and handled according to a fixed order. While the order of pages is initially defined by the order in which the pages are added when created, pages can be renamed and rearranged with the Edit menu choice in the Pages menu.

This order is reflected in some of the menu choices that are related to pages. Also, the structure displayed by the Organizer will adopt the same order. See Ordering.

The Editor User Interface and Basic Operations

The Editor User Interface

The editor window can be used for viewing OM, SC, MSC and HMSC diagrams.

The general Telelogic Tau user interface is described in User Interface and Basic Operations.

These functions are provided:

When you edit OM diagrams, three auxiliary windows are also provided:

When you edit MSC diagrams this function is also available:

Figure 278  : The editor window showing an OM diagram (on UNIX)

Extracted pic [20]

Figure 279  : The editor window showing an OM diagram (in Windows)

Extracted pic [15]

The Editor Drawing Area

The drawing area is the part of the window which displays the symbols, lines and text that constitute a page (a diagram can contain multiple pages) or an MSC.

Figure 280  : The drawing area with an OM page displayed

Extracted pic [17]

Figure 281 : The drawing area with an MSC Diagram displayed

Extracted pic [25]

Drawing Area Boundaries

The drawing area is delimited by its boundaries, which correspond to the size of the page. No objects are allowed to be placed outside these boundaries. The drawing area uses a light background color, while the area outside the drawing area uses a grey pattern.

Within a diagram, each page has an individual size.

The Frame

The frame always coincides with the drawing area size. It is selectable but not editable. The frame is automatically selected with the Select All menu choice.

It is not possible to connect any diagram symbol to the frame. The frame only affects if the page is printed with or without a frame when printing selected objects, or when selected symbols are copied to a metafile (Windows only).

The Heading

OM and SC only: The heading contains the diagram name. The heading is editable but cannot be moved. The editor performs a textual syntax check on the name used in the heading, see Diagram Name Syntax.

MSC and HMSC only: The heading identifies the chart type and name. The type cannot be edited.

The Page Name

All editors except MSC.

In the upper right corner, the page name and the total number of pages in the diagram (within parentheses) are identified. The page name cannot be moved. To rename a page, use the Edit menu choice in the Pages menu.

The Printout Page Number

If a diagram page is larger than the paper format that is defined, the diagram page will be split into several printout pages. In this case, page numbers will be created. The page numbering follows a "down first, then right" fashion.

Figure 282 : Page numbering in the editor

Extracted pic [13]

Grids

The editor uses two grids for an easy positioning of symbols, lines and textual elements:

None of the grids can be changed.

Color on Symbols

All editors except MSC.

For each symbol type in the editor there is a preference for setting the color of the symbol. It is only the graphical part of the symbol and not the associated text(s) that will use the color setting. On UNIX, this setting is only valid on screen and all symbols will use the black color when printed on paper. In Windows, when using MSW Print the color settings will be sent to the printer as well. See OM/SC/HMSC/MSC Editor Preferences.

The text symbol is the same in OM, SC and HMSC diagrams and has thus only one preference.

Keyboard Accelerators

In addition to the standard keyboard accelerators, the editor features the following:

Accelerator Reference to corresponding command

Ctrl+D

Next page

Ctrl+U

Previous page

Ctrl+T

Symbol Details

<Delete>

Clear

Ctrl+1

Show Organizer

Ctrl+2

Connect to Text Editor

Quick-Buttons

In addition to the generic quick-buttons in all Telelogic Tau tools, the editor tool bar contains the following quick-buttons:


Extracted pic [26]
Text window on / off

Toggle the text window between visible and hidden (see Text Window).


Extracted pic [27]
Symbol menu on / off

Toggle OM symbol menu between visible and hidden (see Symbol Menu).


Extracted pic [28]
Previous page

(not valid for MSC)

Open previous page in flow (similar to <Page Name>). Dimmed if no previous page exists.


Extracted pic [29]
Next page

(not valid for MSC)

Open next page in flow (similar to <Page Name>). Dimmed if no next page exists.


Extracted pic [30]
Scale Overview

Set the scale such that the page will fit in the window (similar to Overview in Set Scale)


Extracted pic [31]
Make space for new events

(MSC only)

Create space between two events (see Make Space).


Extracted pic [32]
Remove space between two events

(MSC only)

Remove the unrequired space between two events.


Extracted pic [33]
Instance ruler on / off

(MSC only)

Toggle the instance ruler between visible and hidden (see Instance Ruler).

Scrolling and Scaling

You can scroll the view vertically and horizontally by using the scrollbars. The view may also be scrolled automatically when you move the cursor beyond the current view, for example when you move an object or add a symbol.

If you move the cursor close to the edge of the current view, the automatic scrolling is slow. If you move it further beyond, the scrolling is quicker.

You can scale the view by specifying a scale or by zooming in and out.

To specify a scale:

  1. Select Set Scale from the View menu.
  2. In the dialog that will be opened, you can either:


Extracted pic [41]
    • Click the Overview button to adjust the drawing area to the size of the window. (This has the same effect as the Scale Overview quick-button.)

To zoom in or out:


Extracted pic [51]

  • Click the quick-button for zoom in or zoom out.

Lock Files and Read-Only Mode

When you open a diagram or document file, e.g. a.ssy, a lock file a.ssy.lck is created. If another user tries to open the same diagram or document file before you close it, a dialog will appear informing the other user that the file is in use. There are two choices in the dialog:

The read-write mode is the normal editing mode. In read-only mode, you are not allowed to make any changes to the diagram.

You will also enter read-only mode if you open a diagram file that you do not have write permission for. The read-only mode is indicated by the words read-only in the window title.

If you want to edit a diagram that is in read-only mode, there are two alternative actions:

Symbol Menu

The symbol menu contains the symbols that you can place into the drawing area.

On UNIX, the symbol menu is a fixed-sized, non-moveable auxiliary window, associated with the drawing area and placed to the right of it. Each editor window has its own symbol menu.

In Windows, the symbol menu is a fixed-sized, moveable window that can be placed anywhere on the screen, not necessary within the limits of the editor window. A single symbol menu is shared by all instances of the editor currently running.


Extracted pic [72]

The symbol menu can be made invisible and visible again with a menu choice, Window Options, or a quick-button. In Windows: When visible, the symbol menu will always be placed on top of the editor window, if the two windows overlap.

Basically, when you select a symbol in the symbol menu and click it into the drawing area, it is added to the diagram. This chapter does not describe how to work with symbols. Working with MSC symbols is described in Editing MSC Diagrams. See also Working with Symbols, as working with symbols in this editor is similar to working with symbols in the SDL Editor.

OM only: When a new class or object symbol is placed in the drawing area, it will automatically become an endpoint if the preferences AlwaysEndpointClass and AlwaysEndpointObject, respectively, are set.

The contents of the symbol menu depends upon the type of diagram that is displayed in the editor window, as can be seen in Figure 283. When you switch between diagrams of different types in the editor, the symbol menu changes accordingly.

Figure 283  : The editor symbol menus

Extracted pic [34]

About Symbols and Lines

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

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

The notation used for symbols and lines in the HMSC Editor comply 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 comply 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 283 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 Class Symbols.

Common Symbol

A symbol common for all the editors is:

Symbol Appearance Symbol Name Summary

Extracted pic [35]

Text

Informal specification, global comments


Extracted pic [78] 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

Extracted pic [2]

Class

Class definition


Extracted pic [3]

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.


Extracted pic [79] 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 of syntactic checks.

Figure 284  : Class symbol with stereotype and properties texts

Extracted pic [19]

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


Extracted pic [80] 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 285):

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

Figure 285  : Lines in OM diagrams

Extracted pic [14]

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 286 : Handles for different line types

Extracted pic [16]

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

Figure 287 : Handle for Link Class line

Extracted pic [18]

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

Extracted pic [38]

State

State definition.


Extracted pic [39]

Start

Starting point of the SC.


Extracted pic [40]

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.


Extracted pic [81] 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 288  : A state with its compartments

Extracted pic [42]

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.


Extracted pic [82] Start Symbols

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


Extracted pic [83] 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 285):

Figure 289 : Transition line in SC diagrams

Extracted pic [48]

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 290 : Handle for transition lines

Extracted pic [49]

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.

HMSC Symbols and Lines

See also Symbols and Lines -- Quick Reference.

Symbol Appearance Symbol Name Summary

Extracted pic [43]

MSC Reference

Reference to another MSC diagram or MSC reference expression


Extracted pic [44]

Condition

Expresses alternative path in an HMSC


Extracted pic [45]

Connection Point

Expresses that lines are connected at this point


Extracted pic [46]

Start

Start of the HMSC road map.


Extracted pic [47]

End

End of the HMSC road map.


Extracted pic [84] 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.


Extracted pic [85] 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.


Extracted pic [86] Connection Point Symbols

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


Extracted pic [87] Start Symbols

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


Extracted pic [88] 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 291 : Symbol line handle

Extracted pic [50]

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

Extracted pic [52]

Text

Z.120  2.3

Extracted pic [53]

Comment

Z.120  2.3

Extracted pic [54]

Instance head

Z.120  4.2

Extracted pic [55]

Instance end

Z.120  4.2

Extracted pic [56]

Message

Z.120  4.3

Extracted pic [57]

Message-to-self

Z.120  4.3


Extracted pic [58]

Found message

Z.120  4.3


Extracted pic [59]

Lost message

Z.120  4.3

Extracted pic [60]

Condition

Z.120  4.6

Extracted pic [61]

Timer1

Z.120  4.7

Extracted pic [62]

Separate timer set2

Z.120  4.7

Extracted pic [63]

Separate timer reset

Z.120  4.7

Extracted pic [64]

Separate timer consumed / timeout

Z.120  4.7

Extracted pic [65]

Action

Z.120  4.8

Extracted pic [66]

Create

Z.120  4.9

Extracted pic [67]

Stop

Z.120  4.10

Extracted pic [68]

Coregion

Z.120  5.1

Extracted pic [69]

MSC Reference

Z.120  5.4

Extracted pic [70]

Inline expression

Z.120  5.3

Extracted pic [71]

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.

The following textual objects are defined:

Graphical Appearance Textual objects

Extracted pic [74]
  • Instance kind
    • Instance name
    • Instance decomposition

Extracted pic [75]
  • Message name
    • Message parameters

Extracted pic [76]
  • Create parameters

Extracted pic [77]
  • Timer name
    • Timer parameters

Line Attribute Objects

This section applies to OM and SC 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.

OM only: A number of secondary line attribute objects can be created for each line using the line details window (see Line Details Window). 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
Extracted pic [21]

Aggregation
Extracted pic [22]

Generalization
Extracted pic [23]

Link Class
Extracted pic [24]

  • No line attributes

OM Aggregation/Association Attributes5

Attribute Appearance Attribute Name (Properties) Summary

Extracted pic [4]

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.


Extracted pic [5]

Reverse Name

(Editable, Optional arrow)

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


Extracted pic [6]

Qualifier

(Editable, Not moveable)

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


Extracted pic [7]

Ordered

(Not editable)

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


Extracted pic [8]

Sorted

(Not editable)

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


Extracted pic [9]

Role Name

(Editable)

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


Extracted pic [10]

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.


Extracted pic [11]

Derived Attribute

(Not editable, Not moveable)

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


Extracted pic [12]

Constraint

(Editable)

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

OM Generalization Attributes

Attribute Appearance Attribute Name (Properties) Summary

Extracted pic [1]

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
Extracted pic [36]
  • Transition label of the transition

SC Transition Attributes

Attribute Appearance Attribute Name (Properties) Summary

Extracted pic [37]

Transition label

(Pre-created, Editable)

Describes the transition.

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

Editing Text

General

The drawing area is a container for different types of objects that each may contain zero or more text compartments. In addition, the lines that connect objects also have zero or more textual attribute objects.

The editor allows these textual objects to be edited directly in the drawing area, allowing you to see directly how the textual object resizes to shrink-wrap the text.

To directly edit a textual object in the drawing area, simply position the text insertion cursor at the desired position in the text. To indicate that a textual object is being edited, a thin vertical bar designating the text insertion cursor appears at the selected text insertion point. As soon as you type some text, the keyboard input mode will change to text editing mode. This is indicated by a flashing and thicker insertion bar.

In text editing mode, all accelerator keys are interpreted as input to the text. As an example, the <Delete> key will in text editing mode delete a character, but in non-text editing mode it will remove ( Clear) an entire symbol. This means that you can only use text editing keyboard accelerators like <Home>, <End>, <Ctrl+A> and <Ctrl+E> in text editing mode only.

While useful for quickly editing small texts, direct editing in the drawing area suffers from some restrictions:

To alleviate these and other limitations, the editor offers a text window that provides a more complete set of text editing features. See Text Window for more information. In addition, it is possible to use an external text editor for larger amounts of texts; see Connect to Text Editor.

Regardless of whether editing takes place directly in the drawing area or in the text window, the editor makes sure that the contents of both displayed texts are consistent, which makes it convenient to use both text editing mechanisms in the same diagram.

Textual Syntax Checks

Some texts in the editor are subject to syntactic checks as soon as they are changed and deselected (by pressing the <Esc> button a syntactic check can be forced without deselecting). Errors detected during syntax checks will be displayed in the textual object by underlining the first characters at the position where the first syntax error was detected.

Minimum Size of Textual Symbols

While symbols are resized automatically to fit the containing text, the editor defines a minimum size for each symbol, ensuring that even empty symbols will be recognizable:

Delayed Updating of the Drawing Area

When you edit the text in the text window, the updating of the drawing area is at least delayed for the value of the preference MinimumTextUpdateDelay.

If the text is large, the update delay is extended proportionally. The text window is however always updated immediately.

In addition, any attempt to enter an illegal character will always result in an audible warning.

Text Window

The text window works in the same way for OM, SC, MSC and HMSC diagrams. There is one text window common for OM, SC and HMSC diagrams, and a separate text window for MSC diagrams.

On UNIX, the text window is a pane of the editor window and can be resized vertically.

In Windows, the text window is a resizable and moveable window that can be placed anywhere on the screen, not necessary within the limits of the editor window. A single text window is shared by all instances of the editor currently running.

If you select one object in the editor window, the text window is updated to contain the text associated with that object, but not if you select more than one text object.

Each line (except for the last line) in the text window is terminated by a carriage return, and may consist of any number oflegalcharacters.

The text window provides a menu bar with two menus which are described in:

Hiding and Showing the Text Window


Extracted pic [73]

You can hide and show the text window with the Window Options command from the View menu, or by using a quick-button.

In Windows: When visible, the text window will always be placed on top of the editor window.

Searching and Replacing Text in an MSC

The text window provides standardized functions for searching and replacing text in an MSC.

If all the textual objects you want to search in are not visible (i.e. instance name, instance kind, instance composition, message name and message parameters) adjust the Diagram Options.

Copying, Cutting and Pasting Text

The text window provides standardized clipboard functions for copying, cutting and pasting text between different symbols, lines and text attributes. These functions do not interfere with the clipboard functions for cutting, copying and pasting objects.

Programmable Function Keys (UNIX only)

On UNIX, it is allowed to tie a function key to a defined text string. When typing that defined function key, the programmed text string will be inserted at the current cursor location. You can customize your own programming of function keys.

Global X Resources

The function keys are set up as X resources. It is possible to set up both system default and user-defined X resources, allowing you to customize your environment. The X resources are defined in a file that is common for all users, namely

To program the function keys, insert the following lines anywhere into the SDT file:

Note: 

Omitting to define some of the function keys is permissible.

User-Defined X Resources

You can define your own function keys. This is done by defining the X-resources described above in a personal copy of the definition file and to store that file into your home directory:

Alternatively, any directory designated by environment variable XAPPLRESDIR can be used.

Restrictions

  1. Only one line for each function key can be defined. Attempting to define more than one line into one function key may cause an unpredictable result when pressing that key.

  2. For instance, it is not certain that the following line will produce the expected result:

    <Key>F1: insert-string("F1Line1\nLine2") \n\ 
      
    
  3. Only the keys F1--F9 can be defined.

Changing Fonts on Text Objects

You may change the font faces and font sizes used in the textual objects displayed by the editor. All textual objects use the same font faces and font sizes, meaning that they cannot be changed individually and cannot be changed during an editor session.

The font faces which are available depend on the target system on which you are running ORCA.

Defining What Font to Use

To modify the desired font size and font face, you must use the Preference Manager. See Managing Preferences.

Textual Objects Preferences

When the setting is in effect, ORCA will use the font face names given by the preference settings

to select font face names. Note that in this way you can select different font names for screen and for print.

On UNIX, if you leave the Editor* ScreenFontFamily preference setting empty, you will edit your documents using the SDT Draft font, but print them using the font you specified with the Editor* PrintFontFamily setting.

Supported Font Faces

On UNIX, the availability of font faces is determined by the version of the X Windows server which is running. With revision 5 or higher (X11 R5), scalable fonts are supported. In that case, the available list of predefined font faces would be:

In Windows, the availability of font faces is determined by the TrueType fonts that are currently installed on the computer (use for instance the Windows Control Panel to determine what is available).

Default Font Face

The default font face is Helvetica (see the preferences ScreenFontFamily and PrintFontFamily described in OM/SC/HMSC/MSC Editor Preferences).

On UNIX, if scalable fonts are not supported, the font face will be replaced by a Schumacher font which may be used in all circumstances (MSC only).

Default Font Size

Font sizes are described in NameTextHeight and TextHeight.

They are used as follows:

Common Font Sizes

Text Object Font Size Other

Heading symbol

NameTextHeight


Text symbol

TextHeight


OM Font Sizes

Text Object Font Size Other

Class symbol name

NameTextHeight

Bold

Object symbol name

NameTextHeight

Bold

Stereotype text

TextHeight


Properties text

TextHeight

Italic

SC Font Sizes

Text Object Font Size Other

State symbol name

NameTextHeight

Bold

HMSC Font Sizes

Text Object Font Size

Reference Symbol

TextHeight

Condition symbol

TextHeight

MSC Font Sizes

Text Object Font Size

All MSC special symbols

TextHeight

Determining Which Scalable Fonts Your Server Can Access (UNIX only)

On UNIX, use the xlsfonts command to list installed fonts. Font names containing 0 for width and height are scalable.


Example 143 : How to determine which fonts are available      

From the OS prompt, typing:

will return a list of accessible scalable fonts.


Scalable Fonts Under R5 Servers

To use scalable fonts under X11R5 you must normally first connect to a font server.


Example 144 : How to Start the Font Server      
  1. Start the font server on any local host:

  2. hostname% fs
    
  3. Connect the server to fs indicating which host the font server is running on (which can be the same host that the X server is running on):

  4. hostname2% xset +fp tcp/<hostname>:7000
    

For further information see the X11R5 documentation or use man fs to read the manual page describing the font server you are running.

Disabling Font Scaling (UNIX only)

On UNIX, if the fonts look poor on the screen, a possible work-around is to disable the scaling option.

Note: 

Disabling font scaling effectively disables WYSIWYG!

To do this, you should edit the SDT resource file.

  1. Open the file SDT in a text editor.
  2. Locate the line with the text: SDT*sdtUseScalableFonts
  3. Change the line to SDT*sdtUseScalableFonts: false
  4. Save the file and restart the ORCA environment.

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.


[Previous] [Next] [Contents] [Index]