4 research outputs found

    Specifying Self-configurable Component-based Systems with FracToy

    Get PDF
    International audienceOne of the key research challenges in autonomic computing is to define rigorous mathematical models for specifying, analyzing, and verifying high-level self-* policies. This paper presents the FracToy formal methodology to specify self-configurable component-based systems, and particularly both their component-based architectural description and their self-configuration policies. This rigorous methodology is based on the first-order relational logic, and is implemented with the Alloy formal specication language. The paper presents the dierent steps of the FracToy methodology and illustrates them on a self-configurable component-based example

    Intergiciel d'intergiciels adaptable Ă  base de Services, Composants et Aspects

    Get PDF
    Cette habilitation à diriger des recherches présente mes travaux sur le génie logiciel des intergiciels, domaine à la croisée de l’informatique répartie et du génie logiciel. L’intergiciel est la couche logicielle permettant de s’abstraire de l’hétérogénéité des technologies de l’informatique distribuée et de répondre aux besoins d’interopérabilité, de portabilité, d’adaptation et de séparation des préoccupations des applications réparties. Mes travaux ont été guidés par deux questions de recherche ouvertes : 1) quel est le paradigme de programmation le plus approprié pour les applications réparties ? 2) quelle est l’organisation la plus appropriée pour l’intergiciel ?La première partie présente une synthèse de mes travaux et contributions. Premièrement, mes travaux ont porté sur la transition des objets vers les composants CORBA donnant lieu à deux contributions majeures : le langage de script CorbaScript standardisé auprès de l’OMG et la plate-forme OpenCCM pour le développement, le déploiement, l’exécution et l’administration d’applications réparties à base de composants CORBA. Deuxièmement, je me suis intéressé à la conception de canevas intergiciels hautement adaptables. Ces travaux basés sur les composants réflexifs Fractal ont donné lieu à un cadre de programmation par attributs sur lequel trois canevas flexibles pour la gestion du transactionnel, le déploiement de systèmes distribués hétérogènes et les composants Java temps-réels ont été bâtis. Enfin, mes travaux ont porté sur la proposition du modèle Services Composants Aspects (SCA) et l’intergiciel d’intergiciels FraSCAti.La deuxième partie opère un zoom sur le projet FraSCAti. La contribution scientifique de ce projet est de proposer un intergiciel réflexif pour l’informatique orientée service combinant deux idées originales : la notion d’intergiciel d’intergiciels et le modèle Services Composants Aspects réflexif. Partant du constat qu’il n’existe pas d’intergiciel universel capable de couvrir l’ensemble des besoins de toutes les applications distribuées, le projet FraSCAti propose un canevas intergiciel extensible pour l’intégration et la composition élégante des intergiciels et technologies SOA existants, c’est-à-dire un intergiciel d’intergiciels. Le modèle SCA réflexif est quant à lui le mariage fécond du standard OASIS Service Component Architecture (SCA), du modèle de composants Fractal et de la programmation orientée aspects (AOP). Dans ce modèle, tout est composant réflexif permettant ainsi d’adapter dynamiquement aussi bien les applications métiers, l’intergiciel, les liaisons de communication réseau que les aspects non fonctionnels. Cette contribution a été appliquée sur l’orchestration de services à large échelle, la construction de systèmes de systèmes et une plate-forme distribuée multi-nuages. La dernière partie dresse un bilan des contributions et présente mes perspectives de recherche centrées sur le génie logiciel pour l’informatique en nuage (cloud computing)

    Modélisation formelle de systèmes dynamiques autonomes : graphe, réécriture et grammaire

    Get PDF
    Modern, large-scale systems are deployed in changing environments. They must dynamically adapt to context changes. In this scope, autonomic computing aims at reducing (or even suppress) slow and costly human interventions, by making systems achieve self-management. Self-adaptability of a system is primarily based on a suitable description of its components, their interactions and the various states it can adopt. Various mod! eling approaches have been elaborated, notably based on architecture description languages (ADLs) or generic models (e.g., UML, graphs). These representations usually focus on some aspects or properties of dynamic systems and do not tackle each of self-management's requirements. This manuscript deals with graph-based representations of dynamic systems and their suitability for the implementation of autonomic computing's four fundamental properties : self-optimization, self-protection, self-healing and self-configuring. This thesis offers four principal theoretical and applied contributions The first one is a methodology for the construction and generative characterization of transformations correct by construction whose application necessarily preserves a system's correctness. An application can therefore efficiently remains in an acceptable state while evolving. The second one consists in an extension of graph rewriting systems allowing to easily and efficiently represent, update, evaluate and configure a system's characteristics. These claims are supported by concrete example relying on DIET, a distributed and hierarchical load balancer. An experimental study reveals a significant efficiency gain with regard to classical methods, in particular those integrated to AGG and GMTE. The third contribution is articulated around the design of an end-to-end manager for complex events processing requests. It demonstrates the interest of graphs as an abstract, high-level, representation in an applicative context comprising numerous fragmented technical solutions. The fourth and last one relies on the design of an autonomic manager for any Machine-to-Machine system complying to the ETSI M2M2 standard. It illustrates the methodology for correct transformations, but also the integration of the proposed representation within a multi-model approach including internal consistency concerns. The approach's feasibility is experimentally demonstrated using a smart metering application.Les systèmes distribués modernes à large-échelle évoluent dans des contextes variables soumis à de nombreux aléas auxquels ils doivent s'adapter dynamiquement. Dans ce cadre, l'informatique autonome se propose de réduire (voire supprimer) les interventions humaines lentes et coûteuse, en leur préférant l'auto-gestion. L'adaptabilité autonome d'un système repose avant tout sur une description adéquate de ses composants, de leurs interactions et des différents aspects ou topologies qu’il peut adopter. Diverses approches de modélisation ont étés proposées dans la littérature, basées notamment sur des langages de descriptions spécifiques (e.g., les ADLs) ou des modèles génériques plus ou moins formels (e.g., profils UML, graphes). Ces représentations se concentrent en général sur certains aspects ou propriétés du système dynamique et ne permettent ainsi pas de répondre à chacune des problématiques inhérentes à l'auto-gestion. Cette thèse traite de la modélisation basée graphes des systèmes dynamiques et de son adéquation pour la mise en œuvre des quatre propriétés fondamentales de l'informatique autonome : l'auto-optimisation, l'auto-protection, l'auto-guérison et l'auto-configuration. Cette thèse propose quatre principales contributions théoriques et appliquées. La première est une méthodologie pour la construction et la caractérisation générative de transformations correctes par construction dont l'application préserve nécessairement la correction du système. Le maintien d'une application dans un état acceptable peut ainsi être efficacement garanti lors de son adaptation. La seconde contribution consiste en une extension des systèmes de réécriture de graphe permettant de représenter, mettre à jour, évaluer et paramétrer les caractéristiques d'un système aisément et efficacement. Ces affirmations sont soutenues par des exemples illustratifs concrets reposant sur DIET, un répartiteur de charge distribué. Une étude expérimentale extensive révèle un net gain d'efficacité vis à vis de méthodes classiques, en particulier celles intégrées nativement aux outils AGG et GMTE. La troisième contribution s'articule autour de l'élaboration d'un module de gestion de bout en bout pour des requêtes de traitement d'événements complexes. Elle démontre l'intérêt des graphes en tant que représentation abstraite et haut niveau dans un contexte applicatif comprenant de multiples solutions fragmentées. La quatrième et dernière contribution réside dans le design d'un gestionnaire autonome apte à régenter tout système Machine-à-Machine se conformant au standard ETSI M2M. Elle illustre la méthodologie relative à la correction par construction, mais également l'intégration de la représentation proposée à des approches multi-modèles incluant des problématiques de cohérence interne. La faisabilité de l'approche est démontrée expérimentalement en s'appuyant sur une application de compteur intelligent pour la domotique
    corecore