7 research outputs found
Une approche de vérification d'exécution de modèles par contrats
National audienceOne of the main goal of model-driven engineering is the manipulation of models as exclusive software artifacts. Model execution is in particular a means to substitute models for code. We focus in this paper on verifying model executions. We use a contract-based approach to specify an execution semantics for a meta-model. We show that an execution semantics is a seamless extension of a rigorous meta-model specification and composed of complementary levels, from static element definition to dynamic elements, execution specifications as well. We use model transformation contracts for controlling the dynamic consistent evolution of a model during its execution.Un des buts fondateurs de l'ingénierie des modèles est la manipulation des modèles en tant qu'éléments logiciels productifs. L'exécution de modèles est notamment un moyen de remplacer l'écriture du code. Nous nous intéressons dans cet article à la vérification d'exécution de modèles. Nous utilisons pour cela une approche par contrat pour spécifier une sémantique d'exécution pour un méta-modèle donné. Nous montrons qu'une sémantique d'exécution est un prolongement naturel d'un méta-modèle rigoureusement défini et est formée de niveaux complémentaires, de la définition d'éléments statiques et dynamiques ainsi que de spécifications d'exécution de ces éléments. Nous utilisons des contrats de transformation de modèles pour vérifier la cohérence de l'évolution dynamique d'un modèle pendant son exécution
MOCAS : un modèle de composants basé états pour l'auto-adaptation
Software administrators, developers and designers need original means to deal with the growing complexity of IT systems. For administrators to be freed from tedious tasks and for systems to be more reactives, these systems, a.k.a autonomic systems, tend to be endowed with self-management capabilities such as self-configuration and self-healing. These capabilities are strongly tied to the self-adaptive one, which enables a system to modify its structure and its behavior while it is running. Hitherto, current approaches focus on adaptations related to the structure of component-based systems by altering links between components. In our approach, we focus on behavioral adaptation. We defined the MOCAS component model (Model Of Components for Adaptive Systems) to allow the construction of autonomic systems by using self-adaptive software components. MOCAS is based on model-driven engineering techniques and only relies on the Unified Modeling Language (UML) to endow each software component with self-adaptive capabilities. The structure of a MOCAS component is specified with UML native elements. The behavior of the component is specified with a UML state machine. This state machine is later executed by the component in order to realize its behavior. The component is then deployed in a dedicated container, a MOCAS component too, in order to become adaptive. A set of MOCAS components enables to build a decentralized control loop for making components self-adaptive and autonomic. Finally, a MOCAS component used autonomic policies also specified with state machines to configure itself and to heal itself.Les administrateurs, les développeurs, les concepteurs logiciels ont besoin de nouvelles approches pour faire face à la complexité croissante des systèmes informatiques. Afin de libérer les administrateurs de tâches répétitives et d'améliorer la réactivité des systèmes, ces systèmes, alors appelés systèmes autonomiques, tendent à être dotés de capacités d'auto-gestion telles que l'auto-configuration et l'auto-réparation. Ces capacités d'auto-gestion sont fortement couplées à la capacité du système à s'auto-adapter, c.-à-d. à modifier sa structure et son comportement alors qu'il est en cours d'exécution. Les approches se sont jusqu'alors concentrées sur l'auto-adaptation structurelle des systèmes à base de composants logiciels en remaniant les liaisons entre les composants. Dans notre approche, nous nous focalisons sur l'adaptation comportementale. Nous avons défini le modèle de composants MOCAS (Model Of Components for Adaptive Systems) pour permettre la réalisation de systèmes autonomiques à base de composants logiciels auto-adaptatifs. MOCAS repose sur une approche uniforme exploitant l'ingénierie des modèles : les capacités d'adaptation et les propriétés autonomiques de chaque composant reposent sur l'usage qui est fait par MOCAS du langage de modélisation UML. La structure d'un composant MOCAS repose sur les éléments natifs du langage MOCAS. Le comportement du composant est décrit avec une machine à états MOCAS. Cette machine est ensuite exécutée par le composant pour réaliser son comportement. Pour devenir adaptable, le composant est déployé dans un conteneur respectant ce même modèle. Une boucle de contrôle à base de composants MOCAS permet de réaliser des composants auto-adaptables de façon décentralisée et de les doter de propriétés autonomiques. Les politiques autonomiques exploitent alors les modèles de machines à états afin d'auto-configurer et d'auto-réparer les composants
MOCAS (un modèle de composants basé états pour l'auto-adaptation)
Les administrateurs, les développeurs, les concepteurs logiciels ont besoin de nouvelles approches pour faire face à la complexité croissante des systèmes informatiques. Afin de libérer les administrateurs de t^aches répétitives et d'améliorer la réactivité des systèmes, ces systèmes, alors appelés systèmes autonomiques, tendent à être dotés de capacités d'auto-gestion telles que l'auto-configuration et l'auto-réparation. Ces capacités d'auto-gestion sont fortement couplées à la capacité du système à s'auto-adapter, c.-à-d. à modifier sa structure et son comportement alors qu'il est en cours d'exécution. Les approches se sont jusqu'alors concentrées sur l'auto-adaptation structurelle des systèmes à base de composants logiciels en remaniant les liaisons entre les composants. Dans notre approche, nous nous focalisons sur l'adaptation comportementale. Nous avons défini le modèle de composants MOCAS (Model Of Components for Adaptive Systems) pour permettre la réalisation de systèmes autonomiques à base de composants logiciels auto-adaptatifs. MOCAS repose sur une approche uniforme exploitant l'ingénierie des modèles : les capacités d'adaptation et les propriétés autonomiques de chaque composant reposent sur l'usage qui est fait par MOCAS du langage de modélisation UML. La structure d'un composant MOCAS repose sur les éléments natifs du langage UML. Le comportement du composant est décrit avec une machine à états UML. Cette machine est ensuite exécutée par le composant pour réaliser son comportement. Pour devenir adaptable, le composant est déployé dans un conteneur respectant ce même modèle. Une boucle de contrôle à base de composants MOCAS permet de réaliser des composants auto-adaptables de façon décentralisée et de les doter de propriétés autonomiques. Les politiques autonomiques exploitent alors les modèles de machines à états afin d'auto-configurer et d'auto-réparer les composants.Software administrators, developers and designers need original means to deal with the growing complexity of it systems. For administrators to be freed from tedious tasks and for systems to be more reactives, these systems, a.k.a autonomic systems, tend to be endowed with self-management capabilities such as self-configuration and self-healing. These capabilities are strongly tied to the self-adaptive one, which enables a system to modify its structure and its behavior while it is running. Hitherto, current approaches focus on adaptations related to the structure of component-based systems by altering links between components. In our approach, we focus on behavioral adaptation. We defined the MOCAS component model (Model Of Components for Adaptive Systems) to allow the construction of autonomic systems by using self-adaptive software components. MOCAS is based on model-driven engineering techniques and only relies on the unified modeling language (UML) to endow each software component with self-adaptive capabilities. The structure of a MOCAS component is specified with UML native elements. The behavior of the component is specified with a UML state machine. This state machine is later executed by the component in order to realize its behavior. The component is then deployed in a dedicated container, a MOCAS component too, in order to become adaptive. A set of MOCAS components enables to build a decentralized control loop for making components self-adaptive and autonomic. Finally, a MOCAS component used autonomic policies also specified with state machines to configure itself and to heal itself.PAU-BU Sciences (644452103) / SudocSudocFranceF
MOCAS: A State-Based Component Model for Self-Adaptation
International audienc
MODACLOUDS: A Model-Driven Approach for the Design and Execution of Applications on Multiple Clouds
Abstract—Cloud computing is emerging as a major trend in the ICT industry. While most of the attention of the research community is focused on considering the perspective of the Cloud providers, offering mechanisms to support scaling of resources and interoperability and federation between Clouds, the perspective of developers and operators willing to choose the Cloud without being strictly bound to a specific solution is mostly neglected. We argue that Model-Driven Development can be helpful in this context as it would allow developers to design software systems in a cloud-agnostic way and to be supported by model transformation techniques into the process of instantiating the system into specific, possibly, multiple Clouds. The MODA-CLOUDS (MOdel-Driven Approach for the design and execution of applications on multiple Clouds) approach we present here is based on these principles and aims at supporting system developers and operators in exploiting multiple Clouds for the same system and in migrating (part of) their systems from Cloud to Cloud as needed. MODACLOUDS offers a qualitydriven design, development and operation method and features a Decision Support System to enable risk analysis for the selection of Cloud providers and for the evaluation of the Cloud adoption impact on internal business processes. Furthermore, MODACLOUDS offers a run-time environment for observing the system under execution and for enabling a feedback loop with the design environment. This allows system developers to react to performance fluctuations and to re-deploy applications on different Clouds on the long term. Keywords-Cloud computing, model-driven development, performance, portability. I