Institute for Software Integrated Systems Vanderbilt University Cyber Physical Systems: New Challenges for Model-based Design Janos Sztipanovits ISIS,

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
TRUST for SCADA: A Simulation-based Experimental Platform
Workshop: From Embedded Systems to Cyber-Physical Systems
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Institute for Software Integrated Systems Vanderbilt University CYBER PHYSICAL SYSTEMS (CPS) Janos Sztipanovits ISIS, Vanderbilt University.
Week 1 Lectures 1 Introduction to CPS Instructor: Prof. Fei Hu, ECE, Univ of Alabama.
Institute for Software Integrated Systems Vanderbilt University MODEL-INTEGRATED DESIGN IN SOFTWARE, SYSTEMS AND CONTROL ENGINEERING Janos Sztipanovits.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Chess Review May 11, 2005 Berkeley, CA Advances In MIC Tools for Networked Embedded Systems Applications Edited and Presented by Janos Sztipanovits ISIS,
February 21, 2008 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, UC Berkeley.
Chess Review May 10, 2004 Berkeley, CA Metamodeling Infrastructure for Model-Integrated Computing Matthew J. Emerson, Kai Chen, Andrew D. Dixon, Janos.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
February 23, 2012 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, EECS Thomas.
UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI CHESS Review May 10, 2004 Berkeley, CA Model-Based Design Edited by Janos Sztipanovits,
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
Frameworks and Tools for High-Confidence Design of Adaptive, Distributed Embedded Control Systems - Project Overview - Janos Sztipanovits ISIS-Vanderbilt.
Adaptable Architecture for Meta- Programmable Modeling Tools Matt Emerson Advisor: Janos Sztipanovits The Core Layer The.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Model-Based Design Overview Janos Sztipanovits and Gabor Karsai ISIS, Vanderbilt University.
Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI NSF Model-Based Design DSML.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Impact: Fault Tolerance and High Confidence Embedded Systems Design Gabor Karsai Vanderbilt.
Chess Review May 11, 2005 Berkeley, CA Formal Semantics of Metamodeling Frameworks Ethan Jackson ISIS, Vanderbilt University Semantic Anchoring Infrastructure.
Center for Hybrid and Embedded Software Systems Jonathan Sprinkle Executive Director, CHESS Center for Hybrid and Embedded Software Systems UC Berkeley.
Chess Review October 4, 2006 Alexandria, VA Embedded Systems Education: Vanderbilt Edited and Presented by Janos Sztipanovits ISIS, Vanderbilt University.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Sensor Network Design Akos Ledeczi ISIS, Vanderbilt University.
Chess Review May 11, 2005 Berkeley, CA Platform Modeling and Analysis Presented by Tivadar Szemethy ISIS, Vanderbilt University.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Model-Based Design Janos Sztipanovits Vanderbilt University.
UML - Development Process 1 Software Development Process Using UML (2)
Adaptive Services Grid FP6 – IST Develop a prototype of an open development platform for adaptive services registration,
NSF/ITR: Foundations of Hybrid and Embedded Software Systems Model-Integrated Computing: Foundations DSML Composition Model Synthesis and Model Transformation.
Yuan Xue Vanderbilt University
An Examination of DSLs for Concisely Representing Model Traversals and Transformations Jeff Gray University of Alabama at Birmingham Gábor Karsai Vanderbilt.
Cluster Reliability Project ISIS Vanderbilt University.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
DEVS Namespace for Interoperable DEVS/SOA
Co-design Environment for Secure Embedded Systems Matt Eby, Janos L. Mathe, Jan Werner, Gabor Karsai, Sandeep Neema, Janos Sztipanovits, Yuan Xue Institute.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
UDM An Infrastructure for Implementing Domain-Specific Modeling Languages Endre Magyari, Arpad Bakay, Andras Lang, Tamas Paka, Attila Vizhanyo, Aditya.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Janos Sztipanovits Dr. Janos Sztipanovits E. Bronson Ingram Distinguished Professor of EECS Director of ISIS Vanderbilt University Nashville, TN Overview.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 Xiaoqing Wu, Barrett R. Bryant, Jeff Gray and Suman Roychoudhury University of Alabama at Birmingham Separation of Concerns in Compiler Development Using.
An Approach for Supporting Aspect-Oriented Domain Modeling GPCE 2003 – Erfurt, Germany September 24, 2003 Jeff Gray, Ted Bapty, Sandeep Neema, Doug Schmidt,
Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Matthew Emerson Sherif Abdelwahed.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Hosted by: Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Reliability for FCS Discussion Format May 18-19, 2004 ARO Workshop.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
4 th Workshop for TAO and CIAO July 16, 2004 MOF-Compliant Modeling of Middleware Jeff Parsons & Matt Emerson ISIS Vanderbilt University Nashville, TN.
GME-MOF: The MOF-Based GME Metamodeling Environment Matt Emerson 10/24/2004 Advisor: Dr. Janos Sztipanovits OOPSLA 2004 Domain-Specific Modeling Workshop.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Integrated Simulation and Emulation Platform for Cyber-Physical System Security Experimentation Wei Yan, Yuan Xue, Xiaowei Li, Jiannian Weng, Timothy Busch,
February 14, 2013 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
TRUST:Team for Research in Ubiquitous Secure Technologies
An overview of the CHESS Center
Tools for Composing and Deploying Grid Middleware Web Services
Automated Analysis and Code Generation for Domain-Specific Models
Chapter 6: Architectural Design
Software Development Process Using UML Recap
Zilong Ye, Ph.D. Cyber physical system Zilong Ye, Ph.D.
Software Architecture & Design
Presentation transcript:

