Towards a Model-Based Toolchain for High Confidence Design Peter Volgyesi Gabor Karsai Janos Sztipanovits Sandeep Neema Harmon Nine Joe Porter Ryan Thibodeaux.

Slides:



Advertisements
Similar presentations
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Semantic Translation of Simulink/Stateflow Models to Hybrid Automata using Graph Transformations A. Agarwal, Gy. Simon, G. Karsai ISIS, Vanderbilt University.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Automatic Verification of Component-Based Real-Time CORBA Applications Gabor Madl Sherif Abdelwahed
Introduction Designing cost-sensitive real-time control systems for safety-critical applications requires a careful analysis of the cost/fault-coverage.
Software Engineering COMP 201
2/11/2010 BEARS 2010 On PTIDES Programming Model John Eidson Jeff C. Jensen Edward A. Lee Slobodan Matic Jia Zou PtidyOS.
Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
VERTAF: An Application Framework for Design and Verification of Embedded Real-Time Software Pao-Ann Hsiung, Shang-Wei Lin, Chih-Hao Tseng, Trong-Yen Lee,
Attacks on Three Tank System Three Tank System Testing Model-Based Security Features Experimental Platform for Model-Based Design of Embedded Systems Matt.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Frameworks and Tools for High-Confidence Design of Adaptive, Distributed Embedded Control Systems - Project Overview - Janos Sztipanovits ISIS-Vanderbilt.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
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.
Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking Gabor Madl
Chess Review October 4, 2006 Alexandria, VA Embedded Systems Education: Vanderbilt Edited and Presented by Janos Sztipanovits ISIS, Vanderbilt University.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
On the Correctness of Model Transformations Gabor Karsai ISIS/Vanderbilt University.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
CprE 458/558: Real-Time Systems
Chess Review May 11, 2005 Berkeley, CA Platform Modeling and Analysis Presented by Tivadar Szemethy ISIS, Vanderbilt University.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Model-Based Design Janos Sztipanovits Vanderbilt University.
5/24/011 Advanced Tool Integration for Embedded Systems Assurance Insup Lee Department of Computer and Information Science University of Pennsylvania.
System Integration Management (SIM)
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
NSF/ITR: Foundations of Hybrid and Embedded Software Systems Model-Integrated Computing: Foundations DSML Composition Model Synthesis and Model Transformation.
Cluster Reliability Project ISIS Vanderbilt University.
Co-design Environment for Secure Embedded Systems Matt Eby, Janos L. Mathe, Jan Werner, Gabor Karsai, Sandeep Neema, Janos Sztipanovits, Yuan Xue Institute.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
1 Introduction to Software Engineering Lecture 1.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
A Pattern for DRE-s: The MultiGraph Model of Computation Gabor Karsai, Csaba Biegl, Akos Ledeczi, Janos Sztipanovits Institute for Software-Integrated.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Matthew Emerson Sherif Abdelwahed.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Integrating Security Modeling in Embedded System Design Jan Werner, Matt Eby, Janos Mathe, Gabor Karsai, Yuan Xue, Janos Sztipanovits Institute for Software.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Hosted by: Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Reliability for FCS Discussion Format May 18-19, 2004 ARO Workshop.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
Control-Theoretic Approaches for Dynamic Information Assurance George Vachtsevanos Georgia Tech Working Meeting U. C. Berkeley February 5, 2003.
Institute for Software Integrated Systems Vanderbilt University Virtual Prototyping Test Bed for CPS Janos Sztipanovits Institute for Software Integrated.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Model-Driven Analysis Frameworks for Embedded Systems
Integrating Security Modeling in Embedded System Design
Retargetable Model-Based Code Generation in Ptolemy II
An overview of the CHESS Center
Multiple Aspect Modeling of the Synchronous Language Signal
Presentation transcript:

Towards a Model-Based Toolchain for High Confidence Design Peter Volgyesi Gabor Karsai Janos Sztipanovits Sandeep Neema Harmon Nine Joe Porter Ryan Thibodeaux Vanderbilt University/ISIS

2 Recap: Focus Area 2: Model-based Software Design and Verification Foundations of model-based software design for high- confidence, networked embedded systems applications: 1. Semantic foundations for modeling languages and model transformations, 2. Precisely architected software and systems platforms that guarantee system properties via construction, 3. Methods for static source code verification and testing, 4. Methods for dynamic runtime verification and testing. Deliverables: theories, methods and design environment components integrated into our prototype toolchain, and a high-confidence embedded platform integrated into our experimental systems.

3 Focus Area 2: Model-based Software Design and Verification MSD-1. Model-Integrated Computing (MIC) (Karsai,Lee,Sztipanovits) Formal, metamodel-based semantic foundations for domain- specific modeling languages (DSML), based on the concept of semantic anchoring, and model transformations. MSD-2. Embedded Software Composition Platforms (Lee,Karsai,Sastry,Sztipanovits) Heterogeneous software composition platform that offers middleware support for a well-defined suite of models of computations (MoC), incorporating dynamic type checking for system-level types and seamless interfaces towards underlying systems platforms such as Time Triggered Architecture and towards higher-level modeling environments. MSD-3. Automated Source-code Verification and Testing (Clarke,Necula) New static analysis techniques for programming languages widely used in embedded software development. (Presentation by Prof. Clarke) MSD-4. Model-Based Runtime Testing and Verification (Krogh,Tomlin,Clarke,Sztipanovits) Algorithms for the runtime, passive conformance testing of system behavior to a set of approximate models.

