Download presentation
Presentation is loading. Please wait.
Published byMaryann Todd Modified over 8 years ago
1
Embedded Control System Development with Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley
2
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 Giotto runtime library for VxWorks (using timer services, scheduling services, TCP/IP stack)
3
Embedded System Development Control Engineer Control Design Application decomposes designs simulates Software Engineer Platform Giotto Program decomposes implements tests Functionality & Timing Matlab! Giotto!
4
A Giotto Task fSensors State Actuators Frequency 10ms
5
Semantics of a Giotto Task f State Time Task Read @ time t Frequency 10ms Write @ time t+10ms Don’t care SensorsActuators
6
Multiple Giotto Tasks Task QQ t+10ms P t+5mst Don’t care t+5ms Don’t care t
7
Concrete Syntax start slow ( ) { mode slow ( ) period 10 ms entryfreq 1 { taskfreq 1 do int motor1 = P ( bool bump ) ; taskfreq 2 do int motor2 = Q ( int position ) ; exitfreq 2 if position = 5 then fast ( ) ; } mode fast ( ) period 10 ms entryfreq 2 { taskfreq 1 do int motor1 = P ( bool bump ) ; taskfreq 4 do int motor2 = R ( int position ) ; }
8
Compilation Control Engineer Control Design Application decomposes designs simulates Software Engineer Platform Giotto Program decomposes implements tests Functionality & Timing Matlab! Giotto!
9
The Giotto Compiler Giotto Executable Giotto Program Compilation Giotto Runtime Library Distributed Platform Functionality & Timing Scheduling & Communication VxWorks
10
The Giotto Compiler Giotto Compiler Giotto Program Giotto Executable Possible Answers: Giotto Executable Not Schedulable
11
Giotto-Platform Giotto Compiler Hosts, Nets, Performance Giotto Program Giotto-P Program Distributed Platform
12
Giotto-Scheduler Giotto Compiler Task to Host, Priority Hosts, Nets, Performance Giotto Program Giotto-P Program Giotto-PS Program Distributed Platform
13
Giotto-Communication Giotto Program Giotto Compiler Giotto-P Program Distributed Platform Giotto-PS Program Giotto-PSC Program Task to Host, Priority Hosts, Nets, Performance Connection to Net, TDMA
14
The Giotto Runtime Library Giotto Executable Giotto Program Compilation Giotto Runtime Library Distributed Platform Functionality & Timing Scheduling & Communication VxWorks
15
The Giotto Runtime Library Giotto Runtime Library Distributed Platform VxWorks Timer Service Scheduling Service TCP/IP Stack Scheduling & Communication Abstraction Task, Connection Mapping Task Scheduling Scheme TDMA Slots Real-Time OS Services
16
The Giotto Runtime Library Available on VxWorks and x86 targets Current Experimental Robots: –credit card size x86 single board computer running VxWorks –wireless Ethernet –Lego motors, sensors Next Experimental Platform: –unmanned Yamaha helicopters –PC 104 single board computer running VxWorks –wireless Ethernet, GPS, inertial navigation sensor, …
17
End
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.