Giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley www.eecs.berkeley.edu/~fresco/giotto.

Slides:



Advertisements
Similar presentations
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Advertisements

A Hierarchical Co-ordination Language for Interacting Real-time Tasks Arkadeb Ghosal, UC Berkeley Thomas A. Henzinger, EPFL Daniel Iercan, "Politehnica"
Time Safety Checking for Embedded Programs Thomas A. Henzinger, Christoph M. Kirsch, Rupak Majumdar and Slobodan Matic.
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.
Overview of PTIDES Project
Communication Scheduling for Time-Triggered SystemsSlide 1 Communication Scheduling for Time-Triggered Systems Paul Pop, Petru Eles and Zebo Peng Dept.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
February 21, 2008 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, UC 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,
April 16, 2009 Center for Hybrid and Embedded Software Systems PtidyOS: An Operating System based on the PTIDES Programming.
Component-Based Design of Embedded Control Systems Luca Dealfaro Chamberlain Fong Tom Henzinger Christopher Hylands John Koo Edward A. Lee Jie Liu Xiaojun.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
From Models to Code: The Missing Link in Embedded Software Tom Henzinger University of California, Berkeley Joint work with Ben Horowitz and Christoph.
Random Testing of Interrupt-Driven Software John Regehr University of Utah.
Chess Review May 11, 2005 Berkeley, CA Composable Code Generation for Distributed Giotto Tom Henzinger Christoph Kirsch Slobodan Matic.
Chess Review May 10, 2004 Berkeley, CA Distributed Schedule-Carrying Code Tom Henzinger Slobodan Matic.
1 of 14 1/15 Schedulability Analysis and Optimization for the Synthesis of Multi-Cluster Distributed Embedded Systems Paul Pop, Petru Eles, Zebo Peng Embedded.
Embedded and Real Time Systems Lecture #4 David Andrews
Define Embedded Systems Small (?) Application Specific Computer Systems.
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
Expressing Giotto in xGiotto and related schedulability problems Class Project Presentation Concurrent Models of Computation for Embedded Software University.
1 Oct 2, 2003 Design Optimization of Mixed Time/Event-Triggered Distributed Embedded Systems Traian Pop, Petru Eles, Zebo Peng Embedded Systems Laboratory.
1 of 14 1 Analysis and Synthesis of Communication-Intensive Heterogeneous Real-Time Systems Paul Pop Computer and Information Science Dept. Linköpings.
Giotto A Time-Triggered Language for Embedded Programming Thomas A. Henzinger, Benjamin Horowitz Christoph M. Kirsch, Rupak Majumdar UC Berkeley.
February 21, 2008 Center for Hybrid and Embedded Software Systems Mapping A Timed Functional Specification to a Precision.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Hybrid Systems: From.
1 of 14 1/15 Design Optimization of Multi-Cluster Embedded Systems for Real-Time Applications Paul Pop, Petru Eles, Zebo Peng, Viaceslav Izosimov Embedded.
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.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
Model-based Analysis of Distributed Real-time Embedded System Composition Gabor Madl Sherif Abdelwahed
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
ARTIST2 Network of Excellence on Embedded Systems Design cluster meeting –Bologna, May 22 nd, 2006 System Modelling Infrastructure Activity leader : Jan.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
CprE 458/558: Real-Time Systems
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI Gautam Biswas and Ken.
Giotto and TMO Yerang Hur System Design Research Lab. Dept. of Computer and Information Science.
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
RTOS Design & Implementation Swetanka Kumar Mishra & Kirti Chawla.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
RTS Meeting 8th July 2009 Introduction Middleware AUTOSAR Conclusion.
1. Introduction 1.1 Background 1.2 Real-time applications 1.3 Misconceptions 1.4 Issues in real-time computing 1.5 Structure of a real-time system.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
1 of 14 1/15 Synthesis-driven Derivation of Process Graphs from Functional Blocks for Time-Triggered Embedded Systems Master thesis Student: Ghennadii.
Giotto A tool-supported design methodology for developing hard real-time applications Cyber Physical Systems Lab Ramtin Raji Kermani.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Tutorial Robot: an implementation of the Embedded Machine Daniel Jhin Yoo EECS (Senior) Alvin AuYoung EECS (Junior)
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
A flexible simulator for control- dominated distributed real-time systems Johannes Petersson IDA/SaS/ESLAB Johannes Petersson IDA/SaS/ESLAB Master’s Thesis.
3 Unit Course, Spring 2001 EECS Department, UC Berkeley Embedded Software Engineering Christoph Kirsch.
CPU Control unit ALU Registers Ports Other auxiliary units Output devices Monitor Printer Other devices Input devices Keyboard Mouse Other devices Memory.
Real-Time Operating System Design
1 of 14 1/15 Schedulability-Driven Frame Packing for Multi-Cluster Distributed Embedded Systems Paul Pop, Petru Eles, Zebo Peng Embedded Systems Lab (ESLAB)
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
1 G53SRP: Introduction to Real Time Scheduling Chris Greenhalgh School of Computer Science.
A hierarchical coordination language for reliable real-time tasks Arkadeb Ghosal University of California, Berkeley Dissertation Talk CHESS Seminar 22.
Why does it need? [USN] ( 주 ) 한백전자 Background Wireless Sensor Network (WSN)  Relationship between Sensor and WSN Individual sensors are very limited.
T.R.I.D.E Simon Overell (seo01) Supervisor: Keith Clark.
Embedded Control System Development with Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley.
REAL-TIME OPERATING SYSTEMS
TrueTime.
Gabor Madl Nikil Dutt Domain-specific Modeling of Power Aware Distributed Real-time Embedded Systems Gabor Madl
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Presentation transcript:

Giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley (presented by Marius Minea)

Embedded Systems Development Control Engineer Control Design Application models derives simulates Software Engineer Distributed Platform Giotto Program decomposes implements tests Functionality & Timing Matlab Giotto!

The Time-Triggered Paradigm [Kopetz]: -all communication activities triggered by clock -predictability (i.e., verifiability) -safety-critical applications (e.g., automotive) TTA: hardware & protocol realization Giotto: programming language realization Our Approach

Motivating Example: Flight Control (DARPA SEC Program)

Periodic Tasks INU task GPS task air data task pilot task pitch control roll control throttle controlaileron 1 taskaileron 2 tasktailplane taskrudder taskthrust task Sensor tasksControl tasksActuator tasks

200 Hz 1 kHz 200 Hz1 kHz

Modes Control system of airplane is designed to operate in different modes. In each mode a particular set of controllers is deployed. There are switches between modes. For example: –Navigational modes (taxi, takeoff, cruise). –Maneuver modes (dive, roll). –Fault tolerance modes (track which hardware is working).

Giotto Giotto is a tool-supported methodology for embedded control systems design Giotto consists of –a time-triggered and platform-independent programming language –a compiler –a runtime library Giotto provides an abstract programmer’s model

The Giotto Methodology Giotto Executable Giotto Program Compilation Giotto Runtime Library Distributed Platform Functionality & Timing Scheduling & Communication RTOS, e.g., VxWorks

Task Definition: Abstract Syntax fInput ports State Output ports Period

Task Invocation: Time-Deterministic Semantics fInput ports State Output ports Time Task time t Period 10ms time t+10ms

fInput portsOutput ports Time Task time t Period 10ms time t+10ms Don’t care Task Invocation: Time-Deterministic Semantics State Actual time the task uses the CPU (may be preempted)

Input/Output: Sensors-Control Law-Actuators f State SensorsActuators

Inter-task Communication: Connections P Q

Different Periods Time Task QQ tt+10mstt+5ms P

Q-to-Q Connection P Q

Zero-Delay Semantics Time Task QQ tt P

P-to-Q Connection P Q

Zero-Delay Semantics Time Task QQ tt P

Time-Deterministic Semantics Time Task QQ t+5ms P t Don’t care Perhaps on same CPU

Time-Deterministic Semantics Time Task QQ t+5ms P t

Time-Deterministic Semantics Time Task QQ t+5ms P t Most recent value guaranteed to be available (may have to be buffered)

Time-Deterministic Semantics Task QQ t+5ms P tt+10ms

An Abstract Programmer’s Model Input/Output PortsFunctionality Time-Determ. Computation Zero-Delay Communication Timing High-Level Programming Giotto

