Giotto: A Time-Triggered Language for Embedded Programming

  • Thomas A. Henzinger
  • Benjamin Horowitz
  • Christoph Meyer Kirsch
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2211)


Giotto provides an abstract programmer’s model for the implementation of embedded control systems with hard real-time constraints. A typical control application consists of periodic software tasks together with a mode switching logic for enabling and disabling tasks. Giotto specifies time-triggered sensor readings, task invocations, and mode switches independent of any implementation platform. 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. The time-triggered nature of Giotto achieves timing predictability, which makes Giotto particularly suitable for safety-critical applications.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Ber00]
    G. Berry. The foundations of Esterel. In G. Plotkin, C. Stirling, and M. Tofte, editors, Proof, Language and Interaction: Essays in Honour of Robin Milner, pp. 425–454. MIT Press, 2000.Google Scholar
  2. [BGJ91]
    A. Benveniste, P. Le Guernic, and C. Jacquemot. Synchronous programming with events and relations: The Signal language and its semantics. Science of Computer Programming, 16:103–149, 1991.CrossRefMathSciNetGoogle Scholar
  3. [Cle96]
    P. Clements. A survey of architecture description languages. In Proc. 8thInternational Workshop on Software Specification and Design, pp. 16–25. IEEE Computer Society Press, 1996.Google Scholar
  4. [Col99]
    R. P. G. Collinson. Fly-by-wire flight control. Computing &Control Engineering, 10:141–152, 1999.CrossRefGoogle Scholar
  5. [DGH+99]
    J. Davis, M. Goel, C. Hylands, B. Kienhuis, E. A. Lee, J. Liu, X. Liu, L. Muliadi, S. Neuendorffer, J. Reekie, N. Smyth, J. Tsay, and Y. Xiong. Ptolemy II: Heterogeneous Concurrent Modeling and Design in Java. Technical Report UCB/ERLM99/ 44, University of California, Berkeley, 1999.Google Scholar
  6. [EKP+98]
    P. Eles, K. Kuchcinski, Z. Peng, A. Doboli, and P. Pop. Process scheduling for performance estimation and synthesis of hardware/software systems. In Proc. 24thEUR OMICRO Conference, pp. 168–175, 1998.Google Scholar
  7. [Hal93]
    N. Halbwachs. Synchronous Programming of Reactive Systems. Kluwer, 1993.Google Scholar
  8. [HCRP91]
    N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous dataflow programming language Lustre. Proc. IEEE, 79:1305–1320, 1991.CrossRefGoogle Scholar
  9. [Hen00]
    T. A. Henzinger. Masaccio: A formal model for embedded components. In Proc. First IFIP International Conference on Theoretical Computer Science, LNCS 1872, pp. 549–563. Springer-Verlag, 2000.Google Scholar
  10. [HHK01]
    T. A. Henzinger, B. Horowitz, and C. M. Kirsch. Embedded control systems development with Giotto. In Proc. SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems, ACM Press, 2001.Google Scholar
  11. [Kir01]
    C. M. Kirsch. The Embedded Machine. Technical Report UCB/CSD-01-1137, University of California, Berkeley, 2001.Google Scholar
  12. [Kop97]
    H. Kopetz. Real-time Systems: Design Principles for Distributed Embedded Applications. Kluwer, 1997.Google Scholar
  13. [KZF+91]
    H. Kopetz, R. Zainlinger, G. Fohler, H. Kantz, P. Puschner, and W. Schütz. The design of real-time systems: From specification to implementation and verification. IEE/BCS Software Engineering Journal, 6:72–82, 1991.CrossRefGoogle Scholar
  14. [LRR92]
    D. Langer, J. Rauch, and M. Rößler. Real-time Systems: Engineering and Applications, chapter 14, pp. 369–395. Kluwer, 1992.Google Scholar
  15. [San99]
    M. Sanvido. A Computer System for Model Helicopter Flight Control; Technical Memo 3: The Software Core. Technical Report 317, Institute of Computer Systems, ETH Zürich, 1999.Google Scholar
  16. [TC94]
    K. Tindell and J. Clark. Holistic schedulability for distributed hard real-time systems. Microprocessing and Microprogramming, 40:117–134, 1994.CrossRefGoogle Scholar
  17. [VB93]
    S. Vestal and P. Binns. Scheduling and communication in MetaH. In Proc. 14thA nnual Real-Time Systems Symposium. IEEE Computer Society Press, 1993.Google Scholar
  18. [Ves97]
    S. Vestal. MetaH support for real-time multi-processor avionics. In Proc. Fifth International Workshop on Parallel and Distributed Real-Time Systems, pp. 11–21. IEEE Computer Society Press, 1997.Google Scholar
  19. [Wir99]
    N. Wirth. A Computer System for Model Helicopter Flight Control; Technical Memo 2: The Programming Language Oberon SA, second edition. Technical Report 285, Institute of Computer Systems, ETH Zürich, 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Thomas A. Henzinger
    • 1
  • Benjamin Horowitz
    • 1
  • Christoph Meyer Kirsch
    • 1
  1. 1.University of CaliforniaBerkeley

Personalised recommendations