Cameo Simulation Toolkit

button modeling-simulation-value-proposition


Testimonials

    • MagicDraw is very intuitive and robust. The best UML Modeler I've been using so far.
      Volker Lenz
      IT Services Promotion Agency
    • I really am loving the product. It's just that when I find out that a company actually *listens* for once.
      Gavin Kistner
      Image Refinery Productions
    • I have used multiple modeling tools over the years...by far the best one I've used is MagicDraw.
      Mark Lorenz
      Labcorp
    • One of the best, if not the best object-oriented modeling tools IMO is MagicDraw.
      Mark Lorenz
      Labcorp
    • MagicDraw is BY FAR the greatest modeling tool I have ever used.
      Stan Butler
      Deposco
    • Thank you very much for your help! I must say that I have never experienced such excellent technical support.
      Dr. Jim Arlow
      ClearView Training
    • No Magic's team were exceptional at delivering software that was on time and within specification.
      President and CEO
      Metalithic Systems Inc.
    • I'm working with MagicDraw for 3 years now and I'm still impressed by the tons of functionalities it has and by the great support team!
      Xavier Seignard
      Sodifrance
    • I just wanted to thank you for your great customer service. I have enjoyed working with you (and MagicDraw) so far, and look forward to doing so increasingly in the future.
      Eric Crane
      Members United Corporate Federal Credit Union
    • The product exceeded all its competitors in every area and was by far the easiest for all our teams to use when building enterprise solutions.
      Allen Scott
      Intelligent Chaos
    • MagicDraw is now my main tool of trade.
      Dr. Darren R C Kelly
      Elements of the Web
    • We knew when we bought our MagicDraw licenses that the product was top of the line. You have just proven to me that your support is also top of the line.
      Stefan Zetterberg
      LearningWell AB

The Cameo Simulation Toolkit 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 Cameo Simulation Toolkit, 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 Cameo Simulation Toolkit is cost efficiency. Employing Cameo Simulation Toolkit 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 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.

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 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.

SysML Parametrics

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.

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 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.

Additional information:

http://www.omg.org/spec/FUML/Current
http://www.w3.org/TR/scxml/

ViewletDescriptionTime (min)Size (MB)View
User Interface Prototyping with Cameo Simulation Toolkit This demo shows how easy it is to create a working user interface prototype directly from your model without any code generation. You can also do live debugging while running the model. 16:12 21.1

Providing Value From the Initial Development Stages

“Executable UML is the next logical, and perhaps inevitable, evolutionary step in the ever-rising level of abstraction at which programmers express software solutions. Rather than elaborate an analysis product into a design product and then write code, application developers of the future will use tools to translate abstract application constructs into executable entities. Someday soon, the idea of writing an application in Java or C++ will seem as absurd as writing an application in assembler does today.”

Grady Booch

Cameo Simulation Toolkit

The future is here! You can run systems without a single line of code!

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 by directly executing, animating and debugging system models in the context of realistic mockups of the intended user interface.

Figure1-SimulationUseCases Figure 1. Use the Cameo Simulation Toolkit to...


Prototype and Simulate System Behavior

The award-winning MagicDraw modeling environment allows developers modeling any subject matter to do so at a higher level of abstraction than in a programming language, but in sufficient detail that it can be executed and simulated.

Figure2-SimulatingStateMachine
Figure 2. Simulating state machine behavior to gain better understanding

The purpose of a simulation is to gain understanding of a system, and check whether it conforms to engineer expectations and user requirements before building and deploying the real system.

Cameo Simulation Toolkit allows simulating executable models, both as a demonstration tool to stakeholders, and to validate and verify system behavior at key reviews in different development stages.Simulations can also be hooked to GUI prototypes.


Prototype User Interface

Figure3-SimulatingWithGUI
Figure 3. Using UI prototypes in simulation

Building and prototyping a system’s physical appearance and user interface is crucial to understanding the end-user use cases and to find interaction bottlenecks.

The Cameo Simulation Toolkit unleashes the power of MagicDraw User Interface Modeling Diagrams by relating GUI models with data and behaviors.

The model to UI binding process is highly intuitive and is based on quick drag’n’drops of model elements.

Icons or real system hardware pictures can be dropped directly from a file system or web browser. Users start the simulation to make them alive – representing runtime values and allowing triggering behaviors.


Model-based testing solution

One of the most important goals of simulation is to test how a system reacts to a predefined or generated data and user interaction scenario, by monitoring runtime values and diagram animation, and analyzing execution traces and logs.

Cameo Simulation Toolkit allows for system testing in both manual and automated modes.

Manual Testing

When simulation is conducted by a human, one can use the step-by-step debug mode to inject signals and enter/change data in the simulation control or mockup window to verify value ranges, state invariants, truth tables, expected traces and more.

The Simulation Toolkit includes an integrated debugger for setting graphical breakpoints, stepping through charts, browsing and editing runtime objects and values, and evaluating custom expressions. The execution trace is highlighted in diagrams where users can quickly see tokens and values in a tooltip on an activated element symbol.

Figure4-DebuggingModelSimulation

Figure 4. Runtime Debugger

Execution trace and sequences of events are recorded in the form of generated Sequence Diagrams, while parameter values can be dumped to Instance models and can be used for further reports, analysis and comparison with design level models and diagrams.

Figure5-PreparingForAutomatedTesting
Figure 5. Preparing testcase scenario for automated testing

Automated testing

Instead of manual testing and recording, the test case scenarios can be modeled. UML Activity or Sequence Diagrams can be used to describe the sequence of events and data flows which users or other subsystems must send to test the desired behavior. Previously recorded execution traces or modeled testcases and data sets can be executed to check pre/ post conditions of any action or activity, state invariants, truth tables and other requirements.

When UseCases or SysML requirements are related to testcases using or other relationships, testing results (failed tests) can be effectively represented in coverage matrices or special reports.

Multiple scripting languages can be used as “Action Language,” allowing users the opportunity to leverage external libraries and tools to orchestrate external simulations or data analysis. Users can model how resulting data of one simulation flows to others and is finally recorded into Instance models for further analysis and reports.

omg-member-logo

nomagic gartner-ad 2013

facebook 32 linkedin 32 twitter 32 youtube 32 rss 32