Table of Contents Previous Chapter 23 The SDL Editor

23 The SDL Editor

The SDL Editor is the graphical tool that is used to create, draw and print SDL Diagrams. This chapter contains a reference manual to the SDL Editor; the functionality it provides, its menus, windows and symbols. For a guide to how to use the SDL Editor, see chapter 2, Editing SDL Diagrams.

SDL Diagrams and SDL Pages

SDL Diagrams

The SDL Editor can handle any number of SDL diagrams of any type. Virtually all of the Z.100 recommendation is supported.

The SDL Editor can handle the different types of diagrams:

Interaction Diagrams

Interaction diagrams are: system, system type, block, block type, substructure, package diagrams.

Flow Diagrams

Process, process type, service, service type, procedure, operator or macro diagrams constitute the flow diagrams.

Overview Diagrams

Overview diagrams are generated with the SDT Organizer's Generate SDL Overview command, and the amount of editing functionality is restricted.

SDL Pages

The pages that the SDL Editor displays are always contained within an SDL diagram. An SDL diagram can contain any number of pages, but, must contain at least one page, and can be any of the following types.

Relationship between Diagrams and Pages

Pages and diagrams must be associated with each other according to the rules of SDL. There follows a list of what type of pages can be added to different diagrams and what type of pages can be pasted into those diagrams.

---------------------------------------------------------------
Diagram       Page types that can be    Page types that can be   
type          added to the diagram      pasted to the diagram    
---------------------------------------------------------------
system        block interaction         block interaction        
                                        package                  
block         block interaction         block interaction        
              process interaction       process interaction      
                                        package                  
substructure  block interaction         block interaction        
                                        package                  
service       service                   service                  
                                        graph                    
                                        procedure                
                                        macro                    
                                        operator                 
process       graph                     graph                    
              service interaction       service interaction      
                                        service                  
                                        procedure                
                                        macro                    
                                        operator                 
procedure     procedure                 procedure                
                                        service                  
                                        graph                    
                                        macro                    
                                        operator                 
system type   block interaction         block interaction        
                                        package                  
block type    block interaction         block interaction        
              process interaction       process interaction      
                                        package                  
service type  service                   graph                    
                                        procedure                
                                        macro                    
                                        operator                 
process type  graph                     graph                    
              service interaction       service interaction      
                                        service                  
                                        procedure                
                                        macro                    
                                        operator                 
macro         macro                     macro                    
                                        service                  
                                        graph                    
                                        procedure                
                                        operator                 
operator      operator                  operator                 
                                        service                  
                                        graph                    
                                        procedure                
                                        macro                    
package       package                   package                  
                                        block interaction        
overview      overview (one page only)  -                        
---------------------------------------------------------------

SDL Page Order

The SDL pages that are contained in an SDL diagram are listed and handled according to the order they are added when creating them.

This order is reflected in some of the menu choices that are related to SDL pages. Also, the structure displayed by the Organizer will adopt the same order. See "Presentation Areas" on page 1059 in The SDT Organizer.

SDL pages can be renamed and rearranged using the Edit menu choice.

The SDL Editor Window

The SDL Editor window can be resized, moved, minimized and maximized as any other window. It contains the following components (as shown in Figure 265 on page 1164).

Two auxiliary windows provide support functions for assisting the user when editing text:

The Drawing Area

Figure 266 : The Drawing Area. 
-----
(fig)  
       
-----
The drawing area is the part of the window which displays the symbols, lines and text that constitute an SDL page (an SDL diagram can contain multiple pages). Most of the graphical notation that is used in the SDL Editor is inherited from the Z.100 definition. In addition, some tool specific notations have been added to facilitate the work with the SDT tool set in general, and the SDL Editor in particular.

Figure 266 above illustrates the drawing area and the components it contains.

The Drawing Area Boundaries

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

The Frame Symbol

The frame symbol is selectable and resizeable. All objects, exception made from the package reference symbol, gates and printout page number must reside entirely within the frame symbol.

The Kernel Heading Symbol

The kernel heading symbol identifies the diagram type and its name. Alternatively, an SDL qualifier expression can be used. The kernel heading symbol is editable but cannot be moved. The SDL Editor performs, to some extent, textual syntax check on the grammar used in this symbol.

SDT supports the following syntaxes for the kernel heading symbol:

---------------------------------------------------------------
Case   Syntax                                                    
---------------------------------------------------------------
1.     SYSTEM <name> [: <type expression>]           
2.     BLOCK <identifier>                                  
3.     PROCESS <identifier> [<number of instances>]  
4.     SERVICE <identifier>                                
5.     <procedure preamble> PROCEDURE <identifier>   
6.     SUBSTRUCTURE <identifier>                           
7.     MACRODEFINITION <name>                              
8.     SYSTEM TYPE <identifier>                            
9.     [<vituality>] BLOCK TYPE                            
10.    [<vituality>] PROCESS TYPE                          
11.    [<vituality>] SERVICE TYPE                          
12.    OPERATOR <operator identifier>                      
13.    PACKAGE <name>                                      
---------------------------------------------------------------
For an explanation and reference to the notation used in the table above, see the Z.100 recommendation.

The kernel heading symbol is repeated trough all pages contained in an SDL diagram.

The Additional Heading Symbol

------------------------------------------------------
Symbol     Symbol       References to Z.100             
Appearanc  Name                                         
e                                                       
------------------------------------------------------
(fig)      Additional   Z100: 6.1.1.3  Process type     
           heading                     heading          
                        Z100: 2.4.4    Formal           
                                       parameters,      
                                       Signalset        
                        Z100: 6.3      Specialization   
                        Z100: 6.3.1    Inherits         
                        Z100: 6.3.2    Virtual,         
                                       Redefined,       
                                       Finalized        
                        Z100: 6.3.2    Virtuality       
                                       constraint       
                                       (atleast)        
                        Z100: 6.2      Actual context   
                                       parameters       
                        Z100: 6.2      Formal context   
                                       parameters       
                        Z100: 6.2.1 - 6.2.9             
                                       Formal context   
                                       para             
------------------------------------------------------
The additional heading symbol is not defined further according to Z.100. In the SDT SDL Editor, it looks like a dashed text symbol. The symbol is editable and resizeable, but cannot be moved. Its intended use in SDT is to define:

The additional heading symbol is repeated trough all pages contained in an SDL diagram.

The Page Name Symbol

The page name symbol identifies the name of the SDL page and, within parentheses, the total number of SDL pages contained in the current SDL diagram.

The contents of the page name symbol are assigned by the tool. It neither selectable, moveable or editable.

The Package Reference Symbol

------------------------------------------------
Symbol   Symbol     References to Z.100           
Appeara  Name                                     
nce                                               
------------------------------------------------
(fig)    Package    Z100: 2.4.1.2  Reference in   
         reference  
Package                      
                    Z100: 2.4.2    Reference in   
                    
System                       
------------------------------------------------
The package reference symbol is available on system diagrams only. It is located outside the frame symbol, on top and to its left. The package reference symbol contains references to package(s) containing definitions that are to be included in the SDL system.

The package reference symbol is selectable, resizeable but cannot be moved.

Other SDL Symbols

These are the symbols that describe the structure or behavior of the SDL diagram. They must be placed inside the frame symbol.

Figure 311 on page 1224 identifies these SDL symbols in the symbol box and the tables on page 1168 and page 1169 provide a condensed reference to these symbols.

Syntax Checking on Symbols

The SDL Editor checks that the symbols that are appended 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. See "Syntax check" on page 1204.

Symbols on Interaction Pages

------------------------------------------------------------
Symbol   Symbol         References to Z.100                   
Appeara  Name                                                 
nce                                                           
------------------------------------------------------------
(fig)    Text           Z100: 2.5.4      Signal               
                        Z100: 2.5.5      Signal list          
                        Z100: 5.2.1      Newtype              
                        Z100: 5.3.1.9    Syntype              
                        Z100: 5.3.1.13   Synonym              
                        Z100: 5.3.1.12.1 Generator            
                        Z100: 4.13       Remote variable      
                        Z100: 4.14       Remote               
                                         procedure            
(fig)    Comment        -                                     
(fig)    Text exten     (depends on the symbol connected to)  
         sion                                                 
