Giotto: a Time-triggered Language for Embedded Programming

Thomas A. Henzinger, Benjamin Horowitz and Christoph Meyer Kirsch

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-00-1121
2000

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2000/CSD-00-1121.pdf

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.


BibTeX citation:

@techreport{Henzinger:CSD-00-1121,
    Author = {Henzinger, Thomas A. and Horowitz, Benjamin and Kirsch, Christoph Meyer},
    Title = {Giotto: a Time-triggered Language for Embedded Programming},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2000},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2000/6436.html},
    Number = {UCB/CSD-00-1121},
    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. <p>We illustrate the use of Giotto by coordinating a heterogeneous flock of Intel x86 robots and Lego Mindstorms robots.}
}

EndNote citation:

%0 Report
%A Henzinger, Thomas A.
%A Horowitz, Benjamin
%A Kirsch, Christoph Meyer
%T Giotto: a Time-triggered Language for Embedded Programming
%I EECS Department, University of California, Berkeley
%D 2000
%@ UCB/CSD-00-1121
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2000/6436.html
%F Henzinger:CSD-00-1121