The Magic Model Analyst provides the first in the industry extendable model execution framework based on OMG fUML and W3C SCXML standards. It extends UPDM plugin to validate system behavior by executing, animating, and debugging SysML Parametric models in the context of realistic mock-ups of the intended user interface.
Why Simulation?
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 Magic Model Analyst, users can test how the system reacts to user interaction or predefined testing data and execution scenarios.
Business Benefits
Users will find that one of the key business benefits of the Magic Model Analyst is cost efficiency. Employing Magic Model Analyst will assist enterprises in significantly reducing project costs, allowing users to identify design errors before the actual production of components.
Key Features:
- 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 Magic Model Analyst
provides the first in the industry extendable model execution framework based on OMG fUML and W3C SCXML standards. It extends Magic Software Architect 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.
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, Magic Model Analyst 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 Magic Model Analyst 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.
SysML Parametrics
Magic Model Analyst Toolkit introduces dynamic execution of mathematical models expressed as SysML Parametric diagrams. The Magic Model Analyst 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.
Action Languages
Multiple languages can be used as action languages in expressions everywhere in the model. Javascript, Ruby, Groovy and Python are supported by default; other JSR223 compatible language implementations can be freely downloaded and plugged.
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 Magic Model Analyst unleashes the power of Magic Software Architect 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.
Additional information:
http://www.omg.org/spec/FUML/Current
http://www.w3.org/TR/scxml/