skip to main content
research-article

Loosely Time-Triggered Architectures: Improvements and Comparisons

Published:02 August 2016Publication History
Skip Abstract Section

Abstract

Loosely Time-Triggered Architectures (LTTAs) are a proposal for constructing distributed embedded control systems. They build on the quasi-periodic architecture, where computing units execute nearly periodically, by adding a thin layer of middleware that facilitates the implementation of synchronous applications.

In this article, we show how the deployment of a synchronous application on a quasi-periodic architecture can be modeled using a synchronous formalism. Then we detail two protocols, Back-Pressure LTTA, reminiscent of elastic circuits, and Time-Based LTTA, based on waiting. Compared to previous work, we present controller models that can be compiled for execution, a simplified version of the Time-Based protocol and optimizations for systems using broadcast communication. We also compare the LTTA approach with architectures based on clock synchronization.

References

  1. Hagit Attiya, Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. 1994. Bounds on the time to reach agreement in the presence of timing uncertainty. J. ACM 41, 1 (1994), 122--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Guillaume Baudart, Albert Benveniste, Anne Bouillard, and Paul Caspi. 2014. A Unifying View of Loosely Time-Triggered Architectures. Technical Report RR-8494. INRIA. Corrected version of Benveniste et al. {2010}.Google ScholarGoogle Scholar
  3. Albert Benveniste, Anne Bouillard, and Paul Caspi. 2010. A unifying view of loosely time-triggered architectures. In EMSOFT’10. USA, 189--198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Albert Benveniste, Benoît Caillaud, and Paul Le Guernic. 2000. Compositionality in dataflow synchronous languages: Specification and distributed code generation. Inform. Comput. 163, 1 (2000), 125--171. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Albert Benveniste, Paul Caspi, Marco Di Natale, Claudio Pinello, Alberto L. Sangiovanni-Vincentelli, and Stavros Tripakis. 2007. Loosely time-triggered architectures based on communication-by-sampling. In EMSOFT’07. Austria, 231--239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Albert Benveniste, Paul Caspi, Stephen A. Edwards, Nicolas Halbwachs, Paul Le Guernic, and Robert De Simone. 2003. The synchronous languages 12 years later. Proc. IEEE 91, 1 (2003), 64--83.Google ScholarGoogle Scholar
  7. Albert Benveniste, Paul Caspi, Paul Le Guernic, Hervé Marchand, Jean-Pierre Talpin, and Stavros Tripakis. 2002. A protocol for loosely time-triggered architectures. In EMSOFT’02. France, 252--265. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Timothy Bourke and Marc Pouzet. 2013. Zélus: A synchronous language with ODEs. In HSCC’13. USA, 113--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Luca P. Carloni. 2006. The role of back-pressure in implementing latency-insensitive systems. Elec. Not. Theoret. Comput. Sci. 146, 2 (2006), 61--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Luca P. Carloni, Kenneth L. McMillan, and Alberto L. Sangiovanni-Vincentelli. 2001. Theory of latency-insensitive design. IEEE Trans. Comput.-Aid. Des. Integr. Circuit. Syst. 20, 9 (2001), 1059--1076. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Luca P. Carloni and Alberto L. Sangiovanni-Vincentelli. 2002. Coping with latency in SoC design. IEEE Micro 22, 5 (2002), 24--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Paul Caspi. 2000. The Quasi-Synchronous Approach to Distributed Control Systems. Technical Report CMA/009931. VERIMAG, Crysis Project. “The Cooking Book.”Google ScholarGoogle Scholar
  13. Paul Caspi and Albert Benveniste. 2008. Time-robust discrete control over networked loosely time-triggered architectures. In CDC’08. Mexico, 3595--3600.Google ScholarGoogle Scholar
  14. Paul Caspi, Alain Girault, and Daniel Pilaud. 1994. Distributing reactive systems. In PDCS’94. 101--107.Google ScholarGoogle Scholar
  15. Paul Caspi, Daniel Pilaud, Nicolas Halbwachs, and John Plaice. 1987. Lustre: A declarative language for programming synchronous systems. In POPL’87. 178--188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, and others. 2012. Spanner: Google’s globally distributed database. In OSDI’12. USA, 261--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jordi Cortadella and Michael Kishinevsky. 2007. Synchronous elastic circuits with early evaluation and token counterflow. In DAC’07. USA, 416--419. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Jordi Cortadella, Alex Kondratyev, Luciano Lavagno, and Christos P. Sotiriou. 2006. Desynchronization: Synthesis of asynchronous circuits from synchronous specifications. IEEE Trans. Comput.-Aid. Des. Integr. Circuit Syst. 25, 10 (2006), 1904--1921. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Nicolas Halbwachs and Siwar Baghdadi. 2002. Synchronous modelling of asynchronous systems. In EMSOFT’02. France, 240--251. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Nicolas Halbwachs, Paul Caspi, Pascal Raymond, and Daniel Pilaud. 1991. The synchronous dataflow programming language Lustre. Proc. IEEE 79, 9 (1991), 1305--1320.Google ScholarGoogle ScholarCross RefCross Ref
  21. Nicolas Halbwachs and Louis Mandel. 2006. Simulation and verification of aysnchronous systems by means of a synchronous model. In ACSD’06. Finland, 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Gilles Kahn. 1974. The semantics of a simple language for parallel programming. In IFIP’74. Sweden, 471--475.Google ScholarGoogle Scholar
  23. Hermann Kopetz. 2011. Real-Time Systems: Design Principles for Distributed Embedded Applications. Springer-Verlag, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Hermann Kopetz and Günther Bauer. 2003. The time-triggered architecture. Proc. IEEE 91, 1 (2003), 112--126.Google ScholarGoogle ScholarCross RefCross Ref
  25. Kang Lee, John C. Eidson, Hans Weibel, and Dirk Mohl. 2005. IEEE 1588-Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems. Technical Report.Google ScholarGoogle Scholar
  26. Nancy A. Lynch. 1996. Distributed Algorithms. Morgan Kaufmann, San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Florence Maraninchi and Yann Rémond. 2001. Argos: An automaton-based synchronous language. Comput. Lang. 27, 1--3 (2001), 61--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. David L. Mills. 2006. Computer Network Time Synchronization, The Network Time Protocol. Taylor & Francis Group, London. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Dumitru Potop-Butucaru, Benoît Caillaud, and Albert Benveniste. 2004. Concurrency in synchronous systems. In ACSD’04. 67--78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Stavros Tripakis, Claudio Pinello, Albert Benveniste, Alberto L. Sangiovanni-Vincent, Paul Caspi, and Marco Di Natale. 2008. Implementing synchronous models on loosely time-triggered architectures. IEEE Trans. Comput. 57, 10 (2008), 1300--1314. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Loosely Time-Triggered Architectures: Improvements and Comparisons

      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

      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!