Following is a description of the components in the drawing area. See also Symbols and Lines -- Quick Reference.
The additional heading symbol is not defined further according to Z.100. In the SDL Editor, it looks like a dashed text symbol or it is shown without any border; this is controlled by the Editor preference ScreenZ100Symbols. The symbol is editable and resizeable, but cannot be moved. Its intended use in SDT is to define:
FPAR
/#INCLUDE file.pr */
SIGNALSET
and instance information.The additional heading symbol is repeated through all pages contained in an SDL diagram.
Note that the combined text in the Kernel Heading and the Additional Heading symbol must use the syntax as specified for a heading in SDL-PR to be accepted in the SDT Analyzer.
Symbol Appearance | Symbol Name | References to Z.100 |
---|---|---|
|
Package reference |
Z100: 2.4.1.2 Reference in Package Z100: 2.4.2 Reference in System |
The package reference symbol is available on system and package diagrams only. It is located outside the frame, on top and to its left. It contains references to package(s) containing definitions that are to be included in the SDL system.
You can select and resize, but not move the package reference symbol.
These are the symbols that describe the structure or behavior of the SDL diagram. They must be placed inside the frame.
You can draw symbols in color, see Color on Symbols.
The SDL Editor checks that the symbols you add to a diagram are in accordance with the syntactic rules imposed by SDL. Symbols that are not allowed in a diagram / page of a specific type are dimmed in the symbol menu. Also the text entered is checked for syntax errors. See Syntax check.
You can select and move all symbols that are available in the symbol menu, and you can assign the symbols arbitrary locations.
You can resize certain symbols; these are indicated by filled selection squares. Other symbols can only be partially resized or cannot be resized at all1; this is shown by grayed selection squares.
Figure 353 : Resizeable and non-resizeable symbol
|
No symbol is allowed to overlap any other symbol except the text symbol and the additional heading symbol.
The text, additional heading and package reference symbols look like a piece of paper. When all of the text within a text symbol is in view, the upper right corner is "folded" down. When any portion of the text within a text symbol cannot be seen (because the text symbol is too small), the upper right corner is clipped or diagonally cut off. See Figure 353.
Clipped text symbols are printed in their whole on a separate sheet of paper.
The comment and text extension symbols can be shown either in full size enclosing the complete text or clipped (collapsed) where the symbol is in the minimum size and only the first part of the text is visible. The clipped symbol is visualized as if the lower right corner has been cut off. See Figure 353.
The appearance of this symbol differ from the drawing rules in Z.100. The non editable text "substructure" is drawn inside the symbol. Without this extra text it is impossible to distinguish the block symbol and the block substructure symbol by their visual appearance.
The appearance can be set to be according to Z.100 by the Editor preferences ScreenZ100Symbols and PrintZ100Symbols. Setting these to on means that the extra text will not be drawn or printed.
Most SDL symbols have one or multiple text attributes. A text attribute should be filled with an SDL-PR expression (textual expression) that is syntactically correct according to Z.100. Depending on the correctness of the text, the SDT tool set has the ability to perform the following operations:
You are not forced by the SDL Editor to fill text attributes with text. However, a context sensitive syntax check is performed for each text attribute. The first located syntax error is indicated by a red bar underlining the text where the error occurs.
A global syntax check for the complete diagram is performed by the SDT Analyzer.
Diagram reference symbols allow to build an entire SDL system by referring to diagrams that are structurally related. Reference symbols are the following:
These symbols are handled by the SDL Editor in order to ensure consistency between the SDL diagrams and the SDL structure that is handled by the Organizer. Because of that, the SDL Editor imposes the restriction that a reference symbol must be unique within an SDL diagram (this restriction is not in conflict with Z.100).
You are permitted to have diagram reference symbols that are not assigned any name.
The SDL Editor performs a number of checks when you edit an SDL reference symbol. Furthermore, when you double-click a reference symbol, the SDL diagram that the symbol refers to will be opened.
See also Working with Diagram Reference Symbols.
You may use any of the following reference symbols for the instantiation of a type:
An instantiation symbol differs from a "normal" reference symbol in the sense that the syntax of the symbol's text differs. The syntax is:
a:a_type
where a_type is the name of the SDL type diagram (block type, process type or service type diagram) that is instantiated into the diagram with the name a.
Instantiation symbols are visualized in the Organizer structure. The Organizer structure is updated to reflect the nature of the changes applied to the SDL diagram, in a similar fashion as for diagram reference symbols (see Reference Symbols).
The names of instantiation symbols must be unique within an SDL diagram.
See also Working with Diagram Instantiation Symbols.
Any of the following reference symbols may be dashed:
Dashed symbols are visualized in the Organizer structure. The Organizer structure is updated to reflect the nature of the changes applied to the SDL diagram, in a similar fashion as for diagram reference symbols (see Reference Symbols).
The names of dashed reference symbols must be unique within an SDL diagram.
See also Working with Dashed Symbols.
Lines are the graphical objects that interconnect symbols. One line only is available in the symbol box, namely the gate, which is handled as a symbol. You can insert it by selecting it and placing it into the drawing area.
You insert the other lines by selecting a symbol and dragging the handle that appears on the source symbol and connecting it to the target symbol. (Some symbols have multiple handles).
Lines are always connected to symbols, they are not allowed to exist on their own.
|
You can select, move and reshape lines. Some layout work is performed automatically by the SDL Editor.
A line is allowed to overlap any other object.
|
|
The following lines are defined in interaction diagrams (see Figure 355 and Figure 356):
You can reshape each of these lines and you can also move the connection points.
|
On flow diagrams, the following lines are defined (see Figure 357):
Line segments on flow pages always use a 90-degree angle. You can add segments on a line, but connection points are fixed.
The SDL Editor checks that the target symbol is in accordance with the syntactic rules imposed by SDL. If not, the SDL Editor will refuse to connect the symbol. When you edit the text attributes are instantly checked for syntactical errors.
Textual objects are the textual attributes that are related to a symbol or a line. Each of these attributes is prepared by the SDL Editor -- you need of course to fill in their textual contents.
Textual attributes are indicated by a small rectangle which appears upon selection of the symbol or line the attribute belongs to.
You can select and edit textual objects. You can move them freely, as long as their location does not violate the rules defined by Z.100.
Textual objects are allowed to overlap any other objects.
The following textual objects are defined in interaction diagrams:
Graphical Appearance | Textual objects |
---|---|
|
|
|
|
|
|
|
|
|
In flow pages, the following textual attributes are defined:
Graphical Appearance | Textual objects |
---|---|
|
|
|
Connection points are text objects which are created automatically by the SDL Editor when you draw a channel or signal route to the frame or to an instantiation symbol.
They are handled in a similar way as other text attributes. You are free to fill connection points on the frame or not. The alternative is to define textual connection statements between channels and signal routes in a text symbol.
A change bar is a vertical line to the left of a text in an SDL diagram. It visually identifies changes in the SDL system.
A solid change bar indicates that the text has been changed. A dotted change bar indicates that a text or its associated symbol has been moved.
The change bars associated with the diagram name and the page name act as change bars for the complete page. As soon as a change has been made to a page, change bars for the diagram name and the page name are added.
You can turn change bars on and off and also clear them from the Organizer. See Change Bars.
The main operations provided by the SDL Editor on symbols is described in this section.
In addition, text editing functions are provided for the text associated with the symbols.
When you perform certain modifications to the diagram reference symbols listed in the left margin (system type, block, block type, substructure, service, service type, process, process type, and procedure reference symbols), the SDL Editor checks with the Organizer to verify that the modifications are valid. This occurs in the following situations:
The implication of an instantiation symbol is that the description of the type diagram is actually instantiated, i.e. a physical copy is created. This copy may then be given additional properties using SDL's inheritance and specialization mechanisms.
When a diagram type is to be instantiated, do as follows:
<instance_name>:<type_name>
.Dashed reference symbols are used to refer to an object that is defined elsewhere in one of the supertypes of the current subtype.
To dash a reference symbol:
With the SDL Editor, you often perform actions that apply on a selection. This section discusses topics related to selection of symbols.
You often want to select a flow of subsequent symbols in a flow page, including all branches - the tail of the flow. To select a flow of symbols:
Figure 358 : Selecting the tail of a subtree
|
Consider the following when you select a symbol which has lines or text associated with it:
Selected symbol attributes are displayed as follows:
Figure 359 : A selected symbol's handles
|
Figure 360 : A selected symbol's text attributes
|
Figure 361 : The selection squares of a line in interaction pages
|
Figure 362 : The selection squares of a line in flow pages
|
You may place symbols into the drawing area in either manual mode or in automatic mode.
This section describes how to do this in manual mode. The automatic mode is described in Adding Symbols in Automatic Mode.
Once a symbol has been added, you can enter the text into the symbol's text attributes. The symbol remains selected. Enter the text required directly using the keyboard or edit the text inside the text window.
Once the symbol is at the desired location it can be connected to another symbol as required.
To connect two symbols:
Note: The line will be drawn only when the SDL syntax rules allow the symbols to be interconnected. |
Figure 363 : Having connected two symbols
|
Conversely, once you have placed a symbol in the drawing area, you can follow the same procedure from a symbol resident in the drawing area to the new symbol.
Figure 364 : Having connected the symbol to the environment
|
The automatic mode is particularly useful when you want to add symbols sequentially or in parallel in a symbol flow. Both situations are described below.
To add symbols sequentially within a flow page, proceed as follows:
The target symbol is positioned directly beneath the source symbol if possible. Otherwise, the added symbol is placed in the first available location to the right.
After this operation, the target symbol is automatically selected and the source symbol is de-selected.
Figure 365 : Adding in sequence
|
To add symbols in parallel in a flow page:
<Shift>
and double-click the target symbol in the symbol menu. You can repeat this procedure in order to add additional symbols to the selected symbol. The target is positioned immediately below the source symbol, if possible. Otherwise, the target symbol is placed in the first available location to the right.
Figure 366 : Adding in parallel
|
You can also take advantage of the auto-placement by double-clicking a symbol without having to connect it to other symbols.
When you insert a symbol using the double-click facility, there may not be any space left to perform the operation, The SDL Editor informs you of this with a message.
You have the following options:
The gate symbol differs slightly from other symbols when you add it.
Note: Coalesced Gates and Connection Points See Connecting a Gate Symbol with a Channel or Signal Route if you get a message with the text "A Gate has coalesced with a connection point...". |
You may add and connect a gate to a channel or signal route with a double-click. The channel or signal route must not be already connected to a gate or connection point.
When you add a diagram reference symbol, the SDL Editor checks that the name and type are unique within the SDL diagram. The SDL Editor will refuse any duplicates. The newly added reference symbol is then inserted into the Organizer's diagram structure.
In a data type construct it can be stated that an operator diagram is referenced elsewhere. This means that the operator will not be described in the current place, but in an operator diagram.
The SDL Editor does not know that the operator is referenced in a data type. The operator reference symbol is available for this situation. It is a convenience that has been added to the SDT tool set to facilitate navigating within an SDL system. Its presence in an SDL diagram does not modify the meaning of the diagram.
You add an operator reference symbol in a similar manner as when adding any other reference symbol. See Adding a Diagram Reference Symbol.
The SDL Editor allows you to insert symbols into a flow branch. When inserting symbols, the SDL Editor will rearrange the page in order to prepare the required space for inserting the symbol. This can be done in different ways:
Figure 367 : Inserting a symbol into a flow branch
|
To insert a symbol into a flow branch by double-clicking it:
Figure 368 : Inserting a symbol with double-click
|
For certain symbols you can use the Navigate command in the Tools menu or double click on the symbol to navigate around in the diagrams. These symbols are:
For a create request, procedure call or macro call the Navigate command will show the corresponding process, procedure or macro diagram. The diagram is found by searching in the Organizer structure for all relevant diagram types matching the name used in the symbol. If one and only one match is found this diagram will be shown in the editor. If there exists more than one diagram a dialog is issued.
Navigate to the desired diagram by selecting it in the dialog.
For a state or nextstate the Navigate command will show other occurrences of the same name(s) in other state or nextstate symbols within the same diagram. If only one symbol matches the name search this symbol will be shown. If more than one symbol have the same name, a dialog is shown.
For an outconnector, the Navigate command will show the corresponding inconnector in the same diagram having the same name as the outconnector.
Similarly for an inconnector; you can navigate to all occurrences of outconnectors within the same diagram having the same name as the inconnector.
When you double-click or choose the Navigate command on a diagram reference symbol, the SDL diagram that the reference symbol refers to is opened, provided that the diagram is included in the Organizer structure.
This feature allows easy navigation down an SDL hierarchy.
See also Navigating from an Instantiation Symbol and Navigating from a Dashed Symbol.
You may use instantiation symbols to navigate in the diagram structure.
When you choose Navigate in the Tools menu or double-click on an instantiation symbol, the SDL Editor matches the name of the type referred to in the instantiation symbol against the existing type diagrams in the Organizer structure. The following happens depending on how many type diagrams that match the given diagram name.
When you select Navigate in the Tools menu or double-click a dashed symbol, a scenario similar to the action of navigating from an instantiation symbol takes place. See Navigating from an Instantiation Symbol
The clipboard of the SDL Editor allows you to cut or copy a selection of symbols. The selection may then be pasted to:
See also Cutting, Copying and Pasting Reference Symbols.
A dialog may appear when cutting or pasting an object with link endpoints. See Deleting an Object or Pasting an Object.
Pasting is not always possible. Note the following cases, and refer to Relationship between Diagrams and Pages.
On a flow page, symbols are pasted along with the flow lines that interconnect them.
On an interaction page, symbols are pasted along with the lines that interconnect them. Any lines that connect the pasted symbols to the environment will also be drawn.
On a flow page, symbols can be pasted into a flow branch in a similar manner as Inserting a Symbol into a Flow Branch.
When you cut or copy a reference symbol, the possible sub-hierarchy shown in the Organizer below this reference symbol is also placed in the clipboard. When pasted in the same diagram or in another diagram this sub-hierarchy will be restored at the new position.
Note: When a reference symbol is cut, the sub-hierarchy that is shown in the Organizer will be removed. However, the hierarchy will be restored if you select Paste or Undo. |
When you copy or paste a diagram reference, it is assigned a new name that consists of the original name, preceded with the prefix CopyOf. The prefix is repeated as many times as necessary in order to build a name / type combination that is unique within the SDL diagram being edited. If the cut/copied symbol had an underlying structure this structure is restored after the paste.
You may move one or more symbols in a single operation. The lines and text objects that are related to the symbol will be moved accordingly in order to preserve as much as possible of the original appearance. When you move a symbol, its position is automatically adjusted to fit exactly into the symbol grid.
Symbols are not allowed to be moved to positions where they would overlap other symbols.
You can move symbols and text attributes by pointing and dragging to the desired position.
You cannot move text in flow symbols.
When you move a gate symbol in order to reconnect it to a line or vice versa (channel or signal route that is connected to a connection point), the following takes place:
Figure 369 : Prompting to solve connection conflict
|
Note: The situation above also occurs if you add a new gate symbol and place it on a connection point. |
When you move a symbol which has a line connected to the frame, you can specify whether to move the connection point or not.
Figure 370 : The effect of fixing endpoints at frame
|
The procedure for resizing a symbol differs slightly depending on whether the symbol is a flow page symbol or an interaction page symbol. When you resize a symbol, its size is automatically adjusted to fit exactly into the symbol grid. Any lines connected to the symbol are similarly adjusted to preserve as much as possible of the original appearance.
The text, the additional heading, the package reference, comment and text extension symbols are handled differently. Their sizes are determined by the SDL Editor to fit the text they contain.
You define the default sizes for symbols in the Preference Manager:
The text, additional heading and package reference symbol look like a piece of paper. When all of the text within a text symbol is in view, the upper right corner is "folded" down. When any portion of the text within a text symbol cannot be seen (because the text symbol is too small), the upper right corner is clipped or diagonally cut off. See Figure 371.
Clipped text symbols are printed in their whole on a separate sheet of paper.
These symbols react in the same way for resizing. There are several ways you can resize these symbols:
You may rapidly toggle between a text symbol's maximum and minimum size. This can be accomplished in two ways:
Figure 371 : Minimizing and maximizing a symbol
|
The input, priority input, output, comment and text extension symbols are drawn by default as displayed in the symbol menu. In some cases, the layout of the connecting lines would be nicer if the symbols were drawn flipped L/R.
Figure 372 : Flipping a symbol
|
The drawing area of the SDL Editor provides two grids for easier positioning of objects. These are the symbol grid and the line grid, which are invisible.
After you move or resize symbols, the position of the upper left corner of each symbol is positioned on the closest intersection in the symbol grid. In addition, resizing a symbol will adjust the size so that it matches the resolution of the grid, horizontally as well as vertically. The resolution of the symbol grid is variable and can be set with the Preference Manager. The default is 5 * 5 mm for interaction pages, and 25 mm * 15 mm for flow pages.
You can temporarily disable the grid by toggling the Use Grid to off in the Diagrams Options dialog.
Since symbols adhere to the symbol grid, mixing symbols of different sizes may imply that symbols cannot be aligned symmetrically, and that enlarging symbols becomes impossible due to overlap of symbols already laid out.
You can align symbols of different sizes by disabling the symbol grid.
You can rename, retype and re-qualify a diagram with the SDL Editor, by modifying the diagram's kernel heading.
Figure 373 : The kernel heading
|
See also Transforming the Type of a Diagram for more complicated transformation of diagram types.
SDT accepts a number of syntaxes for kernel headings, 13 in all. See The Kernel Heading.
This is the bottom-up method you would use when renaming diagrams in an SDL structure.
For renaming diagrams in a top-down fashion., see Renaming a Diagram Reference Symbol.
It is possible to re-type a diagram, provided the old and the new types are "compatible" from the SDL Editor's point of view. The basic compatibility criteria is that the old and new type of diagram must both be interaction diagrams or both be flow diagrams. Also checks are made on the pages that are contained in a diagram (some diagram types are allowed to have different types of pages in the same diagram, see Relationship between Diagrams and Pages. The table below summarizes the type changes that are allowed.
To change the type of a diagram:
By changing the qualifier that appears in the kernel heading, you can change the context of the diagram.
SDT accepts the two Z.100 notations for a qualifier, namely with and without the surrounding "<< >>".
PROCESS TYPE <<SYSTEM MYSYS/BLOCK MYBLOCK>> Myproc
Alternatively:
PROCESS TYPE SYSTEM MYSYS/BLOCK MYBLOCK Myproc
To change the qualifier:
When you change the name of a diagram reference symbol, the SDL Editor checks that the new name is not in conflict with existing symbols. If the reference symbol passes this check, the Organizer structure is updated accordingly.
When renaming diagrams in a top-down fashion, you start by changing the name of a reference symbol. After the reference symbol is renamed, you should also update the referenced diagram's kernel heading accordingly to maintain consistency in the diagram structure.
To rename a diagram reference symbol and the referred diagrams:
Figure 374 : The mismatch in headings is reported
|
For renaming in a bottom-up way, see Changing the Name of a Diagram.
When you remove a diagram reference symbol, the underlying structure is also removed from the Organizer structure. However, the hierarchy will be restored if the remove operation is restored by doing Undo.
A selection of symbols can be printed. This allows for instance to print only the portion of a diagram which is of interest.
The main operations provided by the SDL Editor on lines, and their associated text attributes are:
In addition, text editing functions are provided for the text associated with the lines.
Operations on lines are performed slightly different depending if you are editing
The main difference between the two is that flow pages may only allow vertical and horizontal lines.
Some restrictions also apply when connecting symbols in flow pages, depending upon whether or not the syntax checking is enabled
You select lines and extend and reduce selections of lines with standardized selection commands.
Consider the following when selecting a line which has text associated with it:
Selected line attributes are displayed as follows:
On a page, objects may overlap each other. A layer order is defined so that it is possible to determine how overlapping objects are stacked.
This section describes how to interconnect symbols with lines. Two modes are supported in the SDL Editor.
The way that you draw a line differs somewhat depending upon whether you are working on an interaction page or a flow page. The differences will be pointed out later in this section.
When syntax checking is enabled, you are only allowed to draw lines that are correct according to the SDL rules. When syntax checking is disabled, the rules are less strict.
Figure 375 : Drawing a line in manual mode
|
When you draw lines between symbols and keep the <Control>
key pressed, the start point for the next line to draw is automatically transferred to the target symbol.
This feature provides the easiest way to draw multiple lines in rapid succession.
The way that you draw a line differs somewhat depending upon whether you are working on an interaction page or a flow page:
You can cancel a line drawing operation in either of the following ways:
<ESC>
. The process of drawing a line is the same regardless of whether or not syntax checking is enabled. To enable and disable syntax checking, see Turning Syntax Checking On and Off.
When drawing lines with syntax checking disabled, you may interconnect symbols in any way you want.
Reshaping a line refers to changing the path that the line follows. This operation does not affect the endpoints of the line. The flow lines only move in either a horizontal or vertical way.
Re-routing a line denotes changing the ending point of the line from one symbol to another symbol.
You can move the ending point of a flow line, and reconnect it to any valid destination symbol. You can redraw the line either manually or automatically.
To move a line's ending point:
You can move any starting or endpoint to and from a symbol and the environment.
To move a line breakpoint in an interaction page:
Figure 376 : Moving an interaction line breakpoint
|
An alternative way to insert breakpoints on an interaction line:
<Ctrl>
<Ctrl>
key. You can move a line segment in an interaction page as long as it is not a starting segment or ending segment.
Arrows on channels, gates and signal routes denote the orientation of flow on that line. They are assigned default locations when creating the line.
You can manually move arrows on channels along the line.
To create a non-delay channel you simply drag the arrow to the starting or ending breakpoint.
A channel or a signal route may be connected to a connection point (usually located close to the line, immediately outside the frame).
Figure 377 : A signal route connected to a connection point.
|
Moving the line's ending point with the connection point unselected will move the line only and create a new connection point. The old connection point is removed.
To move the line and the connection point:
A line text attribute is a textual element that is related to a line. The following lines have associated text attributes:
When drawing a line, the SDL Editor positions the text attribute close to the source symbol and originating line, so that it is easy to identify what line the text attribute is related to. You are however free to move the text attribute to any location in the drawing area within the frame.
To move a line text attribute:
When you add a channel or signal route to an interaction diagram, the line is initially drawn in a uni-directional manner, originating from the source symbol and pointing to the target symbol.
The only way to draw a line from the environment to a symbol is to first draw it from the symbol and then redirect it.
Figure 378 : Redirecting a line
|
Figure 379 : Bidirecting a line
|
When you move or reshape interaction lines, the line breakpoints are adjusted to the line grid, which cannot be disabled and has a fixed resolution of 2.5 mm.
Flow line segments and line text attributes are always placed so that they match the resolution of the line grid.