- Activity execution (OMG™ fUML standard)
- State machine execution (W3C SCXML standard)
- SysML parametric execution (OMG SysML standard)
- Multiple action languages support (JSR223 standard)
- Exporting UML state machine to SCXML file format
- Full featured model debugger
- Execution animation
- Quick UI prototyping
- Pluggable engines and evaluators
- Model-driven test cases and scenarios
The Cameo Simulation Toolkit
Provides the first in the industry extendable model execution framework based on OMG fUML and W3C SCXML standards. It extends MagicDraw to validate system behavior by executing, animating, and debugging UML 2 Statemachine and Activity models in the context of realistic mock-ups of the intended user interface.
The purpose of a simulation is to gain system understanding without manipulating the real system, either because it is not yet defined or available, or because it cannot be exercised directly due to cost, time, resources or risk constraints. Simulation is typically performed on a model of the system.
With the Cameo Simulation Toolkit, users can test how the system reacts to user interaction or predefined testing data and execution scenarios.
fUML – the Foundation Language of Executable UML Models
Semantics of a Foundational Subset for Executable UML Models (fUML) is an executable subset of standard UML that can be used to define the structural and behavioral semantics of systems.
fUML defines a basic virtual machine for the Unified Modeling Language, and the specific abstractions supported, enabling compliant models to be transformed into various executable forms for verification, integration and deployment.
Most of UML 2 Activity and Actions semantics elements are supported, including object and control flows, synchronous and asynchronous behavior and operation calls, sending and accepting signals and time events, pins, parameters, decisions, structured activity nodes and many more.*
SCXML – State Chart XML: State Machine Notation for Control Abstraction
The W3C SCXML standard provides a generic state machine–based execution environment based on Harel state charts. SCXML is able to describe complex state-machines, including sub-states, concurrency, history, time events and more.
Most things that can be represented as a UML state chart – business process flows, view navigation bits, interaction or dialog management, and many more – can leverage the SCXML engine.
With state machine execution build, users can simulate executable models both as a demonstration tool and to validate and verify system behavior at key milestone reviews.
In addition, Cameo Simulation Toolkit supports UML state machine export to standard SCXML file format for further analysis or transformations.**
fUML and SCXML integration
As OMG fUML execution model is used as foundation for all kinds of Cameo Simulation Toolkit executions, but does not support statemachines, SCXML engine is wrapped to fUML Execution interface to fill this gap and provide complete integrated execution of different UML behaviors. It allows calling Statemachine in CallBehaviorActions, use Activities to define entry/do/exit activities of the State, use SendSignalAction to trigger Transitions in the Statemachines.
Cameo Simulation Toolkit introduces dynamic execution of mathematical models expressed as SysML Parametric diagrams. The Cameo Simulation Toolkit enforces automatic dependent parameter value updates at any time during simulation. Mathematical expressions can be solved using a free built-in math engine or external well-known math solvers.
Debugging with animation
When in debug mode, the Simulation Toolkit allows users to suspend execution at breakpoints, examine and edit runtime variables, and highlight execution trace in diagrams.
Debugger panels include:
- Player-like control panel for step-by-step execution
- threads/sessions tree
- variables/runtime structure
- breakpoints panel
- input/output console for custom commands or expressions evaluation and textual execution output
Validation and Verification
Various kinds of validation and verification options are available, including model validation before execution, runtime values constraints, conditional breakpoints, action preconditions and postconditions checking. Constraints can be defined using multiple languages (see Action Languages).
User Interface Prototyping
The Cameo Simulation Toolkit unleashes the power of MagicDraw User Interface Modeling Diagram. It takes seconds to use drag’n’drop to assign various system parts to GUI components:
- Classes/Blocks to Frames
- Signals to Buttons
- Properties to Labels
- Images to component backgrounds
Just start simulation to make them alive!
Image Switcher feature allows animation by using multiple images representing different system states.
Additionally, Open API allows using dedicated third-party tools of your choice to create and plug realistic system mockup.