ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.

Slides:



Advertisements
Similar presentations
1 Fault Diagnosis for Timed Automata Stavros Tripakis VERIMAG.
Advertisements

ECE 720T5 Fall 2011 Cyber-Physical Systems Rodolfo Pellizzoni.
UPPAAL Introduction Chien-Liang Chen.
Timed Automata.
Supervisory Control of Hybrid Systems Written by X. D. Koutsoukos et al. Presented by Wu, Jian 04/16/2002.
Model Checker In-The-Loop Flavio Lerda, Edmund M. Clarke Computer Science Department Jim Kapinski, Bruce H. Krogh Electrical & Computer Engineering MURI.
Verification of Hybrid Systems An Assessment of Current Techniques Holly Bowen.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
1 Formal Models for Stability Analysis : Verifying Average Dwell Time * Sayan Mitra MIT,CSAIL Research Qualifying Exam 20 th December.
Establishing IV&V Properties Steve Raque, NASA IV&V Facility Dr. Doron Drusinsky, Naval Postgraduate School 9/4/20091Establishing IV&V Properties.
Robust Hybrid and Embedded Systems Design Jerry Ding, Jeremy Gillula, Haomiao Huang, Michael Vitus, and Claire Tomlin MURI Review Meeting Frameworks and.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
The Rare Glitch Project: Verification Tools for Embedded Systems Carnegie Mellon University Pittsburgh, PA Ed Clarke, David Garlan, Bruce Krogh, Reid Simmons,
CSC 402, Fall Requirements Analysis for Special Properties Systems Engineering (def?) –why? increasing complexity –ICBM’s (then TMI, Therac, Challenger...)
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
© Siemens AG, CT SE 1, Dr. A. Ulrich C O R P O R A T E T E C H N O L O G Y Research at Siemens CT SE Software & Engineering Development Techniques.
Rodolfo Pellizzoni, Patrick Meredith, Marco Caccamo and Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign Hardware.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Intent Specification Intent Specification is used in SpecTRM
Dynamic Analysis of Multithreaded Java Programs Dr. Abhik Roychoudhury National University of Singapore.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Dynamic software reconfiguration using control supervisors Ugo Buy 13 June 2005.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Writing Systems Software in a Functional Language An Experience Report Iavor Diatchki, Thomas Hallgren, Mark Jones, Rebekah Leslie, Andrew Tolmach.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
1 Test Selection for Result Inspection via Mining Predicate Rules Wujie Zheng
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
Handling Mixed-Criticality in SoC- based Real-Time Embedded Systems Rodolfo Pellizzoni, Patrick Meredith, Min-Young Nam, Mu Sun, Marco Caccamo, Lui Sha.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Design Patterns VIII Chain of Responsibility, Strategy, State.
1 Black-box conformance testing for real-time systems Stavros Tripakis VERIMAG Joint work with Moez Krichen.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CSCI1600: Embedded and Real Time Software Lecture 8: Modeling III: Hybrid Systems Steven Reiss, Fall 2015.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Verification & Validation By: Amir Masoud Gharehbaghi
Title 11/5/2000 eSimplex Architecture Using MaCS Insup Lee Oleg Sokolsky Moonjoo Kim Anirban Majumdar Sampath Kannan Mahesh Viswanathan Insik Shin and.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
SAFE KERNEL EXTENSIONS WITHOUT RUN-TIME CHECKING George C. Necula Peter Lee Carnegie Mellon U.
ECE/CS 584: Verification of Embedded Computing Systems Model Checking Timed Automata Sayan Mitra Lecture 09.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Efficient Software-Based Fault Isolation Authors: Robert Wahbe Steven Lucco Thomas E. Anderson Susan L. Graham Presenter: Gregory Netland.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
MOPS: an Infrastructure for Examining Security Properties of Software Authors Hao Chen and David Wagner Appears in ACM Conference on Computer and Communications.
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Lecture 10, Computer Networks (198:552)
From Use Cases to Implementation
Presentation transcript:

ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni

/ 20 Administrative Next week: project presentations. –12 minutes per project + 3 minutes for questions. –If you cannot stay the whole lecture, please let me know by . –Time is limited, so ensure you focus on: 1. overview of the project 2. what you set out to accomplish 3. what are your (preliminary) results. –Class presentations end today – plan is to have all comments out by Thursday. 2

/ 20 Topic Today: Models & Verification Remember verification: ensuring that a subsystem (or step in the design) meets the objectives for that subsystem, i.e. it does what we want it to do. How to verify a system/subsystem? –(Exhaustive) testing –Formal verification 3

