Giotto is a principled, tool-supported design methodology for implementing
embedded control systems on platforms of possibly distributed sensors, actu
ators, CPUs, and networks. Giotto is based on the principle that time-trigg
ered task invocations plus time-triggered mode switches can form the abstra
ct essence of programming real-time control systems. Giotto consists of a p
rogramming language with a formal semantics, and a retargetable compiler an
d runtime library. Giotto supports the automation of control system design
by strictly separating platform-independent functionality and timing concer
ns from platform-dependent scheduling and communication issues. The time-tr
iggered predictability of Giotto makes it particularly suitable for safety-
critical applications with hard real-time constraints. We illustrate the pl
atform-independence and time-triggered execution of Giotto by coordinating
a heterogeneous flock of Intel x86 robots and Lego Mindstorms robots.