Generate Sequence Diagrams From Text Input
Generate Sequence Diagrams From Text Input
0
User’s Manual
1 Introduction
1.2 Features
• Generated Documents: EventStudio can generate a vast array of documents used in
Distributed system design. All the documents are generated from a single source file.
Documents are generated in industry standard formats like PDF, Microsoft Word Picture
(EMF) and HTML. A few of document types are listed below:
o Sequence Diagrams
o Message Sequence Charts
o Interface Sequence Diagrams
o Unit Test Procedures
Page 1
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
o Summary Documents
o Statistics Documents
o Collaboration Diagrams
o Context Diagrams
o Message Filter Collaboration Diagram
• Multiple Scenarios: EventStudio simplifies the definition of multiple legs that can be
executed in a feature. The user can define all the possible success and error scenarios in
a single file. So now defining ten scenarios for a feature will not mean ten different
documents.
• Design Review: EventStudio can automatically review your design. It can catch resource
leaks and other design problems. Keep in mind that these checks are performed for all
the Scenarios, not just the few success cases of a feature. A few of the checks performed
by EventStudio are:
o Have all the resources been freed?
o Have all the timers been stopped?
o Have all pending actions been completed?
• Semi Formal Development: In most systems code is the first formal description of the
system. The design stage just consists of text documents with almost no formal
component. EventStudio remedies this "impedance mismatch" between the design and
coding stages by introducing a semi-formal design methodology that fits right between
text based document and code. EventStudio gives you the freedom and flexibility of text
documents while also adding a formal component to the design.
Page 2
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 3
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
label exit:
[* call has ended. *]
feature "Testing"
[sip] invite(caller, called): e -> f
[sip] two_way_path : e <-> f
Page 4
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
endfeature
12. Section Heading Support The syntax for headings is shown in the following example:
heading "Conversation Mode"
A large sequence diagram may
be subdivided into sections using
the heading statement.
• The headings are
displayed as a block
remark.
• A bookmark to the
headings is added in
the left pane of a PDF
sequence diagram file.
• Message numbering is
reset when headings
are encountered.
Any font size between 1 and 35 may be specified in the Tools->Options->Font Selection tab. The
font size range has been expanded for:
• Sequence diagram message name font.
• Collaboration diagram message name font.
• Message parameter font
• Action box font
• Block remark font
Page 5
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
SCSF", "192.168.10.20".
18. Light Weight Header Select the light weight header from the Tools->Options
menu and Customize tab
A light weight header that lists
the axis only for the lowest
level entities. The light weight
header does not include the
page number and title. This
makes the diagrams suitable
for inclusion in other
documents.
Style specifications can now be added to the module, processor and object
declarations. The styles allow you to define a color, line style and a font size for the
instance axis.
• Object style specifications are used in regular sequence diagrams. When a light
weight header is selected, the instance title, box and the axis are rendered
using the style specifications.
• Processor style specifications are used when a processor containing no objects
is used. The processor style is also used when processor interaction sequence
diagram is generated.
• Module styles are used in module interaction diagrams.
20. Image Specification in The style specification with image is shown here:
Instance Style
style pstyle: image="c:\phone.jpg"
An image may be specified in style cstyle: image="c:\xscale.jpg"
the instance styles. JPEG style rstyle: image="c:\sphere.jpg"
images are supported. The module : [pstyle] phone
image in a style is used if processor: [cstyle] cpu in phone
"Light weight header with eternal: [rstyle] rlc_mac in cpu
image" is selected from the
"Tools->Options->Customize
tab".
Page 6
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
#ifdef UMTS_RELEASE_7
#else
#endif
Page 7
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
EventStudio automatically synchronizes FDL files and open PDF document. If a PDF
document is already open, a new version of the document will is reopened after the
document generation has been completed.
29. Single Click Document Use any of the following to save, generate and display:
Save, Generate and Display • Control-Q
• Click on the "Quick Save and Display" icon in
EventStudio greatly simplifies the toolbar.
the process of editing FDL by • Invoke the File->"Quick Save and Display"
providing instant feedback on menu item.
the final sequence diagram.
Page 8
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
EventStudio image header assignment algorithm has been enhanced as detailed in the
diagram below:
Eternal/Dynamic Processor Images Module Images Images Drawn in
Object Images the Header
At least one eternal N/A N/A The eternal/dynamic
or dynamic object objects that have
uses a style with associated images
image. are drawn with the
image.
Uses can now select custom paper sizes. The custom paper size may be selected from:
• Tools->Options dialog box
• paperSize attribute in the theme (e.g. paperSize="5.5 inch 6.5 inch" or
paperSize="60 mm 70 mm").
• Paper length may range from 4 to 22 inches.
• Paper width may range from 4 to 17 inches.
Page 9
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
2 Getting Started
2.1 Exploring the Templates
The best way to start with EventStudio is to use the predefined templates as the starting point.
Just follow these quick steps to get started in a matter of minutes:
1. Invoke EventStudio System Designer 4.0 from the start menu.
3. Click on the Scenario Project (s) in that directory. (Scenario Project icon: ).
4. EventStudio will open the Scenario Project and a Scenario Bar will be displayed on the
left side of the screen.
Index icon .
Page 10
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
WebTaxi Web Based This example covers the design of a web based taxi service. The
Development service makes effective use of GPS and wireless internet to automate
routine objects of taxi dispatch.
SpacePort Embedded A space based docking station is described here. Automatic docking
System Design and undocking of spacecrafts in supported.
Tutorial Introduction to This example contains all the FDL files covered in the FDL tutorial in
FDL. the following chapters.
Xenon Telecom This example describes detailed design of the Xenon Switching
Switching Message System that handles voice call switching. The Scenarios cover the
System Sequence V5.2 and ISUP signaling protocols. This example covers a very large
Charts. Call and complex set of call processing scenarios.
Processing
Design.
AutoDrive Use Case AutoDrive is an Automatic Vehicle Driving System that uses GPS
Documentation based navigation.
HelixStore High Level HelixStore is a completely automated web store. The store uses web
System services to interact with other systems.
Design.
Process
Control.
HelixRouter Detailed HelixRouter is a package router in the HelixStore. It reads the bar code
Design. on the package and routes it to the appropriate output conveyor belt.
Process
Control.
IP Protocols Protocol Sequence Diagrams for ARP, BOOTP, DCHP and ICMP.
Infrastructure Sequence
Diagrams
TCP and Protocols Protocol documentation for TCP slow start, congestion avoidance etc.
Applications Sequence TCP Application documentation for HTTP and Telnet.
Diagrams
Page 11
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
• Creating HelloWorld.fdl
• Creating Hello.scn Scenario Project
• Defining Basic Documents
• Generating and Viewing Documents
• Adding Multiple Scenarios
• Adding More Documents
11. Click on the "Review FDL" icon to review the FDL file.
12. The review should pass with no errors being reported.
13. We have just created a feature definition which involves tasks/objects a to e (e is not
currently used). These tasks/objects are contained on processors p and q. p and q are
housed in module x and y respectively. (A module is nothing but a logical grouping of
processors)
HelloWorld.fdl
module : x, y
processor : p in x, q in y
eternal : a in p, b in p, c in q, d in q, e in q
Page 12
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
EventStudio supports definition of multiple scenarios for a feature. These scenarios would cover
different success and failure cases for the feature being developed. A Scenario Project keeps
track of all the Scenarios that have been defined for a feature.
In this section we will create a new Scenario Project for the "Hello World!" feature. The first
scenario for the feature will also be defined.
The following steps define one document of every type of documents supported by EventStudio.
You can choose to just add a new document and move on to generating documents.
Page 13
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
1. Now edit HelloWorld.fdl to add the lines shown in bold in the new version of
HelloWorld.fdl shown below.
10. We will now add a second scenario to our project. Click on the "Add Scenario" icon .
11. EventStudio will launch the Scenario Wizard. Scenario Wizard will prompt you to enter
the name for the new Scenario.
12. Enter the text "Failure Scenario" (without quotes) and click "Next".
13. Scenario Wizard will now prompt you to enter the FDL file which will be used to define the
Scenario.
14. Click on the "Browse ..." button and select HelloWorld.fdl.
15. Once the FDL file has been selected, click "Next".
16. Scenario Wizard will now prompt you to select between the two legs defined in the FDL
file.
17. Select the leg "d rejects Hello World" and click "Next"
18. Now click on the "Finish" button to exit the Scenario Wizard.
19. "Failure Scenario" has been successfully added to the Project.
20. Notice that EventStudio has added the Scenario definition to the left pane. The left pane
allows you to keep track of all the Scenarios defined in the Scenario Project. EventStudio
allows you to rename and reorder the Scenarios.
Page 14
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
module : x, y
processor : p in x, q in y
eternal : a in p, b in p, c in q, d in q, e in q
Page 15
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
9. Now select "Inter-module Interactions" and click "Next". This will specify a document that
just displays inter module message interactions only.
10. Accept the defaults for the next two pages. Again click "Add More Documents" to define
yet another document.
11. This time select Message Filter Sequence Diagram and click "Next".
12. Enter "Ack" (without quotes) as the message filter and click "Next". This will specify a
document that just lists message interactions where the message name includes the sub-
string "Ack".
13. Accept the defaults for the next two pages. Again click "Add More Documents" to define
yet another document.
14. Now select Unit Test Procedures from the menu and click "Next".
15. Enter "a" (without quotes). This will define a unit test procedures document for task "a".
Click "Next" to move to the next page.
16. Accept the default name and click "Next".
17. Now click "Add More Documents" to add another document.
18. We now select the final document in this tutorial. Select Summary Document and click
"Next".
19. The next page gives you an option to obtain summary for a subset of the document. We
will leave the option at "Summary for All" and click "Next".
20. Accept the default document name and click "Next".
21. Now click "Finish" to exit the Document Wizard.
22. You will now see these documents in the Scenario Bar.
Page 16
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The coding stage happens to be the first formal description of the system. The output of this
stage can be verified by using compilers and linkers.
This represents a sort of impedance mismatch between the two development processes. Design
is largely informal while coding is completely formal. The Feature Description Language (FDL)
tries to bridge this gap by introducing a semi-formal development system for design. It tries to
incorporate features from both the stages:
• FDL documents allow the user to express the system even when all the details of the
system have not been defined.
• FDL documents allow the user to review the correctness of the system design by running
an automated review process.
Page 17
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
1. This program defines the message exchanges between a customer and a telephone
exchange. The customer and the exchange have been declared with the module
declaration.
2. The processor statements in the next two lines define different entities within the
customer and the exchange. Here the customer contains a phone and the exchange
contains a frontend and a core processor. This relationship is specified using the in
keyword.
3. The feature-endfeature block follows the declarations in FDL. A title for the feature is
included in the feature declaration. The feature…endfeature block encloses all the
feature interactions between the customer and the exchange.
4. Message interactions have been enclosed within the feature-endfeature block. The first
message interaction in the sequence sends an offhook message from the phone to the
frontend processor. This is followed by other message interactions involved in call setup.
Messages are represented as arrows from the source to the destination.
Note: FDL also supports a multicast statement for modeling message interactions where a single
message is simultaneously received by multiple entities. This statement has not been covered in
this tutorial.
Examine the Tutorial.pdf file at this point to see the correspondence between the FDL file and
PDF output.
Page 18
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Highway System
Modules are Highways, EntryRamp, TollBooth etc.
Processors contained in Highway are Cars, Trucks, Motorbikes etc.
Object contained in a Car are steering, brakes, engine etc.
Page 19
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Standard C-type comments are supported for programmer documentation. Remarks and Block
Remark comments allow the user to explain the feature flow. There output will appear in the PDF
documents. Issue statements are used to keep track of unfinished sections and review
comments. Issue statements output appears in the PDF output as well as Output Window at the
bottom of the screen.
1. FDL supports C-type comments enclosed in /* comment */. Multi-line comments can be
placed between any FDL statements. EventStudio will ignore these comments during the
initial review. C-type comments have no impact of the FDL output documents.
2. FDL supports remarks enclosed in (* remark *). The remarks are always printed on the
right side remark column of PDF documents. FDL associates remarks with the previous
FDL statement. In this case, the remark corresponds to the message statement sending
an offhook from the phone to the frontend. Remarks should generally be defined for
almost every statement. This helps the reader in quickly understanding the feature.
3. An issue statement can be added whenever the author has some unresolved issues.
These statements are printed in bold on in the remarks column. Issue statements are
reported in the output window whenever the author reviews the document. This allows
the author to quickly identify if any issues are unresolved. This statement may also be
used to provide review comments on an FDL file.
4. FDL supports block remarks enclosed in [* block remark *]. Block remarks are always
printed along the complete width of the PDF output page. The block remarks do not
associate with any FDL statement. Use block remarks to show milestones in the
execution of a feature. They may also be used to define large remarks that would not fit
as a normal remark.
Notes:
• Block remarks [* block remark *] and remarks (* remark *) can be multi-line.
• Block remarks also support division of text into multiple paragraphs.
Page 20
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
In Call3.fdl we have added call_mgr and call objects to the frontend processor. Once objects are
defined on a processor, all the messages should specify the objects on the processor. Thus
references to the frontend processor have been replaced with references to call_mgr and call
objects. In addition to this, definition of objects allows us to specify the detailed message handling
on the frontend processor.
Additionally, the tutorial also demonstrates how message parameters can be specified in FDL.
Message parameters can be added to any message interaction.
1. This statement declares an eternal object call_mgr running on the frontend processor.
Use this statement to declare objects that are created at system startup and never die
during the system operation (hence the name eternal)
2. A dynamic object is declared in this statement. Use this statement to declare objects that
will be created and deleted dynamically by the system.
3. We have now defined two objects in the frontend processor. Thus all message
interactions need to specify the object that will be receiving the message. In this case,
the message destination has been changed from frontend processor to call_mgr eternal
object.
4. A dynamic object needs to be created explicitly. Here a call object has been created. Use
the create statement to create dynamic objects
5. This statement just adds more detail to the setup_call message. The message
parameters digits and mode have been specified. Message parameters are printed
below the message arrow. The message parameter values are specified as a string in
Page 21
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
one case. Note that the message name, field name and the field value can all be defined
as strings or identifiers. (Also note that specifying the parameter value is optional)
6. This statement shows the call_mgr deleting the call. Typically a dynamic object created in
a feature should be deleted before the feature ends (EventStudio will warn you if you
don't do so). Use the delete statement when a dynamic object needs to be deleted. The
delete statement also allows a self delete (i.e. call deletes call)
Page 22
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
FDL supports starting, stopping and timeout for timers by eternal and dynamic objects. Using the
FDL timer management statements can help you identify stray timer problems (i.e. the timer was
not stopped when it was supposed to). EventStudio issues a warning if it finds that timers have
been left running at feature end. For dynamic objects, a warning will be issued if timers are left
running at object deletion.
Resource allocation and de-allocation can be carried out by eternal and dynamic objects. FDL
resource management statements can help you catch resource leaks. EventStudio issues a
warning when it finds that resources have not been de-allocated at feature end. For dynamic
objects, a warning will be issued if all resources allocated by the object have not been freed at
object deletion.
1. The Call Manager allocates a "Subscriber Terminal" resource before the call is started on
that terminal. This demonstrates the resource allocate statement in FDL.
2. Here the start timer statement is used to start a timer. The Call object has just fed
dialtone to the customer and it is will wait for a limited time for the subscriber to dial the
first digit.
3. Some digits have been received from the subscriber, so the first digit timer is stopped.
This is represented by the stop timer statement in FDL.
4. Call starts the more_digits_timer awaiting more digits from the customer.
5. The customer does not dial any more digits; this results in timeout of the
more_digits_timer. This is represented by the timeout statement. (Note that all timers
should be stopped or they should result in a timeout. EventStudio will issue a warning if a
Page 23
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
timer is left running when the feature ends. In addition to this EventStudio will issue a
warning when timers are left running at the time of deleting a dynamic object)
6. The call has ended, so the "Subscriber Terminal" resource can now be freed up. This is
accomplished by using the resource free statement in FDL.
Note: FDL also supports timer restart. This statement has not been covered in this tutorial.
Page 24
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
FDL allows the user to depict message interactions with the external world. This can be done by
sending messages to the left environment (env_l) or right environment (env_r). As the names
suggest, env_l and env_r are assumed to be at the left and right edges of the document.
Environment interactions can be very useful in clearly spelling out what is external to the system
being designed.
State changes by eternal and dynamic objects can be represented in FDL. State changes are
shown as boxes with angular bracket edges (i.e. < >). Use state change statements during the
detailed design phase.
Action statements allow the designer to express specific actions taken by objects. The actions
represent the internal operations carried out by the object like "updating a variable", "calling a
routine". FDL can also be used to depict more complicated actions that involve a distinct action
begin and end. This could be used to depict actions like "starting and stopping a motor", "feeding
and removing a tone".
Page 25
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
1. This statement shows a message received from the left environment. The left
environment is assumed to be at the left edge of the document.
2. Here the call_mgr takes a specific action. Use the action statement to show different
actions taken by an object. The action statement allows you to add implementation
details to the design document.
3. Here a call state change has been shown. Use the state change statement to specify the
different states taken by the state machine implementing the object. State change
statements have been added to partition the sequence of actions into individual states.
State change statements have been introduced at multiple places in Call5.fdl
4. This statement shows an action being started by the object. This signifies that action
"Feeding Dialtone" has been initiated. The action begin statement specifies the start of
an action, while the action statement introduced in (2) specifies an action that can be
completed in a single step.
5. The "Feeding Dialtone" action end is shown here. This marks the end of the action
started in (4). The action end statement should be used to end all started actions that
have been started with action begin. EventStudio will warn if an action end does not
complete an action that was started.
6. This statement shows a message being sent to the right environment. The right
environment is assumed to be at the right edge of the document.
Page 26
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Consider our running example from the Basic tutorial; we have just defined the message
interactions for one end of the call. The message interactions to notify the other subscriber have
not been covered. This is remedied in the FDL given below. Another customer and frontend
processor have been added. Also a second instance of a call and call_mgr objects have been
defined. Type definitions have been used to declare that the newly introduced entities are really
instances of the modules, processors and objects that we have already covered.
It may be noted that defining the types will have no visual impact on the PDF Sequence
Diagrams. The main difference will be seen in definition of Interface Documents and Unit Test
Procedures. For example, EventStudio can generate the following documents from the FDL file in
our example:
• All interactions involving call object. The output file will include message interactions
involving call1 or call2.
• All interactions involving call2 object. The output file will include message interactions
involving call2. Message interactions involving call1 only will be excluded.
• All interactions involving frontend processors. This output file will include message
interactions that involve frontend1 or frontend2.
• All interactions involving frontend1 processor. This output file will include message
interactions that involve frontend1. Message interactions involving frontend2 only will not
be included.
Page 27
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
timeout more_digits_timer
setup_call(digits="1-800-433-444", mode=NORMAL) : call1 -> core
call1 state = "Awaiting Call Setup"
7. call_setup_request : core -> call_mgr2
call_mgr2 creates call2
call_setup_request : call_mgr2 -> call2
ring_phone : call2 -> phone2
ringing : phone2 -> env_r
call2 state = "Ringing Subscriber"
call_setup_response : call2 -> core
setup_complete : core -> call1
call1 state = "Awaiting Answer"
[* Setup completed, waiting for called subscriber to be rung *]
ringback : core -> phone1
hang_up : env_l -> phone1
onhook : phone1 -> call1
7. release_call : call1 -> call2
stop_ring : call2 -> phone2
released_call : call2 -> call_mgr2
call_mgr2 deletes call2
released_call : call_mgr2 -> call1
call_over : call1 -> call_mgr1
call_mgr1 deletes call1
call_mgr1 frees "Subscriber Terminal"
endfeature
1. This statement extends the original module declaration to define types for customer1
and customer2. The statement declares that customer1 and customer2 are both of the
type customer. Note that no type is specified for the exchange module, as there is only
one instance of this module.
2. phone1 and phone2 processors are declared in this statement. Both the processors are
of type phone.
3. Here is another example of processor type declaration. frontend1 processor is declared
to be of type frontend. frontend2 declared on the next line is also of type frontend.
(Note that the names frontend1 and frontend2 have been used just as a convention. You
could equally well use orig_frontend and term_frontend or any other names. EventStudio
will just look at the types to identify that both the processors are of the same type).
4. This line and the next line declare call_mgr1 and call_mgr2 eternal objects. Both objects
are of the type call_mgr.
5. Types for dynamic objects can be specified in the same way. This line declares the call1
and call2 objects. Both the objects have a type call.
6. Most of this example has been changed a little to replace names like phone, customer,
and call with phone1, customer1 and call1. The names phone, customer and call etc. are
used to define the types.
7. New statements have been added to the FDL to specify the handling of the other end of
the call.
Page 28
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
FDL solves the problems with multiple scenario definition by allowing designers to specify
multiple scenarios in a single FDL file. Thus instead of defining multiple documents for each
scenario, the designers just have to define multiple scenarios in a single file. In this section we
will be covering how a single FDL file can store definitions of multiple scenarios. This is
accomplished using the Case statement.
Case statements are used to specify flow of the feature in different scenarios. The leg statements
in the case statement correspond to different scenarios. Case statements can be nested; this
allows definition of really complex scenarios. Once the Case statements have been defined in an
FDL file, the Scenario Wizard is used to define multiple scenarios by selecting the case legs to be
taken in each scenario. If this seems a bit complicated, look at the example below to understand
how scenarios are defined.
If-statements in FDL build upon the case statements. The if-statements are useful when a single
scenario selection leads to flow changes at multiple places. The if-statements can use the
scenario selection from a case statement to choose between two different flows.
Page 29
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
1. The case statement is enclosed in the case and endcase keywords. The case statement
defines different legs that can be taken by the feature at this point. When EventStudio
encounters a Case statement, it expects an input on which leg of the case statement has
to be selected. This input is usually provided by the Scenario definition in a Scenario
Project.
2. This statement declares the first leg in the case statement. This leg defines the feature
leg taken when the subscriber answers the call. The statements that follow a leg
statement will be executed only if the leg has been selected.
Page 30
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
3. Any FDL statement can be used after the leg statement. Here we have shown a nested
case statement. This case statement specifies the differences in flow, depending on
which subscriber clears the call first.
4. This is the next leg for the outer case statement. This also marks the end of flow for the
leg statement described in step (2.). Note that this leg statement does not have any FDL
statements specified after it. This means that for this leg no specific action is required.
5. This statement demonstrates the if-else-endif statement. The if-statement switches on a
previously defined leg label. The if-leg will be taken if the corresponding case leg was
selected in the case statement. The else leg will be taken if the corresponding leg was
not selected in the case statement.
6. The else-endif block is specified here. This block is optional, i.e. an if-endif statement
might also be used, if no specific flow needs to be specified in the else leg.
7. Here we show the pagebreak statement. This statement inserts a page break in a PDF
file. Use this statement whenever you wish to start the output on a new page.
Page 31
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
EventStudio reports the following errors/warnings when FDL documents are reviewed:
Page 32
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
4 FDL Reference
4.1 Action statement
This statement is used to show a specific action taken by a single object or a group of objects.
The name of the object and the action must be specified. This statement may be used during
detailed design phase. An action statement can be put only inside the feature-endfeature block in
the FDL file.
The output of an action statement is shown as a box with the action indicated inside it. The action
statement font, color and line width may be changed by prefixing it with a style statement.
The "action" statement also supports hyperlinks. The hyperlinks may be used to link to files on
the Internet or your local drive.
Note: The strings used in this statement should not contain any leading or trailing blanks. Also
words within the string should not be separated by more than one blank.
Examples
Page 33
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output of an "action begin" statement is shown as a box with begin as the title. The action is
indicated inside the box. The action statement font, color and line width may be changed by
prefixing it with a style statement.
The "action begin" statement also supports hyperlinks. The hyperlinks may be used to link to files
on the Internet or your local drive.
Note: The strings used in this statement should not contain any leading or trailing blanks. Also
words within the string should not be separated by more than one blank.
Examples
Page 34
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output of an action end statement is shown as a box with end as the title. The action is
indicated inside the box. The action statement font, color and line width may be changed by
prefixing it with a style statement.
The "action end" statement also supports hyperlinks. The hyperlinks may be used to link to files
on the Internet or your local drive.
Note: The strings used in this statement should not contain any leading or trailing blanks. Also
words within the string should not be separated by more than one blank.
Examples
Page 35
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Block remarks are printed along the complete width of the PDF output page. Block remarks
support the following formatting options:
• The text can be divided between paragraphs by simply leaving a blank line between the
two paragraphs.
• Block remark text alignment can be changed from the Tools->Options menu. Supported
alignment options are:
o Left Align
o Center Align
o Right Align
o Justify
o Verbatim (Line breaks are preserved)
Examples
Page 36
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
There is no output corresponding to the case statement. The leg selected for defining the
scenario is displayed in bold in the right side remarks column in a sequence diagram.
Examples
case
leg "Switchover fails":
. . .
leg "Switchover succeeds":
. . .
leg "Switchover aborted":
. . .
endcase
Here, a simple case statement is shown where three legs have been specified. As a part of
scenario definition, when Scenario Wizard encounters this case statement, it prompts the user to
select a leg from the three options.
case
leg "Partial dialing":
. . .
leg "Complete dialing":
. . .
case
leg "Routing failure":
. . .
leg "Routing successful":
. . .
case
leg "Outgoing trunk congestion":
. . .
leg "Called party busy":
. . .
leg "No answer":
. . .
leg "Successful call":
. . .
endcase
endcase
endcase
Here, a nested case statement is shown. As a part of scenario definition, when Scenario Wizard
encounters this case statement, it prompts the user to select a leg from the outermost case
statement. If the user selects "Partial dialing", the scenario definition would complete. If, however,
the user selects "Complete dialing", Scenario Wizard will prompt the user to select another leg
from the next nested case. If the user selects "Routing successful", the user is again prompted to
select a leg from the innermost case statement. If the user selects "Successful call", the scenario
definition for a successful call would complete.
Page 37
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
• Any case leg traversed in the case-endcase may be used in an if-else-endif or if-endif
statement.
• Case-endcase statements may be enclosed within an "if" or "else" part of an if-else-endif
or if-endif statements.
Page 38
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Multiple Message statements may be enclosed between the chain and endchain keywords:
Example
chain
[rstyle] msg : a -> b
msg2(par1="one", par2): b -> c
[talk] conversation: c <-> d
endchain
The chain statement shown above will be drawn in a single line if the message arrows do not
result in an overlap.
Page 39
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
EventStudio ignores the standard C-type comments and no output is produced corresponding to
the comment.
Examples
Page 40
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output corresponding to a create statement is shown as a dotted arrow from the creator
object to the created object. Create is printed on the top of the arrow. And, the instance axis for
the dynamic object starts just from the create arrow.
Examples
Page 41
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output corresponding to a delete statement is shown as a big X mark. An arrow from the
deleting object to the deleted object precedes the X mark if it is not the case of self-delete.
Examples
Page 42
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The order of the object declaration statements determines the order of the columns assigned to
the objects in the Sequence Diagrams. The instance axis of a dynamic object is displayed from
the creation time to the deletion time.
Examples
Notes: • It is recommended that light weight header (with or without image) be selected
when dynamic object instance style is used (The light weight header can be
selected from the "Tools->Options->Customize tab" menu selection).
Page 43
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
env_l and env_r are declared internally, thus there is no declaration statement for environments.
env_l and env_r can be used in the message statement as source or destination of messages.
Examples
Page 44
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The order of the object declaration statements determines the order of the columns assigned to
the objects in the Sequence Diagrams. The instance axis of an eternal object is displayed from
the beginning of the document to its end.
Examples
Notes: • It is recommended that light weight header (with or without image) be selected
when eternal object instance style is used (The light weight header can be
selected from the "Tools->Options->Customize tab" menu selection).
Page 45
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
A theme may be associated with a feature-endfeature block. A theme specifies the layout options
and the fonts.
The feature title that is specified in the statement is displayed at the top, along the complete width
of the output page of the Sequence Diagram.
Note: The strings used in this statement should not contain any leading or trailing blanks. Also
words within the string should not be separated by more than one blank.
Examples
Page 46
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Example
Case
leg "No digits dialed":
goto exit
case
leg "Call routing successful":
leg "Call routing failed":
goto exit
endcase
label exit:
[* call has ended. *]
A "goto" to the exit label is being used to end error scenarios in a call setup.
Page 47
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Examples
Page 48
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
This statement is used to choose different feature flows from previously encountered leg
statements. The string for the if-statement must have been defined as a leg of a previous case
statement. When EventStudio encounters the If-Else-Endif statement, it transfers control to the "If
block" if the leg corresponding to the "if string" has been chosen in a previous case statement.
The control is transferred to the "Else block" if the leg corresponding to the "if string" has not been
chosen. Look at the example given below to completely understand how this statement is used.
Examples
case
leg "DTMF dialing":
. . .
leg "Pulse dialing":
. . .
endcase
. . .
if "DTMF dialing"
call frees "DTMF Receiver"
call takes action "Increment DTMF counter"
else
call takes action "Increment Pulse counter"
endif
Here, a case statement defines the legs "DTMF dialing" and "Pulse dialing". Later on in the
feature flow if statement checks if "DTMF dialing" leg was chosen. If "DTMF dialing" leg was
taken, control is transferred to the "if block". Otherwise the control is transferred to the "else
block". It may be noted that EventStudio remembers the leg selections and user is not prompted
for an input when an "if statement" is encountered.
Page 49
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Example
case
leg "DTMF dialing":
. . .
leg "Pulse dialing":
. . .
endcase
. . .
if "DTMF dialing"
call frees "DTMF Receiver"
endif
Here, a case statement defines the legs "DTMF dialing" and "Pulse dialing". Later on in the
feature flow if statement checks if "DTMF dialing" leg was chosen. If "DTMF dialing" case leg was
taken, control is transferred to the "if block". Otherwise the control is transferred to the statement
following "endif". It may be noted that EventStudio remembers the leg selections and user is not
prompted for an input when an "if statement" is encountered.
Page 50
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The method invocation is represented with an arrow similar to the message statement. Once a
method is invoked, the axis is represented as a thin rectangular bar that lasts until method return.
Examples
Page 51
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output corresponding to an issue statement is shown in bold in the right side remarks
column. Also, whenever a review document command is given, all the issue statements in the
FDL file are reported in the output window.
Note: The strings used in this statement should not contain any leading or trailing blanks. Also
words within the string should not be separated by more than one blank.
Examples
Page 52
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The leg selected for defining the scenario is displayed in bold in the right side remarks column in
a sequence diagram. The leg selections are also available as bookmarks in PDF sequence
diagrams. When a PDF sequence diagram is open, the leg selection bookmarks are shown on
the left side of the screen. Clicking on the bookmarks will take you directly to the leg selection.
Note: The strings used in this statement should not contain any leading or trailing blanks. Also
words within the string should not be separated by more than one blank.
Examples
case
leg "Switchover fails":
. . .
leg "Switchover succeeds":
. . .
leg "Switchover aborted":
. . .
endcase
Here, a simple case statement is shown where three legs have been specified. As a part of
scenario definition, when Scenario Wizard encounters this case statement, it prompts the user to
select a leg from the three options.
case
leg "Partial dialing":
. . .
leg "Complete dialing":
. . .
case
leg "Routing failure":
. . .
leg "Routing successful":
. . .
case
leg "Outgoing trunk congestion":
. . .
leg "Called party busy":
. . .
leg "No answer":
. . .
leg "Successful call":
. . .
endcase
endcase
endcase
Here, a nested case statement is shown. As a part of scenario definition, when Scenario Wizard
encounters this case statement, it prompts the user to select a leg from the outermost case
Page 53
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
statement. If the user selects "Partial dialing", the scenario definition would complete. If, however,
the user selects "Complete dialing", Scenario Wizard will prompt the user to select another leg
from the next nested case. If the user selects "Routing successful", the user is again prompted to
select a leg from the innermost case statement. If the user selects "Successful call", the scenario
definition for a successful call would complete.
Page 54
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The message name may be in identifier format (CallRequest) or string format ("Call Request").
The message field and value can be in identifier or string format.
Advanced Uses
Examples
Page 55
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Setup(call_id,
phone_num,
priority=HIGH,
latency=LOW) : v5_mgr -> env_r
Here is an example of a message statement with parameters spread over multiple lines. The
Setup message is being sent from the v5_mgr to the right environment. The following parameters
are being sent in the message:
• call_id
• phone_num
• priority with a value of HIGH
• latency with a value of LOW
Advanced Examples
chain
"Call Setup": UT -> BTS
"Call Setup": BTS -> BSC
"Initial Call Message": BSC -> MSC
endchain
A chain statement enclosing messages is shown above. The chain messages are drawn in a
single line.
Page 56
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The order of the module declaration determines the order of the columns assigned to the
modules in the Sequence Diagrams. The modules are displayed at the top of the Sequence
Diagrams along the full output page width, immediately below the feature title.
Examples
Notes: • Module instance style is used in the "module interaction sequence diagrams".
• It is recommended that light weight header (with or without image) be selected
when module instance style is used (The light weight header can be selected from
the "Tools->Options->Customize tab" menu selection).
Page 57
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The message name may be in identifier format (CallRequest) or string format ("Call Request").
The message field and value can be in identifier or string format.
A multicast statement can be put only inside the feature-endfeature block in the FDL file.
Examples
Page 58
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Note: This statement applies to only PDF and EMF files. It is ignored when generating HTML
output.
Example
. . .
pagebreak
[* Call Release Processing. *]
Here, a page break has been forced at the beginning of a new phase of a call.
Page 59
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
#include "architecture.fdl"
Include an FDL file located in the current directory. Paths relative to the current
directory may be used.
#include <theme.fdl>
• Token pasting operator hash (#) allows two macro parameters to be "pasted"
together.
#ifdef UMTS_RELEASE_7
#else
#endif
Page 60
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The order of the processor declaration determines the order of the columns assigned to the
processors in the Sequence Diagrams.
Examples
Page 61
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The remarks are displayed on the right side remark column of a sequence diagram. FDL
associates remarks with the previous FDL statement.
Examples
Page 62
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output of a resource allocate statement is shown as a box with "allocate" as the title and the
resource name inside it.
Note: The strings used in this statement should not contain any leading or trailing blanks. Also
words within the string should not be separated by more than one blank.
Examples
Page 63
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output of a resource free statement is shown as a box with "free" as the title and the resource
name inside it.
Note: The strings used in this statement should not contain any leading or trailing blanks. Also
words within the string should not be separated by more than one blank.
Examples
Page 64
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output of a state change statement is shown as a hexagonal box with the name of state
indicated inside it.
Note: The strings used in this statement should not contain any leading or trailing blanks. Also
words within the string should not be separated by more than one blank.
Examples
Page 65
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The ranges for individual parameters are specified below. Note that not all values need to be
specified in a style declaration. Message defaults are used for unspecified values.
color Specifies the color to be used. The color is specified as a set of three
floating point numbers between 0.0 and 1.0. The first one denotes the
red component, the second specifies the green component and the
last one specifies the blue component.
Page 66
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
image Specifies a JPEG image associated with the style. The image specification is used when styles
are applied to object, processor and module declarations.
The image specified in the style is used in the column heading if "Lightweight header with
column images" is selected from the "Tools menu->Options menu->Customize tab". The image
selection in the header is based on the following rules:
Eternal/Dynamic Processor Images Module Images Images Drawn in
Object Images the Header
At least one eternal N/A N/A The eternal/dynamic
or dynamic object objects that have
uses a style with associated images
image. are drawn with the
image.
Examples
module: m
processor : p in m
eternal : [mobile] e in p, [server] f in p
feature "Testing"
[sip] invite(caller, called): e -> f
[sip] two_way_path : e <-> f
endfeature
Page 67
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
• Initial theme for a statement is specified as a modifier to the feature statement. The attributes
specified in the initial theme override the "Tools->Options" settings. The syntax is:
• Theme may be modified within the feature-endfeature block by placing the theme modifier on
a line. The modified theme overrides the attributes that have been specified for the modified
theme. For example:
• A theme statement based on the current settings can be automatically copied to the clipboard
using the Tools->Copy Options as Theme command. Just issue a paste command to insert
the theme statement at the desired location.
• The theme declaration supports the attribute-value pairs shown in the table below.
Page 68
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
"B4"
"<width-in-inch> inch <height-in-inch> inch"
or "<width-in-mm> mm <height-in-mm> mm" 1
sequenceDiagramLayout "auto-choose-between-portrait-landscape"
"landscape-only"
pageMarginPDF "small"
"medium"
"large"
pageMarginEMF "small"
"medium"
"large"
headingAndTitleFont "Arial"
"Arial Narrow"
"Courier New"
"Times New Roman"
sequenceDiagramMessageNameFont "Arial"
"Arial Narrow"
"Courier New"
"Times New Roman"
sequenceDiagramMessageNameFontSize "1" to "35"
collaborationDiagramMessageNameFont "Arial"
"Arial Narrow"
"Courier New"
"Times New Roman"
collaborationDiagramMessageNameFontSize "1" to "35"
messageParameterFont "Arial"
"Arial Narrow"
"Courier New"
"Times New Roman"
messageParameterFontSize "1" to "35"
actionBoxFont "Arial"
"Arial Narrow"
"Courier New"
"Times New Roman"
actionBoxFontSize "1" to "35"
remarkFont "Arial"
"Arial Narrow"
"Courier New"
"Times New Roman"
remarkFontSize "1" to "35"
blockRemarkFont "Arial"
"Arial Narrow"
"Courier New"
"Times New Roman"
blockRemarkFontSize "1" to "35"
Page 69
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output for a timer timeout statement is shown as the end point of the downward timer axis.
The timer name is displayed above a forward arrow at the timer timeout instant.
Examples
Page 70
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output of a timer restart statement is shown as a continuation of a downward timer axis. The
timer name is displayed on the top, at the timer restart instant. The timer axis is shown active
unless the timeout happens or the timer is stopped.
Example
Here, the await_digit_timer has been restarted on receipt of digits from the phone.
Page 71
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Use the timer stop statement for stopping a timer. Use timer timeout statement for showing the
timeout for a timer. EventStudio issues a warning if it finds that a timer has been left running at
feature end. For dynamic objects, EventStudio issues a warning if timers are left running at object
deletion.
EventStudio supports one time and periodic timers. Only one timeout is permitted for "one time"
timers. Periodic timers are allowed multiple timeouts.
The output of a timer start statement is shown as a starting point of a downward timer axis. The
timer name is displayed on the top, at the timer start instant. The timer axis is shown active
unless the timeout happens or the timer is stopped.
Examples
Page 72
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The output of a timer stop statement is shown as the end point of the downward timer axis. The
timer name is displayed above a dotted reverse arrow at the timer stop instant.
Examples
Page 73
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
It may be noted that defining the types will have no visual impact on the PDF Sequence
Diagrams. The main difference can be seen in the definition of Unit Test Procedures and
Interface documents. If the user specifies the type for generating a document, EventStudio will
include interfaces of all instances of the given type.
Examples
Page 74
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E008 <symbol> should be a The parent module specified Define the parent module
module for the processor is not a using the module
module. declaration.
E009 undefined processor The parent processor for the Define the parent
object is undefined processor using the
processor declaration.
E010 <symbol> should be a The parent processor specified Define the parent
processor for the object is not a processor using the
processor. processor declaration.
E011 message exchange The multicast and bidirectional Make sure that the
with self is not allowed message interaction source and destination
statements do not allow are different.
message exchange with self.
E013 message sender is The sender used in the send Provide a message
not an object, message statement should be sender that is an object,
processor or an object, processor or processor or
environment. environment. The given environment.
message sender is not valid.
Page 75
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E017 specify the receiver The receiver in the message Replace the parent
object in <processor statement is a processor. Since processor with an object
symbol> the given processor has contained in the
objects inside it, the receiver processor.
should be an object inside the
given processor.
E019 undefined creator This indicates that the creator Declare the creator as an
in the given create object eternal or dynamic object
statement has not been inside the same
declared in the declaration processor as the one
section. inside which the child has
been declared.
E020 creator should be This indicates that the creator Declare the creator as an
eternal or dynamic in the given create object eternal or dynamic
object. statement has not been object. inside the same
declared as an eternal or processor as the one
dynamic object. inside which the child has
been declared
Page 76
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 77
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 78
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E043 if condition not found The string specified in the if- Copy and paste the exact
condition should be a valid leg leg string from a previous
string that has been used in a case statement.
previous case statement.
Make sure that the string
used in the leg statement
and if-condition match
exactly.
E044 resource allocating The object allocating the Declare the object
object not defined resource in the resource allocating resource in the
allocate statement has not object declaration section
been defined. at the top of the FDL file.
E045 resource allocator The symbol allocating the Declare the symbol
should be an object resource in the resource allocating the resource as
allocate statement should be an object in the object
an object. declaration section at the
top of the FDL file.
Page 79
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E047 for resource freeing, The symbol freeing the Declare the symbol
symbol should be an resource in the free resource freeing the resource as
object statement should be an object. an object in the object
declaration section at the
top of the FDL file.
E049 too many modules The number of modules Decrease the number of
defined is greater than the modules.
maximum number of possible
modules.
E050 too many processors The number of processors Decrease the number of
defined is greater than the processors.
maximum number of possible
processors.
E051 too many objects The number of objects defined Decrease the number of
is greater than the maximum objects.
number of possible objects.
E052 invalid type Same type has been assigned Make sure that the
assignment to entities of different class. specified type is used
E.g. a processor and an object only for one of the
have been assigned the same following classes:
type. modules, processors,
eternal objects, dynamic
objects.
E053 parse error EventStudio has detected an Check for a typing
error in the use of FDL syntax. mistake in the specified
line or the previous line.
E056 unterminated A comment was started with /* Add */ at the point where
comment but the ending */ for the the comment ends.
comment was not specified
Page 80
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E058 unterminated block A block remark was started Add *] at the point where
remark with [* but the ending *] for the the block remark ends.
block remark was not specified.
E059 string is of zero length A string must contain at least Change the string "" by
one character. adding character(s)
between the begin and
end quotes.
E060 string begins with FDL does not permit strings Remove the blank from
blank that contain a blank as the first the beginning of the
character. string.
E061 string ends with blank FDL does not permit strings Remove the blank from
that contain a blank as the last the end of the string.
character.
E062 string contains FDL does not permit strings Remove the extra blank
consecutive blanks that contain words separated between the words.
by more than one blank.
E063 too many leg The total number of leg Reduce the number of
statements statements allowed in a case leg statements in the
statement has been exceeded. case statement by
splitting it into multiple
case statements.
E064 timer restarting object This indicates that the object Declare the timer
not defined. restarting the timer has not restarting object as
been declared in the eternal or dynamic in the
declaration section. declaration section at the
top of the FDL file.
E065 for timer restarting This indicates that the object Declare the timer
<symbol> should be restarting the timer has not restarting object as
an object been declared in the eternal or dynamic in the
declaration section as an declaration section at the
eternal or dynamic object. This top of the FDL file.
is an error.
E066 env_l or env_r cannot This indicates that the source Change the source of
be the source of a of a multicast message is env_l multicast to a processor
multicast or env_r. This is an error. or eternal or dynamic
object.
Page 81
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E068 Multicast duplicated to The same object or processor Make sure that all
<destination> has been used more than once multicast destinations are
as the destination of the unique.
multicast.
E075 Label inside a case Label statement inside a case Provide a label statement
statement is not statement has been given. outside a case statement
allowed or if statement.
E077 env_l or env_r cannot FDL does not permit env_l or Change the participants
perform joint action env_r to participate in a joint of a joint action to eternal
action. or dynamic object.
Page 82
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E079 Undefined style being Undefined style being used in Provide a style definition
used message send statement or statement in the
bidirectional condition declaration section of the
statement. FDL file before using it in
the given message
statement or bidirectional
statement.
E080 Invalid attribute type Attribute type other than Only attribute types
given style statement <font>,<fontsize>,<paramfont>, supported in style should
<paramfontsize>, <linewidth>, be given in style
<color> or <linepattern> has declaration statement
been given in style declaration
statement
E081 Invalid color value Color value format other than Provide color value in
format given in style “r,g,b” has been given in the proper format: value
statement style statement where r, g and containing three color
b are color components in the components separated
range 0.0 to 1.0. by commas and the value
of each color component;
red, blue or green should
be a floating point
number between 0.0 and
1.0
E082 Invalid line width <linewidth> given in the style Provide a <linewidth>
given in style statement is not in the range value in the range 0.0 to
statement 0.0 to 20.0. 20.0.
E083 Source and Same source and destination Provide different source
destination cannot be tasks have been given in the and destination tasks in
same in a bidirectional bidirectional condition the bidirectional condition
condition statement. statement. statements or use
message statement.
E084 Invalid line pattern <linepattern> value other than Provide the value "---" or
given in style "---" or "- -" has been given in "- -" for <linepattern>
the style definition statement. attribute in the style
definition statement.
E085 Invalid font or invalid "Arial", "Arial Narrow", "Courier Provide a supported
parameter font given New", "Times New value in font and
in style statement Roman","Arial-Bold", "Arial paramfont attributes in
Narrow-Bold" , "Courier New- style definition statement.
Bold" or "Times New Roman-
Bold" are the fonts that are
supported in font or paramfont
attribute in style definition
statement. A value other than
these has been given.
Page 83
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 84
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E508 deleting object: The dynamic object Use the create statement
<symbol> not created! deleting another object has to create the specified
not been created. dynamic object. Make sure
that the object is created
before this statement.
E509 cannot delete non- The object being deleted is Check if the create
existent object: not created. statement has been
<symbol> missed for the object being
deleted.
Page 85
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E513 invalid timer: <symbol> Timer stop is being The timer stop symbol has
being stopped attempted for a symbol that been specified incorrectly.
is not a timer. Check the timer start to
verify symbol name.
E514 <timer symbol> was not An object is trying to stop or Make sure that the object
started by <object restart a timer started by stopping or restarting the
symbol> another object. timer is the same as the
object starting it.
E515 timer: <symbol> not Timeout statement has Check if the create-
started been used for a timer that statement for the timer was
is not active. missed.
E517 timeout matures for Timeout refers to a timer Make sure that the object
non-existent object: start was started by a starting the timer is not
<symbol> dynamic task that has deleted before the timeout
already been deleted. condition.
E518 state changing object: State change has been Use the create statement
<symbol> not created specified for a dynamic to create the specified
object that has not been dynamic object. Make sure
created. that the object is created
before this statement.
E519 action taking object: Action statement has been Use the create statement
<symbol> not created specified for a dynamic to create the specified
object that has not been dynamic object. Make sure
created. that the object is created
before this statement.
Page 86
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E524 <name> action was not Action end is being Make sure that the object
begun by <object> attempted by an object ending the action is the
other than the action same as the object starting
initiator. it.
Page 87
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
E540 timer restarting object : The dynamic object Use the create statement
<object name> not restarting a timer has not to create the specified
created been created. dynamic object. Make sure
that the object is created
before this statement.
E541 invalid timer: <symbol> Timer restart is being The timer stop symbol has
being restarted attempted for a symbol that been specified incorrectly.
is not a timer. Check the timer start to
verify symbol name.
Page 88
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 89
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
W008 <symbol> object did not The specified dynamic object For a dynamic object:
end all actions did not end all the actions, Provide end action
which it started, before its statements for all
deletion. Or the specified started actions before
eternal object did not end all the object delete
actions that it started before statement.
the feature end. For an eternal object:
Provide end action
statement before the
feature end.
W009 <symbol> object did not The specified dynamic object For a dynamic object:
release all resources did not release all the Provide resource free
resources, which it allocated, statements for all
before its deletion. Or the allocated resources
specified eternal object did before the object
not release all resources delete statement.
before the feature end. For an eternal object:
Provide resource free
statements for all
allocated resources
before the feature
ends.
W021 No suitable printer driver The quality of Word Picture Use a machine with at
found (installing a print (EMF) output improves when least one printer driver
driver will improve EMF a printer can be used as a installed.
output) reference. If EventStudio
finds that no printer is
installed, it will generate this
warning.
Page 90
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
6 Scenario Projects
6.1 Introduction to Scenario Projects
As we have seen earlier, FDL allows the user to embed multiple scenarios into a single FDL file.
This is achieved with the case statement. A Scenario in a FDL file is a sequence of leg selections
of the case statements encountered in the feature flow. A Scenario Project is a collection of
Scenarios that have been logically grouped together. These Scenarios may have been defined
from multiple FDL files. The Scenario Project also stores the specifications for the documents that
need to be generated.
Once a Scenario Project has been defined, EventStudio will keep track of changes in the FDL
files contained in it. If new case statements are added to the FDL files, EventStudio will prompt
the user for leg selections for the affected scenarios. Case and leg deletes will also be handled
similarly. This ensures that the Scenarios in the project are always in sync with the FDL files.
The contents of a Scenario Project are displayed in a Scenario Bar on the left side of the screen.
Scenarios can be added to the Scenario Project by using the Scenario Wizard. Documents can
be added by invoking the Document Wizard.
Once all the Scenarios and Documents have been defined, use the "Generate All Documents"
command to generate the PDF, Word Picture (EMF) and HTML documents.
Example
The relationship between FDL files, Scenarios, Scenario Projects and Documents can be better
understood by considering the following example.
All these Scenarios have been generated from a single FDL file (SpacePort.fdl). The case outline
for this file is:
case
leg "No Orbit Resource Available":
. . .
leg "Orbit Resource is Available":
. . .
case
leg "No Docking Port Available":
. . .
leg "Docking Port is Available":
. . .
endcase
endcase
Page 91
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 92
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Scenario Wizard guides the user in defining a Scenario. As the first step, the Wizard prompts the
user for a Scenario name. Then it takes inputs about the FDL file and legs in a series of steps.
When all the case legs have been covered for the feature flow, the Scenario will appear in the
Scenario Bar.
Page 93
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
For more information about the document types and procedure for adding these documents to the
Project, see the following sections.
Once the documents have been defined, use the "Generate All Documents" or "Generate
Document" to generate the documents. The documents will be generated in the same directory
as the Scenario Project file. Use the Windows Explorer to view the documents.
Page 94
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The following Document Wizard steps are involved in Sequence Diagram addition:
1. Select "Sequence Diagram" from the document type menu displayed by Document Wizard
and click "Next".
2. Document Wizard will then display document generation options. These options allow you to
control the level of detail you want to display in the output document. The options also allow
you to select column and remark width and the "Graphics Format" (PDF or Microsoft Word
Picture - EMF). Modify the options according to your requirements and click "Next".
3. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
4. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
Page 95
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Note that the filter names are case sensitive. The names specified here should exactly match the
declarations in the FDL files.
The following Document Wizard steps are involved in Interface Sequence Diagram addition:
1. Select "Interface Sequence Diagram" from the document type menu displayed by Document
Wizard and click "Next".
2. Document Wizard will prompt you to enter the document interface filter. Enter an interface
filter that meets the filter requirements specified above.
3. Document Wizard will then display document generation options. These options allow you to
control the level of detail you want to display in the output document. The options also allow
you to select column and remark width and the "Graphics Format" (PDF or Microsoft Word
Picture - EMF). Modify the options according to your requirements and click "Next".
4. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
5. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
Page 96
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The following Document Wizard steps are involved in Interaction Sequence Diagram addition:
1. Select "Interaction Sequence Diagram" from the document type menu displayed by
Document Wizard and click "Next".
2. Document Wizard will prompt you to select the interaction type. Select the interaction type
based on the above specifications.
3. Document Wizard will then display document generation options. These options allow you to
control the level of detail you want to display in the output document. The options also allow
you to select column and remark width and the "Graphics Format" (PDF or Microsoft Word
Picture - EMF). Modify the options according to your requirements and click "Next".
4. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
5. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
Page 97
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
For example, if the message filter is specified as Resp, the document will include the following
message interactions:
• MsgResponse
• ActivationResp
• RespondNow
The above example just demonstrated a very simple message filter. EventStudio supports
powerful message filters using regular expressions. A few examples here should introduce you to
the power of regular expression based message filters. (For more details, see the appendix on
regular expressions)
Page 98
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The following Document Wizard steps are involved in Message Filter Sequence Diagram
addition:
1. Select "Message Filter Sequence Diagram" from the document type menu displayed by
Document Wizard and click "Next".
2. Document Wizard will prompt you to enter the message filter. Enter the message filter based
on the above specifications. If you are entering a regular expression check the regular
expression box displayed on the page.
3. Document Wizard will then display document generation options. These options allow you to
control the level of detail you want to display in the output document. The options also allow
you to select column and remark width and the "Graphics Format" (PDF or Microsoft Word
Picture – EMF). Modify the options according to your requirements and click "Next".
4. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
5. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
Page 99
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The Unit Test Procedures are organized as a table with the following columns:
• Num: This column contains the serial number for the test
• Action: This column defines that action to be taken by the unit tester.
• Result: This column describes the expected result of the action specified in the previous
column.
• Status: The status of the test (PASS/FAIL) should be specified here. The Unit Testing
status should be marked next to "UT:" The Code Review status should be marked next to
"CR:"
If an object type is selected, the Unit Test Procedures will include tests for all the objects that
have the specified type.
The following Document Wizard steps are involved in Unit Test Procedure definition:
1. Select "Unit Test Procedures" from the document type menu displayed by Document Wizard
and click "Next".
2. Document Wizard will prompt you to enter the object for which the Unit Test Procedures have
to be generated. Enter the object name or object type as specified above.
3. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
4. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
Note: Since the document is in HTML format, it can be easily edited in Microsoft Word or other
word processors supporting HTML. The document can then be saved in the word processors
native format using the "Save As" command.
Page 100
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The following Document Wizard steps are involved in Summary Document addition:
1. Select "Summary Document" from the document type menu displayed by Document Wizard
and click "Next".
2. Document Wizard will prompt you to choose between "Summary for All" and "Summary for".
If the "Summary for" option is selected, enter the entity name as specified above.
3. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
4. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
Note: Since the document is in HTML format, it can be easily edited in Microsoft Word or other
word processors supporting HTML. The document can then be saved in the word processors
native format using the "Save As" command.
Page 101
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Message Statistics documents can be very useful in getting a preliminary idea of system
performance by just looking at the statistics. The statistics document will give a quick idea of
message communication, thus helping the system designers keep a tab on excessive message
interactions that can lower system performance.
Another benefit of statistics documents is that managers can get a quick idea of what modules,
processors and objects are involved in certain feature. This could help them plan resource
allocations in accordance with the features. Also, this document can also give a quick idea on
which groups need to work more closely. This can be achieved by just looking at the relative
number of interactions between two modules.
The following Document Wizard steps are involved in Statistics Document addition:
1. Select "Statistics Document" from the document type menu displayed by Document Wizard
and click "Next".
2. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
3. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
Note: Since the document is in HTML format, it can be easily edited in Microsoft Word or other
word processors supporting HTML. The document can then be saved in the word processors
native format using the "Save As" command.
Page 102
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The following Document Wizard steps are involved in Collaboration Diagram addition:
1. Select "Collaboration Diagram" from the document type menu displayed by Document Wizard
and click "Next".
2. Document Wizard will then display document generation options. These options allow you to
control the level of detail you want to display in the output document. The options also allow
you to select column and remark width and the "Graphics Format" (PDF or Microsoft Word
Picture – EMF). Modify the options according to your requirements and click "Next".
3. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
4. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
You can choose between Collaboration Diagrams and Context Diagrams from the "Document
Generation Options" menu.
Page 103
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
• Module: Only interactions within the specified module and all interactions with other
modules will be included in the Interface Collaboration Diagram.
• Module Type: Only interactions within the modules with the specified type and all
interactions with other modules will be included in the Interface Collaboration Diagram.
• Processor: Only interactions within the specified processor and all interactions with other
processors will be included in the Interface Collaboration Diagram.
• Processor Type: Only interactions within the processors with the specified type and all
interactions with other processors will be included in the Interface Collaboration Diagram.
• Objects (Eternal and Dynamic): Only interactions of the specified object with other
processors/objects will be included in the Interface Collaboration Diagram.
• Object Type (Eternal and Dynamic): Only interactions of objects with the specified type
with other processors/objects will be included in the Interface Collaboration Diagram.
• env_l or env_r: Only interactions involving the specified environment will be included in
the Interface Collaboration Diagram.
• env: If the entity is specified as env, only interactions involving env_l or env_r will be
included in the Interface Collaboration Diagram.
Note that the filter names are case sensitive. The names specified here should exactly match the
declarations in the FDL files.
The following Document Wizard steps are involved in Interface Collaboration Diagram addition:
1. Select "Interface Collaboration Diagram" from the document type menu displayed by
Document Wizard and click "Next".
2. Document Wizard will prompt you to enter the document interface filter. Enter an interface
filter that meets the filter requirements specified above.
3. Document Wizard will then display document generation options. These options allow you to
control the level of detail you want to display in the output document. The options also allow
you to select column and remark width and the "Graphics Format" (PDF or Microsoft Word
Picture – EMF). Modify the options according to your requirements and click "Next".
4. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
Interface Context Diagram can be generated by first selecting Interface Collaboration Diagram
and then changing the diagram type to Context Diagram.
Page 104
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The following Document Wizard steps are involved in Interaction Sequence Diagram addition:
1. Select "Interaction Collaboration Diagram" from the document type menu displayed by
Document Wizard and click "Next".
2. Document Wizard will prompt you to select the interaction type. Select the interaction type
based on the above specifications.
3. Document Wizard will then display document generation options. These options allow you to
control the level of detail you want to display in the output document. The options also allow
you to select column and remark width and the "Graphics Format" (PDF or Microsoft Word
Picture – EMF). Modify the options according to your requirements and click "Next".
4. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
5. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
Interaction Context Diagram can be generated by first selecting Interaction Collaboration Diagram
and then changing the diagram type to Context Diagram.
Page 105
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
For example, if the message filter is specified as Resp, the document will include the following
message interactions:
• MsgResponse
• ActivationResp
• RespondNow
The above example just demonstrated a very simple message filter. EventStudio supports
powerful message filters using regular expressions. A few examples here should introduce you to
the power of regular expression based message filters. (For more details, see the appendix on
regular expressions)
Page 106
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The following Document Wizard steps are involved in Message Filter Collaboration Diagram
addition:
1. Select "Message Filter Collaboration Diagram" from the document type menu displayed by
Document Wizard and click "Next".
2. Document Wizard will prompt you to enter the message filter. Enter the message filter based
on the above specifications. If you are entering a regular expression check the regular
expression box displayed on the page.
3. Document Wizard will then display document generation options. These options allow you to
control the level of detail you want to display in the output document. The options also allow
you to select column and remark width and the "Graphics Format" (PDF or Microsoft Word
Picture – EMF). Modify the options according to your requirements and click "Next".
4. Document Wizard will now prompt you to enter the document name. A default document
name is also provided. Supply the appropriate document name and click "Next".
5. Document Wizard has now completed document addition. Click "Finish" to exit the Wizard.
Message Filter Context Diagram can be generated by first selecting Message Filter Collaboration
Diagram and then changing the diagram type to Context Diagram.
Page 107
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
This document can be very useful in keeping track of all the documents generated for a Scenario
Project. The document also helps in maintaining an intranet website for all documents for a
project.
You can open this document by clicking on the Document Index icon. The document will be
opened in the default web browser.
Note: This document does not need to be defined through the Scenario Project. The document
will be generated automatically.
Note: Since the document is in HTML format, it can be easily edited in Microsoft Word or other
word processors supporting HTML. The document can then be saved in the word processors
native format using the "Save As" command.
Page 108
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
The Scenario Bar can be divided into three sections. Each section is represented by a tree node.
These sections are:
• Scenario List
• FDL Files
• Documents
Scenario List
This is the first section in the Scenario Bar tree. The section lists out all the Scenarios that have
been defined in the Scenario Project. Clicking on the plus sign next to a Scenario will expand its
contents. The Scenario tree node contains the following sub-nodes:
• Name of FDL file that forms the basis of this Scenario. Double clicking on the FDL file
icon will open the FDL file and take you to the top of the FDL file.
• Leg selections that define the Scenario. There will be several leg selection sub-nodes.
Double clicking on a leg selection icon will open the FDL file and take you directly to the
corresponding leg statement.
This section gets updated when new Scenarios are added or deleted. The Scenarios in the
section are automatically updated when a change in the FDL case statements affects the
Scenario.
FDL Files
This is the second section in the Scenario Bar tree. The section lists out all the FDL files that
have been used in Scenario Project definition. Clicking on the plus sign next to a FDL icon will
expand its contents. The FDL tree node contains the following sub-nodes:
• FDL Top Reference. Double clicking on the FDL Top icon will open the FDL file and take
you to the top of the FDL file.
• FDL Case Tree. The complete FDL case tree is represented here. This gives a bird’s eye
view of the case-leg structure of the FDL file. The FDL leg icons are grouped according to
case statements. Nested cases can be accessed by clicking on the plus sign next to a leg
selection icon. Double clicking on a leg selection icon will open the FDL file and take you
directly to the corresponding leg statement.
Updates to this section are completely automatic. EventStudio will always list the FDL files that
are currently being used in Scenario definitions. The FDL Case Tree also gets updated
automatically when case or leg statements are added or deleted.
Documents
This is the third section in the Scenario Bar tree. This section lists out all the documents that have
been defined for this Scenario Project. The section is automatically updated when documents are
added or deleted. Double clicking on the document icons will open the documents.
• Adobe Acrobat will be invoked for PDF documents.
• The default web browser will be invoked for HTML documents.
• Windows Explorer will be invoked for Word Picture (EMF) documents.
Page 109
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
7 How To …
7.1 How to Create a FDL File
Page 110
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 111
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Add a Scenario
5. Click on "Add Scenario" button (Ctrl+R).
6. EventStudio will open Scenario Wizard: Scenario Name dialog box.
7. Enter the desired name for the Scenario and click the "Next" button.
8. EventStudio will display Scenario Wizard: Select FDL dialog box and will prompt you to
select the FDL file from which the Scenario will be defined.
9. Click the "Browse" button. EventStudio will display Open dialog box.
10. Select the appropriate directory and then the FDL file to be used. Then, click the "Open"
button.
11. EventStudio will display the Scenario Wizard: Select FDL dialog box. Click on "Next"
button.
12. EventStudio will review the FDL file that was selected. If there are no errors, it will display
all the legs of the first case statement found in the FDL file.
13. Choose the leg to be taken for the Scenario and click "Next" button.
14. The sequence of points 12 and 13 is repeated for all the case statements in the FDL file.
15. After the leg has been chosen from the last case statement, EventStudio will display
"Finish" button instead of "Next". To allow adding more Scenarios to the Scenario
Project, it also displays the "Add More Scenarios" button. For each Scenario to be added,
follow the sequence from point 6 to point 15.
16. Select the "Finish" button.
17. A Scenario using the FDL file has been added to the Scenario Project.
Page 112
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Delete a Scenario
5. Normally, "Delete Scenario" icon is disabled. Select the Scenario to be deleted. Then
EventStudio will enable "Delete Scenario" button.
6. Click the "Delete Scenario" icon. EventStudio will inform that the selected Scenario will
be deleted permanently.
7. Click the OK button. The selected Scenario and its associated FDL file have been
deleted. The contents of the Scenario Project in the Scenario Bar are modified to display
this.
Page 113
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Add a Document
5. Click the "Add Document" icon (Ctrl+D).
6. EventStudio will display Document Wizard: Document Type.
7. Select the type of Document to be generated from the displayed list of Document types.
Then click "Next" button.
8. EventStudio will display Document Wizard: Select Generation Options dialog box.
9. Select the desired options from the displayed list of options. Also select the "Graphics
Format" of the document as "Adobe PDF" or "Word Picture EMF". Then, click the "Next"
button.
10. EventStudio will display Document Wizard: Document Name dialog box.
11. Enter the desired name of the Document. Then click "Next" button.
12. At this point, EventStudio may prompt you for additional information about the document
that needs to be generated.
13. EventStudio will display Document Wizard: Adding Document dialog box. To allow adding
more Documents to the Scenario Project, it displays "Add More Documents" button. For
each Document to be added, follow the sequence from point 6 to point 13.
14. Click the "Finish" button. The Document that was input has been added to the selected
Scenario Project.
Page 114
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Delete a Document
5. Select the Document to be deleted. EventStudio will enable the "Remove Document"
icon.
6. Click the "Remove Document" icon. EventStudio will display a dialog box to confirm the
delete.
7. Click OK to proceed with the deletion.
Page 115
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 116
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Note: The Documents are generated in the same directory as the Scenario Project. The
Documents are in PDF or HTML format. In addition to these Documents, an HTML Index
Document is also generated in the same directory. Documents can be viewed without
invoking EventStudio:
• To view a Document, double click on its icon in the Windows Explorer.
• Alternatively, open the Document Index by clicking on the "Document Index" icon.
Page 117
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Rename a Scenario
5. Select the title of the Scenario (icon: ) to be renamed.
6. Right click the selected icon and then select "Rename Scenario" on the context menu.2
7. The title will appear in a small edit box. Modify the title as desired.
8. Then, click somewhere outside the edit box.
9. The Scenario has been renamed and will be displayed in the Scenario Bar.
Rename a Document
10. Select the title of the Document (icon: , or ) to be renamed.
11. Right click the selected icon and then select "Rename Document" on the context menu.3
12. The title will appear in a small edit box. Modify the title as desired.
13. Then, click somewhere outside the edit box.
14. The Document has been renamed and will be displayed in the Scenario Bar.
2 This can also be accomplished by clicking on the Scenario icon and then waiting for a few
seconds.
3 This can also be accomplished by clicking on the Document icon and then waiting for a few
seconds.
Page 118
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Note that the actual drag and drop operation of a Scenario is much more intuitive than it
might appear from the above description!
Page 119
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 120
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 121
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Names longer than the column width need to be broken down at word boundaries to fit into the
available space. Thus long names should be broken at word boundaries. This can be
accomplished in three ways:
• Use blanks in string based names to separate different parts of a long name. e.g:
If the column is not wide enough, EventStudio will automatically break the name into multiple
lines. The names will be broken at underscore, blank or Hungarian Notation word boundaries. For
example, the module column in the underscore case would be represented as:
air aircraft
traffic
control
Notes
• In PDF and Word Picture documents, underscores will always be replaced with blanks
• If the individual word segments in a word are too long, EventStudio will have to clip the word
segment to fit it in the allocated space.
Page 122
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Note: Paper size can also be changed for Word Picture (EMF) document.
Page 123
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Copy the Scenario Project and all the associated FDL files to the desired directory(s) so that the
relative path of the Scenario Project and the FDL files does not change. Consider the example
where the original paths of the files are:
• C:\Doc\MyScenarioProject.scn
• C:\Doc\Call\MyFDL1.fdl
• C:\Doc\Call\Setup\MyFDL2.fdl
• C:\Doc\Maint\MyFDL3.fdl
These files can be moved to a completely different path as long as the relative paths don't
change. The following is a valid destination for these files:
• F:\Destin\New\MyScenarioProject.scn
• F:\Destin\New\Call\MyFDL1.fdl
• F:\Destin\New\Call\Setup\MyFDL2.fdl
• F:\Destin\New\Maint\MyFDL3.fdl
Page 124
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
1. Invoke the "Start->Run" command. Type "cmd" in the text box and click "OK" to invoke
the command-line shell.
2. Add EventStudio into the default search path. See the help for your version of Windows
for the exact command. On Windows NT/2000/XP, the following command sets the
PATH for EventStudio:
3. Once the path has been set you can issue the following command to Generate All
documents for a Scenario:
Note: The command-line mode can be invoked without the "start/wait" command. For
example:
The only problem with this approach is that the command-line shell does not wait for the
document generation to finish before returning to execute the next command. Needless to
say, this approach is not suitable for scripting.
Page 125
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
First, generate the document to be exported by following the steps given in the following sections.
• How to Add a Document. Be sure to select "Graphics Format" of the document as "Word
Picture EMF".
• How to Generate and View Documents. (Note that EventStudio has generated a separate
EMF file for every page in the document.
You can export the generated Word Picture (EMF) files to Word in two different ways:
• Insert pictures. Here the EMF files are inserted into the document and there is no
dependency on external files. The advantage of this approach is that the document is
completely contained in a single Word document.
• Link to pictures. A link to the EMF files is inserted. Microsoft Word loads the EMF files
when the document is opened. The advantage of this approach is that the Word
document is always "in sync" with the generated EMF files. You just need to link the
Word Picture files once, any changes to these files will be automatically reflected in the
Word document.
1. Open the Microsoft Word document in Microsoft Word into which you want to insert the "Word
Picture EMF" files.
2. Position the cursor in the document where you want to insert the "Word Picture EMF" files.
3. If the images to be inserted are in landscape format, change the page to "Landscape" from
the "File->Page Setup" menu in Microsoft Word.
4. Select "Insert" from the toolbar. Click on "Picture" followed by "From File"
5. A file dialog box will appear.
6. Set the path to the directory where the EMF files have been generated. (See the notes
below).
7. Select all the files in the directory and click the "Insert" button.
8. Microsoft Word will now automatically insert all the pictures in the correct sequence, creating
a new page for every picture.
1. Make sure that you locate the Scenario Project in the same directory as the Word document
that will contain the EMF files generated by EventStudio (This will ensure that the generated
EMF files are at a relative path to the Word document).
2. Open the Microsoft Word document in Microsoft Word into which you want to insert the "Word
Picture EMF" files.
3. Position the cursor in the document where you want to insert the "Word Picture EMF" files.
4. If the images to be inserted are in landscape format, change the page to "Landscape" from
the "File->Page Setup" menu in Microsoft Word.
5. Select "Insert" from the toolbar. Click on "Picture" followed by "From File"
6. A file dialog box will appear.
7. Set the path to the directory where the EMF files have been generated. (See the notes
below).
8. Select all the files in the directory.
9. Click on the little downward arrow on the right side to the "Insert" button to select "Link to file".
10. Microsoft Word will now automatically link all the pictures in the correct sequence, creating a
new page for every picture.
• Changes made to the EMF files will be automatically reflected in the Word document.
Page 126
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
• When sending the document via e-mail simply zip the contents of the entire directory.
This way the EMF files and the Word document will be available to the recipients.
Notes:
• The document in "Word Picture EMF" graphics format is generated as a directory of the
name same as that of the document in the path where the scenario project is present.
• The document is actually created as a set of files in this directory. Each page of the
document is represented by a file. The files are named as four digit number starting from
0001 with "0001 <Scenario Name>.emf" representing the first file.
Example
Consider a Scenario Project "C:\MyDoc\ScenerioProject.scn" with "Docking" and "Undocking"
scenarios. The document "Spaceport Collaboration Diagram Word" is generated in the directory
"C:\MyDoc\Spaceport Collaboration Diagram Word\" where the files are sequentially defined as
0001_Docking.emf, 0002_Docking.emf, 0003_Undocking.emf and so on.
Page 127
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 128
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 129
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.
EventStudio System Designer 4.0 Sequence Diagram Based System Design Tool
Page 130
Copyright © 2000-2007. EventHelix.com Inc. All Rights Reserved.