Download presentation
Presentation is loading. Please wait.
Published byDoris Nichols Modified over 8 years ago
1
Giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley www.eecs.berkeley.edu/~fresco/giotto (presented by Marius Minea)
2
Embedded Systems Development Control Engineer Control Design Application models derives simulates Software Engineer Distributed Platform Giotto Program decomposes implements tests Functionality & Timing Matlab Giotto!
3
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
4
Motivating Example: Flight Control (DARPA SEC Program)
5
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
6
200 Hz 1 kHz 200 Hz1 kHz
7
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).
8
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
9
The Giotto Methodology Giotto Executable Giotto Program Compilation Giotto Runtime Library Distributed Platform Functionality & Timing Scheduling & Communication RTOS, e.g., VxWorks
10
Task Definition: Abstract Syntax fInput ports State Output ports Period
11
Task Invocation: Time-Deterministic Semantics fInput ports State Output ports Time Task Read @ time t Period 10ms Write @ time t+10ms
12
fInput portsOutput ports Time Task Read @ time t Period 10ms Write @ time t+10ms Don’t care Task Invocation: Time-Deterministic Semantics State Actual time the task uses the CPU (may be preempted)
13
Input/Output: Sensors-Control Law-Actuators f State SensorsActuators
14
Inter-task Communication: Connections P Q
15
Different Periods Time Task QQ tt+10mstt+5ms P
16
Q-to-Q Connection P Q
17
Zero-Delay Semantics Time Task QQ tt P
18
P-to-Q Connection P Q
19
Zero-Delay Semantics Time Task QQ tt P
20
Time-Deterministic Semantics Time Task QQ t+5ms P t Don’t care Perhaps on same CPU
21
Time-Deterministic Semantics Time Task QQ t+5ms P t
22
Time-Deterministic Semantics Time Task QQ t+5ms P t Most recent value guaranteed to be available (may have to be buffered)
23
Time-Deterministic Semantics Task QQ t+5ms P tt+10ms
24
An Abstract Programmer’s Model Input/Output PortsFunctionality Time-Determ. Computation Zero-Delay Communication Timing High-Level Programming Giotto
25
Giotto Modes Multi-modal control Fault tolerance Event modeling Resource sharing Uncertain environments Some Motivations:
26
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.
27
Abstract Syntax of a Mode P Q Entry Port Period 10ms 1 2 Frequencies
28
MM’ Trigger predicate Abstract Syntax of a Mode Switch Connection Frequency 2: evaluation of trigger predicate every 5ms
29
Mode M P Q Period 10ms 1 2 Connection
30
Mode M’ P R 1 4 Connection Period 10ms
31
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
32
Semantics of the Mode Switch Task QQ Mode Switch @ t+10mst+10ms PP R Easy Case:
33
Semantics of the Mode Switch Task Q Time Mode Switch @ t+5ms P Interesting Case:
34
Semantics of the Mode Switch Task Q t+5ms RR t+7.5mst+10ms PP R
35
Mode M P Q 1 2 Connection
36
Semantics of the Mode Switch Task Q t+5ms RR Time P Mode switch already finished!
37
Mode M’ P R 1 4 Connection
38
Semantics of the Mode Switch Task Q t+5ms RR Time P
39
Mode M’ P R 1 4 Connection
40
Semantics of the Mode Switch Task Q t+5ms RR Time P
41
Mode M’ P R 1 4 Connection
42
Semantics of the Mode Switch Task Q t+5ms RR Time P Initial value
43
Semantics of the Mode Switch Task QRR Time P
44
Input/Output PortsFunctionality Time-Determ. Computation Zero-Delay Communication Timing High-Level Programming Giotto ModesDecomposition The Abstract Programmer’s Model
45
The Giotto Compiler Automatic code generation Compilation directives in the form of Giotto annotations for distributed platforms
46
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)
47
Closing the Gap: Giotto-Architecture Annotations Giotto Compiler Hosts (CPUs), Nets, Worst-case execution / transmission times Giotto Program Giotto-A Program Distributed Platform
48
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
49
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
50
P Platform Dependency Task QQ Time Computation
51
P Giotto-AM Task QQ Time Host A
52
P Giotto-AMS Task QQ Time Host A 2. 1. Priority
53
Platform Dependency Task QRR Time Communication P
54
Giotto-AMS Task QRR Time Host BBB Network C P Host A t+10ms Real deadline for P! Time slot for connection
55
The Giotto Runtime Library Giotto Executable Giotto Program Compilation Giotto Runtime Library Distributed Platform Functionality & Timing Scheduling & Communication RTOS, e.g., VxWorks
56
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
57
Pure Lego Demo
58
Heterogeneous Lego-VxWorks Demo VxWorks Lego Wireless Ethernet – Infrared bridge
59
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
60
Soon to Fly Giotto: ETH Zurich Helicopter
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.