(fig)    Block refer    Z100: 2.4.2    Block definition       
         ence           Z100: 6.1.3.2  Block def based        
                                       on block type          
                        Z100: 6.1.2    Type expression        
                        Z100: 6.2      Actual context         
                                       parameters             
(fig)    Process ref    Z100: 2.4.3    Process                
         erence                        definition             
                        Z100: 2.4.4    Number of              
                                       instances              
                        Z100: 6.1.3.3  Process def based      
                                       on block type          
                        Z100: 6.1.2    Type expression        
                        Z100: 6.2      Actual context         
                                       parameters             
(fig)    Block sub      Z100: 3.2.2                           
         structure ref                                        
         erence                                               
(fig)    Service ref    Z100: 2.4.4                           
         erence                                               
(fig)    System type    Z100: 6.1.1.1                         
(fig)    Block type     Z100: 6.1.1.2                         
(fig)    Process type   Z100: 6.1.1.3                         
(fig)    Service type   Z100: 6.1.1.4                         
(fig)    Operator       Z100: 5.3.2  Referenced operator      
         reference                   in SDL-PR                
         (an SDL-                                             
         GR exten                                             
         sion defined                                         
         in SDT)                                              
(fig)    Gate           Z100: 6.1.4  Gate                     
                        Z100: 2.5.5  Signal list              
------------------------------------------------------------

Symbols on Flow Pages

------------------------------------------------------------
Symbol   Symbol         References to Z.100                   
Appeara  Name                                                 
nce                                                           
------------------------------------------------------------
(fig)    State or       Z100: 2.6.3     State                 
         nextstate      Z100: 4.4       Asterisk state        
                        Z100: 4.5       Multiple              
                                        appearence of         
                                        state                 
                        Z100: 2.6.8.2.1 Nextstate             
                        Z100: 4.9       Dash nextstate        
(fig)    Text           Z100: 2.5.4      Signal               
                        Z100: 2.5.5      Signal list          
                        Z100: 5.2.1      Newtype              
                        Z100: 5.3.1.9    Syntype              
                        Z100: 5.3.1.13   Synonym              
                        Z100: 5.3.1.12.1 Generator            
                        Z100: 2.6.1.1    Variable             
                        Z100: 2.6.1.2    View                 
                        Z100: 2.8        Timer                
                        Z100: 4.13       Remote variable      
                        Z100: 4.13       Imported             
                                         variable             
                        Z100: 4.14       Remote               
                                         procedure            
                        Z100: 4.14       Imported             
                                         procedure            
(fig)    Input          Z100: 2.6.4    Input                  
                        Z100: 4.6      Asterisk input         
                        Z100: 4.14     Remote procedure       
                                       input                  
                        Z100: 6.3.3    Virtual                
                                       transition             
                        z100: 5.4.3    Variable               
                        z100: 5.4.3.1  Indexed variable       
                        z100: 5.4.3.2  Field Variable         
(fig)    Comment        -                                     
(fig)    Save           Z100: 2.6.5   Save                    
                        Z100: 4.7     Asterisk save           
                        Z100: 6.3.3   Virtual save            
(fig)    Text exten     (depends on the symbol connected to)  
         sion                                                 
(fig)    Output         Z100: 2.7.4                           
(fig)    Decision       Z100: 2.7.5      Decision             
                        Z100: 5.3.1.9.1  Range condition      
                        Z100: 2.2.3      Informal text        
(fig)    In-connec      Z100: 2.6.7       In-connector        
         tor or out-    Z100: 2.6.8.2.2   Out-connector       
         connector                                            
(fig)    Task, set,     Z100: 2.7.1   Task                    
         reset or       Z100: 5.4.3   Assignment              
         export         Z100: 2.8     Set, Reset              
                        Z100: 4.13    Export                  
(fig)    Procedure      Z100: 2.7.3   Call                    
         call           Z100: 2.7.2   Actual parameters       
(fig)    Macro call     Z100: 4.2.3                           
(fig)    Create         Z100: 2.7.2                           
         request                                              
(fig)    Transition     Z100: 4.3.4      Transition           
         option         
option                               
                        Z100: 5.3.1.9.1  Range condition      
