Presentation is loading. Please wait.

Presentation is loading. Please wait.

NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Hybrid Systems: From.

Similar presentations


Presentation on theme: "NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Hybrid Systems: From."— Presentation transcript:

1 NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Hybrid Systems: From Models to Code Tom Henzinger UC Berkeley

2 French Guyana, June 4, 1996 $800 million embedded software failure

3 ITR Kickoff / Chess 3 Mars, December 3, 1999 Crashed due to uninitialized variable

4 $4 billion development effort 40-50% system integration & validation cost

5 ITR Kickoff / Chess 5 Sources of Complexity -concurrency -real time -heterogeneity A hybrid system consists of multiple continuous (physical) and discrete (computational) components that interact with each other in real time.

6 ITR Kickoff / Chess 6 Embedded Software Design: Current State Code Model (e.g., Simulink) Design Simulate Optimize Test Code generation No exact correspondence between model and code: -difficult to upgrade code -difficult to reuse code No formal connection between requirements, model, and resources: expensive development cycle iterates all stages Redesign

7 ITR Kickoff / Chess 7 Embedded Software Design: Our Vision Code Model Design Verify Compilation (analysis, optimization, and code generation)

8 ITR Kickoff / Chess 8 The FRESCO Project (Formal Real-Time Software Components) Hybrid System Model MASACCIO: correctness by formal verification against requirements Time-Safe Code GIOTTO: correctness by schedulability analysis against resources

9 ITR Kickoff / Chess 9 Continuous (Euclidean) Systems State space:R Dynamics:initial condition + differential equations n Room temperature:x(0) = x 0 x’(t) = -K·x(t) x t x0x0 Analytic complexity.

10 ITR Kickoff / Chess 10 Discrete (Boolean) Systems State space:B Dynamics:initial condition + transition relation m Heater: heat t off on offon Combinatorial complexity.

11 The Curse of Concurrency 300,000 latches

12 10 stars 11 10 stars 10 states 100,000 11

13 ITR Kickoff / Chess 13 Hybrid Systems State space:B  R Dynamics:initial condition + transition relation + differential equations m Thermostat: t off on n x0x0 off x’ = -K·x on x’ = K·(H-x) x  l x  u x  U x  L

14 ITR Kickoff / Chess 14 x y Hybrid Automata

15 ITR Kickoff / Chess 15 far x’  [-50,-40] x  1000 near x’  [-50,-30] x  0 past x’  [30,50] x  100 x = 1000 x = 0 x = 100  x :  [2000,  ) app! exit! app exit train Hybrid Automata

16 ITR Kickoff / Chess 16 up y’ = 9 open y’ = 0 raise lower gate y  90 y = 90 down y’ = -9 closed y’ = 0 y  0 y = 0 raise?lower?raise? lower? Hybrid Automata

17 ITR Kickoff / Chess 17 t’ = 1 t   t := 0 app? lower! t’ = 1 t   t := 0 exit? raise! appexit idle controller raiselower Hybrid Automata

18 ITR Kickoff / Chess 18 Safety:   ( x  10  loc[gate] = closed ) Liveness:     ( loc[gate] = open ) Real time:   z :=0. ( z’ = 1    ( loc[gate] = open  z  60 )) Requirements Verification and failure analysis by model checking (e.g., HyTech).

19 ITR Kickoff / Chess 19 1. Scalability Possible solutions: -hierarchy (MASACCIO) -assume-guarantee decomposition (interfaces) 2. Robustness Possible solutions: -  -variability -discounted future Two Problems with Hybrid Automata

20 ITR Kickoff / Chess 20 MASACCIO Hierarchical Hybrid Automata

21 ITR Kickoff / Chess 21 MASACCIO Hierarchical Hybrid Automata

22 ITR Kickoff / Chess 22 MASACCIO Hierarchical Hybrid Automata

23 ITR Kickoff / Chess 23 MASACCIO Hierarchical Hybrid Automata

24 ITR Kickoff / Chess 24 MASACCIO

25 ITR Kickoff / Chess 25 1. Scalability Possible solutions: -hierarchy (MASACCIO) -assume-guarantee decomposition (interfaces) 2. Robustness Possible solutions: -  -variability -discounted future Two Problems with Hybrid Automata

26 ITR Kickoff / Chess 26 slightly perturbed automaton The Robustness Problem Hybrid Automaton Property

27 ITR Kickoff / Chess 27 Safe Hybrid Automaton x = 3 The Robustness Problem

28 ITR Kickoff / Chess 28 Unsafe Hybrid Automaton x = 3+  The Robustness Problem

29 ITR Kickoff / Chess 29 A Possible Solution of the Robustness Problem: Metrics on Traces ModelProperty instead of consider Yes or No  - Variation

30 ITR Kickoff / Chess 30 value(Model,Property): States  {Yes, No} value(Model,Property): States  R A More Radical Solution of the Robustness Problem: Discounting the Future

31 ITR Kickoff / Chess 31 value(Model,Property): States  {Yes, No} value(m,  T) =  X. (T  pre(X)) discountedValue(Model,Property): States  R discountedValue(m,  T) =  X. max(T,  pre(X)) discount factor 0< <1 A More Radical Solution of the Robustness Problem: Discounting the Future

