Giotto A Time-Triggered Language for Embedded Programming Thomas A. Henzinger, Benjamin Horowitz Christoph M. Kirsch, Rupak Majumdar UC Berkeley.

Slides:



Advertisements
Similar presentations
INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
Advertisements

Separate Compilation of Hierarchical Real-Time Programs into Linear-Bounded Embedded Machine Code Arkadeb GHOSAL, UC Berkeley Christoph KIRSCH, University.
Flexible Scheduling of Software with Logical Execution Time Constraints* Stefan Resmerita and Patricia Derler University of Salzburg, Austria *UC Berkeley,
Logical Reliability of Interacting Real-Time Tasks Krishnendu Chatterjee, UC Berkeley Arkadeb Ghosal, UC Berkeley Thomas A. Henzinger, EPFL Daniel Iercan,
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
Synthesis of Embedded Software Using Free-Choice Petri Nets.
Communication Scheduling for Time-Triggered SystemsSlide 1 Communication Scheduling for Time-Triggered Systems Paul Pop, Petru Eles and Zebo Peng Dept.
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
Component Technologies for Embedded Systems Johan Eker.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
EECE Hybrid and Embedded Systems: Computation T. John Koo, Ph.D. Institute for Software Integrated Systems Department of Electrical Engineering and.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Trading Latency for Composability Slobodan Matic UC Berkeley.
February 21, 2008 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, UC Berkeley.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Advanced Tool Architectures Edward A. Lee UC Berkeley.
From Models to Code: The Missing Link in Embedded Software Tom Henzinger University of California, Berkeley Joint work with Ben Horowitz and Christoph.
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.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
3/12/ Modeling and controlling the Caltech Ducted Fan Vehicle Steve Neuendorffer, Ptolemy Group, UC Berkeley.
1 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of.
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.
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.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
Interfaces for Control Components Rajeev Alur University of Pennsylvania Joint work with Gera Weiss (and many others)
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
The Caltrop Actor Language Johan Eker UC Berkeley MoBIES group, Carnegie Mellon, November 30, 2001.
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
Color Aware Switch algorithm implementation The Computer Communication Lab (236340) Spring 2008.
Tool Integration of Ptolemy II EE290N Class Project Haiyang Zheng May
Lee & Henzinger ESWG #1 UC Berkeley Mobies Technology Project Process-Based Software Components for Networked Embedded Systems PI: Edward Lee CoPI: Tom.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
Giotto and TMO Yerang Hur System Design Research Lab. Dept. of Computer and Information Science.
1 Embedded Computer System Laboratory RTOS Modeling in Electronic System Level Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
Composing Models of Computation in Kepler/Ptolemy II
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Giotto A tool-supported design methodology for developing hard real-time applications Cyber Physical Systems Lab Ramtin Raji Kermani.
1 LiSyC ENSIETA/DTN 02/04/2008 AADL execution semantics transformation for formal verification Joel Champeau, Thomas Abdoul, Pierre Yves Pillain, Philippe.
Introduction to Computing Muhammad Saeed. Topics Course Description Overview of Areas Contact Information.
Ptolemy Tutorial What is Ptolemy? How it works? What is the development environment for you Show demo and former simulation work.
Tutorial Robot: an implementation of the Embedded Machine Daniel Jhin Yoo EECS (Senior) Alvin AuYoung EECS (Junior)
I ndustrial Cy ber- Ph ysical Systems October 16, 2015 CyPhySim CyPhySim is an open-source simulator for cyber-physical systems. The.
3 Unit Course, Spring 2001 EECS Department, UC Berkeley Embedded Software Engineering Christoph Kirsch.
Incremental Checkpointing with Application to Distributed Discrete Event Simulation Thomas Huining Feng and Edward A. Lee {tfeng,
Symbolic Algorithms for Infinite-state Systems Rupak Majumdar (UC Berkeley) Joint work with Luca de Alfaro (UC Santa Cruz) Thomas A. Henzinger (UC Berkeley)
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.
A hierarchical coordination language for reliable real-time tasks Arkadeb Ghosal University of California, Berkeley Dissertation Talk CHESS Seminar 22.
Giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley
February 14, 2013 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
1 Programming and problem solving in C, Maxima, and Excel.
Embedded Control System Development with Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley.
Managing The Internet of Things
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Chapter 1: Computer Systems
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
המחלקה להנדסת חשמל ומחשבים תשע"ט (2019)
A GUI Based Aid for Generation of Code-Frameworks of TMOs
BLAST: A Software Verification Tool for C programs
Presentation transcript:

Giotto A Time-Triggered Language for Embedded Programming Thomas A. Henzinger, Benjamin Horowitz Christoph M. Kirsch, Rupak Majumdar UC Berkeley

Embedded Programming Giotto aims at hard real-time applications Giotto is time-triggered Giotto is platform independent Giotto consists of ports, tasks, modes Giotto works, with VxWorks, Ptolemy

Functionality & Timing Control Engineer Control Design Application designs validates simulates Software Engineer Platform Implementation decomposes implements tests First Challenge

Compilation Platform Implementation Second Challenge Software Engineer decomposes implements tests

A Task

Abstract Syntax of a Task f

f State

Abstract Syntax of a Task fInput ports State

Abstract Syntax of a Task fInput ports State Output ports

Abstract Syntax of a Task fInput ports State Output ports Frequency

Semantics of a Task fInput ports State Output ports Frequency 10ms

Semantics of a Task fInput ports State Output ports Time Task Frequency 10ms

Semantics of a Task fInput ports State Output ports Time Task Frequency 10ms

Semantics of a Task fInput ports State Output ports Time Task time t Frequency 10ms

Semantics of a Task fInput ports State Output ports Time Task time t Frequency 10ms time t+10ms

Semantics of a Task fInput ports State Output ports Time Task time t Frequency 10ms time t+10ms Don’t care

A Connection Input portsOutput portsf State

Abstract Syntax of a Connection f State Constant

Abstract Syntax of a Connection f State Input portOutput port

Semantics of a Connection f State f

Semantics of a Connection f State f Time Task

Semantics of a Connection f State f Time Task time t

Semantics of a Connection f State f Time Task time time t

Semantics of a Connection f State f Time Task time time t 0 time

Two Tasks PInput portsOutput ports

Two Tasks PInput portsOutput ports QInput portsOutput ports

Connections P Q

P Q

P Q

Different Periodicity P Q

Time Task P QQ

Semantics Time Task P QQ

Semantics Time Task P QQ tt+10ms

Semantics Time Task P QQ tt+10mst

Semantics Time Task P QQ tt+10mstt+5ms

Semantics Time Task P QQ tt

Connections P Q

Semantics Time Task P QQ tt

Connections P Q

Semantics Time Task P QQ tt

Semantics Time Task P QQ t+5mst Don’t care

Semantics Time Task P QQ t+5ms

Semantics Time Task P QQ t+5ms

Semantics Time Task P QQ t+5ms

Semantics Task P QQ t+10ms

Semantics Task P QQ t+10ms

Semantics Task P QQ t+10ms

Theory ! A Giotto program is a single set of tasks, so far Is this enough?

Theory = Practice ? Yes, we have sufficient computation and communication resources! => A single set of tasks is enough

Theory = Practice ? Yes, we have sufficient computation and communication resources! => A single set of tasks is enough Fin

Theory = Practice ? Yes, we have sufficient computation and communication resources! => A single set of tasks is enough Fin No, we have to share resources! => with modes

Practice ! A mode is a set of tasks. A Giotto program is a set of modes. A Giotto program is a partitioning of the set of all required tasks.

FAQ: Time vs. Events Q: How about events? A: Use modes!

A Mode

Abstract Syntax of a Mode P Q

P Q

P Q

P Q Entry Port

Abstract Syntax of a Mode P Q Entry Port Period

Semantics of a Mode P Q Entry Port Period 10ms 1 2

Concrete Syntax mode m ( ) period 10 ms { taskfreq 1 do int x = P ( ) ; taskfreq 2 do int y = Q ( x, y ) ; }

A Mode Switch MM’

M Predicate Abstract Syntax of a Mode Switch

MM’ Predicate Abstract Syntax of a Mode Switch Frequency

MM’ Predicate Abstract Syntax of a Mode Switch Frequency Connection

MM’ Predicate Abstract Syntax of a Mode Switch Frequency 5ms Connection

Mode M P Q Period 10ms 1 2

Mode M P Q Period 10ms 1 2 Connection

Mode M’ Connection

Mode M’ P 1 Connection

Mode M’ P R 1 4 Connection

Mode M’ P R 1 4 Connection

Mode M’ P R 1 4 Connection

Mode M’ P R 1 4 Connection

Mode M’ P R 1 4 Connection Period 10ms

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

Semantics of a Mode Switch Task P QQ Time

Semantics of a Mode Switch Task P QQ Mode t+10mst+10ms

Semantics of a Mode Switch Task P QQ Mode t+5mst+5ms Time

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

Mode M’ P R 1 4

Semantics of a Mode Switch Task P Q t+5ms Time R t+5ms

Semantics of a Mode Switch Task P Q t+5ms Time RR t+5mst+7.5ms

Semantics of a Mode Switch Task P Q t+5ms RR t+7.5mst+10ms

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

Mode M P Q 1 2 Connection

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

Semantics of a Mode Switch Task P QRR Mode Switch t+5ms Time

Mode M’ P R 1 4 Connection

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

Mode M’ P R 1 4 Connection

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

Mode M’ P R 1 4 Connection

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

Semantics of a Mode Switch Task P QRR Time t+7.5ms

Semantics of a Mode Switch Task P QRR Time t+7.5ms

Semantics of a Mode Switch Task P QRR Time t+7.5ms

Semantics of a Mode Switch Task P QRR Time t+7.5ms

Semantics of a Mode Switch Task P QRR t+10ms

Semantics of a Mode Switch Task P QRR t+10ms

Semantics of a Mode Switch Task P QRR t+10ms

Semantics of a Mode Switch Task P QRR t+10ms

Functionality & Timing Control Engineer Control Design Application designs validates simulates Software Engineer Platform Implementation decomposes implements tests First Challenge

Compilation Platform Implementation Second Challenge Software Engineer decomposes implements tests

Annotated Giotto Giotto Compiler Giotto Program Platform

Giotto-Architecture Giotto Compiler Hosts, Nets, Performance Giotto Program Giotto-A Program Platform

Giotto-Scheduler Giotto Compiler Task to Host, Priority Hosts, Nets, Performance Giotto Program Giotto-A Program Giotto-AS Program Platform

Giotto-Communication Giotto Program Giotto Compiler Giotto-A Program Platform Giotto-AS Program Giotto-ASC Program Task to Host, Priority Hosts, Nets, Performance Connection to Net, TDMA

Platform Dependency Task P QQ Time

Platform Dependency Task P QQ Time Computation

Giotto-AS Task P QQ Time Host A

Giotto-AS Task P QQ Time Host A 2. 1.

Platform Dependency Task P QRR Time

Platform Dependency Task P QRR Time Communication

Platform Dependency Task P QRR Time Communication

Giotto-ASC Task P QRR Time Host A Host BCC

Giotto-ASC Task P QRR Time Host A Host BCC Network C

Giotto-ASC Task P QRR Time Host A Host BCC Network C t+10mst

Giotto-ASC Task P QRR Time Host A Host BCC Network C t+10mst

Giotto-ASC Task P QRR Time Host A Host BCC Network C t+10mst

Summary Control Design Application Platform Implementation Functionality & Timing Control Engineer Software Engineer Compilation

Demo