This chapter introduces the Telelogic Tau Public Interface and describes a message based interface by which external tools and applications could be integrated with the Telelogic Tau tools.
Three conceptually different facilities are provided:
The Telelogic Tau Public Interface uses the PostMaster as transport. This chapter assumes the reader to be familiar with the PostMaster; see The PostMaster.
In Using the Telelogic Tau Public Interface, you may find examples of how to use the Public Interface.
Significant steps have been made to increase the openness of the Telelogic Tau tools by the introduction of the Telelogic Tau Public Interface. Openness is provided both in terms of diverse ways of controlling the Telelogic Tau tools and the way data handled by the Telelogic Tau tools are made visible.
Two different kinds of usage of the Telelogic Tau Public Interface could be foreseen:
The public interface to the Telelogic Tau tools has been made possible due to the modularity of the Telelogic Tau tools and thanks to the well defined interfaces by which the Telelogic Tau tools has been built.
The public interface is made available to the Telelogic Tau tools users using two different mechanisms.
The PostMaster forms an integral mechanism to integrate tools in the Telelogic Tau tools environment (a reference to the PostMaster is provided in The PostMaster).
It is also used as a low level mechanism to physically integrate the Telelogic Tau tools with external tools. The PostMaster provides three basic facilities:
These facilities are used to implement the concepts provided by the Telelogic Tau tools services. These are built up of Services and Notifications. A special case of service is Communication with SDT Simulators.
It is important to note that the interface provided could be extended for client-client usage outside the Telelogic Tau tools as long as the conventions described in this document are followed.
Provides access to functionality within the Telelogic Tau tools. Such functions could be used by external tool to control the Telelogic Tau tools, to integrate the Telelogic Tau tools with external tools or have the Telelogic Tau tools take part in a larger environment.
Services adopts the client-server concept where a request is sent by a client to a server, which returns with a reply. Service request and service reply take both advantage of message sending from one tool to another.
These are broadcast messages which are spontaneously emitted when a significant event takes place in the Telelogic Tau tools. Often these notifications are caused by a service being successfully processed.
When external applications are to communicate with SDT Simulators, the message SESDLSIGNAL
is used. It is asynchronously sent/broadcaster into the system. All simulators subscribes on this message. As a parameter to this message is the receiver (in the context of SDL) provided.
The following services are provided by the Telelogic Tau tools for external usage. A service is normally supported by a specific tool or a few number of tools within the Telelogic Tau tools environment. Some of the services correspond to a menu choice or an operation performed by a user using the tools's graphical interface.
In the following services, the Configuration Services and the System File Services are applicable to Telelogic Tau, and the ITEX Services are only applicable to ITEX. All other services are only applicable to ORCA1 and SDT.
Service | Servers | Graphical correspondence |
---|---|---|
PostMaster |
Start a new tool |
|
All tools |
Exit menu choice |
|
PostMaster |
N/A |
|
PostMaster |
N/A |
|
PostMaster |
N/A |
|
PostMaster |
N/A |
Service | Servers | Graphical correspondence |
---|---|---|
Organizer |
N/A |
|
Organizer |
New quick button |
|
Organizer |
Open quick button |
|
Organizer |
Save quick button |
|
Organizer |
Add Existing menu choice |
Service | Servers | Graphical correspondence |
---|---|---|
Organizer |
N/A |
|
Organizer |
N/A |
Service | Servers | Graphical correspondence |
---|---|---|
PostMaster |
N/A |
|
PostMaster |
N/A |
Service | Servers | Graphical correspondence |
---|---|---|
Organizer |
Show source menu choice |
|
SDLE MSCE OME |
N/A |
Service | Servers | Graphical correspondence |
---|---|---|
SDLE MSCE OME |
N/A |
|
SDLE MSCE OME |
N/A |
|
SDLE MSCE OME |
N/A |
|
SDLE MSCE OME |
N/A |
|
SDLE MSCE OME |
N/A |
|
SDLE MSCE OME |
N/A |
Service | Servers | Graphical correspondence |
---|---|---|
Information Server |
N/A |
Service | Servers | Graphical correspondence |
---|---|---|
SDLE |
N/A |
|
SDLE |
Tidy Up menu choice |
Service | Servers | Graphical correspondence |
---|---|---|
OME |
N/A |
Service | Servers | Graphical correspondence |
---|---|---|
MSCE |
Generate MSC PR menu choice |
Service | Servers | Graphical correspondence |
---|---|---|
MSCE |
Generate MSC PR menu choice |
Service | Servers | Graphical correspondence |
---|---|---|
SDLE |
N/A |
|
SDLE |
N/A |
|
SDLE |
N/A |
|
OME |
N/A |
|
OME |
N/A |
|
OME |
N/A |
Service | Servers | Graphical correspondence |
---|---|---|
TE |
N/A |
|
TE |
N/A |
A client which would like to make an integration using these facilities should consult the following interface:
Clients connecting to the PostMaster must be known by the PostMaster. This can be accomplished in a number of ways:
post.cfd
and to set the environment variable POSTPATH
to include the directory where the file is stored.New tool types or message types added to the PostMaster tool and subscription list should be set in a range not conflicting with Telelogic Tau tools. New tools and messages should use values above 100000
. Exact numbering should follow the scheme used by the Telelogic Tau tools:
Using a message based service requires the client to be connected to the PostMaster. To invoke a service, the application sends a service request message to the tool providing the service. A service request message will normally cause a reply message to be sent to the client. An exception is if the server unexpectedly terminates while processing the service.
The client could choose whether to wait for the reply message (emulating a remote procedure call) or to continue working and intercept the reply message via a callback routine.
The client does not need to subscribe on service request messages or service reply messages. However the client itself must be present in the configuration list.
A server can only process one service at time. If additional services are requested from that particular server when being occupied processing the first service, the server is said to be busy and a service error reply is returned to the requester. Other kinds of messages received by server during the processing of a service request are queued up and will be processed as soon as the service has completed.
A service request normally takes advantage of the
SPSendToTool function. If more than one instance of a tool is active the function
SPSendToPid will be more appropriate. The reply is fetched with the
SPRead function. The client must however verify that the read message is the reply message. The macro
SP_MATCHREPLY
could be used to determine whether the received message is the desired reply.
The first parameter in the service reply informs about the result of the service request. The following codes are used:
In the detailed description of each service, the reply format is only specified for the normal case returning
OK. For services replying errors in the
ErrorString format, the text may be context sensitive and only major error causes are specified.
Error handling takes place at two different levels.
SPSendToTool,
SPSendToPid
returns false and the variable sperrno
indicates the error. It also means that a service reply message will not be sent.How to decode the service reply is described in the section below.
These errors are common to all services. They all use the
ErrorString format. Where applicable, an additional explanatory text is added to the strings below:
Bad parameters Server busy Service not supported Server locked
When a service request refers to an SDT reference, the following errors may occur:
Reference must contain paranthesis Reference must start with #SDTREF Invalid reference Garbage after reference Embedded value not terminated Illegal value in paranthesis after token <token-nr> Junk after embedded value Incomplete reference lacking trailing paranthesis Unsupported reference type <token> Symbol must be integer >= 0 Malformed coordinate
For a reference to the syntax of references, see SDT References.
Certain services will broadcast notifications as the service is processed in order to inform other participants than the service issuer that an operation has been performed by the server or that the state of the server has changed.
Normally a message (a service request, a service reply, a notification or other) uses one or more parameters. Generally all such parameters are stored in a PostMaster message's data part.
The following parameter types are used:
Filessdt.h
and itex.h
provides two lists of the available services and notifications in terms of message definitions. It also defines a list (see Adding Tools and Messages) providing a textual definition of messages.sdtsym.h
provides the definitions necessary when working with editors and defines values for diagram types, pages types and symbol types.post.dll
is the DLL that contains the external PostMaster interface. It needs either reside in the same directory as the application that is utilizing it, or in a directory that is in the current PATH
.The files are found in the directory $sdtdir/INCLUDE
(on UNIX), or %SDTDIR%\include
(in Windows).
Below is an explanation of the different sections found in the service descriptions in Tool Services.
A brief textual description of the service.
The tool type(s) providing the service. Corresponds to definitions in the file sdt.h/itex.h
; see Files.
Message name. Corresponds to a definition in the file sdt.h/itex.h
; see Files.
The service request is presented in a table of service parameters, with the appearance below. The parameters must appear in the order they are listed in the table. Usually, a parameter cannot be omitted. If it is optional, this is explicitly mentioned. See also Message Parameters.
Parameter | Type | Description |
---|---|---|
symbolic parametername |
parametertype |
Brief description of the parameters. |
Message name. Corresponds to a definition in the file sdt.h/itex.h
; see Files.
The table below is similar to the service request parameter table above. A service reply always contains a status code in the first parameter. Additional parameters are only valid if the status code was OK (0). See also Message Parameters.
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Errors additional to the common errors are listed in this section; see Common Errors.
Notifications emitted as a result of the service being successfully processed; see Notifications.
The Service Encapsulator application enables access to Telelogic Tau tools services from the Operating System command line prompt.
Basically the tool connects to the Postmaster, sends a service request message and waits for an answer. When the answer arrives, it is printed on standard output. Finally the application exists.
The Service Encapsulator is also available in source code form to show how the Postmaster's Functional Interface could be used. A description of the internal design of the Service Encapsulator is found in Using the Telelogic Tau Public Interface. The source code of the Service Encapsulator is found in
$telelogic/examples/public_interface (on UNIX) <SDT installation directory>\examples\public_interface (in Windows)
The Service Encapsulator binary is invoked by:
On UNIX: $telelogic/bin/serverpc <tool> <service> <params> In Windows: <SDT installation directory>\sdtbin\serverpc <tool> <service> <params>
where <tool> is the tool that should perform the service, and <service> is the service itself.
The <tool>
and <service>
arguments could either be entered as a symbolic value or as the assigned integer value. These definitions are found in sdt.h
If the service takes parameters, these should be provided in <params>
Care should be taken in order to enter parameters correctly. In particular if the service uses quoted string parameters:
\
) since the "DOS" shell from which the tool is invoked, consumes the quotes otherwise.The tool allows carriage return "\n"
and line-feed "\r"
to be used.
The tool does not allow <params>
to contain binary data. Therefore, SDT services accepting binary data must only contain ASCII characters.
The tool returns 0 on success and -1 if an error occur. Such errors correspond to errors when calling Postmaster functions, see SPInit, SPSendToTool, SPRead in Functional Interface for possible errors.
This service will start the specified tool. On UNIX, start means that a new UNIX process is "fork'ed" and "exec'ed". In Windows, start means that the applications is started using the Windows API function CreateProcess.
The Service adds "-post
" to the argv[1]
variable.
The parameters are recognized by the started tool in the argv[]
variable starting from index 2.
The started tool inherits the environment used by the PostMaster.
The service behaves somewhat differently from other services since it is performed both in the PostMaster and in the PostMaster library in the started tool. The service is initiated in the PostMaster creating the new tool, but the service is recognized to be completed when the started tool calls the PostMaster function
SPInit. This call causes a
SESTARTNOTIFY
message to be sent. This message is recognized by the PostMaster which upon reception of the SESTARTNOTIFY
also sends a SESTARTREPLY
to the issues of the start service.
The service is also different in its nature since it will cause a time-out to expire if the started tool does not call the
SPInit function within a certain time limit.
The started tool must have an entry in the PostMaster configuration and the associated file containing the tool to start must exist.
The service will return to the caller:
SESTARTREPLY
message is received by the caller.
SPInit
.)The following MSC diagram shows the protocol when a tool is started normally (the Organizer starts the editor).
Figure 173
: Protocol to start a tool
The SESYNCCONNECT and the SESYNCCONNECTREPLY messages are not present in the Windows implementation.
|
SET_POST
SESTART
SESTARTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
pId |
integer |
A PId identifying the tool type of which the corresponding type is started. |
No such tool Max instances of tool Already started File not found + Operating System file access and process creation error messages
Notification | Description |
---|---|
SESTARTNOTIFY |
The tool disconnects from the Postmaster and then terminates.
All tools
SESTOP
Parameter | Type | Description |
---|---|---|
force |
bool |
If false, the tool is allowed to reject the request. If true, the tool is expected to terminate |
SESTOPREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status |
cancelled |
bool |
True if the tool did not accept the Stop request. |
-
Returns the process type for a given process id.
SET_POST
SEGETTOOLTYPE
Parameter | Type | Description |
---|---|---|
pId |
integer |
A PId identifying the tool type of which the corresponding type is wanted. |
SEGETTOOLTYPEREPLY
-
Returns the process id for the requested tool type. If multiple instances of the tool type exist, all PId values are returned.
SET_POST
SEGETTOOLPID
Parameter | Type | Description |
---|---|---|
toolType |
integer |
An identifier for the tool type of which the corresponding PIds) are wanted. |
SEGETTOOLPIDREPLY
-
Dynamically adds a tool type to the PostMaster configuration.
SET_POST
SEADDTOOL
SEADDTOOLREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
exist |
bool |
Returns |
Operation failed
Dynamically adds a message to a tool's subscription list.
SET_POST
SEADDTOOLSUBSCRIPTION
Parameter | Type | Description |
---|---|---|
tooltype |
integer |
The tool type to which a message subscription should be added. |
message |
integer |
The message to add to the subscription list. |
SEADDTOOLSUBSCRIPTIONREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
exist |
bool |
Returns |
No such tool Operation failed
Lists the files currently held in the Diagram Structure chapter in the Organizer. The files will be returned in the order they are found in the Organizer (i.e. top-down, left-right).
SET_ORGANIZER
SELISTSYSTEMFILES
Parameter | Type | Description |
---|---|---|
- |
- |
N/A. |
SELISTSYSTEMFILESREPLY
-
Clear the Organizer content and create a new system. Corresponds to the Organizer menu choice New.
SET_ORGANIZER
SENEWSYSTEM
Parameter | Type | Description |
---|---|---|
forceQuit |
bool |
If true, quit modified diagrams. If false and there were one or more modified diagrams, the service is denied. |
SENEWSYSTEMREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
cancelled |
bool |
True, if the service was cancelled. |
Service request denied. No license available.
Opens a system file and displays the file contents in the Organizer. Corresponds to the Organizer menu command Open.
SET_ORGANIZER
SEOPENSYSTEM
Parameter | Type | Description |
---|---|---|
filename |
string |
The system file to open. |
forceQuit |
bool |
If |
SEOPENREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
toolType |
integer |
The type of tool. If the requested PId is not found, |
Service request denied. No license available Cannot open, system modified Error opening system A message box displays the error
Corresponds to the Organizer menu command Save. Unconnected diagrams are saved in default file names; for more information, see Save in file.
SET_ORGANIZER
SESAVEALL
Parameter | Type | Description |
---|---|---|
systemStructureOnly |
bool |
True, both the system files and diagram files are saved; False, only diagram files are saved. |
SESAVEALLREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Service request denied. No license available Error save all A message box displays the error
Adds an existing document to the Organizer and optionally displays it in an editor. The type of document to be added and its corresponding editor depends on the extension of the given filename. This is the same mechanism as in the GUI-based equivalent. Corresponds to the Organizer menu choice Add Existing.
SET_ORGANIZER
SEADDEXISTING
SEADDEXISTINGREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
ok |
bool |
Returns true if the operation could be performed. |
-
Prepares a personal link file for a user. Any changes in endpoint and link information after this service is called are saved into this file. The master link file can be read only for the user at this time.
SET_ORGANIZER
SEADDLOCALLINKFILE
Parameter | Type | Description |
---|---|---|
filename |
string |
File name. |
SEADDLOCALLINKFILEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
-
Merges the changes saved into the personal link file into the master link file. After a successful merge, the local link file information is cleared.
SET_ORGANIZER
SEMERGELOCALLINKFILE
Parameter | Type | Description |
---|---|---|
- |
- |
N/A. |
SEMERGELOCALLINKFILEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
-
Converts a MP file to TTCN-GR. One document file is generated in the specified destination directory. The document filename is generated by ITEX. The name of the destination directory is given. The parameter ignore page number indicates that any included page numbers in the MP file will be ignored.
The generated names are displayed in the Organizer log. For more information, see Importing a TTCN-MP Document.
IET_BASE
IEBXCONVERTTOGR
Parameter | Type | Description |
---|---|---|
filename |
QString |
The name of the MP file |
destination |
QString |
The name of the destination directory |
ignore page number |
bool |
Ignoring the included page numbers |
IEBXCONVERTTOGRREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status |
itexfile |
QString |
The filename of the generated document. |
The MP file does not exist Illegal MP file The file has no read permission Unable to generate document files in the destination
Retrieves information about open documents known to ITEX. The EBNF follows:
DocInfoList ::= empty | DocInfoList `<NewLine>' DocInfo DocInfo ::= documentidentifier `:' buffid `:' itexfile `:' backupfile
IET_BASE
IEBXOPENEDDOCUMENTS
IEBXOPENEDDOCUMENTSREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
infolist |
EBNF |
The list of open documents identifiers, buffer identifiers and database file. |
-
Given a database, this function fetches the document buffer identifier if the document is open.
IET_BASE
IEBXGETBUFFIDFROMPATH
Parameter | Type | Description |
---|---|---|
itexfile |
QString |
The database path in the local system syntax. |
IEBXGETBUFFIDFROMPATHREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
buffid |
integer |
The document's buffer identifier |
Unable to find database
Given a MP file path this function fetches the document buffer identifier if there is any database generated from this MP and the document in the database is open.
IET_BASE
IEBXGETBUFFIDFROMMPPATH
Parameter | Type | Description |
---|---|---|
mpfile |
QString |
The MP file path in the local system syntax. |
IEBXGETBUFFIDFROMMPPATHREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
buffid |
integer |
The document's buffer identifier |
Unable to find database
Generates a MP file for the given system node. This converts the entire document source (all TTCN objects) and does not consider the selection. The document must be connected but not necessarily open.
For more information, see Exporting a TTCN Document to TTCN-MP.
IET_BASE
IEBXCONVERTTOMP
IEBXCONVERTTOMPREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status |
Invalid buffer identifier The document is not connected Unable to write file
Generates a MP file for the given system node. It converts only the selected parts of the document which means that the document needs both to be connected and open.
For more information, see Exporting a TTCN Document to TTCN-MP.
IET_BASE
IEBXCONVERTSELTOMP
IEBXCONVERTSELTOMPREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status |
Invalid buffer identifier The document is not connected The document is not open Unable to write file
This function is used to merge one document into another document. Both the source and the destination documents must be available to the ITEX environment, i.e. both documents must be loaded. Furthermore a selection must exists in the source document.
For more information, see Merging TTCN Documents.
IET_BASE
IEBXMERGEDOCUMENT
Parameter | Type | Description |
---|---|---|
srcbuffid |
integer |
The source document's buffer identifier |
destbuffid |
integer |
The destination document's buffer identifier |
IEBXMERGEDOCUMENTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
Unable to merge documents
Analyze the given system node.
For more information, see Analyzing TTCN Documents (on UNIX), or Analyzing TTCN Documents (in Windows).
IET_BASE
IEBXANALYZE
IEBXANALYZEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status |
Invalid buffer identifier The document is not connected
This function closes the document and all open tables in it.
IET_BASE
IEBXCLOSEDOCUMENT
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
IEBXCLOSEDOCUMENTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
Invalid buffer identifier Unable to close document
Given the buffer identifier of the document the corresponding system node is saved in the given filename.
IET_BASE
IEBXSAVE
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document reference |
filename |
QString |
The filename where the document source must be saved. |
IEBXSAVEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
No such tool Invalid buffer identifier Couldn't write file
Given restrictions and a database this function selects all objects which fulfill the restrictions. For more information, see Using More Complex Selections.
IET_BASE
IEBXSELECTOR
IEBXSELECTORREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
No such tool Invalid buffer identifier
Select all objects in the document.
IET_BASE
IEBXSELECTALL
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
IEBXSELECTALLREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
Invalid buffer identifier
Remove all selections in the document.
IET_BASE
IEBXDESELECTALL
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
IEBXDESELECTALLREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
Invalid buffer identifier
This function checks if there is any object selected in the document.
IET_BASE
IEBXISSELECTED
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
IEBXISSELECTEDREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
selectstate |
bool |
Indicates if there is any selected objects in the document. |
Invalid buffer identifier
This function fetches the modify time of a document.
IET_BASE
IEBXGETDOCUMENTMODIFYTIME
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
IEBXGETDOCUMENTMODIFYTIMEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
modifytime |
QString |
The modify time of the document. |
Invalid buffer identifier
Given a document buffer identifier this function fetches the corresponding database path.
IET_BASE
IEBXGETPATH
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
IEBXGETPATHREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
itexfile |
QString |
The database path in the local system syntax. |
Invalid buffer identifier
Given a document bufferid this function fetches the corresponding MP file path.
IET_BASE
IEBXGETMPPATH
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
IEBXGETMPPATHREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
mpfile |
QString |
The MP file path in the local system syntax. |
Invalid buffer identifier
Given the buffer identifier of the selected document and a table identifier, ITEX searches for the table. The found table is displayed in the Table Editor.
IET_BASE
IEBXFINDTABLE
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
tableid |
QString |
The name of the table to find |
IEBXFINDTABLEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status |
Invalid buffer identifier Unconnected document
Close the given table.
IET_BASE
IEBXCLOSETABLE
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
tableident |
QString |
The table identifier. |
IEBXCLOSETABLEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
Invalid buffer identifier No such object
This function returns the status of a given table. The status a table indicates if the table is open or close.
IET_BASE
IEBXGETTABLESTATE
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
tableident |
QString |
The table identifier. |
IEBXGETTABLESTATEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
tablestate |
QString |
Returns |
Invalid buffer identifier No such object
Given the name of a row this function returns the number (position) of it in the table. The row can be a row in a single or multiple table.
IET_BASE
IEBXGETROWNUMBER
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
tableident |
QString |
The table identifier. |
rowname |
identifier |
The name of the row. |
IEBXGETROWNUMBERREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
rownumber |
integer |
The number of the given row. The first row has number one. |
Invalid buffer identifier No such object No such row
This function modifies the selection status of a given row in a table.
IET_BASE
IEBXSELECTROW
IEBXSELECTROWREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
exist |
bool |
Returns |
Invalid buffer identifier No such object No such rownumber
This function removes all row selections in a table.
IET_BASE
IEBXCLEARSELECTION
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
tableident |
QString |
The table identifier. |
IEBXCLEARSELECTIONREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
Invalid buffer identifier No such object
Given the buffer identifier and the table identifier, this function returns the numbers of the selected rows in a table (the first row has number 1).
IET_BASE
IEBXROWSSELECTED
Parameter | Type | Description |
---|---|---|
buffid |
integer |
The document's buffer identifier |
tableident |
QString |
The table identifier. |
IEBXROWSSELECTEDREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status (zero if the operation does not fail). |
nonezero* |
integer |
A list of selected row numbers. The list is empty if no row is selected. |
Invalid buffer identifier No such object
All graphical tools in ORCA and SDT support customizable menus. These user-defined menus will be appended to the menu bar of the tool. The exact location will be defined by the tool, depending on the abilities of the graphical framework the tool is built upon.
The intention is to have an external tool to configure a tool in order to provide the necessary UI. Telelogic tools could also take advantage of these extendable menus.
The following operations are available through a set of well defined PostMaster messages:
Each menu choice can be associated to any of the following:
Adds a new menu to the menu bar.
SET_ORGANIZER SET_SDLE SET_MSCE SET_OME SET_TE SET_SIMULATOR_UI 2 SET_FILEVIEWER SET_COVERAGEVIEWER SET_XREFVIEWER SET_TYPEVIEWER SET_TREEVIEWER SET_PREFERENCES SET_HELPVIEWER
SEMENUADD
Parameter | Type | Description |
---|---|---|
menuName |
string |
Name of the menu to add. |
SEMENUADDREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
-
Removes the menu and its menu choices from the menu bar.
SET_ORGANIZER SET_SDLE SET_MSCE SET_OME SET_TE SET_SIMULATOR_UI 3 SET_FILEVIEWER SET_COVERAGEVIEWER SET_XREFVIEWER SET_TYPEVIEWER SET_TREEVIEWER SET_PREFERENCES SET_HELPVIEWER
SEMENUDELETE
Parameter | Type | Description |
---|---|---|
menuName |
string |
Name of the menu to delete. |
SEMENUDELETEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
-
Clears the menu bar from a menu item.
SET_ORGANIZER SET_SDLE SET_MSCE SET_OME SET_TE SET_SIMULATOR_UI 4 SET_FILEVIEWER SET_COVERAGEVIEWER SET_XREFVIEWER SET_TYPEVIEWER SET_TREEVIEWER SET_PREFERENCES SET_HELPVIEWER
SEMENUCLEAR
Parameter | Type | Description |
---|---|---|
menuName |
string |
Name of the menu to clear. |
SEMENUCLEARREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
-
Adds a menu choice to the specified menu. The menu choice could either perform an OS command or issue a PostMaster notification when selected. The OS command to perform or the message to broadcast could be sensitive on a selected symbol.
The description of the service parameters below is generic to all tools supporting the service. Some tools have special interpretations of some parameters. Some tools also allow format codes to be used in the command string or as message parameter, providing additional context sensitive information. Both these tool-specific issues are described separately in the following sections:
SET_ORGANIZER SET_SDLE SET_MSCE SET_OME SET_TE SET_SIMULATOR_UI 5 SET_FILEVIEWER SET_COVERAGEVIEWER SET_XREFVIEWER SET_TYPEVIEWER SET_TREEVIEWER SET_PREFERENCES SET_HELPVIEWER
SEMENUADDITEM
actionType
above sets the variant part to be a PostMaster message, the last two parameters are:
actionType
above sets the variant part to be an OS command, the last two parameters are:
SEMENUADDITEMREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
-
Identical to the description of Add Item to Menu, except that the semantics of the parameters and supported format codes for the service differ.
SET_ORGANIZER
SEMENUADDITEM
The following format codes are recognized. There are format modifiers for some of the basic formats:
Apart from providing a set of format codes, the Organizer gives special interpretation to the lastAction
and scope
parameters.
Identical to the description of Add Item to Menu, except that the semantics of the parameters and supported format codes for the service differ.
SET_TE
SEMENUADDITEM
The following format codes are recognized.
Format code | Description |
---|---|
%f |
The filename of the document. |
%u |
The source directory |
%s |
The selected text |
%S |
The entire text of the document. |
Identical to the description of Add Item to Menu, except that the semantic of the parameters and supported format codes for the service differ.
SET_SDLE SET_MSCE SET_OME
SEMENUADDITEM
The following format codes are recognized.
Apart from providing a set of format codes, the graphical editors give special interpretation to the lastAction
, ProprietaryKey and AttributeKey parameters.
Parameter | Type | Description |
---|---|---|
ProprietaryKey |
integer |
The keys |
AttributeKey |
integer |
See description of |
scope |
integer |
This attribute should be one of the following: |
ALWAYS (0)
ProprietaryKey and AttributeKey are handled as don't care. |
||
ProprietaryKey and AttributeKey are handled as don't care. |
||
|
||
|
Starts the logging of messages sent by tools connected to the PostMaster. The format used by the log is event-oriented MSC-PR.
SET_POST
SESTARTTRACE
SESTARTTRACEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
-
Stops the logging of messages sent by PostMaster tools.
SET_POST
SESTOPTRACE
Parameter | Type | Description |
---|---|---|
- |
- |
N/A. |
SESTOPTRACEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
-
Selects the SDT reference in an editor. A reference could be:
For a complete description of the format of an SDT reference, please see SDT References.
SET_ORGANIZER
SESHOWREF
Parameter | Type | Description |
---|---|---|
SDTRef |
string |
A valid SDT reference. |
SESHOWREFREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
SDT Reference Errors
Returns the SDT references for the current selection(s) in the editors.
SET_SDLE SET_MSCE SET_OME
SEOBTAINGRREF
Parameter | Type | Description |
---|---|---|
- |
- |
N/A |
SEOBTAINGRREFREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
NoOfRef |
integer |
The number of references found. |
ref* |
string |
A complete SDT reference. |
SDT Reference Errors Illegal use of qualifier Illegal reference type
The editor defines the concept buffer, which basically identifies a diagram currently loaded in the editor. Each buffer is identified with a buffer id which is unique within one session of the editor as long as the editor is not stopped)
A buffer id is returned when an existing diagram is successfully loaded in an editor or a new diagram is created and implicitly loaded in the editor. Then, most services manipulating diagrams in editors, refer to the buffer containing the diagram via the buffer id.
Loads a diagram or text document specified by filename in an editor buffer. If the diagram was already loaded, the existing buffer id will be returned.
SET_SDLE SET_MSCE SET_OME SET_TE
SELOAD
Parameter | Type | Description |
---|---|---|
filename |
string |
The diagram file to load specified with the full directory path. |
SELOADREPLY
Can not read file <filename> <error message> SDLE is busy, syntax error in text (SDLE only)
Notification | Description |
---|---|
SELOADNOTIFY |
If the diagram was loaded. |
SESDLELOADNOTIFY |
If an SDL diagram was loaded. |
SEOMELOADNOTIFY |
If an OM, SC or HMSC diagram was loaded. |
Unloads a diagram from an editor.
SET_SDLE SET_MSCE SET_OME SET_TE
SEUNLOAD
SEUNLOADREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid diagram buffer id Diagram is changed If force Unload is false SDLE is busy, syntax error in text (SDLE only)
Notification | Description |
---|---|
SEUNLOADNOTIFY |
If the diagram was unloaded. |
The service will raise a window in the editor showing the specified buffer.
SET_SDLE SET_MSCE SET_OME SET_TE
SESHOW
SESHOWREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid diagram buffer id Unable to open page (SDLE/OME only) SDLE is busy, syntax error in text (SDLE only)
Notification | Description |
---|---|
SESHOWNOTIFY |
If the diagram was raised. |
The service will save the diagram in the specified file. If not a valid filename or if there is no permission to save the file, an error will be returned. When saved, the editor buffer is marked as not edited.
SET_SDLE SET_MSCE SET_OME SET_TE
SESAVE
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Refers to a buffer in the editor. |
filename |
string |
The file where to save the buffer. |
SESAVEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
saveok |
bool |
Returns |
Invalid diagram buffer Id Diagram is new. Filename is missing. Cannot save file <filename> <error message> SDLE is busy, syntax error in text (SDLE only)
Notification | Description |
---|---|
SESAVENOTIFY |
If the diagram was saved. |
Creates an empty SDL diagram in a new buffer. The diagram gets an unconnected status. Corresponds to SDL Editor command New.
SET_SDLE
SESDLECREATEDIAGRAM
SESDLECREATEDIAGRAMREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
bufId |
integer |
Refers to a buffer in the editor. |
SDLE is busy, syntax error in text
Notification | Description |
---|---|
SESDLECREATENOTIFY |
As a result of creating the diagram. |
SEPAGENOTIFY |
As a result of creating a page. |
Creates an empty MSC diagram in new buffer. Corresponds to MSC Editor command New.
SET_MSCE
SEMSCECREATEDIAGRAM
SEMSCECREATEDIAGRAMREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
bufId |
integer |
Refers to a buffer in the editor. |
-
Notification | Description |
---|---|
SEMSCENEWNOTIFY |
As a result of creating the diagram. |
Creates an empty OM diagram in new buffer. Corresponds to OM Editor command New.
SET_OME
SEOMECREATEDIAGRAM
SEOMECREATEDIAGRAMREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
bufId |
integer |
Refers to a buffer in the editor. |
-
Notification | Description |
---|---|
SEOMENEWNOTIFY |
As a result of creating the diagram. |
Creates an empty text diagram in new buffer. Corresponds to Text Editor command New.
SET_TE
SETECREATEDIAGRAM
Parameter | Type | Description |
---|---|---|
diagramType |
integer |
Diagram type. See |
name |
string |
Name of the diagram to create. |
SETECREATEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
bufId |
integer |
Refers to a buffer in the editor. |
-
Notification | Description |
---|---|
SETENEWNOTIFY |
As a result of creating the diagram. |
The Select Object service will highlight an object in a diagram. Note that this command does not show the buffer and the selected object in a window. The difference between this service and the Obtain GR Reference service is that the Select Object service does not require the diagram to be saved on a file.
SET_SDLE SET_MSCE SET_OME
SESELECTOBJECT
SESELECTOBJECTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid diagram buffer id Invalid object id SDLE is busy, syntax error in text (SDLE only)
The Show Object service will make sure that the specified object is visible in a window. This means that it will display the buffer in a window and if necessary scroll into the position where the object is. Often used in combination with Select Object.
SET_SDLE SET_MSCE SET_OME
SESHOWOBJECT
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Buffer referencing the diagram in which an object should be shown. |
objectId |
integer |
Identifier to the object to show. |
SESHOWOBJECTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid diagram buffer id Invalid object id SDLE is busy, syntax error in text (SDLE only)
Adds an object to the SDL diagram.
SET_SDLE
SESDLEINSERTOBJECT
SESDLEINSERTOBJECTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid diagram buffer id Invalid object id A reference symbol containing text\ cannot be inserted in diagram <diagram> Object type <objectType> is not allowed\ in diagram <diagram> Unable to open page The page is too small to insert the object SDLE is busy, syntax error in text
The Insert Object service will create a new object in the diagram identified by the parameter and return an object identification (an integer) to the client. It will not display the new object.
For a full specification of how to specify the object to insert, the specification of Message Sequence Charts Z.120 should be consulted or the document "MSC Trace and Log Format 2.0 Specification" available from Telelogic.
SET_MSCE
SEINSERTOBJECT
SEINSERTOBJECTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
objectId |
integer |
Identifier to object. |
Invalid diagram buffer id Errors from parsing objectDescription
The Remove Object service will delete an object in a diagram.
SET_MSCE
SEREMOVEOBJECT
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Buffer referencing the diagram in which an object should be removed. |
objectId |
integer |
The object to remove. |
SEREMOVEOBJECTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid diagram buffer id Invalid object id Object can not be removed (MSCE only)
The service will extract all texts for a given object.
SET_SDLE SET_MSCE SET_OME
SEGETOBJECTTEXT
Parameter | Type | Description |
---|---|---|
bufid |
string |
A buffer referencing the diagram where the object exists. |
objectId |
integer |
Identifier to the object. |
SEGETOBJECTTEXTREPLY
Invalid diagram buffer id No page found with this object id No object with this id found
It is possible to extend the data associated to an object managed by ORCA and SDT with the user's own data. How this is done is described in Figure 174.
Figure 174
: Extending the attributes associated to a symbol
The object can have any number of attributes associated to it, not necessarily 2 as illustrated. The number of extended data attributes is arbitrary.
|
An object is potentially any item that is handled as a source component by ORCA and SDT, or any of the sub-components of which it consists. Objects are thus:
The purpose of the extended data attribute is:
An extended data attribute defines a number of fields. Below is a few of them further elaborated.
ProprietaryKey
AttributeKey
data_length
variant_data
union consists of. Generally, all elements of variable length need to have their length specified, since the user must be able to store hex 0 as data.data_interpretation
and data
comment_length
comment
Request to display, i.e. select, all symbols referred by SDTRef
, that have at least one associated attribute that matches the keys ProprietaryKey
and AttributeKey
.
AttributeKey
will be omitted if it has value 0ProprietaryKey
is 0 both keys will be omitted. SDTRef
is typically a diagram, but could also be a page or a specific symbol. The symbols that match the criteria will be marked as selected in the drawing area. Other symbols will be de-selected.
SDTRef
is empty, display all symbols is all diagrams that are read by the tool, and that match the keysSDTRef
denotes a diagram, display all symbols in the diagram that match the keysSDTRef
denotes a page, display all symbols in the page that match the keysSDTRef
denotes a symbol, display the symbol if it matches the keys.SET_SDLE SET_MSCE SET_OME
SEDISPLAYKEY
Parameter | Type | Description |
---|---|---|
ProprietaryKey |
integer |
See the introductory description. |
AttributeKey |
integer |
See the introductory description. |
SDTRef |
string |
See the introductory description. |
SEDISPLAYKEYREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
SDT Reference Errors
Request to list all objects referred by SDTRef
, that have at least one associated attribute that matches the keys ProprietaryKey and AttributeKey.
AttributeKey
will be omitted if it has value 0. ProprietaryKey
is 0 both keys will be omitted. SDTRef
is typically a diagram, but could also be a page or a specific symbol. The response is a count and a list of SDTRef
to all objects that match the keys.
SDTRef
is NULL, list all symbols is all diagrams that are read by the tool, and that match the keys.SDTRef
denotes a diagram, return SDTRef
to all objects in the diagram that match the keys.SDTRef
denotes a page, return SDTRef
to objects in the page that match the keys.SDTRef
denotes an object, return the SDTRef
to the object if it matches the keys.SET_SDLE SET_MSCE SET_OME
SELISTKEY
Parameter | Type | Description |
---|---|---|
ProprietaryKey |
integer |
See the introductory description. |
AttributeKey |
integer |
See the introductory description. |
SDTRef |
string |
See the introductory description. |
SELISTKEYREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
NoOfKeys |
integer |
Number of matching keys. |
SDTRef* |
string |
A list of SDT references. |
SDT Reference Errors
Request add a new attribute to the symbol that matches the SDT reference SDTRef
.
SET_SDLE SET_MSCE SET_OME
SECREATEATTRIBUTE
SECREATEATTRIBUTEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
SDT Reference Errors Error in match
Request to update the attribute that matches the search criteria (SDTRef
, ProprietaryKey
, AttributeKey
). If an attribute matches the search keys, then the entire attribute's contents will be updated (replaced) with new contents.
SET_SDLE SET_MSCE SET_OME
SEUPDATEATTRIBUTE
SEUPDATEATTRIBUTEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
SDT Reference Errors Error in match
Request to read the attribute(s) that match(es) the keys and the diagram identified by SDTRef
. The SDTRef
reference should contain a page attribute.
SET_SDLE SET_MSCE SET_OME
SEREADATTRIBUTE
Parameter | Type | Description |
---|---|---|
ProprietaryKey |
integer |
See the introductory description. |
AttributeKey |
integer |
See the introductory description. |
SDTRef |
string |
See the introductory description. |
SEREADATTRIBUTEREPLY
SDT Reference Errors Error in match
Request to delete the attribute that matches the search criteria (SDTRef
, ProprietaryKey
, AttributeKey
).
SET_SDLE SET_MSCE SET_OME
SEDELETEATTRIBUTE
Parameter | Type | Description |
---|---|---|
ProprietaryKey |
integer |
See the introductory description. |
AttributeKey |
integer |
See the introductory description. |
SDTRef |
string |
See the introductory description. |
SEDELETEATTRIBUTEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
SDT Reference Errors More than one object match the search No object match the search
Loads a file containing external signal definitions into the Information Server. The contents of such a file are then made available via the Signal Dictionary functionality found in the SDL Editor.
The Information Server could read any ASCII file, but for efficient usage, the format of the files should contain one signal definition per line.
SET_INFOSERVER
SELOADDEFINITIONMAP
Parameter | Type | Description |
---|---|---|
fileName |
string |
Name of the file to load. |
tag |
integer |
Is used to either add or remove a file. 0 = Add definition 1 = Remove definition. |
SELOADDEFINITIONMAPREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
File already added File was not added before
Generate PR for a given SDT binary file. Optionally, GR references and CIF comments could be generated.
If the file is already being edited the PR generated will be from the internal version in the SDL Editor and not from the data in the file.
If the diagram is not being edited it will be unloaded after the PR generation.
SET_SDLE
SEGRPRP
SEGRPRREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid file name SDLE is busy, syntax error in text (SDLE only)
The Tidy Up service will perform a tidy up on a specified diagram. The functionality is identical to the Tidy Up command available in the SDL Editor.
SET_SDLE
SETIDYUP
Parameter | Type | Description |
---|---|---|
bufid |
integer |
Buffer referencing the diagram to tidy up. |
SETIDYUPREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid diagram buffer id
Get information about the symbols and lines of a SC diagram. The format of the returned infoList is:
Symbols: <noOfSymbols> <type> <id> <superstateId> <noOfTexts> <text1> ... ... Lines: <noOfLines> <type> <fromSymbolId> <toSymbolId> <noOfTexts> <text1> ... ... Where: <type> ::= An integer denoting the type of symbol or line Types can be found in sdtsym.h <id> ::= An integer identifying a symbol
SET_OME
SEGETDIAGRAMINFO
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Refers to a buffer in the editor. |
SEGETDIAGRAMINFOREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
infoList |
stringList |
The symbols and lines of the diagram. |
Invalid diagram buffer id Invalid diagram type
Generate PR for a given MSC binary file. Optionally, GR references can be generated.
If the file is already being edited, the generated PR will be from the internal version in the MSC Editor and not from the data in the file.
If the diagram is not being edited it will be unloaded after the PR generation.
SET_MSCE
SEMSCGRPR
SEMSCGRPRREPLY
Parameter | Type | Description |
---|---|---|
errors |
integer |
Number of errors in the GR file. |
warnings |
integer |
Number of warnings in the GR file. |
errorLog |
string |
Description of errors and warnings, with GR references. |
Generate PR for a given HMSC binary file. Optionally, GR references can be generated.
If the file is already being edited, the generated PR will be from the internal version in the HMSC Editor and not from the data in the file.
If the diagram is not being edited it will be unloaded after the PR generation.
SET_OME
SEHMSCGRPR
SEHMSCGRPRREPLY
Parameter | Type | Description |
---|---|---|
errors |
integer |
Number of errors in the GR file. |
warnings |
integer |
Number of warnings in the GR file. |
errorLog |
string |
Description of errors and warnings, with GR references. |
The CIF services enables the user to create diagrams where the graphical objects and texts could be positioned in a controlled manner.
These services enables the user to build converters to ORCA and SDT diagram formats.
The diagram types which are supported are:
where the services are supported by the SDL Editor, and
where the services are supported by the OM Editor.
Creates an empty SDL diagram in a new buffer. Corresponds to the SDL Editor command New. The defaults applied to the created page are defined for the Create SDL Page service.
The texts for the package reference and the headings will be shown on every page in the diagram. The package reference symbol and the heading symbols will be automatically created, but their size can be changed by using the Insert SDL Object service for these symbols, (see Object Specific Parameters).
The kernel heading will be parsed to extract the necessary attributes like the virtuality, diagram type and diagram name. If this parsing fails the service will return an error.
The splitting of the SDL heading into a kernel heading and an additional heading is done according to the rules in section 2.2.5 `Partitioning of diagrams' in Z.100 with some necessary exceptions. Normally the kernel heading contains the heading up to, and including the diagram name,
<kernel heading> ::= [<virtuality>] <diagram kind> {<diagram name> | <diagram identifier>}
The following exceptions to this rule apply:
For a type based system diagram the kernel heading contains the complete definition except for the ending <end>
clause.
<kernel heading> ::= <typebased system heading>
For a process diagram the <number of process instance>
might be included in the kernel heading.
For a procedure diagram the kernel heading is
<kernel heading> ::= <procedure preamble> procedure {<procedure name> | <procedure identifier>}
SET_SDLE
SESDLECIFCREATEDIAGRAM
SESDLECIFCREATEDIAGRAMREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
bufid |
integer |
Refers to a buffer in the editor. |
The pagename is empty Illegal diagram kernel heading
Notification | Description |
---|---|
SESDLENEWNOTIFY |
As a result of creating the diagram. |
SEPAGENOTIFY |
As a result of creating a page. |
The Create Page service will create a new page in an existing diagram. The new page will be inserted as the last page in the diagram. The created page will have a frame symbol with margins to the page border as defined by the actual preference file. The kernel heading, additional heading and page number symbols exists and are placed automatically relative to the frame symbol. The package reference symbol exists, automatically placed, if the page type is a system page or a package page. The frame symbol can be changed to another position by using the Insert SDL Object service.
If a page already exists with the given page name, the service will be ignored and the return status is OK. This can be used for convenience to always send Create Page for all pages including the one already sent in the Create SDL Diagram.
The grid values should be multiples of 5 mm. If the values are zero or less than zero this means that the preferences values are used for the grid values.
A page can be set to be autonumbered. When this is used a page name must be given as well. For consecutive autonumbered pages these names must be "1", "2", "3" and so on. It will be checked that the given page name is the same as the generated page name. If not an error will be returned.
If the ShowMeFirst attribute is set for a new page it will override an already existing ShowMeFirst page.
SET_SDLE
SESDLECIFCREATEPAGE
SESDLECIFCREATEPAGEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid diagram buffer id The pagename is empty Command canceled in add page For autonumbered pages, the given pagename "2" must be the same as the generated page name "1"
Notification | Description |
---|---|
SEPAGENOTIFY |
As a result of creating a page. |
The Insert Object service will insert an object in a specified position at a specific page. The return value is the object id for the inserted object. Lines connected to the inserted symbol should refer to the objectId returned by this service.
The following checks are applied on parameters:
The following is a non-exhaustive list of restrictions, applied inside SDLE when manipulating with symbols, that are not checked by this service:
SET_SDLE
SESDLECIFINSERTOBJECT
SESDLECIFINSERTOBJECTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
objectId |
integer |
Identifier to the inserted object. |
Invalid diagram buffer id Invalid pagename Invalid fromSymbol id for a line: Invalid toSymbol id for a line: Invalid fromSymbol. The fromSymbol is a line: Invalid toSymbol. The toSymbol is a line: Number of points in line < 2 : Invalid objectId for ConnectionPoint line: Invalid object type:
For each object type the needed parameters are listed. All coordinates are given in 1/10 mm units in the coordinate system with the upper left corner of the page as origo and the y-coordinate having the positive direction going downwards.
A given coordinate will be adjusted to fall on a grid. For symbols this grid is given by a grid net of 5 x 5 mm. For line breakpoints and text positions the grid net is 2.5 x 2.5 mm.
The Pagenumber symbol (objectType number 53) has no extra specific parameters. When inserted there will not be a new symbol created as the pagenumber symbol is always created when the page is created. The text for the pagenumber symbol is generated automatically. The only use of inserting this symbol is to force an update of the page by having the updateFlag set to true.
Start(1), ProcedureStart(2), MacroInlet(3), Stop(4), ProcedureReturn(5), MacroOutlet(6), State(7), InputRight(8), InputLeft(9), PriorityInputRight(10), PriorityInputLeft(11), ContinuousSignal(12), EnablingCondition(13), Task(14), OutputRight(15), OutputLeft(16), PriorityOutputRight(17), PriorityOutputLeft(18), ProcedureCall(19), InConnector(20), CreateRequest(21), Decision(22), TransitionOption(23), MacroCall(24), OutConnector(25), Save(26)
Procedure(27), Service(41), Process(42), Block(43), BlockSubstructure(45), ChannelSubstructure(46), SystemType(47), BlockType(48), ServiceType(49), ProcessType(50), Operator(56).
Parameter | Type | Description |
---|---|---|
width |
integer |
The width of the symbol. |
height |
integer |
The height of the symbol. |
Creates an empty OM diagram in a new buffer. Corresponds to the OM Editor command New. The defaults applied to the created page are defined for the Create OM Page service.
SET_OME
SEOMECIFCREATEDIAGRAM
SEOMECIFCREATEDIAGRAMREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
bufid |
integer |
Refers to a buffer in the editor |
The pagename is empty
Notification | Description |
---|---|
SEOMENEWNOTIFY |
As a result of creating the diagram. |
SEPAGENOTIFY |
As a result of creating a page. |
The Create Page service will create a new page in an existing diagram. The new page will be inserted as the last page in the diagram. The heading and page number symbols exists and are placed automatically relative to the frame symbol. The frame symbol can not be changed to another position.
If a page already exists with the given page name, the service will be ignored and the return status is OK. This can be used for convenience to always send Create Page for all pages including the one already sent in the Create OM Diagram service.
The grid values should be multiples of 5 mm. If the values are zero or less than zero this means that the preferences values are used for the grid values.
A page can be set to be autonumbered. When this is used a page name must be given as well. For consecutive autonumbered pages these names must be "1", "2", "3" and so on. It is considered an error if the given page name not is the same as the generated page name when this flag is set.
If the ShowMeFirst attribute is set for a new page it will override an already existing ShowMeFirst page.
SET_OME
SEOMECIFCREATEPAGE
SEOMECIFCREATEPAGEREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Invalid diagram buffer id The pagename is empty For an autonumbered page the given name must be the same as the generated pagename: "<gen.pagename>"
Notification | Description |
---|---|
SEPAGENOTIFY |
As a result of creating a page. |
The Insert Object service will insert an object in a specified position at a specific page. The return value is the object id for the inserted object. Lines connected to the inserted symbol should refer to the objectId returned by this service.
The following parameter checks are performed:
The following is a non-exhaustive list of restrictions, applied inside OME when manipulating with symbols, that are not checked by this service:
SET_OME
SEOMECIFINSERTOBJECT
SEOMECIFINSERTOBJECTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
objectId |
integer |
Identifier to the inserted object |
Invalid diagram buffer id Invalid pagename Invalid fromSymbol id for a line: Invalid toSymbol id for a line: Invalid fromSymbol. The fromSymbol is a line: Invalid toSymbol. The toSymbol is a line: Number of points in line < 2 : Invalid objectId for ConnectionPoint line: Invalid object type:
For each object type the needed parameters are listed below. All coordinates are given in 1/10 mm units in the coordinate system with the upper left corner of the page as origo and the y-coordinate having the positive direction going downwards.
A given coordinate will be adjusted to fall on a grid. For symbols this grid is given by a grid net of 5 x 5 mm. For line breakpoints and text positions the grid net is 2.5 x 2.5 mm.
The Pagenumber symbol (objectType number 53) have no extra specific parameters. When inserted there will not be a new symbol created as the pagenumber symbol is always created when the page is created. The text for the pagenumber symbol is generated automatically. The only use of inserting this symbol is to force an update of the page by having the updateFlag set to true
It is checked that symbols exists having the given fromID and toID. Observe that the fromID must denote an association or aggregation line. Note that numPoints always must be 2, and consequently there will be two x and y coordinates.
The Show Position service makes sure that a certain character specified by line and column is visible in a text editor window:
Note that the actual display position after re-centering is undefined if the line and/or column values do not make sense.
SET_TE
SETESHOWPOSITION
Parameter | Type | Description |
---|---|---|
bufid |
integer |
Identifies the buffer |
line |
integer |
Indicates the line that should be shown |
column |
integer |
Indicates which character on the line which should be shown |
SETESHOWPOSITIONREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Buffer id does not exist
The Select Text service selects a range of text in a window displaying a given text buffer.
Note that the actual selection is undefined if one or more of the line and/or column values do not make sense.
SET_TE
SETESELECTTEXT
SETESELECTTEXTREPLY
Parameter | Type | Description |
---|---|---|
status |
integer |
Service reply status. |
Buffer id does not exist
The notifications inform the environment when something significantly in Telelogic Tau happens. Notifications are only available as PostMaster messages.
To receive a notification one must subscribe on that particular notification (or on all notifications). This is accomplished either statically, by an entry in an additional configuration file, or dynamically by the Telelogic Tau services Add Tool and Add Tool Subscription.
Message | Description |
---|---|
SESTARTNOTIFY |
When a tool is started. |
SESTOPNOTIFY |
When a tool is stopped. |
This message is broadcast when a new tool is started. That is, when it connects to the PostMaster. It is sent automatically by the SPInit function.
The started tool
SESTARTNOTIFY
Parameter | Type | Description |
---|---|---|
toolType |
integer |
The kind of tool that was started. |
argv0 |
string |
The filename (with a complete path) of the started tool as obtained by reading |
This message is broadcast when the tool disconnects from the PostMaster and terminates.
The tool which stops
SESTOPNOTIFY
Parameter | Type | Description |
---|---|---|
toolType |
integer |
The kind of tool that stopped. |
Broadcast when the diagram is loaded in an editor.
SET_SDLE SET_MSCE SET_OME SET_TE
SELOADNOTIFY
Broadcast when the diagram is unloaded in the editor. No assumptions could be made whether or not the diagram was saved. The buffer id of the unloaded diagram is then not longer valid and cannot be used anymore.
SET_SDLE SET_MSCE SET_OME SET_TE
SEUNLOADNOTIFY
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Buffer id of the unloaded diagram. |
Broadcast when a diagram becomes dirty, i.e. when the user has modified the diagram.
SET_SDLE SET_MSCE SET_OME SET_TE
SEDIRTYNOTIFY
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Buffer id of the diagram that became dirty. |
The message is broadcast when a diagram is saved.
SET_SDLE SET_MSCE SET_OME SET_TE
SESAVENOTIFY
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Buffer id of the saved diagram. |
fileName |
string |
The filename in which the diagram was saved. |
Broadcast when a diagram is created in the SDL Editor. In this case a Load Notify is not broadcast.
SET_SDLE
SESDLENEWNOTIFY
Broadcast when a diagram is created in the MSC Editor. In this case a Load Notify is not broadcast.
SET_MSCE
SEMSCENEWNOTIFY
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Buffer id of the new diagram. |
diagramName |
string |
Name of the new diagram. |
Broadcast when a diagram is created in the OM Editor. In this case a Load Notify is not broadcast.
SET_OME
SEOMENEWNOTIFY
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Buffer id of the new diagram. |
diagramName |
string |
Name of the new diagram. |
Broadcast when a diagram is created in the Text Editor. In this case a Load Notify is not broadcast.
SET_TE
SETENEWNOTIFY
Parameter | Type | Description |
---|---|---|
bufId |
integer |
Buffer id of the new diagram. |
diagramName |
string |
Name of the new diagram. |
SESDLSIGNAL
is sent by an SDT simulator when it sends an SDL signal to its SDL environment. Other simulators (or any applications connected to the PostMaster) can then receive the message and send back messages of the same type.
The PIds consist of a UNIX PId (on UNIX), or an identifier "pid" known by the PostMaster (in Windows), in both cases an integer, and an SDL process instance number (a hex number), which normally is used only in comparisons. The PIds may be used to uniquely identify a single receiver if several receivers exist, but can be ignored if only two tools are communicating
SET_SDLENV
SESDLSIGNAL
SEOPFAILED
is sent by the PostMaster when an internal problem inhibited a message to be handled properly. Three major categories of errors exists:
SET_POST
SEOPFAILED