4 Links to overall Design Flow RA FD CD HwA SY DPL Functional Mod/Sim Arch Mod/Sim Alloc./Sched. Analysis HW Pwr/ Perf Est Latency/RT Analysis SwA Requirement Specification Control Design Component Design Software Architecture HW Arch. Design System Arch. Design Code Gen. Verif. SW Deployment MSD-1 MSD-2 MSD-3 MSD-4

5 First prototype toolchain elements Functional Design Resource allocation (Scheduling) Execution Platform Software Architecture Componentization Allocation and Deployment Matlab/Simulink/Stateflow ECSL Modeling Tool (GME) CSP-based Scheduler Time-Triggered Platform Simulink/Stateflow -Single rate subsystems -Synchronous Dataflow semantics -Event-triggered charts ECSL -Simulink/Stateflow import -Additional aspects for components, architecture, and deployment -Code generation for -Dataflow (Simulink/SDF) models -Statechart (Stateflow) models -Platform interface code Scheduler -Constraint-based generation of task and bus message schedules for a time-triggered platform Platform -Multiple processors connected via a time-shared bus -Tasks are cyclic, time-triggered -Message receive/send happens before/after task release/finish

6 Design rationale for prototype toolchain (1) The connection towards Simulink/Stateflow Simulink/Stateflow is the industry standard SDF and (restricted) Statechart semantics is well-defined and widely used Could be substituted in later stages of the project The ECSL language Software components and architectures and deployment had to be captured in models and integrated with the functional models. Not all features of Simulink/Stateflow are supported – only a ‘safe’ subset. Dataflow (Simulink/SDF) model: scheduling based on the time- triggered paradigm (t_k is determined by an off-line scheduler) receive(t_k)  execute()  send(t_k+1) Extensible towards other models of computation

7 Embedded Control System Language

8 Design rationale for prototype toolchain (2) Code generation Dataflow/SDF code generation: Explicit type inference (if Simulink model is not fully typed) Graph transformation into an intermediate code format (C-like, Abstract Syntax Graph) Printing C code (or Java, or …)? Stateflow code generation: Follows Stateflow semantics (state transitions) Graph transformation into an intermediate code format (C-like, Abstract Syntax Graph) Printing C code (or Java, or …)? Both code generators are extensible/backend can be replaced

9 Code generation Dataflow(Simulink) and Statechart(Stateflow) The code generator is formally specified as a programmed graph transformation system. This allows reasoning about the correctness of the transformation itself. Abstract Syntax Graph of executable code C source code The result of the transformation is an abstract syntax graph that allows ‘printing’ the executable code in various languages. Support for verification: The code generation could insert verification conditions (derived from the models )into the generated ASG.

10 Design rationale for prototype toolchain (3) Scheduler Explicit, design-time generation of cyclic time-triggered schedules for tasks and messages Constraint-based scheduling approach The Platform Robust, timed execution of tasks on a network of processors Time-triggered approach: - Nodes schedulers are time-synchronized - Tasks are run cyclically released at specific points in time - Messages are transferred at specific points in time Tasks: Receive(t_k)  execute()  Send (t_k+1) Task: single rate, multiple components Components == Simulink subsystems Messages == input and output dataflows (signals) of subsystems

11 Scheduling The model is translated into a scheduling problem: Input: set of tasks with desired rates, set of messages with desired source/destination tasks and rates Output: task release times (in a cyclic schedule) Formulation: Constraint Satisfaction Problem (equalities and inequalities) over integers. Constraint Solver Engine (GECode) TaskScheduleMessageSchedule Support for certification: Off-line scheduling of time-critical tasks and messages ensures correct temporal behavior.

12 Realization Simulation-based verification Symbolic verification (TBD) Model Editing Environment (ECSL-DP) Modeling/Simulation Environment (Simulink/Stateflow) Mdl2Mga StateflowDataflowSystem Simulink Code Gen Scheduler Conf Gen Stateflow Code Gen C code TT Schedule Conf

13 Platforms TTTech MPC 555 micros TTP/C comm TTTech Software tools Fault-tolerance Soekris Linux w/ 3xEthernet TT Virtual Machine on standard UDP and Linux No fault tolerance (yet)

14 TT Virtual Machine Step 1: DEVS model of the TT scheduler DEVS: (Discrete-Event Systems) Finite-State Machines with - Continuous time model for timed transitions - Communication/triggering via discrete events Abstract model, has C++ simulator implementation Step 2: Prototype on POSIX interface - Embedded Linux hosts - Isolated Ethernet network (UDP) - High-precision timers Kernel TT Comm TT Sched TT Tasks Ethernet (TT, shared bus)

15 Plans Extending the modeling language Other coordination techniques (P/S, etc.) Extending the TT/VM Platform Event-driven communications Coordination patterns Fault tolerance Integrating code generation with code verification Propagating/generating verification conditions into the generated code