Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.

Slides:



Advertisements
Similar presentations
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Advertisements

A Rely-Guarantee-Based Simulation for Verifying Concurrent Program Transformations Hongjin Liang, Xinyu Feng & Ming Fu Univ. of Science and Technology.
Semantic Translation of Simulink/Stateflow Models to Hybrid Automata using Graph Transformations A. Agarwal, Gy. Simon, G. Karsai ISIS, Vanderbilt University.
The Fixed Logical Execution Time (FLET) Assumption Tom Henzinger University of California, Berkeley.
Fault-Tolerant Real-Time Networks Tom Henzinger UC Berkeley MURI Kick-off Workshop Berkeley, May 2000.
Event Driven Real-Time Programming CHESS Review University of California, Berkeley, USA May 10, 2004 Arkadeb Ghosal Joint work with Marco A. Sanvido, Christoph.
FIN 685: Risk Management Topic 5: Simulation Larry Schrenk, Instructor.
Overview of PTIDES Project
Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
Type System, March 12, Data Types and Behavioral Types Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Advanced Tool Architectures Edward A. Lee UC Berkeley.
Chess Review May 11, 2005 Berkeley, CA Composable Code Generation for Distributed Giotto Tom Henzinger Christoph Kirsch Slobodan Matic.
Are “Embedded Systems" Just Systems Made with Small Computers? Chess: Center for Hybrid and Embedded Software Systems Invited Talk Artist International.
The Case for Precision Timed (PRET) Machines Edward A. Lee Professor, Chair of EECS UC Berkeley With thanks to Stephen Edwards, Columbia University. National.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Cyber-Physical Systems: A Vision of the Future Edward A. Lee Robert S. Pepper Distinguished.
Expressing Giotto in xGiotto and related schedulability problems Class Project Presentation Concurrent Models of Computation for Embedded Software University.
Summary of the Course What, Why, When. 2 The Y-chart view of the Course System Behavior System Architecture Behavior on Architecture Mapping Refine Implementation.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Hybrid Systems: From.
SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley System-Level Types for Component-Based Design Edward A.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
CprE 458/558: Real-Time Systems
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious.
EECE Hybrid and Embedded Systems: Computation T. John Koo, Ph.D. Institute for Software Integrated Systems Department of Electrical Engineering and.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Mahapatra-Texas A&M-Fall'001 Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Program Review May 10,
Motivation  Synthesis-based methodology for quick design space exploration enabled by automatic synthesis followed by analysis  Automatic synthesis:
Tools make jobs easier to do -A computer is a tool used by many professions A computer can do many different jobs because they are programmable - Machine.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
EMBEDDED SYSTEMS FOUNDATIONS OF CYBER-PHYSICAL SYSTEMS PETER MARWEDEL Embedded System Design.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Scientific Computing By: Fatima Hallak To: Dr. Guy Tel-Zur.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
EEL Software development for real-time engineering systems.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Incremental Checkpointing with Application to Distributed Discrete Event Simulation Thomas Huining Feng and Edward A. Lee {tfeng,
Actor Oriented Programming with CAL -designing embedded system components Johan Eker Department of Automatic Control, Lund University Chris Chang, Jörn.
Real-Time Systems, Events, Triggers. Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
Giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Sub-fields of computer science. Sub-fields of computer science.
OPERATING SYSTEMS CS 3502 Fall 2017
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Retargetable Model-Based Code Generation in Ptolemy II
Concurrent Models of Computation
Motivation EECS 20 Lecture 1 (January 17, 2001) Tom Henzinger.
Quantitative Modeling, Verification, and Synthesis
Presentation transcript:

Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL

System Build & test Bridge Aircraft Software etc. Complexity Management in System Design

System Model Calculate Build & test Abstract Predict Applied Mathematics Bridge Aircraft Software etc. Complexity Management in System Design

Engineering Differential Equations Linear Algebra Probability Theory Computer Science Logic Discrete Structures Automata Theory Mathematical Modeling: A Tale of Two Cultures

Uptime: 125 years

Why can’t we do Software?

Engineering Theories of estimation. Theories of robustness. Computer Science Theories of correctness. Why can’t we do Software? RB

Engineering Theories of estimation. Theories of robustness. Goal: build reliable systems. Computer Science Theories of correctness. Temptation: programs are mathematical objects; hence we want to prove them correct. Why can’t we do Software?

B EngineeringComputer Science The CHESS Premise: The pendulum has swung too far R

B EngineeringComputer Science Embedded Systems are a perfect playground to readjust the pendulum. R PhysicalityComputation The CHESS Premise: The pendulum has swung too far

Embedded System Execution constraints CPU speed power failure rates Reaction constraints deadlines throughput jitter Computation algorithms protocols reuse

Embedded System Execution constraints CPU speed power failure rates Reaction constraints deadlines throughput jitter Computation algorithms protocols reuse Embedded System Design is generalized hardware design (e.g. System C).

Embedded System Execution constraints CPU speed power failure rates Reaction constraints deadlines throughput jitter Computation algorithms protocols reuse Embedded System Design is generalized control design (e.g. Matlab Simulink).

Embedded System Execution constraints CPU speed power failure rates Reaction constraints deadlines throughput jitter Computation algorithms protocols reuse Embedded System Design is generalized software design (e.g. RT Java).

Embedded System Execution constraints CPU speed power failure rates Reaction constraints deadlines throughput jitter Computation algorithms protocols reuse CHESS

We need a new formal foundation for embedded systems, which systematically and even-handedly re-marries computation and physicality. The CHESS Challenge

CHESS Results: Integration of the Two Cultures Engineering Component model: transfer function Composition: parallel Connection: data flow Computer Science Component model: subroutine Composition: sequential Connection: control flow [Hybrid Systems; Ptolemy; Metropolis; Metamodels]

Equational Models Strengths: Concurrency Quantitative constraints (time, power, QoS) Tool support: Best-effort design Optimization Abstract-Machine Models Dynamic change Complexity theory Worst-case analysis Constraint satisfaction CHESS Results: Integration of the Two Cultures Engineers must understand both complexities and trade-offs [EECS 20].

We need a new formal foundation for computational systems, which systematically and even-handedly re-marries performance and robustness. The Cyber-Physical Challenge What is being computed? At what cost? How does the performance change under disturbances? (wrong assumptions; change of environment; change of resources; failures; attacks)

We need a new formal foundation for computational systems, which systematically and even-handedly re-marries performance and robustness. The Cyber-Physical Challenge Subchallenge 1: build predictable software Subchallenge 2: build robust software

Subchallenge 1: Build Predictable Software

Predictable = Deterministic A system is deterministic if for every input behavior, the output behavior is unique.

Subchallenge 1: Build Predictable Software Predictable = Deterministic A system is deterministic if for every input behavior, the output behavior is unique. -internal (invisible) behavior need not be unique -behavior includes all nonfunctional aspects of interest: for real-time systems, behavior includes time stamps

Nondeterminism Central to complexity theory: P v. NP Central to abstraction: -high-level programming languages: e.g. memory management -algorithm design: as long as there exists an 0·i a[i+1], swap a[i] and a[i+1] -don’t cares: if input=0, then output=? Central to concurrency: a||b = ab + ba

Nondeterminism Central to complexity theory: P v. NP Central to abstraction: -high-level programming languages: e.g. memory management -algorithm design: as long as there exists an 0·i a[i+1], swap a[i] and a[i+1] -don’t cares: if input=0, then output=? Central to concurrency: a||b = ab + ba invisible deterministic

Nondeterminism Central to complexity theory: P v. NP Central to abstraction: -high-level programming languages: e.g. memory management -algorithm design: as long as there exists an 0·i a[i+1], swap a[i] and a[i+1] -don’t cares: if input=0, then output=? Central to concurrency: a||b = ab + ba invisible deterministic visible a: x := x+1 b: x := 2x

Nondeterminism Central to complexity theory: P v. NP Central to abstraction: -high-level programming languages: e.g. memory management -algorithm design: as long as there exists an 0·i a[i+1], swap a[i] and a[i+1] -don’t cares: if input=0, then output=? Central to concurrency: a||b = ab + ba Alternatives to threads: actor models; transactional memory invisible deterministic visible less nondeterministic

Can we build a real-time programming language that treats time in the way in which high-level languages treat memory? -programmer specifies the time of outputs -programmer assumes the platform offers sufficient performance -compiler generates a suitable schedule or throws an exception

The LET (Logical Execution Time) Programming Model Software Task read sensor input at time t write actuator output at time t+d, for specified d

time ttime t+d real execution on CPU buffer output The LET (Logical Execution Time) Programming Model

50% CPU speedup Portability

Task 2 Task 1 Composability

Timing predictability: minimal jitter Function predictability: no race conditions Determinism

make output available as soon as ready Contrast LET with Standard Practice

data race Contrast LET with Standard Practice

But what about performance? The Giotto project at UC Berkeley.

Can we build a programming language that treats reliability in the way in which high-level languages treat memory? -programmer specifies the mean-time to failure for outputs -programmer assumes the platform offers sufficient reliability -compiler generates a task replication mapping or rejects the program [HTL project: Chatterjee et al.]

Subchallenge 2: Build Robust Software

Robust = Continuous A system is continuous if for all real-valued quantities, small input changes cause small output changes.

Subchallenge 2: Build Robust Software Robust = Continuous A system is continuous if for all real-valued quantities, small input changes cause small output changes. -8  >0. 9  >0. input-change ·  ) output-change ·  -can apply only to real-valued quantities: sensor readings and actuator settings; input and output time stamps

A Program kbfilter.c 12,000 lines of code

A Program kbfilter.c 12,000 lines of code

A Program kbfilter.c 12,000 lines of code r

An Error Trace In general, programs are not continuous.

More continuous: read sensor value x at time t; compute “continuous” function y = f(x); write output value y at time t+d; Less continuous: read sensor value x; if x · c then... else...

More continuous: read sensor value x at time t; compute “continuous” function y = f(x); write output value y at time t+d; Less continuous: read sensor value x; if x · c then... else... We need system preference metrics in addition to boolean correctness criteria. [A Discounted Theory of Systems: de Alfaro et al.]

Summary 1.We need high-level programming models for building deterministic systems from nondeterministic parts. 2.We need system preference metrics for building continuous systems from noncontinuous parts.