123 research outputs found

    Adaptations dynamiques au contexte en informatique ambiante : propriétés logiques et temporelles

    Get PDF
    In ubiquitous computing, applications are built as a collaboration of computerized and communicating objects called devices. Because these devices can be mobile or subject to failures, this infrastructure evolves dynamically and unpredictably. Thus, to fit seamlessly into their environment and to provide the functionalities expected by users which are often more sustainable than the environment, applications must dynamically adapt to these changes. Each of these variable phenomena pursues its own dynamic. The challenge offered to adaptation mechanisms is to be able to consider them, with suitable dynamics.For this purpose, we propose an architectural model and an adaptation mechanism. The architectural model is based on four levels organized hierarchically according to their complexity and to the dynamics they can offer. We combine to this architectural model an adaptation mechanism. Based on the separation of concerns principle, our mechanism allows us to consider the variability of the system. Due to the unpredictability of the environment, the sets of adaptations that will be deployed by the upper levels of the architecture may not have been anticipated at design time. Also, thanks to some logical and temporal properties, these adaptations can be composed in non-anticipated way and with appropriate response time. The proposed mechanism, called cascaded aspects, is implemented using Aspects of Assembly and the WComp execution platform.En informatique ambiante, les applications sont construites en faisant interagir entre eux des objets informatisés et communicants appelés dispositifs. Parce que ces dispositifs peuvent être mobiles ou subir des pannes, cette infrastructure évolue dynamiquement et de manière imprévisible. Aussi, pour s’insérer de manière transparente dans leur environnement et fournir les fonctionnalités attendues par les utilisateurs, bien souvent plus pérennes que l’environnement sur lequel elles reposent, les applications doivent s’adapter dynamiquement à ces évolutions. Ces phénomènes variables poursuivant leur propre dynamique, le défi proposé aux mécanismes d’adaptation est d’être capable de les prendre encompte, avec une dynamique adaptée à chacun d’entre eux.Dans cette optique, nous proposons un modèle architectural ainsi qu’un mécanisme d’adaptation. Le modèle architectural repose sur quatre niveaux organisés hiérarchiquement en fonction de leur complexité et de la dynamique qu’ils peuvent offrir. Nous lui associons un mécanisme d’adaptation qui, à partir du principe de séparation des préoccupations permet d’exprimer la variabilité du système. En raison de l’imprévisibilité de l’environnement, les ensembles d’adaptations qui seront déployées par les niveaux supérieurs de l’architecture ne peuvent pas nécessairement être anticipés à la conception. Aussi, grâce à un ensemble de propriétés logiques et temporelles, ces adaptations peuvent être composées de manière non-anticipée dans des temps de réponse adaptés. Le mécanisme d’adaptation proposé, appelé cascade d’aspects, est expérimenté en se basant sur les Aspects d’Assemblages et la plateforme d’exécution WComp

    Modèle à Composant pour Plate-forme Autonomique

    Get PDF
    In the last decades, computing environments have been getting more and more complex, filled with miniaturized and sophisticated devices that can handle mobility and wireless communications. Ubiquitous computing, as envisioned by Mark Weiser in 1991, promote the seamless integration of those computing environments with the real world in order to offer new kinds of applications. However, writing software for ubiquitous environments raises numerous challenges, mainly the problem of how to make an application adapt itself in an ever changing context. From another perspective, as classical softwares were growing in size and complexity, IBM proposed the concept of autonomic computing to help to contain the burden of administering massive and numerous systems. This PhD thesis is based on an approach where applications are designed in terms of components using and providing services. A development model based on a reference architecture for the conception of ubiquitous applications is proposed, greatly inspired by researches in the autonomic computing field. In this model, the application is managed by a hierarchy of autonomic managers, that base their decisions on a central representation of the system. The fulfilment of this contribution requires to make the underlying middleware more reflexive, in order to support new kinds of runtime adaptations. We also provide a model that depicts the running system and its dynamics in a uniform way, based on REST principles. Applications relying on this reflexive middleware and represented by this model are what we called Autonomic-Ready. Implementations of our proposals have been integrated in the Apache Felix iPOJO service-oriented component model. The system representation, named Everest, is provided as a OW2 Chameleon subproject. Validation is based on the iCASA pervasive environment development and simulation environment.Ces dernières décennies, les environnements informatiques sont devenus de plus en plus complexes, parsemés de dispositifs miniatures et sophistiqués gérant la mobilité et communiquant sans fil. L'informatique ubiquitaire, telle qu'imaginée par Mark Weiser en 1991, favorise l'intégration transparente de ces environnements avec le monde réel pour offrir de nouveaux types d'applications. La conception de programmes pour environnements ubiquitaires soulève cependant de nombreux défis, en particulier le problème de rendre une application auto-adaptable dans un contexte en constante évolution. Parallèlement, alors que la taille et la complexité de systèmes plus classiques ont explosé, IBM a proposé le concept d'informatique autonomique afin de réduire le fardeau de l'administration de systèmes imposants et largement disséminés. Cette thèse se base sur une approche où les applications sont conçues sous la forme de composants utilisant et fournissant des services. Un modèle de développement fondé sur une architecture de référence pour la conception d'applications ubiquitaires est proposée, fortement inspiré des recherches dans le domaine de l'informatique autonomique. Dans ce modèle, les applications sont prises en charge par une hiérarchie de gestionnaires autonomiques, qui appuient leurs décisions sur une représentation centrale du système. La mise en œuvre de cette contribution requiert de rendre la couche d'exécution sous-jacente plus réflexive, en vue de supporter de nouveaux types d'adaptations à l'exécution. Nous proposons également un modèle qui décrit le système à l'exécution et reflète sa dynamique de manière uniforme, suivant les principes du style d'architecture REST. Les applications reposant sur ce cette couche d'exécution réflexive et représentées par ce modèle sont qualifiées d'Autonomic-Ready. L'implantation de nos propositions ont été intégrées dans le modèle à composant orienté service Apache Felix iPOJO. Le modèle de représentation du système, nommé Everest, est publié en tant que sous-projet d'OW2 Chameleon. Ces propositions ont été évaluées et validées par la conception et l'exécution d'une application ubiquitaire sur iCASA, un environnement de développement et de simulation

    ASAP approche orientée : services pour un support agile et flexible des processus de conception de produit dans les systèmes PLM

    Get PDF
    To cope with market dynamic and shortened time to market, industrial companies need toimplement an effective management of their design processes (DPs) and product information.Unfortunately, Product Lifecycle Management (PLM) systems which are dedicated to support designactivities are not efficient as it might be expected. Indeed, DPs are changing, emergent and nondeterministic, due to the business environment under which they are carried out. The aim of this workis to propose an alternative approach for flexible process support within PLM systems to facilitate thecoupling with the environment reality. The purpose of a support system is to accelerate the process byautomating the notification and dispatching of information and activities between actors. It also allowsto keep track of transactions and decisions made and to increase processes standardization. Our goal isto propose a solution which allows process change at run-time without having to redefine and restartthe whole of process activities. To achieve this, we proposed an approach based on service-orientedarchitectures (SOA). These architectures allow defining modular applications, using loosly coopledservices. They are mainly exploited for software systems and Web development. Our goal is to declinesuch architectures at the business level of a company in order to perform flexible DPs deploymentbased on services reuse and composition. We propose an identification approach for business levelservices (product design services) and functional PLM services. These services are organized in twocatalogs of business and functional services. Our approach is based on Model Driven Approach withthree levels which propose alignment mechanisms between business, functional and technical levels.These alignment mechanisms between levels allow integrating change and automating design processdeployment.La dynamique de l’offre et de la demande des produits manufacturiers ainsi que leraccourcissement de leurs cycles de vie obligent les entreprises industrielles à se doter de processus dedéveloppement produit dynamiques et agiles. Nos travaux se positionnement sur le supportinformatisé de ces processus de développement qui sont actuellement gérés par les systèmes PLM.L’objectif d’un support informatisé est d’accélérer le processus en automatisant la notification et ladiffusion des informations. Il permet également de garder trace des opérations et décisions effectuéeset d’accroître la standardisation des processus. Face à la rigidité des solutions actuellement proposéespour gérer les processus vis-à-vis des modifications survenant dans le processus, notre objectif est deproposer une approche permettant de modifier un processus en cours d’exécution sans devoir leredéfinir et le relancer dans son ensemble. Pour y parvenir, nous avons proposé, une approche quidécline une orientation services inspirée des architectures orientées services (SOA). Ces architecturespermettent de définir des applications modulaires, en utilisant des services faiblement couplés. Notreobjectif est de décliner une telle architecture exploitée essentiellement pour les systèmes logiciels et leWeb, au niveau métier de l’entreprise afin de modéliser et d’exécuter de manière flexible desprocessus de conception de produits par composition de services réutilisables. Nous proposons unedémarche d'identification des services du domaine métier des processus de conception produit et dudomaine fonctionnel du PLM. Ces services sont organisés dans deux catalogues de services métiers etfonctionnels. Notre approche s'inscrit dans le cadre de l'Ingénierie Dirigée par les Modèles (IDM) avecune architecture de réference à trois niveaux et des mécanismes d’alignement entre les niveaux métier,fonctionnel et logiciel. Ces mécanismes d'alignement entre les niveaux permettent d’intégrerl’évolution et d'automatiser le déploiement d’un processus de conception du niveau métier auxniveaux fonctionnel et logiciel

    Modèles, outils et plate-forme d'exécution pour les applications à service dynamiques

    Get PDF
    L'essor de l'Internet et l'évolution des dispositifs communicants ont permis l'intégration du monde informatique et du monde réel, ouvrant ainsi la voie à de nouveaux types d'applications, tels que les applications ubiquitaires et pervasives. Ces applications doivent s'exécuter dans des contextes hétérogènes, distribués et ouverts qui sont en constante évolution. Dans de tels contextes, la disponibilité des services et des dispositifs, les préférences et la localisation des utilisateurs peuvent varier à tout moment pendant l'exécution des applications. La variabilité des contextes d'exécution fait que l'exécution d'une application dépend, par exemple, des services disponibles ou des dispositifs accessibles à l'exécution. En conséquence, l'architecture d'une telle application ne peut pas être connue statiquement à la conception, au développement ou au déploiement, ce qui impose de redéfinir ce qu'est une application dynamique : comment la concevoir, la développer, l'exécuter et la gérer à l'exécution. Dans cette thèse, nous proposons une approche dirigée par les modèles pour la conception, le développement et l'exécution d'applications dynamiques. Pour cela, nous avons défini un modèle de composants à services permettant d'introduire des propriétés de dynamisme au sein d'un modèle de composants. Ce modèle permet de définir une application en intention, via un ensemble de propriétés, de contraintes et de préférences de composition. Une application est ainsi spécifiée de façon abstraite ce qui permet de contrôler la composition graduelle de l'application lors de son développement et de son exécution. Notre approche vise à effacer la frontière entre les activités effectuées avant et pendant l'exécution des applications. Pour ce faire, le même modèle et les mêmes mécanismes de composition sont utilisés de la conception jusqu'à l'exécution des applications. A l'exécution, le processus de composition considère, en plus, les services disponibles dans la plate-forme d'exécution permettant la composition opportuniste des applications ; ainsi que la variabilité du contexte d'exécution permettant l'adaptation dynamique des compositions. Nous avons mis en œuvre notre approche via un prototype nommé COMPASS, qui s'appuie sur les plates-formes CADSE pour la réalisation d'environnements logiciels de conception et de développement, et APAM pour la réalisation d'un environnement d'exécution d'applications à services dynamiques.The growth of the Internet and the evolution of communicating devices have allow the integration of the computer world and the real world, paving the way for developing new types of applications such as pervasive and ubiquitous ones. These applications must run in heterogeneous, distributed and open environments that evolve constantly. In such environments, the availability of services and devices, the preferences and location of users may change at any time during the execution of applications. The variability of the execution context makes the execution of an application dependent on the available services and devices. Building applications capable of evolving dynamically to their execution context is a challenging task. In fact, the architecture of such an application cannot be fully known nor statically specified at design, development or deployment times. It is then needed to redefine the concept of dynamic application in order to cover the design, development, execution and management phases, and to enable thus the dynamic construction and evolution of applications. In this dissertation, we propose a model-driven approach for the design, development and execution of dynamic applications. We defined a component service model that considers dynamic properties within a component model. This model allows defining an application by its intention (its goal) through a set of composition properties, constraints and preferences. An application is thus specified in an abstract way, which allows controlling its gradual composition during development and execution times. Our approach aims to blur the boundary between development-time and runtime. Thus, the same model and the same composition mechanisms are used from design to runtime. At runtime, the composition process considers also the services available in the execution platform in order to compose applications opportunistically; and the variability of the execution context in order to adapt compositions dynamically. We implemented our approach through a prototype named COMPASS, which relies on the CADSE platform for building software design and development environments, and on the APAM platform for building an execution environment for dynamic service-based applications.SAVOIE-SCD - Bib.électronique (730659901) / SudocGRENOBLE1/INP-Bib.électronique (384210012) / SudocGRENOBLE2/3-Bib.électronique (384219901) / SudocSudocFranceF

    Proposition d'un cadre de référence pour la conception et l'exploitation d'un progiciel de gestion intégré.

    Get PDF
    Les travaux présentés dans cette thèse portent sur la proposition d'un cadre de référence afin d'accompagner la gestion de projet lors de la conception et le déploiement d'un ERP pour les PME/PMI. Ces travaux se placent à l'intersection des domaines du génie industriel et du génie logiciel. Les enjeux et les risques dans la mise en oeuvre d'un système d'information sont importants. Afin d'améliorer la qualité des projets suivant des notions de coûts, de délais et de performance, nous apportons de nouveaux éléments dans la conception et le pilotage de ces projets. Nous proposons une méthode d'ingénierie des projets ERP basée sur l'utilisation des modèles d'entreprise et de référence. Dans une première partie, nous travaillons sur l'utilisation d'un formalisme unique, le langage UML (Unified Modeling Language) pour modéliser l'organisation de l'entreprise et le fonctionnement de la solution logicielle. Le langage UML permet de représenter les points de vue physique, logique ou fonctionnel de ces systèmes. De plus, le langage UML permet, au gré de l'utilisateur, d'avoir différents niveaux de granularité. Dans une deuxième partie, nous travaillons sur la définition d'un cadre de référence pour la gestion des projets ERP. Dans ce cadre de référence, nous avons placé les modèles d'entreprise et de référence. Nous avons défini des mécanismes pour modifier les modèles et les mettre en correspondance afin d'obtenir le « bon » paramétrage de la solution logicielle. Un paramétrage qui correspond à la juste adéquation de l'organisation et du système d'information. ABSTRACT : This research work proposes a formal framework to manage the project of design and exploitation of an ERP in SMEs/SMIs. The study covers two scientific disciplines : industrial engineering and software engineering. Stakes and risks in the implementation of an information system are substantial. In order to improve the quality of projects in terms of cost, time and performance, we contribute to the progress of knowledge with a set of new elements which facilitate project design and management. We propose a method of engineering of these projects based on the use of enterprise and reference models. First, we work on the use of a single formalism, the UML language (Unified Modeling Language), to model the company organization and software functionalities. The UML language makes it possible to represent the physical, logical or functional points of view of these systems. Moreover, the UML language allows the user to have various levels of granularity with the representation, with respect to the user's expectations. Second, we deal with the definition of a formal framework for ERP project management. Within this reference framework, we try to allocate enterprise and reference models. We defined mechanisms to modify the models and to integrate them in order to obtain the right parameter setting for the software solution. The customization corresponds to the right adequacy between the organization and the information system. A case study is used in order to demonstrate the relevance of our approach for the last two parts of the thesis

    Composition dynamique de services sensibles au contexte dans les systèmes intelligents ambiants

    Get PDF
    With the appearance of the paradigms of the ambient intelligence and ubiquitaire robotics, we attend the emergence of new ambient intelligent systems to create and manage environments or intelligent ecosystems in a intuitive and transparent way. These environments are intelligent spaces characterized in particular by the opening, the heterogeneousness, the uncertainty and the dynamicité of the entities which establish(constitute) them. These characteristics so lift(raise) considerable scientific challenges for the conception(design) and the implementation of an adequate intelligent system. These challenges are mainly among five: the abstraction of the representation of the heterogeneous entities, the management of the uncertainties, the reactivity in the events, the sensibility in the context and the auto-adaptationAvec l'apparition des paradigmes de l'intelligence ambiante et de la robotique ubiquitaire, on assiste à l'émergence de nouveaux systèmes intelligents ambiants visant à créer et gérer des environnements ou écosystèmes intelligents d'une façon intuitive et transparente. Ces environnements sont des espaces intelligents caractérisés notamment par l'ouverture, l'hétérogénéité, l'incertitude et la dynamicité des entités qui les constituent. Ces caractéristiques soulèvent ainsi des défis scientifiques considérables pour la conception et la mise en œuvre d'un système intelligent adéquat. Ces défis sont principalement au nombre de cinq : l'abstraction de la représentation des entités hétérogènes, la gestion des incertitudes, la réactivité aux événements, la sensibilité au contexte et l'auto-adaptation face aux changements imprévisibles qui se produisent dans l'environnement ambiant. L'approche par composition dynamique de services constitue l'une des réponses prometteuses à ces défis. Dans cette thèse, nous proposons un système intelligent capable d'effectuer une composition dynamique de services en tenant compte, d'une part, du contexte d'utilisation et des diverses fonctionnalités offertes par les services disponibles dans un environnement ambiant et d'autre part, des besoins variables exprimés par les utilisateurs. Ce système est construit suivant un modèle multicouche, adaptatif et réactif aux événements. Il repose aussi sur l'emploi d'un modèle de connaissances expressif permettant une ouverture plus large vers les différentes entités de l'environnement ambiant notamment : les dispositifs, les services, les événements, le contexte et les utilisateurs. Ce système intègre également un modèle de découverte et de classification de services afin de localiser et de préparer sémantiquement les services nécessaires à la composition de services. Cette composition est réalisée d'une façon automatique et dynamique en deux phases principales: la phase offline et la phase online. Dans la phase offline, un graphe global reliant tous les services abstraits disponibles est généré automatiquement en se basant sur des règles de décision sur les entrées et les sorties des services. Dans la phase online, des sous-graphes sont extraits automatiquement à partir du graphe global selon les tâches à réaliser qui sont déclenchées par des événements qui surviennent dans l'environnement ambiant. Les sous-graphes ainsi obtenus sont exécutés suivant un modèle de sélection et de monitoring de services pour tenir compte du contexte d'utilisation et garantir une meilleure qualité de service. Les différents modèles proposés ont été mis en œuvre et validés sur la plateforme ubiquitaire d'expérimentation du laboratoire LISSI à partir de plusieurs scénarii d'assistance et de maintien de personnes à domicil

    SĂ©lection contextuelle de services continus pour la robotique ambiante

    Get PDF
    La robotique ambiante s'intéresse à l'introduction de robots mobiles au sein d'environnements actifs où ces derniers fournissent des fonctionnalités alternatives ou complémentaires à celles embarquées par les robots mobiles. Cette thèse étudie la mise en concurrence des fonctionnalités internes et externes aux robots, qu'elle pose comme un problème de sélection de services logiciels. La sélection de services consiste à choisir un service ou une combinaison de services parmi un ensemble de candidats capables de réaliser une tâche requise. Pour cela, elle doit prédire et évaluer la performance des candidats. Ces performances reposent sur des critères non-fonctionnels comme la durée d'exécution, le coût ou le bruit. Ce domaine applicatif a pour particularité de nécessiter une coordination étroite entre certaines de ses fonctionnalités. Cette coordination se traduit par l'échange de flots de données entre les fonctionnalités durant leurs exécutions. Les fonctionnalités productrices de ces flots sont modélisées comme des services continus. Cette nouvelle catégorie de services logiciels impose que les compositions de services soient hiérarchiques et introduit des contraintes supplémentaires pour la sélection de services. Cette thèse met en évidence la présence d'un important couplage non-fonctionnel entre les performances des instances de services de différents niveaux, même lorsque les flots de données sont unidirectionnels. L'approche proposée se concentre sur la prédiction de la performance d'une instance de haut-niveau sachant son organigramme à l'issue de la sélection. Un organigramme regroupe l'ensemble des instances de services sollicitées pour réaliser une tâche de haut-niveau. L'étude s'appuie sur un scénario impliquant la sélection d'un service de positionnement en vue de permettre le déplacement d'un robot vers une destination requise. Pour un organigramme considéré, la prédiction de performance d'une instance de haut-niveau de ce scénario introduit les exigences suivantes : elle doit (i)être contextuelle en tenant compte, par exemple, du chemin suivi pour atteindre la destination requise, (ii) prendre en charge le remplacement d'une instance de sous-service suite à un échec ou, par extension, de façon opportuniste. En conséquence, cette sélection de services est posée comme un problème de prise de décision séquentielle formalisé à l'aide de processus de décision markoviens à horizon fini. La dimensionnalité importante du contexte en comparaison à la fréquence des déplacements du robot rend inadaptées les méthodes consistant à apprendre directement une fonction de valeur ou une fonction de transition. L'approche proposée repose sur des modèles de dynamique locaux et exploite le chemin de déplacement calculé par un sous-service pour estimer en ligne les valeurs des organigrammes disponibles dans l'état courant. Cette estimation est effectuée par l'intermédiaire d'une méthode de fouille stochastique d'arbre, Upper Confidence bounds applied to TreesAmbient robotics aims at introducing mobile robots in active environments where the latter provide new or alternative functionalities to those shipped by mobile robots. This thesis studies the competition between robot and external functionalities, which is set as a service selection problem. Service selection consists in choosing a service or a combination of services among a set of candidates able to fulfil a given request. To do this, it has to predict and evaluate candidate performances. These performances are based on non-functional requirements such as execution time, cost or noise. This application domain requires tight coordination between some of its functionalities. Tight coordination involves setting data streams between functionalities during their execution. In this proposal, functionalities producing data streams are modelled as continuous services. This new service category requires hierarchical service composition and adds some constraints to the service selection problem. This thesis shows that an important non-functional coupling appears between service instances at different levels, even when data streams are unidirectional. The proposed approach focuses on performance prediction of an high-level service instance given its organigram. This organigram gathers service instances involved in the high-level task processing. The scenario included in this study is the selection of a positioning service involved in a robot navigation high-level service. For a given organigram, performance prediction of an high-level service instance of this scenario has to: (i) be contextual by, for instance, considering moving path towards the required destination, (ii) support service instance replacement after a failure or in an opportunist manner. Consequently, this service selection is set as a sequential decision problem and is formalized as a finite-horizon Markov decision process. Its high contextual dimensionality with respect to robot moving frequency makes direct learning of Q-value functions or transition functions inadequate. The proposed approachre lies on local dynamic models and uses the planned moving path to estimate Q-values of organigrams available in the initial state. This estimation is done using a Monte-Carlo tree search method, Upper Confidence bounds applied to TreesPARIS-EST-Université (770839901) / SudocSudocFranceF

    Tolérance aux fautes dans les systèmes autonomes

    Get PDF
    Les systèmes autonomes suscitent aujourd'hui un intérêt croissant, que ce soit dans le domaine des robots d'exploration spatiale ou dans des domaines plus proches de l'homme, tels que les robots de service. Mais se pose le problème de leur sûreté de fonctionnement : peut-on avoir une confiance justifiée dans le comportement de systèmes conçus pour prendre des décisions sans intervention humaine? L'objectif de cette thèse est de proposer des concepts architecturaux capables d'améliorer la sûreté de fonctionnement des systèmes autonomes, en particulier par la conception et le développement de mécanismes de tolérance aux fautes adaptés à la fonction de planification, centrale à l'autonomie des systèmes complexes. Une évaluation des performances et de l'efficacité des mécanismes proposés est réalisée en utilisant la technique d'injection de fautes par mutation. ABSTRACT : Autonomous systems generate today a rising interest, whether in fields such as space exploration or applications nearer to man such as medical assistants, tour guides or utonomous vehicles. However, such critical applications raise the question of their dependability : can we justifiably trust systems designed to take decisions without human intervention? The objective of this thesis is to propose architectural concepts able to improve dependability in autonomous systems. In particular, it presents the design and implementation of fault tolerance mechanisms adapted to planning, an essential functionality in autonomous systems. An evaluation of the performance and the efficacy of the proposed mechanisms is realized by fault injection through source code mutatio

    Un cadriciel pour la vérification en ligne, générique, flexible et évolutive de configurations de systèmes communicants complexes

    Get PDF
    Les systèmes communicants complexes constituent une base fondamentale de la vie d'aujourd'hui. Ils supportent de plus en plus de services et d'usages critiques, essentiels tant aux entreprises et administrations qu'à la société en général. L'exemple-type est celui d'Internet avec l'ensemble de ses services et usages variés, architectures et média allant de petits équipements mobiles comme les smartphones aux systèmes critiques à grande échelle comme les clusters de serveurs et le cloud. Il devient dès lors indispensable d'en garantir le fonctionnement effectif et continu. Pour ce faire, une vision consiste en la mise en œuvre de systèmes de gestion autonomes et adaptifs, capables de reconfigurer dynamiquement et en permanence ces systèmes afin de maintenir un état de fonctionnement désiré face à des conditions opérationnelles, instables et de moins en moins prévisibles. Un frein à l'exploitation effective des solutions de reconfiguration dynamique réside dans le manque de méthodes et de moyens garantissant l'effectivité et la sûreté de ces changements dynamiques de configurations. La contribution générale des travaux de cette thèse fournit des concepts, des méthodes et des outils qui favorisent la mise en œuvre d'une vérification en ligne de configurations. Notre démarche pour construire ce cadriciel a consisté dans un premier temps à définir un langage de haut niveau dédié à la spécification et la vérification de configurations. Nous avons architecturé dans un deuxième temps, un service de vérification générique, flexible et évolutive at runtime capable de manipuler les concepts définis dans ce langage. Enfin, nous avons défini une architecture de composants intermédiaires d'intégration de l'existant. Ce cadriciel permet de supporter un processus de vérification opérationnelle de configurations qui commence, en phase de conception par une spécification rigoureuse de modèles de configurations, puis se poursuit en phase d'exécution du système de gestion à travers une vérification automatique de configurations basée sur ces modèles. Le cadriciel a fait l'objet d'un prototype que nous avons expérimenté sur une série de cas issus de deux contextes applicatifs différents : la vérification de configurations d'un middleware orienté messages dans un environnement JMX et la vérification de configurations de machines virtuelles dans un environnement CIM/WBEM (standards du DMTF). Les résultats ont montré la faisabilité de l'approche ainsi que la capacité du cadriciel à soutenir une vérification en ligne, flexible et évolutive de configurations favorisant l'intégration de l'existant.Complex networked systems are a fundamental basis of today's life. They increasingly sup- port critical services and usages, essential both to businesses and the society at large. The evident example is the Internet with all its services and usages in a variety of forms, architectures and media ranging from small mobile devices such as smartphones to large-scale critical systems such as clusters of servers and cloud infrastructures. It is therefore crucial to ensure their effective and continuous operation. A vision to do this consists in the development of autonomous and adaptive management solutions, capable of dynamically and continuously reconfiguring these systems in order to maintain a desired state of operation in the face of unstable and unpredictable operational conditions. A main obstacle to the effective deployment of dynamic reconfiguration solutions is the lack of methods and means to ensure the effectiveness and safety of these dynamic con- figuration changes. The overall contribution of this thesis is to provide concepts, methods and tools to enable an online configuration verification. Our approach to build this framework was first to define a high-level language dedicated to the specification and verification of configurations. Second, we designed a generic flexible and adaptable runtime verification service, able to manipulate the concepts defined in this language. Finally, we defined an architecture of adapters for integrating existing systems and platforms. This allows our framework to support a runtime configuration verification process that starts at design time with a rigorous specification of configuration models and continues at runtime through automatic checking of configurations based on these models. The framework has been implemented in a prototype that has been experienced on a series of experiments from two different application domains: the verification of a messaging middle- ware's configurations in a JMX environment and the verification of virtual machines' configurations in a CIM/WBEM (DMTF standards) environment. The results showed the feasibility of our approach and the framework's ability to support a flexible and adaptable online verification of configurations that can be integrated with existing management solutions
    • …
    corecore