Embedded Control Systems Development with Giotto

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

[1]  S. Vestal,et al.  MetaH support for real-time multi-processor avionics , 1997, Proceedings of 5th International Workshop on Parallel and Distributed Real-Time Systems and 3rd Workshop on Object-Oriented Real-Time Systems.

[2]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[3]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[4]  Gerhard Fohler,et al.  The design of real-time systems: from specification to implementation and verification , 1991, Softw. Eng. J..

[5]  Thomas A. Henzinger Masaccio: A Formal Model for Embedded Components , 2000, IFIP TCS.

[6]  Edward A. Lee,et al.  Ptolemy II, Heterogeneous Concurrent Modeling and Design in JAVA , 2001 .

[7]  Albert Benveniste,et al.  programmi language and its , 2001 .

[8]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[9]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[10]  Gérard Berry,et al.  The foundations of Esterel , 2000, Proof, Language, and Interaction.

[11]  R. P. G. Collinson,et al.  Fly-by-wire flight control , 1999 .

[12]  Sharad Malik,et al.  Performance analysis of embedded software using implicit path enumeration , 1995 .

[13]  Holger Zeltwanger,et al.  Time-Triggered Communication on CAN , 2002 .

[14]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.