/ 20 Formal Verification: Key Issues Modeling –Formal verification verifies a model of the system, not the system implementation! –Models must represents both hardware as well as software component. –System-level verification – need architecture description language. –How can different models (ex: differential equations and automata) interact? Complexity –Most applicable techniques scale poorly – allows only for verification of limited-scale subsystems. 4

/ 20 Example: Timed Automata Finite-state Machines extended with timers. –Timers are continuous – effectively infinite-state. Time is explicit – very useful to model real-time systems. 5

/ 20 UPPAAL Automatic verification of Real-Time Communicating Systems by Constraint-Solving. Verification tool for real-time systems. Model-checking based on composition of timed automata. –Parallel timed automata can exchange signals. –Determines whether the system can reach a particular state or set of states. Very powerful property – model-checking can be reduced to verifying a set of linear constraints on clocks. 6

/ 20 Ex: Train Controller 7 Controller Train i Safety property: no two trains in their cross state at the same time

/ 20 An Alternative Solution: Run-Time Monitoring Divide the system is a set of simple, verifiable safety-critical components and a set of complex, untrusted components. A formal requirement specification is attached to each unverified component. The specification acts as a certificate: if the component behaves according to the specification, the system remain safe. At run-time, we monitor (check) the actual component behavior against its requirement specification expressed as a set of properties. If a requirement violation is detected, we perform a recovery action to restore the system to a safe state. Key idea: it is simpler to check the certificate that to verify the inner working of the unverified component. 8

/ 20 The Big Picture: Event-Based Monitoring 9 Event Generator E1 - - E2 E3 E t Monitor Handler (Recovery) Violation / Validation Event Specification Formula 1.The system to be monitored (HW/SW) 2. User specifies a set of events. Ex: a specified variable is modified 3. Event Generator generates a trace of observed events over time. 4. User specifies a formula using defined events. Ex: (E1 E2) * 5. Monitor checks if formula is validated / violated based on event trace. 6. A recovery handler is called if a validation / violation is detected. System

/ 20 Monitoring Overhead Two main issues: 1.How do we generate the events? Answer – architecture specific. 2.Where do we run the monitors? Most available frameworks use software-based solutions. –Event generation hooks are inserted by the compiler into the code. –Monitors are run in SW either on the same processor or a separate processor. Problem: the overhead is typically not predictable – how many events gets generated? 10

/ 20 Predictable Monitoring Solutions Sampling-based monitoring –Instead of running the monitor every time an event is generated, sample the system periodically. –Analysis is required to ensure that the sampling happens often enough to capture the properties of interest. Hardware-base monitoring –Required for HW components with no corresponding SW code –Run both the event generator and the monitors in HW –Potentially zero timing overhead (if done right) 11

Cyberphysical System Runtime Verification 12

/ 20 Simplex Model Run-time verification for Control Systems. Under normal conditions, run a complex controller. If the complex controller fails, switch to a simpler, verified one. 13

/ 20 Model: Hybrid Automata Similar to timed automata + continuous state –Discrete states and transitions –Timers, guards on transitions, invariants on states –New: continuous-state variables (ex: position, velocity, …) –New: dynamic in each state (differential equations) 14

/ 20 Model: Hybrid Automata Similar to timed automata + continuous state –Discrete states and transitions –Timers, guards on transitions, invariants on states –New: continuous-state variables (ex: position, velocity, …) –New: dynamic in each state (differential equations) 15

/ 20 How does it work? Discretize the continuous state space. From each discretized state space, compute the set of all reachable states in Delta time. 16

/ 20 How does it work? Discretize the continuous state space. From each discretized state space, compute the set of all reachable states in Delta time. 17

/ 20 How does it work? Discretize the continuous state space. From each discretized state space, compute the set of all reachable states in Delta time. 18

/ 20 Model Checking the System Result: we reduce the model to a discrete system (automata). –The automata does not need to keep implicit track of time – time is encoded in the transition overapproximation. We can then apply standard model checking to check that safety is guaranteed – the system can never reach an unsafe state. There are some constraints on the modeled dynamics… –Most importantly, no cyclic dependencies among variables in the dynamic of the system modeled by dx/dt = F(x). –Follow-up paper solves the problem… 19

/ 20 Case Study Autonomous off-road vehicle. John Deere is largest manufacturer of agricultural machinery. Over 30 parameters in the vehicle model. Goal: avoid roll-over. Automatic generation of Decision Module in VHDL. 20