powerful simple modeling language
architecture

5-level hierarchy
Represent your model in terms of systems, subsystems, modules, components and objects.

dynamic objects
Objects may be eternal or they may be created and destroyed during feature execution.

share instances
Dynamic objects may share instances. This is particularly useful in models with large number of entities.
messages

message interactions
Model asynchronous message interactions between source and destination objects.

message cascades
Compactly represent a chain of message interactions involving multiple entities.

parameters. links.
Specify a parameter list. Add hyperlinks to messages. Readers click on links in PDF to get message details.

message tagging
Add tags to the source and destination to specify the protocol layer or port number in the message interaction.

lost message
Depict messages that are not received at the destination. This is useful in modeling error scenarios.

multicasts
Model message multicasts and broadcasts.
objects. sequences.

object interactions
Represent method calls and return values. All invocation and return statements permit specification of an optional parameter list as attribute-value pairs.

sequences
Group together several statements. Sequences may be nested.

collapse sequences
Reduce diagram size by automatically collapsing sequences in alternative scenarios. Clicking on the collapsed sequence shows complete contents.
actions. states. timers. resources.

actions. states.
Model actions and state transitions at object, component, module, subsystem or system level. Actions specification may be split into begin and end action.

timers
Specify timer start, stop and expiry. Periodic timers are supported as well. EventStudio detects free running timers in design reviews.

resources
Model resource allocation and deallocation. EventStudio will also catch resource leaks during a design review.
c-style preprocessor

include files
Built in preprocessor lets you include FDL files. This permits sharing of design components across projects.

macro definitions
Define parameterized macros that let you define repeated sequences as macros.

specify alternative scenarios
Specify conditional compilation statements to keep track of alternative scenarios.