Skip to main content

Abstraction of Clocks in Synchronous Data-Flow Systems

  • Conference paper
Programming Languages and Systems (APLAS 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5356))

Included in the following conference series:

  • 738 Accesses

Abstract

Synchronous data-flow languages such as Lustre manage infinite sequences or streams as basic values. Each stream is associated to a clock which defines the instants where the current value of the stream is present. This clock is a type information and a dedicated type system — the so-called clock-calculus — statically rejects programs which cannot be executed synchronously. In existing synchronous languages, it amounts at asking whether two streams have the same clocks and thus relies on clock equality only. Recent works have shown the interest of introducing some relaxed notion of synchrony, where two streams can be composed as soon as they can be synchronized through the introduction of a finite buffer (as done in the SDF model of Edward Lee). This technically consists in replacing typing by subtyping. The present paper introduces a simple way to achieve this relaxed model through the use of clock envelopes. These clock envelopes are sets of concrete clocks which are not necessarily periodic. This allows to model various features in real-time embedded software such as bounded jitter as found in video-systems, execution time of real-time processes and scheduling resources or the communication through buffers. We present the algebra of clock envelopes and its main theoretical properties.

This work was partially supported by the INRIA research project Synchronics.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Benveniste, A., Caspi, P., Edwards, S., Halbwachs, N., Le Guernic, P., de Simone, R.: The synchronous languages 12 years later. Proceedings of the IEEE 91(1) (January 2003)

    Google Scholar 

  2. Benveniste, A., Berry, G.: The synchronous approach to reactive and real-time systems, pp. 147–159. Kluwer Academic Publishers, Norwell (2002)

    Google Scholar 

  3. Milner, R.: Calculi for synchrony and asynchrony. Theoretical Computer Science 25(3), 267–310 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  4. Arnold, A.: Systèmes de transitions et sémantique des processus communicants. Masson (1992)

    Google Scholar 

  5. Colaço, J.L., Pouzet, M.: Clocks as First Class Abstract Types. In: Third International Conference on Embedded Software, Philadelphia, USA (2003)

    Google Scholar 

  6. Amagbegnon, T., Besnard, L., Guernic, P.L.: Implementation of the data-flow synchronous language signal. In: Programming Languages Design and Implementation, pp. 163–173. ACM, New York (1995)

    Google Scholar 

  7. Caspi, P., Curic, A., Maignan, A., Sofronis, C., Tripakis, S.: Translating Discrete-Time Simulink to Lustre. ACM Transactions on Embedded Computing Systems (2005); Special Issue on Embedded Software

    Google Scholar 

  8. Scicos, http://www-rocq.inria.fr/scicos

  9. Milner, R.: A theory of type polymorphism in programming. Journal of Computer and System Sciences 17(3), 348–375 (1978)

    Article  MathSciNet  MATH  Google Scholar 

  10. Cohen, A., Duranton, M., Eisenbeis, C., Pagetti, C., Plateau, F., Pouzet, M.: N-Synchronous Kahn Networks: a Relaxed Model of Synchrony for Real-Time Systems. In: ACM International Conference on Principles of Programming Languages (2006)

    Google Scholar 

  11. Lee, E., Messerschmitt, D.: Synchronous dataflow. IEEE Trans. Comput. 75(9) (1987)

    Google Scholar 

  12. Buck, J., Ha, S., Lee, E., Messerschmitt, D.: Ptolemy: A framework for simulating and prototyping heterogeneous systems. International Journal of computer Simulation (1994); special issue on Simulation Software Development

    Google Scholar 

  13. Vuillemin, J.: On Circuits and Numbers. Technical report, Digital, Paris Research Laboratory (1993)

    Google Scholar 

  14. Curic, A.: Implementing Lustre Programs on Distributed Platforms with Real-time Constraints. Ph.D thesis, Université Joseph Fourier (2005)

    Google Scholar 

  15. Sofronis, C.: Embedded Code Generation from High-level Heterogeneous Components. Ph.D thesis, Université Joseph Fourier (2006)

    Google Scholar 

  16. Halbwachs, N., Mandel, L.: Simulation and verification of asynchronous systems by means of a synchronous model. In: Sixth International Conference on Application of Concurrency to System Design, Turku, Finland (2006)

    Google Scholar 

  17. Krstic, S., Cortadella, J., Kishinevsky, M., O’Leary, J.: Synchronous elastic networks. In: Proceedings of the Formal Methods in Computer Aided Design, Washington, DC, USA, pp. 19–30. IEEE Computer Society, Los Alamitos (2006)

    Google Scholar 

  18. Boucaron, J., de Simone, R., Millo, J.V.: Formal methods for scheduling of latency-insensitive designs. EURASIP Journal on Embedded Systems (1), 8 (2007)

    Google Scholar 

  19. Smarandache, I.M., Guernic, P.L.: Affine transformations in SIGNAL and their application in the specification and validation of real-time systems. In: ARTS, pp. 233–247 (1997)

    Google Scholar 

  20. Smarandache, I.M., Gautier, T., Guernic, P.L.: Validation of mixed SIGNAL-ALPHA real-time systems through affine calculus on clock synchronisation constraints. In: World Congress on Formal Methods, vol. (2), pp. 1364–1383 (1999)

    Google Scholar 

  21. Benveniste, A., Guernic, P.L., Jacquemot, C.: Synchronous programming with events and relations: the SIGNAL language and its semantics. Sci. Comput. Program. 16(2), 103–149 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  22. Pouzet, M.: Lucid Synchrone, version 3. Tutorial and reference manual. Université Paris-Sud, LRI (April 2006) Distribution, http://www.lri.fr/~pouzet/lucid-synchrone

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cohen, A., Mandel, L., Plateau, F., Pouzet, M. (2008). Abstraction of Clocks in Synchronous Data-Flow Systems. In: Ramalingam, G. (eds) Programming Languages and Systems. APLAS 2008. Lecture Notes in Computer Science, vol 5356. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89330-1_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-89330-1_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-89329-5

  • Online ISBN: 978-3-540-89330-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics