Giotto: A TimeTriggered Language for Embedded Programming - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Giotto: A TimeTriggered Language for Embedded Programming

Description:

Thomas A. Henzinger Benjamin Horowitz Christopher Meyer Kirsch. Presented by. Amol Kandalgaonkar ... Increasing demand for high-level design methodologies for ... – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 34
Provided by: IICF
Category:

less

Transcript and Presenter's Notes

Title: Giotto: A TimeTriggered Language for Embedded Programming


1
GiottoA Time-Triggered Language for Embedded
Programming
  • Thomas A. Henzinger Benjamin Horowitz Christopher
    Meyer Kirsch
  • Presented by
  • Amol Kandalgaonkar

2
Talk Overview
  • Introduction
  • Motivating Example
  • Informal Description
  • Formal definitions of Syntax
  • ExampleSynchronized Robots
  • Giotto Annotations
  • Related work

3
Introduction
  • Increasing demand for high-level design
    methodologies for embedded systems
  • Modifications of the embedded platform
    configuration typically require complete
    re-implementation and validation.
  • The challenge is to understand the nature of the
    synthesis of real-time and concurrency and its
    operational counterparts, real-time scheduling
    and process communication

4
What is Giotto ?
  • Giotto is a time-triggered and platform
    independent programming language compiler
    runtime library
  • Giotto aims at hard real-time control
    applications on distributed platforms
    (safety-critical applications)
  • Giotto provides an abstract programming model for
    embedded control system development

5
Embedded System Development
  • Control Engineer Decomposes
  • Designs
  • Simulates
  • Functionality
  • Timing
  • Software Engineer Decomposes
  • Giotto Implements
  • Tests

Application
Control Design
Giotto Program
Distributed Platform
6
Motivating ExampleFly-by-wire Flight Control
7
Example contd..
  • Sensors,CPUs and Actuators
  • Operational Modes
  • Take off,cruise,landing,autopilot and degraded
  • Different control laws needed in each mode
  • Timing properties
  • Periodic computation

8
Informal Description
  • Data is communicated through ports
  • Port
  • typed variable with a unique location in a
    globally shared namespace
  • Persistent
  • Input,Output,Environment and Entry
  • Basic functional unit in Giotto is Task

9
Contd..
  • Concurrent tasks Mode
  • Add/delete Tasks Switching Mode
  • Task communication Drivers
  • Drivers
  • Code that transports and converts values between
    ports
  • Synchronous,bounded code,executed logically
    instantaneously on the system level

10
A Simple Task
Private ports F
Input Ports
Output Ports
Frequency
11
Task Invocation
12
Time line for Task Invocation
13
Intertask Communication Semantics
F (10 ms)
G(5 ms)
14
Intertask Communication Semantics contd..
Task
F
G
G
Time ms
15
Modes
  • Giotto Program is a set of Modes,each of which
    repeats the invocation of a fixed set of tasks
  • At any time, a Giotto system is in a single mode
  • Mode may contain modes switches,which specify
    transitions from the mode to other modes
  • Mode switch can add/delete tasks
  • Mode
  • Parameterized set of tasks
  • Period,Set of source ports,set of task
    invocations,set of actuator updates,set of mode
    switches

16
A Mode
17
Concrete Syntax
  • Mode m ( ) period 10 ms
  • taskfreq 1 do int x f ( )
  • taskfreq 2 do int y g ( x , y )

18
Time line for a round of Mode m
19
Mode Switches
  • Describes transition from one mode to another
  • Specifies switch frequency,a target mode and
    driver
  • Guard of the driver is called the exit condition

20
Mode m
21
Mode switch from m to m
22
Timeline for Mode switch
23
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 )

24
Formal Definition of Pure Giotto
  • Port Declarations ( p ,Type ,init )
  • Task Declarations ( t ,In ,Out ,Priv ,f )
  • Driver Declarations (d ,Src ,g , Dst, h)
  • Mode Declarations
  • ( m, µ,Sources,Invokes,Updates,Switches)
  • Start Mode start Modes

25
Giotto Annotations
  • Performance constraintsTiming requirements may
    not be available on a single CPU
  • Application may require proximity for tasks
  • Distribute work between multiple CPUs
  • Annotation with Platform constraints
  • Pure Giotto is platform independent
  • Annotated Giotto Directives for
    mapping,scheduling,compiling and executing a
    program on a particular platform

26
Giotto Annotations contd..
  • Multiple Annotation levels
  • Advantages
  • Permits incremental refinement
  • Allows modular architecture for compiler
  • Enables generation of formal models
  • Hardware configurationHost and Nets
  • Host CPU which can execute a Giotto task
  • Nets Connects two or more hosts and can
    transport values
  • Connection

27
Giotto Annotations contd..
  • Giotto P(P Platform) Specifies a set of
    hosts,a set of nets,worst case execution time
    information
  • Giotto PM(M Map)Specifies,in addition, and
    assignment of tasks and drivers to CPUs and of
    connection to nets
  • Giotto PMS(S Schedule)Specifies,in
    addition,scheduling information for each host and
    net
  • Annotation is Complete if it fully determines all
    assignments at its annotation level.

28
Giotto Annotations contd..
  • Valid Giotto Program
  • Not Overconstrained
  • Consistent with the semantics of pure Giotto
  • Giotto compiler(partially annotated pgm)
  • Determines if it is not valid
  • Produces a completely annotated valid PMS
    refinement
  • Gives up and asks user for more annotations

29
Schedule Constraint Graphs
Time-fixed vertices
Time-variable vertices
30
Example Synchronized robots
31
Two Robot Giotto Program
32
Related work
  • Inspired by TTA and synchronized programming
    languages
  • TTA H/W architecture and communication protocol
  • Giotto H/W independent,Protocol independent
    abstract layer for programming hard real time
    constraints using time triggered task invocation
    and mode switching
  • Synchronized reactive languages assume zero delay
    vs Giotto unit delay value propagation

33
Web Pointer
  • www-cad.eecs.berkeley.edu/fresco/giotto/
  • Thank you
Write a Comment
User Comments (0)
About PowerShow.com