32 ITR Kickoff / Chess 32 Robustness Theorem: If discountedBisimilarity(m 1,m 2 ) > 1 - , then |discountedValue(m 1,p) - discountedValue(m 2,p)| < f(  ). Further Advantages of Discounting: -approximability because of geometric convergence (avoids non-termination of verification algorithms) -applies also to probabilistic systems and to games (enables reasoning under uncertainty and control) A More Radical Solution of the Robustness Problem: Discounting the Future

33 ITR Kickoff / Chess 33 The FRESCO Project (Formal Real-Time Software Components) Hybrid System Model MASACCIO: correctness by formal verification against requirements Time-Safe Code GIOTTO: correctness by schedulability analysis against resources

34 ITR Kickoff / Chess 34 The History of Computer Science: Lifting the Level of Abstraction The “assembly age”: Programming to the platform High-level languages: Programming to the application Compilation -Traditional high-level languages abstract time. -This abstraction is unsuitable for real-time applications, which are still programmed in terms of platform time (“priority tweaking”). -GIOTTO: Real-time programming in terms of application time. Requirements focused code Resource focused code

35 ITR Kickoff / Chess 35 MASACCIO GIOTTO Time-Triggered Programming

36 ITR Kickoff / Chess 36 MASACCIO GIOTTO Time-Triggered Programming

37 ITR Kickoff / Chess 37 200 Hz 400 Hz 200 Hz 1 kHz MASACCIO GIOTTO Time-Triggered Programming

38 ITR Kickoff / Chess 38 1. Concurrent Periodic Tasks: -sensing -control law computation -actuating 2. Multiple Modes of Operation: -navigational modes (autopilot, manual, etc.) -maneuver modes (taxi, takeoff, cruise, etc.) -degraded modes (sensor, actuator, CPU failures) MASACCIO GIOTTO Time-Triggered Programming

39 ITR Kickoff / Chess 39 Mode 1 Mode 4Mode 3 Mode 2 Task S 400 Hz Task C 200 Hz Task A 1 kHz Task S 400 Hz Task C 200 Hz Task A’ 1 kHz Task C’ 100 Hz Task A 1 kHz Task S 400 Hz Task C 200 Hz Task A 2 kHz Task A” 1 kHz Condition 1.2 Condition 2.1 MASACCIO GIOTTO Time-Triggered Programming

40 ITR Kickoff / Chess 40 Host code e.g. C Glue code Giotto Functionality. -Real time. -Reactive. -Concurrent. Timing and interaction. This kind of software is reasonably well understood. The software complexity lies in the glue code. -No time. -Atomic. -Sequential. MASACCIO GIOTTO Separation of Concerns

41 ITR Kickoff / Chess 41 Model Requirements Resources Verification Implementation Environment Two Opposing Forces automatic (model checking) automatic (compilation)

42 ITR Kickoff / Chess 42 Model Requirements Resources Verification Implementation Environment Two Opposing Forces property preserving

43 ITR Kickoff / Chess 43 Component Requirements Resources Verification Implementation Two Opposing Forces Component Composition

44 ITR Kickoff / Chess 44 Component Requirements Resources Verification Implementation Two Opposing Forces Component Deep Compositionality no change (time, fault tolerance, etc.)

45 ITR Kickoff / Chess 45 Achieving Verifiability and Compositionality in GIOTTO: The FLET (Fixed Logical Execution Time) Assumption Software Task read sensor input at time t write actuator output at time t+d, for fixed d d>0 is the task's "logical execution time"

46 ITR Kickoff / Chess 46 Embedded Programming in GIOTTO The programmer specifies sample rate d and jitter j to solve the control problem at hand. The compiler ensures that d and j are met on a given platform (hardware resources and performance); otherwise it rejects the program.

47 ITR Kickoff / Chess 47 time ttime t+d possible physical execution on CPU buffer output Implementing the FLET Assumption

48 ITR Kickoff / Chess 48 Contrast the FLET with Standard Practice output as soon as ready

49 ITR Kickoff / Chess 49 -predictable timing and value behavior (no internal race conditions, minimal jitter) -portable, composable code (as long as the platform offers sufficient performance) Advantages of the FLET and GIOTTO

50 ITR Kickoff / Chess 50 From Hybrid Models -robust hybrid models (tube topologies, discounting) -model checking for hierarchical and stochastic hybrid models -multi-aspect assume-guarantee decomposition of hybrid models (interface theories for time, resources, fault tolerance) To Embedded Code -distributed schedulability analysis and code generation -on-line code modification and fault tolerance Research Agenda

51 ITR Kickoff / Chess 51 Scalable and Robust Hybrid Systems: Luca de Alfaro, Arkadeb Ghosal, Marius Minea, Vinayak Prabhu, Marcin Jurdzinski, Rupak Majumdar GIOTTO: Ben Horowitz, Christoph Kirsch, Rupak Majumdar, Slobodan Matic, Marco Sanvido Credits

52 ITR Kickoff / Chess 52 -Alex Aiken on time-safety analysis of embedded code -Karl Hedrick on Giotto implementation of electronic throttle control -Edward Lee on Giotto modeling and code generation in Ptolemy -Edward Lee on rich interface theories as type theories for component interaction -George Necula on model checking device drivers -George Necula on scheduler-carrying embedded code -Alberto Sangiovanni-Vincentelli on synthesis of protocol converters from interfaces -Alberto Sangiovanni-Vincentelli and Shankar Sastry on platform-based design of a helicopter flight control system using Giotto -Shankar Sastry on hybrid automata Collaborators of the FRESCO Project


Download ppt "NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Hybrid Systems: From."

Similar presentations


Ads by Google