simulation · 2020-01-17 · gartner defines simulation as “using analytical tools and models to...

Post on 27-Jun-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Simulation: Past, Present and Future With Cameo Simulation Toolkit

SysML Seminar Japan January 20, 2011

Agenda

•  Qualifications in the Simulation Domain •  Simulation Defined •  Simulation, a Brief History •  Simulation Applications •  Executable Models:

–  Real World Applications with Cameo Simulation Toolkit, Codeless Simulation Now a Reality!

•  The Future of Simulation •  Live Demonstration

Our Simulation Qualifications and Experience

•  Purdue University Computer and Electrical Engineering –  Robotics

•  Eaton Corporation / Contel Federal Systems – CATIS/SID 88 –  Testing of Satellite Reconnaissance System, Network Simulation

•  NASA JPL – US Army ASAS/ENCE Program –  Communication Message Processing

•  Motorola –  International Cellular Telephone Behavior and Testing

•  Magnavox –  Advanced Field Artillery Tactical Data System

•  Naval Warfare Assessment Division –  War Gaming, WAM - Warfare Assessment Modeling, BFTT – Battle Force Tactical Trainer

•  Texas Instruments –  Harm Missile Simulated Testing System

•  Bridge Medical Systems –  Infusion pump included simulation of system components that were delayed by manufacturing

•  No Magic –  Part of task force determining capabilities and functionality of Cameo Simulation Toolkit

No Magic’s Qualifications

•  Executive Leadership Team with extensive simulation background –  30+ Years of simulation experience –  U.S. Government NSA Simulation –  Involved with SCS, the Society for Modeling & Simulation Intl

•  OMG - Co-Chair SysML Specification •  OMG - Co-Chair UPDM Specification •  First company to support full standards-based simulation solution •  MagicDraw / Cameo Suite used by INCOSE Challenge Teams •  Varied background in simulation across domains •  …UPDM, BPMN, Enterprise Architecture •  Online and on-site UML, SysML, and UPDM training •  On site Requirements Management training •  Simulation training coming soon No Magic, known industry-wide for modeling, simulation and analysis

Simulation Defined

Webster’s Defines Simulation

“To assume the mere appearance of… without the reality”

Simulation Defined: Gartner on Simulation

Gartner defines simulation as “Using analytical tools and models to maximize

business process and decision effectiveness by examining alternative outcomes and scenarios, before, during and after process implementation and execution.”

Source: A Vision of Advanced Business Process Simulation and Optimization, June 2010

Simulation Defined

“Simulation is the process of designing a model of a real system and conducting experiments with this model for the purpose of either understanding the behavior of the system and/or evaluating various strategies for the operation of the system.”

–  Source: Introduction to Simulation Using SIMAN, 2nd Ed

Simulation Defined

Simulation allows us to: –  Model complex systems –  Describe the behavior of systems –  Develop theories or hypotheses that

account for the observed behavior –  Use the simulation to predict future

behavior such as the effects resulting from system changes

–  Analyze proposed systems which have not yet been developed

Simulation Defined

Simulation is one of the most widely used techniques in operations research and management science… –  It is not a “last resort” –  In the 1950’s & 1960’s as computers came of age, introduction

of languages such as SIMSCRIPT, GPSS, simulation was seen as a tool of “last resort”

–  Fairly recent, based on Monte Carlo Simulation

Simulation a Brief History

–  In the late 60’s and 70’s most computers were mainframes and access and interaction was limited”

–  Widely used today for problems which are not analytically solvable such as complex multiple integrals

–  Pritsker introduced GASP IV which resulted in a number of applications, significant in the evolution of simulation

Simulation: A Brief History

–  In the late 70’s and early 80’s SLAM introduced in ‘79 by Pritsker and Pergden

–  Models were more credible because of sophisticated tools –  SIMAN introduced in ’82 by Pergden. 1st language to run on

both mainframe and microcomputer –  Late 80’s till now, advent of powerful PC’s, sophisticated

languages –  Major advancement in graphics –  Models can now be simulated