(fig)    Continuous     Z100: 4.11 Continuous signal          
         signal or      Z100: 4.12 Enabling condition         
         enabling                                             
         condition                                            
(fig)    Start          Z100: 2.6.2  Start                    
                        Z100: 6.3.3  Virtual transition       
(fig)    Priority       Z100: 4.10     Priority input         
         input          Z100: 2.6.4    Stimulus               
                        Z100: 6.3.3    Virtual                
                                       transition             
                        z100: 5.4.3    Variable               
                        z100: 5.4.3.1  Indexed variable       
                        z100: 5.4.3.2  Field variable         
(fig)    Stop           Z100: 2.5.8.2.3                       
(fig)    Procedure      Z100: 2.4.6                           
         start                                                
(fig)    Inlet          Z100: 4.2.2                           
(fig)    Return         Z100: 2.6.8.2.8                       
(fig)    Outlet         Z100: 4.2.2                           
(fig)    Procedure      Z100: 2.4.6    Procedure              
         reference                     definition             
(fig)    Operator       Z100: 5.3.2  Referenced operator      
         reference                   in SDL-PR                
         (an SDL-                                             
         GR exten                                             
         sion defined                                         
         in SDT)                                              
(fig)    Gate           Z100: 6.1.4  Gate                     
                        Z100: 2.5.5  Signal list              
------------------------------------------------------------
-------------------------------------------------------------------
Note:                                                                
The operator reference symbol is not part of the current Z.100 rec   
ommendation. It has been added to the SDL Editor as a convenience    
for the SDT user. It makes operators visible in the SDL structure    
which is handled by the Organizer and facilitates thus navigating.   
The operator reference symbol does not, however, refer to the        
operator diagram implicitly. References to operator diagrams         
must be explicitly entered in SDL-PR, as stated in Z.100.            
-------------------------------------------------------------------

Graphical Properties of Symbols

All symbols that are available in the symbol menu are selectable and moveable; they can be assigned arbitrary locations by the user.

Some symbols are resizeable; these are indicated by filled selection squares. Other symbols can only be partially resized or cannot be resized at all(1); this is shown by grayed selection squares.

Figure 267 : Resizeable and Non-resizeable Symbol. 
-----
(fig)  
       
-----
Exception made from the text symbol and the additional heading symbol, no symbol is allowed to overlap any other symbol.

Text / Additional Heading / Package Reference Symbols

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 267.

These three symbols react the same for resizing. There are two ways available to resize these symbols:

Clipped text symbols are printed in their whole on a separate sheet of paper.

Symbol Text Attributes

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:

Syntax Checking on Text Attributes

The SDL Editor does not force the user to fill text attributes with text. And, in most cases, the SDL Editor does not perform any syntactic check on text attributes, exception made from the check that input characters are legal according to SDL.

Syntax checking is performed by the SDT Analyzer.

Reference Symbols

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 SDT Organizer (see "Presentation Areas" on page 1059 in The SDT 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).

It is however permissible to have diagram reference symbols that are not assigned any name.

The SDL Editor performs a number of checks when the user is editing an SDL reference symbol. Furthermore, a navigation facility with a double-click on a reference symbol (see page 1178) is provided.

See also in the User's Guide, "Managing Diagram Reference Symbols" on page 96 for more information on the topics related to diagram reference symbols.

Add of a Reference Symbol

When a diagram reference symbol is added, 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 Area.

Rename of a Reference Symbol

When changing 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's Diagram Structure Area is updated accordingly.

Remove of a Reference Symbol

Removing a diagram reference symbol also removes it from the Organizer's Diagram Structure Area. The removal of a symbol that refers to an underlying structure needs to be confirmed by the user.

Double-Click on a Reference Symbol

Double-clicking on a diagram reference symbol opens the SDL diagram that the symbol refers to, provided that the diagram is included in the Diagram Structure Area that is handled by the parent SDT Organizer.

Copy of a Reference Symbol

When a diagram reference is copied and pasted, 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.

Instantiation Symbols

Any of the following reference symbols may be used 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 Diagram Structure Area that is handled by the parent SDT Organizer. 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" on page 1176).

Instantiation symbols must be unique within an SDL diagram.

