Contributions to the Rigorous Design of Concurrent Component-Based Software and Systems Using BIP - Université de Lille
Hdr Année : 2024

Contributions to the Rigorous Design of Concurrent Component-Based Software and Systems Using BIP

Résumé

The work presented in the manuscript was carried out in the framework of the Rigorous System Design (RSD) approach. This approach emphasizes multiple levels of separation of concerns. It enforces behavioural properties through semantics-preserving transformations. The RSD flow involves designing an application model, verifying elementary properties, extending the model with platform components, and generating executable code. The approach is applied to various domains, including embedded systems, cyber-physical systems, autonomous systems, and digital twins. The three main chapters summarise the key contributions of the author. Chapter 2 explores the classical semantics of BIP, a robust component framework central to the RSD methodology. It introduces the theory of architectures, a key element enabling the combination of predefined BIP design patterns to enforce desired behavioural properties. The design process, starting from system requirements and leading to the C++ implementation, is illustrated using the CubETH nano-satellite on-board software case study. Chapter 3 develops a formal algebraic framework for comparing the expressive power of component-based frameworks. It applies this framework to analyse the expressiveness of the BIP framework. Additionally, an alternative “offer” semantics of BIP is introduced, exploring its relationship with the classical semantics. Chapter 4 addresses the adaptation of the RSD approach to general-purpose software development. It introduces JavaBIP, a Java implementation of BIP-inspired coordination mechanisms. JavaBIP utilizes Java annotations and reflection mechanisms to define BIP models associated with Java objects. The chapter details the coordination mechanisms, modular architecture, and the dynamic addition/removal of components in JavaBIP. Two ongoing applications in Cloud Computing and Software Variability, leveraging JavaBIP, are highlighted. Future work directions are outlined, including the need for a unifying modelling framework for self-adaptive systems, exploration of architecture styles, development of model extraction mechanisms to address software evolution, ensuring model-software adequation through runtime monitoring and dynamic approaches, and addressing the challenge of distributed implementation for scalability while maintaining expressiveness in coordination mechanisms.
Le travail présenté dans le manuscrit a été réalisé dans le cadre de l'approche de Conception Rigoureuse des Systèmes (RSD). Cette approche met l'accent sur plusieurs niveaux de séparation des préoccupations et impose des propriétés comportementales grâce à des transformations préservant la sémantique. Le flux RSD implique la conception d'un modèle d'application, la vérification des propriétés élémentaires, l'extension du modèle avec des composants de plateforme, et la génération de code exécutable. L'approche est appliquée à divers domaines, notamment les systèmes embarqués, les systèmes cyber-physiques, les systèmes autonomes et les jumeaux numériques. Les trois principaux chapitres résument les principales contributions de l'auteur. Le chapitre 2 explore la sémantique classique de BIP, un cadre de composants robuste au cœur de la méthodologie RSD. Il introduit la théorie des architectures, un élément clé permettant la combinaison de motifs de conception BIP prédéfinis pour imposer des propriétés comportementales souhaitées. Le processus de conception, partant des exigences du système et aboutissant à l'implémentation C++, est illustré à l'aide de l'étude de cas du logiciel embarqué du nano-satellite CubETH. Le chapitre 3 développe un cadre algébrique formel pour comparer la puissance expressive des cadres basés sur les composants. Il applique ce cadre pour analyser l'expressivité du cadre BIP. De plus, une sémantique alternative ``offre'' de BIP est introduite, explorant sa relation avec la sémantique classique. Le chapitre 4 aborde l'adaptation de l'approche RSD au génie logiciel généraliste. Il introduit JavaBIP, une implémentation Java de mécanismes de coordination inspirés de BIP. JavaBIP utilise des annotations Java et des mécanismes de réflexion pour définir des modèles BIP associés à des objets Java. Le chapitre détaille les mécanismes de coordination, l'architecture modulaire, et l'ajout/suppression dynamique de composants dans JavaBIP. Deux applications en cours de développement dans les domaines du Cloud Computing et de la Variabilité logicielle, exploitant JavaBIP, sont mises en avant. Les orientations futures sont évoquées, notamment la nécessité d'un cadre de modélisation unificateur pour les systèmes auto-adaptatifs, l'exploration des styles d'architecture, le développement de mécanismes d'extraction de modèles pour traiter l'évolution des logiciels, l'assurance de l'adéquation modèle-logiciel par le biais de la surveillance en temps réel et des approches d’analyse dynamique, ainsi que le défi d'une implémentation distribuée permettant le passage à l’échelle tout en maintenant l'expressivité des mécanismes de coordination.
Fichier principal
Vignette du fichier
manuscript.pdf (4.15 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Licence

Dates et versions

tel-04567479 , version 1 (03-05-2024)

Licence

Identifiants

  • HAL Id : tel-04567479 , version 1

Citer

Simon Bliudze. Contributions to the Rigorous Design of Concurrent Component-Based Software and Systems Using BIP. Computer Science [cs]. Université de Lille, 2024. ⟨tel-04567479⟩
80 Consultations
45 Téléchargements

Partager

More