A simulation-driven model-based approach for designing softwareintensive systems-of-systems architectures
Une approche dirigée par les simulations à base de modèles pour concevoir les architectures de systèmes-des-systèmes à logiciel prépondérant
Résumé
Context: Software-intensive systems have been increasingly interoperated forming alliances termed as “Systems-of-Systems” (SoS). SoS comprises a collection of systems joined to achieve a set of missions that none of the systems can individually accomplish. Each constituent system keeps its own management, goals, and resources while coordinating within the SoS and adapting to meet SoS goals. Applications of SoS range from traffic control to emergency response and crisis management. As SoS often support critical domains, such systems must be trustworthy by dealing with malfunction or defects and avoiding failures that could cause extensive damage and losses to the users.Problem: Correct SoS operations depend on a precise specification of the SoS structure and a rigorous attestation of its behaviors. However, besides limitations on languages to jointly capture SoS structure and behavior, predictions on the SoS emergent behaviors rely on constituent systems not totally known at design-time. Therefore, SoS have been developed and deployed without evaluating their operation, since current languages do not support such precision in evaluation.Objectives: This PhD project provides solutions founded on a formal architectural description language to support an early evaluation of SoS behaviors regarding its inherent SoS structure and dynamics through simulations.Contribution: The main contributions of this project comprise (i) a model transformation approach for automatically producing simulation models from SoS software architecture descriptions, combining SoS structure and behavior description in a same solution, (ii) a SoS software architecture evaluation method for SoS operation prediction considering the inherent changes that can occur, (iii) environment modeling and automatic generation of stimuli generators to sustain the SoS simulation, delivering data to feed such simulation, and (iv) a method for the automatic synchronization between the runtime descriptive architecture (changed at runtime due to dynamic architecture) and its original prescriptive architecture based on model discovery and recovery mechanisms and a backward model transformation.Evaluation: We conducted case studies to assess our approaches using Flood Monitoring SoS and Space SoS.Results: Our approaches show a high accuracy to (i) produce fault-free and operational simulations for SoS software architectures, (ii) support a reliable evaluation and prediction of SoS operation at design-time, (iii) automatically generate stimuli generators to sustain and feed the simulation execution, and (iv) maintain the synchronization between descriptive and prescriptive versions of the SoS architecture.Conclusions: We concluded that the proposed approaches advance the state of the art in SoS software architecture evaluation by offering solutions to predict the SoS operations effectiveness to maintain a continuous operation despite architectural changes, providing more trust for users that in the future shall rely on SoS services.
Contexte : Les systèmes à logiciels prépondérants sont de plus en plus interopérables formant des alliances nommées « Systèmes-des-Systèmes » (SdS). Les applications des SdS peuvent aller des systèmes de gestion du trafic jusqu’aux systèmes de gestion de crises. Étant donné que les SdS supportent souvent des domaines critiques, ils doivent être fiables en traitant les disfonctionnements ou les défauts et en évitant les défaillances qui pourraient causer des dégâts et pertes importantes aux utilisateurs.Problème : Ajuster les opérations d’un SdS dépend d’une spécification précise et une attestation rigoureuse de sa consistance opérationnelle. Cependant, en plus des limitations des langages pour capturer conjointement la structure et le comportement des SdS, les prédictions de la consistance opérationnelle des SdS reposent sur leurs systèmes constitutifs qui ne sont pas totalement connus au moment de la conception. Par conséquent, les SdS ont été développés et déployés sans évaluation de leurs opérations, puisque les langages actuels ne supportent pas ce type de précision lors de l’évaluation. Objectif : Cette thèse fournit des solutions théoriques et pratiques basées sur un langage formel de description d’architectures pour supporter une évaluation précoce des opérations du SdS par rapport à la structure et le comportement du SdS à travers les simulations. Contributions : Les contributions essentielles de ce projet comprennent (i) une approche de transformation des modèles pour produire automatiquement des modèles de simulation à partir des descriptions des architectures logicielles du SdS, combinant la description structurelle et comportementale du SdS dans la même solution, (ii) une méthode d’évaluation de l’architecture logicielle du SdS pour la prédiction des opérations du SdS tout en considérant les changements inhérents qui peuvent se produire, (iii) la modélisation de l’environnement et la génération automatique des générateurs de stimulus pour soutenir la simulation des SdS, livrant des données pour nourrir tel simulation, et (iv) une méthode pour la synchronisation automatique entre l’architecture descriptive d’exécution (qui change à l’exécution par suite de l’architecture dynamique) et son architecture prescriptive d’origine basée sur des mécanismes de découverte et de récupération de modèles et une transformation de modèle à l'envers.Évaluation : Nous avons conduit des cas d’études pour évaluer nos approches en utilisant le SdS de surveillance des inondations et le SdS d’espace.Résultats : Notre approche montre une précision importante pour (i) produire des simulations des architectures logicielles des SdS sans failles et complètement opérationnelles, (ii) supporte une évaluation et une prédiction fiable des opérations du SdS à la phase de conception, (iii) génère de manière automatique des générateurs de stimuli pour soutenir et nourrir l’exécution de la simulation et (iv) maintien la synchronisation entre les versions descriptives et prescriptives de l’architecture du SdS.Conclusion : Nous avons conclu que les approches proposées font évoluer l’état de l’art de l’évaluation des architectures logicielles des SdS en offrant des solutions pour prédire l’efficacité des opérations du SdS pour maintenir une opération continue malgré les changements architecturaux, fournissant plus de confidence aux utilisateurs qui reposent dans l’avenir sur les services du SdS.
Origine | Version validée par le jury (STAR) |
---|
Loading...