Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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
Contact Information