See also in the User's Guide, "Managing Diagram Instantiation Symbols" on page 101 for more information on the topics related to the operations that are supported on instantiation symbols.

Dashed Reference Symbols

Any of the following reference symbols may be dashed:

Instantiation symbols are visualized in the Diagram Structure Area that is handled by the parent SDT Organizer. 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" on page 1176).

Instantiation symbols must be unique within an SDL diagram.

Dashed reference symbols must be unique within an SDL diagram.

See also in the User's Guide, "Managing Dashed Symbols" on page 102 for more information on the topics related to the operations that are supported on dashed symbols.

Lines

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 and can be inserted by selecting it and placing it into the drawing area.

The other lines are inserted 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.

Figure 268 : A Handle. 
-----
(fig)  
       
-----
Lines are selectable; they can be moved and reshaped by the user. Some automatic layout work is performed automatically by the SDL Editor.

A line is allowed to overlap any other object.

Figure 269 : Lines (1). 
-----
(fig)  
       
-----
Figure 270 : Lines (2). 
-----
(fig)  
       
-----

Lines in Interaction Diagrams

The following lines are defined in interaction diagrams (see Figure 269 and Figure 270 on page 1181):

Each of these lines can be freely reshaped by the user. The connection points can be moved as well.

Lines in Flow Diagrams

Figure 271 : Lines (3). 
-----
(fig)  
       
-----
On flow diagrams, the following lines are defined (see Figure 271):

Line segments on flow pages always use a 90-degree angle. It is possible to add segments on a line. However, connection points are fixed.

Syntax Checking on Lines

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.

Textual Objects

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 - the user needs 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.

As for lines, free textual objects are not permissible.

Textual objects are selectable and editable. They can be moved freely by the user, as long as their location does not violate the rules defined by Z.100.

Textual objects are allowed to overlap any other objects.

Textual Objects in Interaction Diagrams

The following textual objects are defined in interaction diagrams:

------------------------------------------------------------
Graphical   Textual objects                                   
Appearance                                                    
------------------------------------------------------------
(fig)       ·  Name of a diagram reference symbol             
            
  • Includes the number of instances for a process reference symbol (fig) · Name of a diagram type reference symbol (fig) · Name of a diagram instantiation symbol (e.g. inst:blk_type)
  • Names of graphical connection points in diagram instantiation symbol (.e.g. CON1) (fig) · Name of a channel or signal route (e.g. CH)
  • Signal list on a channel / signal route (there are 2 signal lists if the line is bidi rectional, e.g. Sig1 and (Siglist))
  • Connection point for channel / signal route to / from environment, e.g. CON (fig) · Names of a gate, e.g. GA
  • Signal lists on a gate (there are 2 signal lists when the gate is bidirectional, e.g. Sig1 and Sig2) ------------------------------------------------------------
  • Textual Objects in Flow Diagrams

    In flow pages, the following textual attributes are defined:

    ------------------------------------------------------------
    Graphical   Textual objects                                   
    Appearance                                                    
    ------------------------------------------------------------
    (fig)       ·  Decision expressions connected to a decision   
                symbol or transition option, e.g. Expr1 and       
                Expr2.                                            
    (fig)       ·  Names of a gate, e.g. GA                       
                
  • Signal lists on a gate (there are 2 signal lists when the gate is bidirectional, e.g. Sig1 and Sig2 ------------------------------------------------------------
  • Graphical Connection Points

    Connection points are text objects which are created automatically by the SDL Editor when drawing a channel or signal route to the frame symbol.

    They are handled in a similar way as other text attributes, but the user is free to fill them or not. The alternative is to define textual connection statements between channels and signal routes in a text symbol.

    The Printout Page Number

    This object is created by the SDL Editor to inform the user about the physical page numbering that will be the result of an SDL page which is larger than the paper format that is defined. It is neither selectable or editable.

    Grids

    The SDL Editor uses two grids for an easy positioning of symbols, lines and textual elements.

    Default Size of Symbols

    The symbols are assigned default sizes when appended to the drawing area:

    This page intentionally left blank


    Footnotes

    (1)
    The size of non-resizeable symbols is computed by the SDL Editor to fit the text contained in the symbol.
     
    Table of Contents Next Chapter