Simulation Applications: What Can Be Simulated?

What can be simulated?

Almost anything can be simulated and almost everything has! –  Computer Systems –  Manufacturing –  Business –  Government –  Military –  Healthcare

Simulation Applications: What Can Be Simulated?

–  Computer Systems: hardware components, software systems, networks, database management, information processing

–  Manufacturing: material handling systems, assembly, automated production, inventory control, plant logistics

–  Business: financial analysis, stock and commodity analysis, pricing policies, cash flow analysis, financial “what-if” analysis and forecasting

–  Government: state and local municipal growth, jobs and population forecasting, land use, health care delivery, traffic scenarios, fire and safety simulations, criminal justice and traffic control

–  Military: weapon design, UAV simulations, tactical simulations, war fighting simulation, communication and logistics and weaponry cost/benefit simulation

–  Healthcare: Patient records, payer/provider analytics

Simulation Applications: Advantages

Simulation’s greatest strength is its ability to answer

“what-if” questions… Other advantages of

simulation include: –  Ability to study existing systems without

disrupting ongoing operations –  Systems can be “tested” before committing

resources –  Ability to better control time and resources –  Identify process bottlenecks –  Gain insight into system performance:

»  which variables are most important?

Simulation Applications: Gartner on Simulation Context

Source: A Vision of Advanced Business Process Simulation and Optimization, June 2010

•  Improve the detection of and response to important signals/patterns (such as market movement) •  Examine the effectiveness of alternative decision frameworks •  Fine-tune process performance •  Maximize the effectiveness of resources

Source: A Vision of Advanced Business Process Simulation and Optimization, June 2010

Simulation Applications: Advantages

“If your organization seeks innovation in dealing with known and unknown business and market scenarios, leverage simulation to target future process states, and exploit emerging conditions or protect from threats.”

Source: A Vision of Advanced Business Process Simulation and Optimization, June 2010

Simulation Applications: The Simulation Professional Body of Knowledge

•  Referent: What is simulated?

•  Intention: Why is it simulated?

•  Implementation: How is it simulated?

•  Credibility: How well is it simulated?

•  Programmatics: How is the simulation managed?

•  Application: What value is derived?

18

Executable Models

“Executable UML is the next logical, and perhaps inevitable, evolutionary step in the ever-rising level of abstraction at which programmers express software solutions.”

Grady Booch

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.

Executable Models

•  A model may be used to describe a domain or system under study or to specify a (business, software and/or hardware) system to be built. •  Descriptive models are generally used for analysis. •  Specification models are generally used for engineering.

•  The benefits of executable models •  Testable platform independent models (PIMs). •  Act as the implementation of the system (particularly for business

processes or software systems) •  Explore possible (desirable and undesirable) behaviors of a system •  Validate the behavioral specification for a system

Executable Models: A New Idea?

•  Model execution tools are available, but execution semantics or modeling capabilities are not standardized

•  Mentor Graphics BridgePoint •  Kennedy-Carter xUML •  Rational Rose Real Time and Rhapsody •  Vitech CORE

•  OMG standards are now filling these gaps •  Unified Modeling Language (UML) •  Systems Modeling Language (SysML) •  Executable UML Foundation (fUML) •  UML Action Language (Alf)

•  XBRL standards for financial modeling •  Standards body using No Magic solutions

21

Executable Models: Cameo Simulation Toolkit

+

22

Executable Models: Cameo Simulation Toolkit

The standard based model execution of:

  Activities (OMG fUML standard)   Statemachines (W3C SCXML standard)   OpaqueBehaviors (JSR223 standard)   Parametrics (OMG SysML standard)

23

Executable Models: Foundation for Executable UML

•  OMG RFP for the Semantics of a Foundational Subset for Executable UML Models – Issued April 2005

•  fUML Version 1.0 Beta 3 (finalized) – February 2010

•  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, enabling compliant models to be transformed into various executable forms for verification, integration and deployment.

24

Executable Models: Classifier Execution

The structural semantics of systems

  An active class is one that has a classifier behavior.   Only active class may receive signals.   A classifier behavior is an autonomous behavior started when an active

