Skip to main content

Clock-Driven Automatic Distribution of Lustre Programs

  • Conference paper
Embedded Software (EMSOFT 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2855))

Included in the following conference series:

Abstract

Data-flow programming languages use clocks as powerful control structures to manipulate data, and clocks are a form of temporal types. The clock of a flow defines the sequence of logical instants where it bears a value. This is the case of the synchronous language Lustre. We propose a solution for distributing Lustre programs, such that the distribution is driven by the clocks of the source program. The motivation is to take into account long duration tasks inside Lustre programs: these are tasks whose execution time is long compared to the other computations in the application, and whose maximal execution rate is known and bounded. Such a long duration task could be given a slow clock, but this would violate the synchronous abstraction. Distributing Lustre programs can solve this problem: the user gives a partition of the set of clocks into as many subsets as he desires computing locations, and our distribution algorithm produces one program for each such computing location. Each program only computes the flows whose clock belongs to it, therefore giving time to each long duration task to complete.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. André, C., Boulanger, F., Girault, A.: Software implementation of synchronous programs. In: International Conference on Application of Concurrency to System Design, ICACSD 2001, Newcastle, UK, pp. 133–142. IEEE, Los Alamitos (2001)

    Google Scholar 

  2. Aubry, P., Le Guernic, P., Machard, S.: Synchronous distributions of Signal programs. In: 29th Hawaii International Conference on System Sciences, HICSS-29, Honolulu, USA, pp. 656–665. IEEE Computer Society Press, Los Alamitos (1996)

    Chapter  Google Scholar 

  3. Benveniste, A., Caillaud, B., Le Guernic, P.: Compositionality in dataflow synchronous languages: Specification and distributed code generation. Information and Computation 163, 125–171 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  4. Benveniste, A., Caspi, P., Edwards, S., Halbwachs, N., Le Guernic, P., de Simone, R.: The synchronous languages twelve years later. Proceedings of the IEEE (2002); Special issue on embedded systems

    Google Scholar 

  5. Berry, G., Gonthier, G.: The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19(2), 87–152 (1992)

    Article  MATH  Google Scholar 

  6. Caillaud, B., Caspi, P., Girault, A., Jard, C.: Distributing automata for asynchronous networks of processors. European Journal of Automation (RAIRO-APIIJESA) 31(3), 503–524 (1997); Research report Inria 2341

    Google Scholar 

  7. Caspi, P.: Clocks in data-flow languages. Theoretical Computer Science 94, 125–140 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  8. Caspi, P., Fernandez, J.-C., Girault, A.: An algorithm for reducing binary branchings. In: Thiagarajan, P.S. (ed.) FSTTCS 1995. LNCS, vol. 1026, Springer, Heidelberg (1995)

    Google Scholar 

  9. Caspi, P., Girault, A.: Execution of distributed reactive systems. In: Haridi, S., Ali, K., Magnusson, P. (eds.) Euro-Par 1995. LNCS, vol. 966, pp. 15–26. Springer, Heidelberg (1995)

    Google Scholar 

  10. Caspi, P., Girault, A., Pilaud, D.: Automatic distribution of reactive systems for asynchronous networks of processors. IEEE Trans. on Software Engineering 25(3), 416–427 (1999)

    Article  Google Scholar 

  11. Caspi, P., Pouzet, M.: Lucid synchrone: une extension fonctionnelle de Lustre. In: Journées Francophones des Langages Applicatifs (JFLA), Morzine, France (February 1999); Inria

    Google Scholar 

  12. Le Guernic, P., Gautier, T., Le Borgne, M., Lemaire, C.: Programming real-time applications with Signal. Proceedings of the IEEE 79(9), 1321–1336 (1991)

    Article  Google Scholar 

  13. Gupta, R., Pande, S., Psarris, K., Sarkar, V.: Compilation techniques for parallel systems. Parallel Computing 25(13), 1741–1783 (1999)

    Article  Google Scholar 

  14. Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow programming language Lustre. Proceedings of the IEEE 79(9), 1305–1320 (1991)

    Article  Google Scholar 

  15. Harel, D., Pnueli, A.: On the development of reactive systems. In: Logic and Models of Concurrent Systems, NATO, Springer, Heidelberg (1985)

    Google Scholar 

  16. Henzinger, T.A., Horowitz, B., Kirsch, C.M.: Giotto: A time-triggered language for embedded programming. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, p. 166. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in hard real-time environnement. Journal of the ACM 20(1), 46–61 (1973)

    Article  MathSciNet  MATH  Google Scholar 

  18. Maffeïs, O.: Ordonnancements de graphes de flots synchrones; Application à la mise en œuvre de Signal. PhD Thesis, University of Rennes I, Rennes, France (January 1993)

    Google Scholar 

  19. Paris, J.-P.: Exécution de tâches asynchrones depuis Esterel. PhD Thesis, University of Nice, Nice, France (1992)

    Google Scholar 

  20. Plaice, J.A., Saint, J.-B.: The Lustre-Esterel Portable Format. Inria, Sophia- Antipolis, France (1987) (unpublished report)

    Google Scholar 

  21. Salpétrier, F.: Interface graphique utilisateur pour la répartition de programmes Lustre dirigée par les horloges. Master’s thesis, ESISAR, Valence, France (June 2002)

    Google Scholar 

  22. Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. on Computers 39, 1175–1185 (1990)

    Article  MathSciNet  Google Scholar 

  23. The MathWorks, Inc. Real-Time Workshop User’s Guide, Version 3 (January 1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Girault, A., Nicollin, X. (2003). Clock-Driven Automatic Distribution of Lustre Programs. In: Alur, R., Lee, I. (eds) Embedded Software. EMSOFT 2003. Lecture Notes in Computer Science, vol 2855. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45212-6_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45212-6_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20223-3

  • Online ISBN: 978-3-540-45212-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics