The DSystemJ programming language for dynamic GALS systems: it's semantics, compilation, implementation, and run-time system

Abstract

The paper presents a programming language called DSystemJ, for dynamic distributed Globally Asynchronous Locally Synchronous systems (GALS), its formal model, formal syntax and semantics, its compilation and implementation. The language is aimed at dynamic distributed systems, which use socket based communication protocols for communicating between components. DSystemJ allows the creation and control at runtime of asynchronous processes called clock-domains, their mobility on a distributed execution platform, as well as the runtime reconfiguration of the system's functionality and topology. As DSystemJ is based on a GALS model of computation and has formal semantics, it offers very safe mechanisms for implementation of dynamic distributed systems and potential for their formal verification. The principles and details of DSystemJ's compilation, as well as its required runtime support are described. The runtime support is itself implemented in the SystemJ GALS language, which can be considered as a static subset of DSystemJ.Cet article pr´esente un nouveau langage de programmation appel´e DSystemJ, destin´e aux syst`emes r´epartis dynamiques Globalement Asynchrones Localement Synchrones (GALS), ainsi que son mod`ele formel de calcul, sa syntaxe et sa s´emantique formelle, sa compilation et sa mise en oeuvre. Le langage est destin´e `a la conception des syst`emes r´epartis dynamiques, qui utilisent des protocoles de communication bas´es sur les sockets. DSystemJ permet la cr´eation et le contrˆole durant l'ex´ecution de processus asynchrones appel´es clockdomains, leur mobilit´e sur des plateformes d'ex´ecution r´epartie, ainsi que la reconfiguration `a l'ex´ecution des fonctionnalit´es du syst`eme et de sa topologie. Puisque le mod`ele formel de calcul de DSystemJ est bas´e sur le mod`ele GALS et poss`ede une s´emantique formelle, il offre des m´ecanismes tr`es sˆurs pour la mise en oeuvre de syst`emes dynamiques r´epartis et le potentiel pour leur v´erification formelle. Nous donnons les principes et les d´etails de la compilation de DSystemJ ainsi que son environnement de support `a l'ex´ecution. Cet environnement de support est lui-mˆeme mis en oeuvre dans le langage GALS SystemJ, qui peut ˆetre consid´er´e comme un sous-ensemble statique de DSystemJ

    Similar works