Institute for Software Integrated Systems Vanderbilt University Cyber Physical Systems: New Challenges for Model-based Design Janos Sztipanovits ISIS, Vanderbilt University From Embedded Systems to Cyber-Physical Systems: A Review of the State-of-the-Art and Research Needs CHESS Workshop April 21, 2008

package org.apache.tomcat.session; import org.apache.tomcat.core.*; import org.apache.tomcat.util.StringManager; import java.io.*; import java.net.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; /** * Core implementation of a server session * James Duncan Davidson James Todd */ public class ServerSession { private StringManager sm = StringManager.getManager("org.apache.tomcat.session"); private Hashtable values = new Hashtable(); private Hashtable appSessions = new Hashtable(); private String id; private long creationTime = System.currentTimeMillis();; private long thisAccessTime = creationTime; private long lastAccessed = creationTime; private int inactiveInterval = -1; ServerSession(String id) { this.id = id; } public String getId() { return id; } public long getCreationTime() { return creationTime; } public long getLastAccessedTime() { return lastAccessed; } public ApplicationSession getApplicationSession(Context context, boolean create) { ApplicationSession appSession = (ApplicationSession)appSessions.get(context); if (appSession == null && create) { // XXX // sync to ensure valid? appSession = new ApplicationSession(id, this, context); appSessions.put(context, appSession); } // XXX // make sure that we haven't gone over the end of our // inactive interval -- if so, invalidate and create // a new appSession return appSession; } void removeApplicationSession(Context context) { appSessions.remove(context); } /** * Called by context when request comes in so that accesses and * inactivities can be dealt with accordingly. */ void accessed() { // set last accessed to thisAccessTime as it will be left over // from the previous access lastAccessed = thisAccessTime; thisAccessTime = System.currentTimeMillis(); } void validate() SoftwareControlSystems Abstraction Adjustable Integrative Precise Safe (analyzable) Integration Affordable Model-based (end-to-end) Manage heterogeneity better Automation Domain-specific tool chains, but Reusable infrastructure Embedded Systems Challenge Systems industry turns IT driven: Aerospace, Automotive, Process,.. Modeling Layer

Abstractions are linked through refinement relations. Abstraction layers allow the verification of different properties. Key Idea: Manage design complexity by creating layers of abstractions in the design flow. (Alberto Sangiovanni-Vincentelli) Platform mapping Software architecture defines the composition of functions such that a least fixed point exists and is unique. Hardware architecture defines a set of concurrent functional units, where the software architecture can be deployed. Platform mapping Behavior models define a set of timed automata with local clocks and broadcast. Models can be analyzed with TCTL. Abstraction layers define platforms. Platforms, Abstractions and Domain Specific Modeling Languages (DSML)

Key Idea: Capture intrinsic domain concepts with domain-specific modeling languages (DSML-s) and partition DSML-s into structural and behavioral semantics. The behavioral semantics defines what the structures do. The structural semantics excludes semantically meaningless models. No operator was provided for composition of values, so this merge model is semantically meaningless in this domain. The structural semantics views a model as a structure, and provides a means for calculating which structures are well-formed. Model-Integrated Computing

GME, the metaprogrammable modeling tool of ISIS, supports rapid construction of metamodels and DSML models. MetaGME metamodel of simple statecharts Model-editor generated from metamodel Basic metamodeling notation: UML Class Diagram + OCL Abstract syntax of DSML-s are defined by metamodels. Metamodeling languages provide structural semantics. Specification of Structural Semantics of DSML-s Metamodels define the structural semantics of DSML-s: OCL Constraints: self.transTo->forAll(s | s <> self) A metamodeling language is one of the DSML-s: the same tool can be used for modeling and metamodeling.

C++ coding permits complex behavioral semantics, but the “specifications” are cluttered with C++ details. Behavioral semantics are defined with model transformations and semantic anchoring. Graph transformations provide a transparent mechanism to attach semantics. However, not all behavioral semantics ca be specified this way. Semantic anchoring with ASM captures the best of both worlds: Simple graph transformations and simple behavioral specifications. Specification of Behavioral Semantics of DSML-s

Lessons Learned: Metaprogrammable Tools -Model-based development is practical! -Domain specific abstractions are not only desirable; they are affordable -DSML-s are not programming languages GME UDM GReAT Best of Breed Modeling Tools Simulators Verifiers Model Checkers Meta Models Generic Model Editor (GME) Open Tool Integration Framework Model Transformation Model Management OTIF DESERT Component Abstraction (T A ) Design Space Modeling (M D ) Design Space Encoding (T E ) Design Space Pruning Design Decoding Component Reconstruction Design Space Exploration MIC Tool Suite

Lessons Learned: Transitioning  Researchers partnering with End Users with real stake and new challenges  Working model for managing proprietary issues (Open Source, Gated Source)  Repository is active, live, quality controlled (and costs money to operate)  Creates future market for tool vendors. Example: Microsoft Software Factories (health care, web services) MathWorks interactions  NEW TRANSITIONIN MODEL IS ESSENTIAL IF WE EXPECT RAPID AND SUBSTANTIAL IMPACT Research groups ESCHER Institute Boeing, GM Raytheon A small scale experiment with potentially large impact that works: ESCHER Non-profit Universities IR&D FCS DDX C2W Repository funding criteria maturation High quality tools & SW emphasis

New Challenges: Cyber Physical Systems package org.apache.tomcat.session; import org.apache.tomcat.core.*; import org.apache.tomcat.util.StringManager; import java.io.*; import java.net.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; /** * Core implementation of a server session * James Duncan Davidson James Todd */ public class ServerSession { private StringManager sm = StringManager.getManager("org.apache.tomcat.session"); private Hashtable values = new Hashtable(); private Hashtable appSessions = new Hashtable(); private String id; private long creationTime = System.currentTimeMillis();; private long thisAccessTime = creationTime; private long lastAccessed = creationTime; private int inactiveInterval = -1; ServerSession(String id) { this.id = id; } public String getId() { return id; } public long getCreationTime() { return creationTime; } public long getLastAccessedTime() { return lastAccessed; } public ApplicationSession getApplicationSession(Context context, boolean create) { ApplicationSession appSession = (ApplicationSession)appSessions.get(context); if (appSession == null && create) { // XXX // sync to ensure valid? appSession = new ApplicationSession(id, this, context); appSessions.put(context, appSession); } // XXX // make sure that we haven't gone over the end of our // inactive interval -- if so, invalidate and create // a new appSession return appSession; } void removeApplicationSession(Context context) { appSessions.remove(context); } /** * Called by context when request comes in so that accesses and * inactivities can be dealt with accordingly. */ void accessed() { // set last accessed to thisAccessTime as it will be left over // from the previous access lastAccessed = thisAccessTime; thisAccessTime = System.currentTimeMillis(); } void validate() SoftwareControlSystems Abstraction Adjustable Integrative Safe Precise Integration Affordable Model-based (end-to-end) Manage heterogeneity better Automation Domain-specific tool chains, but Reusable infrastructure Systems industry turns IT driven: Aerospace, Automotive, Process,.. package org.apache.tomcat.session; import org.apache.tomcat.core.*; import org.apache.tomcat.util.StringManager; import java.io.*; import java.net.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; /** * Core implementation of a server session * James Duncan Davidson James Todd */ public class ServerSession { private StringManager sm = StringManager.getManager("org.apache.tomcat.session"); private Hashtable values = new Hashtable(); private Hashtable appSessions = new Hashtable(); private String id; private long creationTime = System.currentTimeMillis();; private long thisAccessTime = creationTime; private long lastAccessed = creationTime; private int inactiveInterval = -1; ServerSession(String id) { this.id = id; } public String getId() { return id; } public long getCreationTime() { return creationTime; } public long getLastAccessedTime() { return lastAccessed; } public ApplicationSession getApplicationSession(Context context, boolean create) { ApplicationSession appSession = (ApplicationSession)appSessions.get(context); if (appSession == null && create) { // XXX // sync to ensure valid? appSession = new ApplicationSession(id, this, context); appSessions.put(context, appSession); } // XXX // make sure that we haven't gone over the end of our // inactive interval -- if so, invalidate and create // a new appSession return appSession; } void removeApplicationSession(Context context) { appSessions.remove(context); } /** * Called by context when request comes in so that accesses and * inactivities can be dealt with accordingly. */ void accessed() { // set last accessed to thisAccessTime as it will be left over // from the previous access lastAccessed = thisAccessTime; thisAccessTime = System.currentTimeMillis(); } void validate() Modeling Layer

New Challenges: Cyber Physical Systems package org.apache.tomcat.session; import org.apache.tomcat.core.*; import org.apache.tomcat.util.StringManager; import java.io.*; import java.net.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; /** * Core implementation of a server session * James Duncan Davidson James Todd */ public class ServerSession { private StringManager sm = StringManager.getManager("org.apache.tomcat.session"); private Hashtable values = new Hashtable(); private Hashtable appSessions = new Hashtable(); private String id; private long creationTime = System.currentTimeMillis();; private long thisAccessTime = creationTime; private long lastAccessed = creationTime; private int inactiveInterval = -1; ServerSession(String id) { this.id = id; } public String getId() { return id; } public long getCreationTime() { return creationTime; } public long getLastAccessedTime() { return lastAccessed; } public ApplicationSession getApplicationSession(Context context, boolean create) { ApplicationSession appSession = (ApplicationSession)appSessions.get(context); if (appSession == null && create) { // XXX // sync to ensure valid? appSession = new ApplicationSession(id, this, context); appSessions.put(context, appSession); } // XXX // make sure that we haven't gone over the end of our // inactive interval -- if so, invalidate and create // a new appSession return appSession; } void removeApplicationSession(Context context) { appSessions.remove(context); } /** * Called by context when request comes in so that accesses and * inactivities can be dealt with accordingly. */ void accessed() { // set last accessed to thisAccessTime as it will be left over // from the previous access lastAccessed = thisAccessTime; thisAccessTime = System.currentTimeMillis(); } void validate() SoftwareControl Systems Modeling Layer Systems industry builds CPS: Aerospace, Automotive, Process,.. CPS - Integrated Modeling Discipline Security It is not possible to identify whether behavioral attributes are the result of computations (computer programs), physical laws, or both working together; Functionality and salient system characteristics are emerging through the interaction of physical and computational objects.

CPS and Model-Based Design  Model-Based Methods will drive the progress in CPS technology  Major advancements are needed in:  Composition theory  Certification and high confidence design  Secure systems design  System Integration  Design automation  Education  New application domains will emerge rapidly  Model-based system integration  Architecture exploration  Resilient systems DSML/ MetaM. Model Transf. V&V Model Mgmnt Tool Comp. New Abstractions   Semantic foundations  Composition platforms for Heterogeneity  Predictability under limited compositionality  Foundation for System Integration Compositional Certification  Agile Design Automation Open Architectures  Reliable systems from unreliable Components  Resiliency against Cyber Attacks

Example: System-of-System Engineering

Tool Chain for Architecture Exploration in FCS Component Adapters System Model Segment ADeVS, IONS RELEX Excel Rose CAT file IDD GReAT Transform System Integration C++ ______ IDL ______ Runtime Glue (Deployed) System Integration Test Harness C++ ______ IDL ______ Integration Laboratory Tools GReAT Transform XML ______ FCS Program: Boeing – Vanderbilt/ISIS

Risk Mitigation: Surrogate Modeling and Synthesis BC Surrogate Component GME Component Models Code Generator Input Interfaces Output Interfaces Business Logic (Generated) System Of Systems Common Operating Environment BC Surrogate Component Code Generator Input Interfaces Output Interfaces Acquired Business Logic “Real” BC Component DeploymentInstance Topology Networks Interfaces, Business Logic Interfaces “Real” BC Component GME System Models

Human Controllers Mixed Initiative Controller Context Dep. Command Interpretation Adaptive Resource Allocation Data Distribution Network Coordination Decision Support HCI Abstract Commands Platform Commands Assigned Platform Commands Platform Status Model-Based Experiment Integration Environment: SSW Building a Software/System “Wind Tunnel” (SSW) Unmanned Sensor Platforms Issues to be studied experimentally: Distributed Command and Control – Synchronization and coordination – Distributed dynamic decision making – Network effects Information Sharing – Shared situation awareness – Common Operation Picture (COP) – Network effects AFOSR PRET Project: Vanderbilt-ISIS, Berkeley, GMU

SSW Integration Architecture: Simulation Components and Models Simulation Data Distribution/Communication Middleware Simulation Integration Platform (HLA) Distributed Simulation Platform Instrumentation Layer code DEVS Federate. OmNet++ Federate CPN Federate. OGRE Federate Simulink Federate Controller Models Network Models Org. Models Fusion Models Model Integration Layer “Virtual” Components Instrumentation Layer Experiment Specification & Configuration Run-time Models Env. Models

Model Integration Ogre Adaptive Human Organization Mixed Initiative Controller Context Dep. Command Interpretation Adaptive Resource Allocation Data Distribution Network Coordination Decision Support HCI Abstract Commands Platform Commands Assigned Platform Commands Platform Status COP Elements COP Elements COP Elements Model-Integrated System and Software Laboratory Environment: C2 Windtunnel CPN SL/SF Devs GME OMNET Organization/Coordination Controller/Vehicle Dynamics Processing (Tracking) 3-D Environment (Sensors) Simulation Interaction Simulation Architecture Network Architecture SL/SF GME

Summary  CPS-s represent the coming new age in systems design  The required technology changes are profound – go way beyond the reach of “multidisciplinary” approaches  Role of model-based methods and tools is  The impact on competitiveness is huge: CPS-s are the foundation for the systems industry