A Survey of Automatic Distribution Method for Synchronous Programs

Research on the automatic distribution of synchronous programs started in 1987, almost twenty years ago. Basically, from a single synchronous program, along possibly with distribution specifications (but not necessarily), it involves producing automatically several synchronous programs, communicating between them so as to achieve the same behavior as the initial centralized program. Since 1987, many approaches have been proposed, some general, and others tailored specifically to a given synchronous language. Also, those methods that were basic at the beginning, are now really sophisticated, offering many features. Finally, the successes obtained with these methods have led to the definition of a new model of computation, known as Globally Asynchronous Locally Synchronous (GALS). The goal of this article is to present a survey of all existing distribution methods.

[1]  Daniel Marcos Chapiro,et al.  Globally-asynchronous locally-synchronous systems , 1985 .

[2]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .

[3]  Paul Caspi Clocks in Dataflow Languages , 1992, Theor. Comput. Sci..

[4]  J. Paris Execution de taches asynchrones depuis esterel , 1992 .

[5]  Olivier Maffeis Ordonnancement de graphes de flots synchrones : application a la mise en oeuvre de signal , 1993 .

[6]  Benoit Caillaud Contribution a la modelisation du spmd : distribution asynchrone d'automates , 1994 .

[7]  Y. Sorel,et al.  Massively parallel computing systems with real time constraints: the "Algorithm Architecture Adequation" methodology , 1994, Proceedings of the First International Conference on Massively Parallel Computing Systems (MPCS) The Challenges of General-Purpose and Special-Purpose Computing.

[8]  Paul Caspi,et al.  An Algorithm for Reducing Binary Branchings , 1995, FSTTCS.

[9]  Paul Caspi,et al.  Execution of Distributed Reactive Systems , 1995, Euro-Par.

[10]  Thomas R. Shiple,et al.  Constructive analysis of cyclic circuits , 1996, Proceedings ED&TC European Design and Test Conference.

[11]  Stephen A. Edwards,et al.  The Synchronous Languages Twelve Years Later , 1997 .

[12]  Benoît Caillaud,et al.  Distributing Automata for Asynchronous Networks of Processors , 1997 .

[13]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

[14]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[15]  Vivek Sarkar,et al.  Compilation techniques for parallel systems , 1999, Parallel Comput..

[16]  Paul Caspi,et al.  Automatic Distribution of Reactive Systems for Asynchronous Networks of Processors , 1999, IEEE Trans. Software Eng..

[17]  Johnny Öberg,et al.  Lowering power consumption in clock by using globally asynchronous locally synchronous design style , 1999, DAC '99.

[18]  Albert Benveniste,et al.  Compositionality in Dataflow Synchronous Languages: Specification and Distributed Code Generation , 2000, Inf. Comput..

[19]  Gérard Berry,et al.  The foundations of Esterel , 2000, Proof, Language, and Interaction.

[20]  Ellen Sentovich,et al.  An Implementation of Constructive Synchronous Programs in POLIS , 2000, Formal Methods Syst. Des..

[21]  Wolfgang Fichtner,et al.  Practical design of globally-asynchronous locally-synchronous systems , 2000, Proceedings Sixth International Symposium on Advanced Research in Asynchronous Circuits and Systems (ASYNC 2000) (Cat. No. PR00586).

[22]  Alain Girault,et al.  Automatic Production of Globally Asynchronous Locally Synchronous Systems , 2002, EMSOFT.

[23]  Michel Poize,et al.  SAXO-RT: Interpreting Esterel Semantic on a Sequential Execution Structure , 2002, SLAP@ETAPS.

[24]  Marc Pouzet,et al.  Clocks as First Class Abstract Types , 2003, EMSOFT.

[25]  Stavros Tripakis,et al.  From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications , 2003 .

[26]  Alain Girault,et al.  Clock-Driven Automatic Distribution of Lustre Programs , 2003, EMSOFT.

[27]  Fabrice Peix,et al.  Distribution de programmes synchrones : Le cas d'Esterel , 2004 .

[28]  Benoît Caillaud,et al.  Concurrency in synchronous systems , 2004, Proceedings. Fourth International Conference on Application of Concurrency to System Design, 2004. ACSD 2004..

[29]  Stephen A. Edwards,et al.  Compiling Esterel into Static Discrete-Event Code , 2006, SLAP@ETAPS.