skip to main content
research-article

Synchronous objects with scheduling policies: introducing safe shared memory in lustre

Published:19 June 2009Publication History
Skip Abstract Section

Abstract

This paper addresses the problem of designing and implementing complex control systems for real-time embedded software. Typical applications involve different control laws corresponding to different phases or modes, e.g., take-off, full flight and landing in a fly-by-wire control system. On one hand, existing methods such as the combination of Simulink/Stateflow provide powerful but unsafe mechanisms by means of imperative updates of shared variables. On the other hand, synchronous languages and tools such as Esterel or SCADE/Lustre are too restrictive and forbid to fully separate the specification of modes from their actual instantiation with a particular control automaton.

In this paper, we introduce a conservative extension of a synchronous data-flow language close to Lustre, in order to be able to define systems with modes in a more modular way, while insuring the absence of data-races. We show that such a system can be viewed as an object where modes are methods acting on a shared memory. The object is associated to a scheduling policy which specifies the ways methods can be called to build a valid synchronous reaction. We show that the verification of the proper use of an object reduces to a type inference problem using row types introduced by Wand, Rémy and Vouillon. We define the semantics of the extended synchronous language and the type system. The proposed extension has been implemented and we illustrate its use through several examples.

References

  1. Rajeev Alur and Thomas A. Henzinger. Reactive modules. Formal Methods in System Design, 15:7--48, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Benveniste, P. Caspi, S.A. Edwards, N. Halbwachs, P. Le Guernic, and R. de Simone. The synchronous languages 12 years later. Proceedings of the IEEE, 91(1), January 2003.Google ScholarGoogle ScholarCross RefCross Ref
  3. A. Benveniste, P. LeGuernic, and Ch. Jacquemot. Synchronous programming with events and relations: the SIGNAL language and its semantics. Science of Computer Programming, 16:103--149, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Gerard Berry. The constructive semantics of pure esterel. Draft book, 1999.Google ScholarGoogle Scholar
  5. P. Caspi, A. Curic, A. Maignan, C. Sofronis, and S. Tripakis. Translating Discrete-Time Simulink to Lustre. ACM Transactions on Embedded Computing Systems, 2005. Special Issue on Embedded Software. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jean-Louis Colaço, Gregoire Hamon, and Marc Pouzet. Mixing Signals and Modes in Synchronous Data-flow Systems. In ACM International Conference on Embedded Software (EMSOFT'06), Seoul, South Korea, October 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jean-Louis Colaço, Bruno Pagano, and Marc Pouzet. A Conservative Extension of Synchronous Data-flow with State Machines. In ACM International Conference on Embedded Software (EMSOFT'05), Jersey city, New Jersey, USA, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. de Alfaro and T. A. Henzinger. Interface automata. In ESEC/FSE-9: Proceedings of the 8th European software engineering conference, page 109--120, New York, NY, USA, 2001. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Gregoire Hamon. Calcul d'horloge et Structures de Contrôle dans Lucid Synchrone, un langage de ots synchrones à la ML. PhD thesis, Université Pierre et Marie Curie, Paris, France, 14 novembre 2002.Google ScholarGoogle Scholar
  10. D. Harel. StateCharts: a Visual Approach to Complex Systems. Science of Computer Programming, 8-3:231--275, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. F. Maraninchi and T. Bouhadiba. 42: Programmable models of computation for a component-based approach to heterogeneous embedded systems. In Sixth ACM International Conference on Generative Programming and Component Engineering (GPCE'07), Salzburg, Austria, October 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. F. Maraninchi and Y. Rémond. Mode-automata: a new domain-specific construct for the development of safe critical systems. Science of Computer Programming, (46):219--254, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Bertrand Meyer. Eiffel: An Introduction. Interactive Software Eng, 1988.Google ScholarGoogle ScholarCross RefCross Ref
  14. Daniel Pilaud. Personnal communication, March 2009.Google ScholarGoogle Scholar
  15. D. Réemy and J. Vouillon. Objective ML: An effective object-oriented extension to ML. Theory And Practice of Object Systems, 4(1):27--50, 1998. A preliminary version appeared in the proceedings of the 24th ACM Conference on Principles of Programming Languages, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jean-Pierre Talpin and Pierre Jouvelot. The type and effect discipline. Information and Computation, 111(2):245--296, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Synchronous objects with scheduling policies: introducing safe shared memory in lustre

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 44, Issue 7
          LCTES '09
          July 2009
          176 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1543136
          Issue’s Table of Contents
          • cover image ACM Conferences
            LCTES '09: Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
            June 2009
            188 pages
            ISBN:9781605583563
            DOI:10.1145/1542452

          Copyright © 2009 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 19 June 2009

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!