Giotto: a Time-triggered Language for Embedded Programming
Abstract: Giotto provides an abstract programmer's model for the implementation of embedded control systems with hard real-time constraints. A typical hybrid control application consists of periodic software tasks together with a mode switching logic for enabling and disabling tasks. Pure Giotto species time-triggered sensor readings, task invocations, and mode switches independent of any implementation platform. Pure Giotto can be annotated with platform constraints such as task-to-host mappings, and task and communication schedules. The annotations are directives for the Giotto compiler, but they do not alter the functionality and timing of a Giotto program. By separating the platform-independent from the platform-dependent concerns, Giotto enables a great deal of flexibility in choosing control platforms as well as a great deal of automation in the validation and synthesis of control software.
We illustrate the use of Giotto by coordinating a heterogeneous flock of Intel x86 robots and Lego Mindstorms robots.