class is instantiated.   A behavioral model is executable if it is complete enough   UML Behaviors: Activity, Statemachine, Interaction, OpaqueBehavior

Executable Models: UML Object Diagram

The standard way to specify objects and values

Executable Models: Activity

An activity specifies behavior as the execution of a set of actions.

An action in one activity may call another activity.

Data and control tokens flow between the actions.

An action takes a set of inputs and converts them into a set of outputs

Action is the fundamental unit of computational behavior.

27

Activity Execution

How it works:

  An activity diagram is a graph structure consisting of activity nodes connected by activity edges

  The object or control tokens flow along edges at runtime   A token is a container for an object, datum or locus of control   An action is a fundamental unit of executable behavior within an activity.   When all input pins have required number of tokens, action is fired and

produces an object token in its output pin   An output pin offers its tokens to the targets of all outgoing object flows.

28

Activity Execution

Sending and receiving signals:

  A signal is a classifier whose instances may be communicated asynchronously.

  A signal may have attributes that represent transmittable data.   A reception is a declaration of the ability to receive a signal.   A SendSignalAction may create and send signal instance to any target

Object   AcceptEventAction suspends execution and waits for a trigger

Actions Semantics

Action Language

•  The class and state models can only provide a static view of the domain

•  Action Semantics was added to the UML specification in 2001

•  It is convenient to use a textual rather than graphical notation •  “this.light = new Light()”

•  Textual action languages have been around for a while: Object Action Language(OAL), Shlaer-Mellor Action Language(SMALL), Action Specification Language(ASL), That Action Language(TALL), Starr's Concise Relational Action Language(SCRALL), Platform-independent Action Language (PAL) and PathMATE Action Language (PAL).

•  UML Action Language (Alf) •  OMG RFP for Concrete Syntax for a UML Action Language – Issued September 2008 •  Two initial submissions – August 2009 •  Joint revised submission – February 2010

Action Languages in Cameo Simulation Toolkit

JSR 223: Scripting for the Java Platform •  Pluggable scripting languages/engines •  Context variables can be defined in scripting environment •  MagicDraw utility methods can be called

Built-in languages: •  OCL, Java binary, Javascript, Ruby, Groovy and Python •  Many other can be freely downloaded at https://scripting.dev.java.net

OpaqueExpressions can be used in: •  OpaqueActions •  OpaqueBehaviors •  Constraints, guards and decisions •  Default values of the properties

The State Machine

A state machine abstracts system behavior into a finite number of states.

The system is modeled as having discrete transitions between the states.

Behaviors are associated with transitions (Mealy style)

..or are associated with states (Moore style)

33

State Machine Execution

How it works:

  Put all objects into an initial state   When an object enters a state, it begins executing the entry

activity (procedure) immediately   Upon completion, the object waits for an event to occur   If one of these events corresponds to a trigger of outgoing

transition, the waiting object will follow the transition and get busy again.

  Busy objects do not react to any events.   When events targeted at a busy object occur, they are held

The Calculator

State Machines

  State machine semantics are described in detail in the UML Superstructure specification, but this is not formalized.

  State machine semantics have been formalized by Harel and others, but these formalizations have not been standardized for UML.

  It is NOT part of fUML specification

36

State Chart XML (SCXML): State Machine Notation for Control Abstraction

•  W3C Working Draft 13 May 2010

•  Provides a generic state machine–based execution environment based on Harel state charts.

•  Describes complex state-machines, including sub-states, concurrency, history, time events and more.

37

fUML and SCXML Integration

The problem: •  fUML does NOT support Statemachines •  SCXML engine uses SCXML document for execution

The solution: •  Implement UML Statemachine to SCXML mapping •  SCXML engine is wrapped into fUML interfaces •  fUML engine is wrapped into SCXML interfaces

The result: •  Engines are independent, integration is part of the toolkit •  Statemachine in CallBehaviorActions •  Activities or OpaqueBehaviors as entry/do/exit behaviors of the State •  SendSignalAction can trigger Transitions in the Statemachine •  UML Statemachine can be exported to SCXML file

