Abstract
Many embedded reactive programs perform computations at different rates, while still requiring the overall application to satisfy very tight temporal constraints. We propose a method to automatically distribute programs such that the obtained parts can be run at different rates, which we call rate desynchronization. We consider general programs whose control structure is a finite state automaton and with a DAG of actions in each state. The motivation is to take into account long-duration tasks inside the 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. Merely scheduling such a long duration task at a slow rate would not work since the whole program would be slowed down if compiled into sequential code. It would thus be impossible to meet the temporal constraints, unless such long duration tasks could be desynchronized from the remaining computations. This is precisely what our method achieves: it distributes the initial program into several parts, so that the parts performing the slow computations can be run at an appropriate rate, therefore not impairing the global reaction time of the program. We present in detail our method, all the involved algorithms, and a small running example. We also compare our method with the related work.
- Aubry, P., Le Guernic, P., and Machard, S. 1996. Synchronous distributions of signal programs. In Hawaii International Conference on System Sciences, HICSS'96. IEEE, Honolulu, HI. 656--665. Google Scholar
- Benveniste, A. et al. 1998. Safety critical embedded systems design: The SACRES approach. Tutorial at the Symposium on Formal Techniques in Real-Time and Fault Tolerant systems, FTRTFT'98.Google Scholar
- Benveniste, A., Caillaud, B., and Le Guernic, P. 2000. Compositionality in dataflow synchronous languages: Specification and distributed code generation. Information and Computation 163, 125--171. Google Scholar
- Benveniste, A., Caspi, P., Edwards, S., Halbwachs, N., Le Guernic, P., and de Simone, R. 2003. The synchronous languages twelve years later. Proceedings of the IEEE 91, 1 (Jan.), 64--83. Special issue on embedded systems.Google Scholar
- Bergerand, J.-L. and Pilaud, E. 1988. SAGA: A software development environment for dependability in automatic control. In International Conference on Computer Safety, Reliabilitiy, and Security, SAFECOMP'88. Fulda, Germany. Pergamon Press, New York.Google Scholar
- Berry, G. and Gonthier, G. 1992. The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19, 2, 87--152. Google Scholar
- Caillaud, B., Caspi, P., Girault, A., and Jard, C. 1997. Distributing automata for asynchronous networks of processors. European Journal of Automation (RAIRO-APII-JESA) 31, 3, 503--524. Research report Inria 2341.Google Scholar
- Caspi, P. 1992. Clocks in data-flow languages. Theoretical Computer Science 94, 125--140. Google Scholar
- Caspi, P. and Girault, A. 1995. Execution of distributed reactive systems. In 1st International Conference on Parallel Processing, EURO-PAR'95, S. Haridi, K. Ali, and P. Magnusson, Eds. LNCS, vol. 966. Stockholm, Sweden. Springer-Verlag, New York. 15--26. Google Scholar
- Caspi, P. and Pouzet, M. 1996. Synchronous Kahn networks. In ACM SIGPLAN International Conference on Functional Programming, ICFP'96. ACM Press, New York. Google Scholar
- Caspi, P., Girault, A., and Pilaud, D. 1999. Automatic distribution of reactive systems for asynchronous networks of processors. IEEE Trans. on Software Engineering 25, 3 (May-June). 416--427. Google Scholar
- Caspi, P., Fernandez, J.-C., and Girault, A. 1995. An algorithm for reducing binary branchings. In 15th Conference on the Foundations of Software Technology and Theoretical Computer Science, FST&TCS'95, P. Thiagarajan, Ed. LNCS, vol. 1026. Bangalore, India. Springer-Verlag, New York. 279--293. Google Scholar
- Caspi, P., Curic, A., Maignan, A., Sofronis, C., Tripakis, S., and Niebert, P. 2003. From Simulink to Scade/Lustre to TTA: A layered approach for distributed embedded applications. In International Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES'03. San Diego, CA, ACM, New York. 153--162. Google Scholar
- Colaço, J.-L. and Pouzet, M. 2003. Clocks as first class abstract types. In International Conference on Embedded Software, EMSOFT'03, R. Alur and I. Lee, Eds. LNCS, vol. 2855. Philadelphia, PA Springer-Verlag, New York. 134--155.Google Scholar
- Fernandez, J.-C. and Mounier, L. 1991. “On the fly” verification of behavioural equivalences and preorders. In Workshop on Computer-Aided Verification, CAV'91, K. Larsen, Ed. LNCS. Aalbord, Denmark. Springer-Verlag, New York. Google Scholar
- Gupta, R., Pande, S., Psarris, K., and Sarkar, V. 1999. Compilation techniques for parallel systems. Parallel Computing 25, 13, 1741--1783. Google Scholar
- Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous data-flow programming language Lustre. Proceedings of the IEEE 79, 9 (Sept.). 1305--1320.Google Scholar
- Harel, D. and Pnueli, A. 1985. On the development of reactive systems. In Logic and Models of Concurrent Systems, NATO. Springer-Verlag, New-York. 477--498. Google Scholar
- Henzinger, T., Horowitz, B., and Kirsch, C. 2003. Giotto: A time-triggered language for embedded programming. Proceedings of the IEEE 91. 84--99.Google Scholar
- Kopetz, H. 1997. Real-Time Systems Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers, Boston, MA. Google Scholar
- Le Guernic, P. 2003. Personnal communication.Google Scholar
- Le Guernic, P., Gautier, T., Le Borgne, M., and Lemaire, C. 1991. Programming real-time applications with Signal. Proceedings of the IEEE 79, 9 (Sept.), 1321--1336.Google Scholar
- Liu, C. and Layland, J. 1973. Scheduling algorithms for multiprogramming in hard real-time environnement. Journal of the ACM 20, 1 (Jan.), 46--61. Google Scholar
- Maffeïs, O. 1993. Ordonnancements de graphes de flots synchrones; application à la mise en œuvre de Signal. Ph.D. thesis, University of Rennes I, Rennes, France.Google Scholar
- Milner, R. 1980. A Calculus of Communicating Systems. LNCS, vol. 92. Springer-Verlag, New York. Google Scholar
- Paris, J.-P. 1992. Exécution de tâches asynchrones depuis Esterel. Ph.D. thesis, University of Nice, Nice, France.Google Scholar
- Plaice, J. and Saint, J.-B. 1987. The Lustre-Esterel Portable Format. Inria, Sophia-Antipolis, France. User Manual.Google Scholar
- Salpétrier, F. 2002. Interface graphique utilisateur pour la répartition de programmes Lustre dirigée par les horloges. M.S. thesis, ESISAR, Valence, France.Google Scholar
- Sha, L., Rajkumar, R., and Lehoczky, J. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. on Computers 39, 1175--1185. Google Scholar
- The MathWorks, Inc. 1999. Real-Time Workshop User's Guide, Version 3.Google Scholar
Index Terms
Automatic rate desynchronization of embedded reactive programs
Recommendations
Evolution of synchronization and desynchronization in digital organisms
We present a study in the evolution of temporal behavior, specifically synchronization and desynchronization, through digital evolution and group selection. In digital evolution, a population of self-replicating computer programs exists in a user-...
Automatic tuning of multi-task programs for real-time embedded systems
ICSE '85: Proceedings of the 8th international conference on Software engineeringThis paper describes a programming tool for real-time embedded systems. Real-time embedded systems are usually implemented by multiple tasks. It is important to allocate tasks to the system appropriately. Our tool, called TRUE, performs the allocation ...
Rate Assignment for Embedded Reactive Real-Time Systems
EUROMICRO '98: Proceedings of the 24th Conference on EUROMICRO - Volume 1Most timing constraints analyses for embedded systems are based on task level timing parameters whereas initial timing constraints are usually observed and specified with respect to visible events. In this paper, we propose a rate assignment algorithm ...






Comments