Implémentations Centralisée et Répartie de Systèmes Corrects par construction à base des Composants par Transformations Source-à-source dans BIP

par Mohamad Jaber

Thèse de doctorat en Informatique

Sous la direction de Joseph Sifakis et de Jean-Claude Fernandez.

Soutenue en 2010

à l'Université Joseph Fourier (Grenoble) .


  • Résumé

    La thèse étudie la théorie et les méthodes qui permettent de générer automatiquement des implémentations efficaces tant centralisées que distribuées à partir d'une langage de description de haut niveau pour les applications logicielles embarquées. Ce langage (modèle) appelé BIP (un acronyme pour Behavior, Interaction, Priority) est un outil de développement logiciel fondé sur une théorie saine qui permet la composition incrémentale de composants hétérogènes, ainsi que la génération de code. Une coordination entre les composantes est réalisée en utilisant des interactions multiparties et des priorités dynamiques pour planifier les interactions. L'idée de base consiste à utiliser un ensemble de transformations source-à-source correctes en préservant les propriétés fonctionnelles de l'application logiciel. En appliquant ces transformations, nous pouvons générer une gamme des implémentations centralisées, partiellement distribuées et entièrement distribuées. Implémentations Centralisées: la méthode transforme les interactions d'un logiciel décrit dans BIP et génère un programme équivalent au niveau fonctionnel. La méthode est basée sur l'application successive de trois types de transformations source-à-source: aplatissement des composants, aplatissement des connecteurs et la composition des composants. On a montré que le système des transformations est confluent et se termine. Par une application exhaustive de ces transformations, un composant BIP peut être transformé en un composant atomique. A partir de ce composant, un code C++ efficace peut être généré. Implémentations Distribuées: Pour une partition donnée des interactions la méthode transforme un application logiciel décrit en BIP, en un modèle Send/Receive BIP. Ce modèle BIP est constitué des composants coordonnés à l'aide des messages asynchrones (Send/Receive). La méthode conduit à une architecture de 3-couches. La couche inférieure comprend les composants du logiciel où les fortes synchronisations atomiques sont implémentées par des séquences des primitives Send/Receive. La deuxième couche comprend un ensemble de protocoles d'interaction. Chaque protocole gère un ensemble des interactions. La troisième couche implémente un protocole de résolution des conflits utilisées pour résoudre les conflits entre les interactions conflictuelles de la deuxième couche. A partir des modèles Send/Receive BIP, une implémentation C++ est générée automatiquement. Les transformations ont été implémentées et intégrées dans la chaîne d'outil BIP. Les résultats expérimentaux sur des exemples non triviaux et des études de cas montrent la nouveauté et l'efficacité de notre approche.


  • Résumé

    The thesis studies theory and methods for generating automatically centralized and distributed implementations from a high-level model of an application software in BIP. BIP (Behavior, Interaction, Priority) is a component framework with formal operational semantics. Coordination between components is achieved by using multiparty interactions and dynamic priorities for scheduling interactions. A key idea is to use a set of correct source-to-source transformations preserving the functional properties of a given application software. By application of these transformations we can generate a full range of implementations from centralized to fully distributed. Centralized Implementation: the implementation method transforms the interactions of an application software described in BIP and generates a functionally equivalent program. The method is based on the successive application of three types of source-to-source transformations: flattening of components, flattening of connectors and composition of atomic components. We shown that the system of the transformations is confluent and terminates. By exhaustive application of the transformations, any BIP component can be transformed into an equivalent monolithic component. From this component, efficient standalone C++ code can be generated. Distributed Implementation: the implementation method transforms an application software described in BIP for a given partition of its interactions, into a Send/Receive BIP model. Send/Receive BIP models consist of components coordinated by using asynchronous message passing (Send/Receive primitives). The method leads to 3-layer architectures. The bottom layer includes the components of the application software where atomic strong synchronization is implemented by sequences of Send/Receive primitives. The second layer includes a set of interaction protocols. Each protocol handles the interactions of a class of the given partition. The third layer implements a conflict resolution protocol used to resolve conflicts between conflicting interactions of the second layer. Depending on the given partition, the execution of obtained Send/Receive BIP model range from centralized (all interactions in the same class) to fully distributed (each class has a single interaction). From Send/Receive BIP models and a given mapping of their components on a platform providing Send/Receive primitives, an implementation is automatically generated. For each class of the partition we generate C++ code implementing the global behavior of its components. The transformations have been fully implemented and integrated into BIP tool-set. The experimental results on non trivial examples and case studies show the novelty and the efficiency of our approach.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (133 p.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. 65 réf.

Où se trouve cette thèse ?

  • Bibliothèque : Service interétablissements de Documentation (Saint-Martin d'Hères, Isère). Bibliothèque universitaire de Sciences.
  • Disponible pour le PEB
  • Cote : TS10/GRE1/0181/D
  • Bibliothèque : Service interétablissements de Documentation (Saint-Martin d'Hères, Isère). Bibliothèque universitaire de Sciences.
  • Disponible sous forme de reproduction pour le PEB
  • Cote : TS10/GRE1/0181
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.