Giotto Modes Multi-modal control Fault tolerance Event modeling Resource sharing Uncertain environments Some Motivations:

Giotto Modes A mode is a parameterized set of tasks. A Giotto program consists of a set of modes and mode switches. A Giotto system is in a single mode at any given time.

Abstract Syntax of a Mode P Q Entry Port Period 10ms 1 2 Frequencies

MM’ Trigger predicate Abstract Syntax of a Mode Switch Connection Frequency 2: evaluation of trigger predicate every 5ms

Mode M P Q Period 10ms 1 2 Connection

Mode M’ P R 1 4 Connection Period 10ms

Concrete Syntax start m ( ) { mode m ( ) period 10 ms { taskfreq 1 do P ( ) ; taskfreq 2 do Q ( x, y ) ; exitfreq 2 if y = 5 then m’ ( y ) ; } mode m’ ( int z ) period 10 ms { taskfreq 1 do P ( ) ; taskfreq 4 do R ( x, z ) ; } Tasks are C procedures

Semantics of the Mode Switch Task QQ Mode t+10mst+10ms PP R Easy Case:

Semantics of the Mode Switch Task Q Time Mode t+5ms P Interesting Case:

Semantics of the Mode Switch Task Q t+5ms RR t+7.5mst+10ms PP R

Mode M P Q 1 2 Connection

Semantics of the Mode Switch Task Q t+5ms RR Time P Mode switch already finished!

Mode M’ P R 1 4 Connection

Semantics of the Mode Switch Task Q t+5ms RR Time P

Mode M’ P R 1 4 Connection

Semantics of the Mode Switch Task Q t+5ms RR Time P

Mode M’ P R 1 4 Connection

Semantics of the Mode Switch Task Q t+5ms RR Time P Initial value

Semantics of the Mode Switch Task QRR Time P

Input/Output PortsFunctionality Time-Determ. Computation Zero-Delay Communication Timing High-Level Programming Giotto ModesDecomposition The Abstract Programmer’s Model

The Giotto Compiler Automatic code generation Compilation directives in the form of Giotto annotations for distributed platforms

The Giotto Compiler Giotto Compiler Giotto Program Giotto Executable Two possible answers: Giotto executable “Not schedulable” (either because program overconstrained, or because compiler not smart enough)

Closing the Gap: Giotto-Architecture Annotations Giotto Compiler Hosts (CPUs), Nets, Worst-case execution / transmission times Giotto Program Giotto-A Program Distributed Platform

Closing the Gap: Giotto-Mapping Annotations Giotto Compiler Tasks to Hosts, Connections to Nets Hosts, Nets, Performance Giotto Program Giotto-A Program Giotto-AM Program Distributed Platform

Closing the Gap: Giotto-Schedule Annotations Giotto Program Giotto Compiler Giotto-A Program Distributed Platform Giotto-AM Program Giotto-AMS Program Hosts, Nets, Performance Tasks to Priorities (say), Connections to TDMA (say) Tasks to Hosts, Connections to Nets

P Platform Dependency Task QQ Time Computation

P Giotto-AM Task QQ Time Host A

P Giotto-AMS Task QQ Time Host A Priority

Platform Dependency Task QRR Time Communication P

Giotto-AMS Task QRR Time Host BBB Network C P Host A t+10ms Real deadline for P! Time slot for connection

The Giotto Runtime Library Giotto Executable Giotto Program Compilation Giotto Runtime Library Distributed Platform Functionality & Timing Scheduling & Communication RTOS, e.g., VxWorks

The Giotto Runtime Library Giotto Runtime Library Distributed Platform RTOS, e.g., VxWorks Timer service Scheduling service TCP/IP stack Scheduling & Communication Abstraction Task, connection mapping Task priorities Connection TDMA slots Real-Time OS Services

Pure Lego Demo

Heterogeneous Lego-VxWorks Demo VxWorks Lego Wireless Ethernet – Infrared bridge

Behavior of each Robot Lead FollowEvade My sensor pushed Someone else’s sensor pushed My sensor pushed Stop Evading finished Someone else’s evading finished

Soon to Fly Giotto: ETH Zurich Helicopter