Presentation is loading. Please wait.

Presentation is loading. Please wait.

Embedded Control System Development with Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley.

Similar presentations


Presentation on theme: "Embedded Control System Development with Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley."— Presentation transcript:

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


Download ppt "Embedded Control System Development with Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley."

Similar presentations


Ads by Google