160 likes | 278 Views
Embedded Control System Development with. Giotto. Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley. Giotto. Giotto is a time-triggered and platform independent programming language + compiler + runtime library
E N D
Embedded Control System Developmentwith Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley
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)
Embedded System Development Application decomposes designs simulates Control Engineer Control Design Matlab! Functionality & Timing Giotto Program decomposes implements tests Software Engineer Platform Giotto!
A Giotto Task State Sensors f Actuators Frequency 10ms
Semantics of a Giotto Task Task State Sensors f Actuators Frequency 10ms Don’t care Time Read @ time t Write @ time t+10ms
Multiple Giotto Tasks Task P Q Q Don’t care Don’t care t t t+5ms t+5ms t+10ms t+10ms
Compilation Application decomposes designs simulates Control Engineer Control Design Matlab! Functionality & Timing Giotto Program decomposes implements tests Software Engineer Platform Giotto!
The Giotto Compiler Functionality & Timing Giotto Program Compilation Scheduling & Communication Giotto Executable Giotto Runtime Library VxWorks Distributed Platform
The Giotto Compiler Giotto Program • Possible Answers: • Giotto Executable • Not Schedulable Giotto Compiler Giotto Executable
Giotto-Platform Giotto Program Giotto-P Program Hosts, Nets, Performance Giotto Compiler Distributed Platform
Giotto-Scheduler Giotto Program Giotto-P Program Hosts, Nets, Performance Giotto-PS Program Task to Host, Priority Giotto Compiler Distributed Platform
Giotto-Communication Giotto Program Giotto-P Program Hosts, Nets, Performance Giotto-PS Program Task to Host, Priority Giotto-PSC Program Connection to Net, TDMA Giotto Compiler Distributed Platform
The Giotto Runtime Library Functionality & Timing Giotto Program Compilation Scheduling & Communication Giotto Executable Giotto Runtime Library VxWorks Distributed Platform
The Giotto Runtime Library Scheduling & Communication Giotto Runtime Library • Task, Connection Mapping • Task Scheduling Scheme • TDMA Slots Abstraction Real-Time OS Services VxWorks • Timer Service • Scheduling Service • TCP/IP Stack Distributed Platform
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, …