38

Cameo Simulation Toolkit

Model execution framework and infrastructure:

  Model debugging and animation   Pluggable engines, languages and evaluators   User Interface prototyping   Model driven configs and test cases

39

Simulation Management Window

  Sessions tree   Variables   Breakpoints   Console   Control panel   Triggers   Animation speed slider

40

Sessions Panel

  Represents running threads/sessions   Hierarchical view (nested sessions)   Synchronous/asynchronous sessions   Status of the session (started, paused)   Independently terminate or suspend any session

41

Variables Panel

  Represents runtime structure in a selected session context   Runtime objects tree and values   Based on fUML execution model   Editable primitive values   Allows inject event into selected Object event pool   Represents the current state of every object

42

Breakpoints

  Breakpoint can be added from the model element context menu   The execution will be paused when this element is activated   Conditional execution suspending   Suspend modes : on entry, on exit and both   Values can be changed while execution is suspended

43

Animation

  Visited and active element highlighting   Breakpoints highlighting   Custom colors   Exposing token values on diagram   Adjustable animation speed

44

Execution Configuration

  Some predefined execution settings can be set using model-based execution configuration

  «ExecutionConfig» configuration properties consist of:   executionTarget – the element which execution should be started.   silent – if true, animation and idle will not be used.   ui – user interface mockup configuration.   log – element to which execution trace will be recorded.

The execution configuration can be selected and executed directly, or may be used as target element in other execution configurations.

45

Execution Trace

  DSL for execution trace   All events are recorder to the special model   Custom reports and validation rules   DSL customization for user-friendly browsing

The Goal: Automated Analysis

47

User Interface Prototyping

Cameo Simulation Toolkit provides several approaches for UI prototyping:

  “Executable” User Interface Modeling Diagram

  System state animator (ImageSwitcher)

  API for custom UI implementations or third party integrations

48

User Interface Prototyping

User Interface diagram allows creating mockups in seconds:   Drop signal on “Button” to assign name and trigger   Drop property on “Label” to be monitored   Drop images from disk or web browser

49

ActiveImage and ImageSwitcher

•  ImageSwitcher is one more predefined subtype of UI config. •  It contains collection of ActiveImage elements to represent all the states •  The whole lifecycle of the object can be animated

Definition : Runtime representation :

50

Verification and Validation

•  Various kinds of validation and verification options are available: •  model validation before execution (new validation suite) •  action preconditions and postconditions checking •  conditional breakpoints •  constraints in any action language

51

Model-based Test Cases

52

The Future of Simulation: Our Vision

What’s next:

  V&V, analysis and report tools   SysML execution semantics support   BPMN diagrams execution (BPEL and XPDL standards)   UPDM support   Alf (UML Action Language) support   Sequence diagram execution   Webservices – remote access to execution environment

“Why are we so bullish on simulation in general…As mankind tackles more and more complex problems, simulation plays an increasingly important role in solving those problems.”

Source: Drew Hamilton, Assoc Professor of Computer Science and Software Engineering, Simulation Magazine, Vol. 84, #12, December, 2008

53

The Future of Simulation: Industry Collaboration

Organizations Devoted to Modeling & Simulation:

  Society for Modeling and Simulation International (SCS)   Simulation Interoperability Standards Organization   Association for Computing Machinery (ACM)   SimSummit

Gartner on the Future of Simulation

“ While many optimization methods, techniques and tools can help in BPI* efforts, we have selected simulation as the most important optimization technique for processes now and in the near future.”

*BPI is represented today by BPM disciplines which treat processes as assets

55

Live Demonstration: Cameo Simulation Toolkit

Try it now!

  1.0 GA version was released on December 20, 2010   Free trial download at www.magicdraw.com   Training and Mentoring Available

Let’s See the Cameo Simulation Toolkit in Action

Live Demonstration

Gary Duncanson

President and CEO

No Magic, Inc.

+1 214-291-9100

gary@nomagic.com

Contact Information

top related