This Article 
 Bibliographic References 
 Add to: 
Automatic Distribution of Reactive Systems for Asynchronous Networks of Processors
May/June 1999 (vol. 25 no. 3)
pp. 416-427

Abstract—This paper addresses the problem of automatically distributing reactive systems. We first show that the use of synchronous languages allows a natural parallel description of such systems, regardless of any distribution problems. Then, a desired distribution can be easily specified, and achieved with the algorithm presented here. This distribution technique provides distributed programs with the same safety, test, and debug facilities as ordinary sequential programs. Finally, the implementation of such distributed programs only requires a very simple communication protocol ("first in first out" queues), thereby reducing the need for large distributed real-time executives.

[1] A.V. Aho, R. Sethi, and J.D. Ullman, Compilers, Principles, Techniques and Tools.New York: Addison-Wesley, 1985.
[2] C. André, "Representation and Analysis of Reactive Behaviors: A Synchronous Approach," CESA'96,Lille, France, IEEE-SMC, July 1996.
[3] F. André, J.-L. Pazat, and H. Thomas, "PANDORE: A System to Manage Data Distribution," Int'l Conf. Supercomputing. ACM, June 1990.
[4] G. Berry and A. Benveniste, "The Synchronous Approach to Reactive and Real-Tme Systems," Proc. IEEE, vol. 79, no. 9, pp. 1,270-1,282, Sept. 1991.
[5] G. Berry and G. Gonthier, "The ESTERELSynchronous Programming Language: Design, Semantics, Implementation," Science of Computer Programming, vol. 19, no. 2, pp. 87-152, 1992.
[6] M.C. Browne and E.M. Clarke, "SML: A High-Level Language for the Design and Verification of Finite State Machines," Int'l Working Conf. from HDL Descriptions to Guaranteed Correct Circuit Designs,Grenoble, France, IFIP, Sept. 1986.
[7] B. Caillaud, P. Caspi, A. Girault, and C. Jard, "Distributing Automata for Asynchronous Networks of Processors," European J. of Automation (RAIRO-APII-JESA), vol. 31, no. 3, pp. 503-524, 1997.
[8] D. Callahan and K. Kennedy, "Compiling Programs for Distributed Memory Multiprocessors," J. Supercomputing, vol. 2, pp. 151-169, 1988.
[9] P. Caspi, J.-C. Fernandez, and A. Girault, "An Algorithm for Reducing Binary Branchings," P.S. Thiagarajan, ed., Proc. 15th Conf. Foundations of Software Technology and Theoretical Computer Science, FST&TCS'95, Lecture Notes in Computer Science 1,026, Bangalore, India, Springer-Verlag, Dec. 1995.
[10] P. Caspi and A. Girault, "Execution of Distributed Reactive Systems," S. Haridi, K. Ali, and P. Magnusson, eds., First Int'l Conf. Parallel Processing, EURO-PAR'95, pp. 15-26,Stockholm, Sweden, Lecture Notes in Computer Science 966, Springer-Verlag, Aug. 1995.
[11] E.M. Clarke, E.A. Emerson, and A.P. Sistla, "Automatic verification of finite-state concurrent systems using temporal logic specifications," ACM Trans. Programming Languages and Systems, vol. 8, no. 2, pp. 244-263, 1986.
[12] A. Dinning, "A Survey of Synchronization Methods for Parallel Computers," Computer, pp. 66-76, July 1989.
[13] S. Edwards, "The Specification and Execution of Heterogeneous Synchronous Reactive System," thesis, Univ. of Calif., Berkeley, 1997.
[14] A. Girault, "Sur la Répartition de Programmes Synchrones," thesis, INPG, Grenoble, France, Jan. 1994.
[15] N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud, "The Synchronous Data-Flow Programming Language LUSTRE," Proc. IEEE, vol. 79, no. 9, pp. 1,305-1,320, Sept. 1991.
[16] N. Halbwachs, F. Lagnier, and C. Ratel, "An Experience in Proving Regular Networks of Processes by Modular Model Checking," Acta Informatica, vol. 29, nos. 6/7, pp. 523-543, 1992.
[17] D. Harel, “Statecharts: A Visual Approach to Complex Systems,” Science of Computer Programming, Vol. 8, No. 3, pp. 231–274, 1987.
[18] D. Harel and A. Pnueli, "On the Development of Reactive Systems," Logic and Models of Concurrent Systems, NATO. Springer-Verlag, 1985.
[19] C. Lavarenne, O. Seghrouchni, Y. Sorel, and M. Sorine, "The SYNDEXSoftware Environment for Real-Time Dstributed Systems Design and Implementation," Proc. European Control Conf., vol. 2, pp. 1,684-1,689. Hermes, July 1991.
[20] P. LeGuernic, T. Gautier, M. LeBorgne, and C. LeMaire, "Programming Real-Time Applications with SIGNAL," Proc. IEEE, vol. 79, no. 9, pp. 1,321-1,336, Sept. 1991.
[21] O. Maffeïs, "Ordonnancements de Graphes de Flots Synchrones; Applicationàla Mise en Oeuvre de SIGNAL," thesis, Univ. of Rennes I, Rennes, France, Jan. 1993.
[22] F. Maraninchi, "Operational and Compositional Semantics of Synchronous Automaton Compositions," W.R. Cleaveland, ed., Proc. Third Int'l Conf. Concurrency Theory, CONCUR'92, Lecture Notes in Computer Science 630, pp. 550-564,Stony Brook, Springer-Verlag, Aug. 1992.
[23] J.P. Paris et al., "Les formats communs des langages synchrones," Technical Report 157, INRIA, June 1993.
[24] J.-P. Queille and J. Sifakis, "Specification and Verification of Concurrent Systems in CESAR," Int'l Symp. Programming, pp. 337-351, Lecture Notes in Computer Science 137, Springer-Verlag, Apr. 1982.
[25] C. Ratel, N. Halbwachs, and P. Raymond, "Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE," IEEE Trans. Software Eng., vol. 18, no. 9, pp. 785-793, Sept. 1992.
[26] P. Raymond, "Compilation séparée de programmes LUSTRE," DEA report, Joseph Fourier Univ., Research Report SPECTREL5, Grenoble, France, June 1988.

Index Terms:
Asynchronous communications, distributed processing, reactive systems, automatic distribution, synchronous languages.
Paul Caspi, Alain Girault, Daniel Pilaud, "Automatic Distribution of Reactive Systems for Asynchronous Networks of Processors," IEEE Transactions on Software Engineering, vol. 25, no. 3, pp. 416-427, May-June 1999, doi:10.1109/32.798329
Usage of this product signifies your acceptance of the Terms of Use.