16 research outputs found

    Contribution à la commande sûre des Systèmes à Événements Discrets

    Get PDF
    Les activités de recherche rentrent dans le spectre de la section 61 du CNU et ont pour domaine l’Automatique des Systèmes à Événements Discrets (SED). Elles sont conduites en vue d’accroître la sûreté de fonctionnement des systèmes automatisés comme ceux qu’il est possible de trouver dans le cadre de la production manufacturière, de la production d'énergie ou du transport. Une grande partie de ces recherches a concerné la conception sûre des systèmes de contrôle-commande à base d’Automates Programmables Industriels (API) et plus particulièrement les thématiques suivantes :- la vérification formelle de programmes de contrôle-commande,- la synthèse algébrique de programmes de contrôle-commande à partir de spécifications informelles,- le test de conformité d’un contrôleur logique vis-à-vis de sa spécification.D'autres recherches ont porté sur la formalisation des outils pour l’analyse de sûreté, utilisés dans le cadre de l’analyse prévisionnelle des risques d’un équipement ou d’une installation industrielle. Cette formalisation des outils utilisés en sûreté a été faite en examinant avec un point de vue SED une problématique qui ne l’était pas à son origine. Il a été étudié :- la modélisation algébrique des arbres de défaillances dynamiques,- l’analyse prévisionnelle des risques d’un point de vue qualitatif pour les systèmes réparables à partir de Boolean logic Driven Markov Processes (BDMPs),- l’analyse prévisionnelle des risques d’un point de vue quantitatif pour les systèmes réparables à l’aide de chaînes de Markov.D'une manière générale, ces activités de recherche ont pour objectif de proposer des apports formels ou méthodologiques à des outils de modélisation généralement issus de l’industrie tout en répondant à des besoins industriels déjà présents ou sur le point de le devenir

    Diagnostic, opacité et test de conformité pour des systèmes récursifs

    Get PDF
    L'une des façons les plus efficace de s'assurer du bon fonctionnement d'un système informatique est de les représenter par des modèles mathématiques. De nombreux travaux ont été réalisés en utilisant des automates finis comme modèles, nous essayons ici d'étendre ces travaux à des modèles infinis. Dans cette thèse, nous nous intéressons à quelques problèmes dans lesquels un système est observé de façon incomplète. Dans ce cas, il est impossible d'accéder à certaines informations internes. La diagnosticabilité d'une propriété donnée consiste à vérifier qu'à l'exécution du système, un observateur sera en mesure de déterminer avec certitude que la propriété est vérifiée par le système. L'opacité consiste, réciproquement, à déterminer qu'un doute existera toujours. Une autre application concerne la génération de cas de test. Une fois encore, on considère qu'un observateur n'accède qu'à une partie des événements se produisant dans le système (en général les entrées et les sorties). À partir d'une spécification, on produit automatiquement des cas de test, qui ont pour but de détecter des non-conformités (elles même formalisées de façon précise). Ces trois problèmes ont été étudiés pour des modèles finis. Dans cette thèse, nous étendons leur étude aux modèles récursifs, pour cela nous avons introduit notre propre modèle, les RTS, qui sont une généralisation des automates à pile, et d'autres modèles de la récursivité. Nous adaptons ensuite les techniques utilisées sur des modèles finis, qui servent à résoudre les problèmes qui nous intéressent.An effective way to ensure the proper functioning of a computer system is to represent it by using mathematical models . Many studies have been conducted using finite automata as models, in this thesis we try to extend these works to infinite models. We focus on three problems in which a system is partially observed. In this case, it is impossible to access certain internal informations. Diagnosability of a given property consist in checking, that, during the execution of the system, an observer will be able to determine with certainty that the property is verified by the system. Conversely, the opacity consists in determining if a doubt will always exist. Another application is the generation of test cases. Once again, we consider that an observer accesses only some events of the system (typically the inputs and outputs): from a specification, we automatically generate test cases, which are designed to detect non-conformance. These three problems have been studied for finite models. In this thesis, we extend their study to recursive models. For this purpose, we have introduced a new model, the RTS, which are a generalization of pushdown automata and other models of recursion. In order to solve problems of interest, we adapt the techniques used in finite models.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF

    Assistance à la validation et vérification de systèmes critiques : ontologies et intégration de composants

    Get PDF
    Les activités de validation et vérification de modèles sont devenues essentielles dans le développement de systèmes complexes. Les efforts de formalisation de ces activités se sont multipliés récemment étant donné leur importance pour les systèmes embarqués critiques. Notre travail s’inscrit principalement dans cette voie. Nous abordons deux visions complémentaires pour traiter cette problématique. La première est une description syntaxique implicite macroscopique basée sur une ontologie pour aider les concepteurs dans le choix des outils selon leurs exigences. La seconde est une description sémantique explicite microscopique pour faciliter la construction de techniques de vérification compositionnelles. Nous proposons dans la première partie de cette thèse une ontologie pour expliquer et expliciter les éléments fondateurs du domaine que nous appelons VVO. Cette ontologie pourra avoir plusieurs autres utilisations : une base de connaissance, un outil de formation ou aussi un support pour le choix de la méthode à appliquer et l’inférence de correspondance entre outils. Nous nous intéressons dans la seconde partie de cette thèse à une formalisation dans un assistant à la preuve de l’introduction de composants dans un langage de modélisation et des liens avec les activités de validation et vérification. Le but est d’étudier la préservation des propriétés par composition : les activités de vérification sont généralement coûteuses en terme de temps et d’effort, les faire d’une façon compositionnelle est très avantageux. Nous partons de l’atelier formel pour l’Ingénierie Dirigée par les Modèles Coq4MDE. Nous suivons la même ligne directrice de développement prouvé pour formaliser des opérateurs de composition et étudier la conservation des propriétés par assemblage. Nous nous intéressons au typage puis à la conformité de modèles par rapport au métamodèle et nous vérifions que les opérateurs définis permettent de conserver ces propriétés. Nous nous focalisons sur l’étude d’opérateurs élémentaires que nous exploitons pour spécifier des opérateurs de plus haut niveau. Les préconditions des opérateurs représentent les activités de vérification non compositionnelles qui doivent être effectuées en plus de la vérification des composants pour assurer la postcondition des opérateurs qui est la propriété souhaitée. Nous concluons en présentant des perspectives pour une formalisation algébrique en théorie des catégories

    Méthode de synthèse d'un contrôleur logique à partir des spécifications algébriques

    Get PDF
    We present a synthesis method for the control of discrte event systems (DES). This method is an alternative to the supervisory contol theory (SCT). The method uses a control specification described in natural language and finishes with the implantation of control functions calculated in a logic controller, such as the Programmable Logic Controller (PLC).Nous présentons une méthode de synthèse de la commande d'un système à événements discrets (SED). Cette méthode est une alternative à la technique de synthèse de la commande supervisée. La méthode part d'une spécification de la commande décrite en langage naturel et va jusqu'à l'implantation des fonctions de commande calculées dans un contrôleur logique, tel que l'Automate Programmable Industriel 'API)

    Compilation certifiée de SCADE/LUSTRE

    Get PDF
    Les langages synchrones sont apparus autour des années quatre-vingt, en réponse à un besoin d avoir un modèle mathématique simple pour implémenter des systèmes temps réel critiques. Dans ce modèle, le temps est découpé en instants discrets durant lesquels tous les composants du système reçoivent et produisent une donnée. Cette modélisation permet des raisonnements beaucoup plus simples en évitant de devoir prendre en compte le temps de calcul de chaque opération. Dans le monde du logiciel critique, la fiabilité du matériel et de son fonctionnement sont primordiaux, et on accepte d être plus lent si on devient plus sûr. Afin d augmenter cette fiabilité, plutôt que de concevoir manuellement tout le système, on utilise des machines qui synthétisent automatiquement le système souhaité à partir d une description la plus concise possible. Dans le cas du logiciel, ce mécanisme s appelle la compilation, et évite des erreurs introduites par l homme par inadvertance. Elle ne garantit cependant pas la bonne correspondance entre le système produit et la description donnée. Des travaux récents menés par une équipe INRIA dirigée par Xavier Leroy ont abouti en 2008 au compilateur CompCert d un sous-ensemble large de C vers l assembleur PowerPC pour lequel il a été prouvé dans l assistant de preuve Coq que le code assembleur produit correspond bien à la description en C du programme source. Un tel compilateur offre des garanties fortes de bonne correspondance entre le système synthétisé et la description donnée. De plus, avec les compilateurs utilisés pour le temps réel critique, la plupart des optimisations sont désactivées afin d éviter les erreurs qui y sont liées. Dans CompCert, des optimisations elles aussi prouvées sont proposées, ce qui pourrait permettre ces passes dans la production de systèmes temps réel critiques sans en compromettre la fiabilité. Le but de cette thèse est d avoir une approche similaire mais spécifique à un langage synchrone, donc plus approprié à la description de systèmes temps réel critiques que ne l est le C. Un langage synchrone flots de données semblable à Lustre, nommé Ls, et un langage impératif semblable au langage C, nommé Obc y sont proposés ainsi que leur sémantique formelle et une chaîne de compilation avec des preuves de préservation de sémantique le long de cette chaîne.Synchronous languages first appeared during the 80 s, in order to provide a mathematical model for safety-critical systems. In this model, time is discrete. At each instant, all components of the system simultaneously receive and produce some data. This model allows simpler reasonning on the behaviour of the system, as it does not involve the time required for each of the operations for every component. In safety-critical systems, safety is the rule, so a poor performance behaviour can be allowed if it improves safety. In order to improve safety, rather than conceiving directly the system, machines are used to automatically design the system from a given concise description. In the case of software, this machine is called a compiler, and avoids issues due to some human inadvertence. But it does not ensure that the produced system and the description specification really show the same behaviour. Some recent work from an INRIA team lead by Xavier Leroy achieved in 2008 the realisation of the CompCert compiler from a large subset of C to PowerPC assembly, for which it was proven inside of the Coq proof assistant that the produced system fits its source description. Such a compiler offers strong guarantees that the produced system and its given description by the programmer really fit. Furthermore, most current compiler s optimizations are disabled when dealing with safety-critical systems in order to avoid tedious compilation errors that optimizations may introduce. Proofs for optimizations may allow their use in this domain without affecting the faith we could place in the compiler. The aim of this thesis is to follow a similar path, but this one on a language which would be more suited for safety-critical systems than the C programming language. Some dataflow synchronous programming language very similar to Lustre, called Ls is described with its formal semantics, as well as an imperative programming language similar to a subset of C called Obc. Furthermore some compilation process is described as well as some proofs that the semantics is preserved during the compilation process.PARIS11-SCD-Bib. électronique (914719901) / SudocSudocFranceF

    Un langage de programmation pour composer l'interaction musicale : la gestion du temps et des événements dans Antescofo

    Get PDF
    Mixed music is the association in live performance of human musicians and computer mediums, interacting in real-time. Authoring the interaction between the humans and the electronic processes, as well as their real-time implementation, challenge computer science in several ways. This contribution presents the Antescofo real-time system and its domain specific language. Using this language a composer is able to describe temporal scenarios where electronic musical processes are computed and scheduled in interaction with a live musician performance. Antescofo couples artificial machine listening with a reactive and temporized system. The challenge in bringing human actions in the loop of computing is strongly related the specification and the management of multiple time frameworks and timeliness of live execution despite heterogeneous nature of time in the two mediums. Interaction scenarios are expressed at a symbolic level through the management of musical time (i.e., events like notes or beats in relative tempi) and of the physical time (with relationships like succession, delay, duration, speed between the occurrence of the events during the performance on stage). Antescofo unique features are presented through a series of examples which illustrate how to manage execution of different audio processes through time and their interactions with an external environment. The Antescofo approach has been validated through numerous uses of the system in live electronic performances in contemporary music repertoire by various international music ensembles.La musique mixte se caractérise par l’association de musiciens instrumentistes et de processus électroniques pendant une performance. Ce domaine soulève des problématiques sur l’écriture de cette interaction et sur les mécanismes qui permettent d’exécuter des programmes dans un temps partagé avec les musiciens.Ce travail présente le système temps réel Antescofo et son langage dédié. Il permet de décrire des scénarios temporels où des processus sont calculés et ordonnancés en interaction avec un environnement musical. Antescofo couple un système de suivi de partition avec un système réactif temporisé.L’originalité du système réside dans la sémantique temporelle du langage adaptée aux caractéristiques critiques de l’interaction musicale. Le temps et les événements peuvent s’exprimer de façon symbolique dans une échelle en secondes ou dans des échelles relatives à des tempos.Nous présenterons les domaines de recherche apparentés à Antescofo en musique et en informatique, les caractéristiques du langage et de la partie réactive d’Antescofo qui ont été développés pendant cette thèse en particulier les stratégies synchronisations et les différents contrôles du temps et des évènements permis par le système. Nous donnerons une sémantique du langage qui formalise le fonctionnement du moteur d’exécution. À travers une série d’exemples d’applications issues de collaborations artistiques, nous illustrerons les interactions temporelles qu’il faut gérer entre une machine et un instrumentiste lors d’un concert. Le système a pu être validé à travers de nombreux concerts par différents orchestres d’envergure internationale

    ScaleSem (model checking et web sémantique)

    Get PDF
    Le développement croissant des réseaux et en particulier l'Internet a considérablement développé l'écart entre les systèmes d'information hétérogènes. En faisant une analyse sur les études de l'interopérabilité des systèmes d'information hétérogènes, nous découvrons que tous les travaux dans ce domaine tendent à la résolution des problèmes de l'hétérogénéité sémantique. Le W3C (World Wide Web Consortium) propose des normes pour représenter la sémantique par l'ontologie. L'ontologie est en train de devenir un support incontournable pour l'interopérabilité des systèmes d'information et en particulier dans la sémantique. La structure de l'ontologie est une combinaison de concepts, propriétés et relations. Cette combinaison est aussi appelée un graphe sémantique. Plusieurs langages ont été développés dans le cadre du Web sémantique et la plupart de ces langages utilisent la syntaxe XML (eXtensible Meta Language). Les langages OWL (Ontology Web Language) et RDF (Resource Description Framework) sont les langages les plus importants du web sémantique, ils sont basés sur XML.Le RDF est la première norme du W3C pour l'enrichissement des ressources sur le Web avec des descriptions détaillées et il augmente la facilité de traitement automatique des ressources Web. Les descriptions peuvent être des caractéristiques des ressources, telles que l'auteur ou le contenu d'un site web. Ces descriptions sont des métadonnées. Enrichir le Web avec des métadonnées permet le développement de ce qu'on appelle le Web Sémantique. Le RDF est aussi utilisé pour représenter les graphes sémantiques correspondant à une modélisation des connaissances spécifiques. Les fichiers RDF sont généralement stockés dans une base de données relationnelle et manipulés en utilisant le langage SQL ou les langages dérivés comme SPARQL. Malheureusement, cette solution, bien adaptée pour les petits graphes RDF n'est pas bien adaptée pour les grands graphes RDF. Ces graphes évoluent rapidement et leur adaptation au changement peut faire apparaître des incohérences. Conduire l application des changements tout en maintenant la cohérence des graphes sémantiques est une tâche cruciale et coûteuse en termes de temps et de complexité. Un processus automatisé est donc essentiel. Pour ces graphes RDF de grande taille, nous suggérons une nouvelle façon en utilisant la vérification formelle Le Model checking .Le Model checking est une technique de vérification qui explore tous les états possibles du système. De cette manière, on peut montrer qu un modèle d un système donné satisfait une propriété donnée. Cette thèse apporte une nouvelle méthode de vérification et d interrogation de graphes sémantiques. Nous proposons une approche nommé ScaleSem qui consiste à transformer les graphes sémantiques en graphes compréhensibles par le model checker (l outil de vérification de la méthode Model checking). Il est nécessaire d avoir des outils logiciels permettant de réaliser la traduction d un graphe décrit dans un formalisme vers le même graphe (ou une adaptation) décrit dans un autre formalismeThe increasing development of networks and especially the Internet has greatly expanded the gap between heterogeneous information systems. In a review of studies of interoperability of heterogeneous information systems, we find that all the work in this area tends to be in solving the problems of semantic heterogeneity. The W3C (World Wide Web Consortium) standards proposed to represent the semantic ontology. Ontology is becoming an indispensable support for interoperability of information systems, and in particular the semantics. The structure of the ontology is a combination of concepts, properties and relations. This combination is also called a semantic graph. Several languages have been developed in the context of the Semantic Web. Most of these languages use syntax XML (eXtensible Meta Language). The OWL (Ontology Web Language) and RDF (Resource Description Framework) are the most important languages of the Semantic Web, and are based on XML.RDF is the first W3C standard for enriching resources on the Web with detailed descriptions, and increases the facility of automatic processing of Web resources. Descriptions may be characteristics of resources, such as the author or the content of a website. These descriptions are metadata. Enriching the Web with metadata allows the development of the so-called Semantic Web. RDF is used to represent semantic graphs corresponding to a specific knowledge modeling. RDF files are typically stored in a relational database and manipulated using SQL, or derived languages such as SPARQL. This solution is well suited for small RDF graphs, but is unfortunately not well suited for large RDF graphs. These graphs are rapidly evolving, and adapting them to change may reveal inconsistencies. Driving the implementation of changes while maintaining the consistency of a semantic graph is a crucial task, and costly in terms of time and complexity. An automated process is essential. For these large RDF graphs, we propose a new way using formal verification entitled "Model Checking".Model Checking is a verification technique that explores all possible states of the system. In this way, we can show that a model of a given system satisfies a given property. This thesis provides a new method for checking and querying semantic graphs. We propose an approach called ScaleSem which transforms semantic graphs into graphs understood by the Model Checker (The verification Tool of the Model Checking method). It is necessary to have software tools to perform the translation of a graph described in a certain formalism into the same graph (or adaptation) described in another formalismDIJON-BU Doc.électronique (212319901) / SudocSudocFranceF

    Preuves par raffinement de programmes avec pointeurs

    Get PDF
    Le but de cette thèse est de spécifier et prouver des programmes avec pointeurs, tels que des programmes C, en utilisant des techniques de raffinement. L approche proposée permet de faire un compromis entre les techniques complexes qui existent dans la littérature et ce qui est utilisable dans l industrie, en conciliant légèreté des annotations et restrictions sur les alias. Nous définissons, dans un premier temps, un langage d étude, qui s inspire du langage C, et dans lequel le seul type de données mutable possible est le type des structures, auquel on accède uniquement à travers des pointeurs. Afin de structurer nos programmes, nous munissons notre langage d une notion de module et des concepts issus de la théorie du raffinement tels que les variables abstraites que nous formalisons par des champs modèle, et les invariants de collage. Ceci nous permet d écrire des programmes structurés en composants. L introduction des invariants de données dans notre langage soulève des problématiques liées au partage de pointeurs. En effet, en cas d alias, on risque de ne plus pouvoir garantir la validité de l invariant de données d une structure. Nous interdisons, alors l aliasing (le partage de référence) dans notre langage. Pour contrôler les accès à la mémoire, nous définissons un système de type, basé sur la notion de régions. Cette contribution s inspire de la théorie du raffinement et a pour but, de rendre les programmes les plus modulaires possible et leurs preuves les plus automatiques possible. Nous définissons, sur ce langage, un mécanisme de génération d obligations de preuve en proposant un calcul de plus faible précondition incorporant du raffinement. Nous prouvons ensuite, la correction de ce mécanisme de génération d obligations de preuve par une méthode originale, fondée sur la notion de sémantique bloquante, qui s apparente à une preuve de type soundness et qui consiste donc, à prouver la préservation puis le progrès de ce calcul. Nous étendons, dans un deuxième temps, notre langage en levant partiellement la restriction liée au partage de références. Nous permettons, notamment, le partage de références lorsqu aucun invariant de données n est associé au type structure référencé. De plus, nous introduisons le type des tableaux, ainsi que les variables globales et l affectation qui ne font pas partie du langage noyau. Pour chacune des extensions citées ci-dessus, nous étendons la définition et la preuve de correction du calcul de plus faible précondition en conséquence. Nous proposons enfin, une implantation de cette approche sous forme d un greffon de Frama-C (http://frama-c.com/). Nous expérimentons notre implantation sur des exemples de modules implantant des structures de données complexes, en particulier des défis issus du challenge VACID0 (http://vacid. codeplex.com/), à savoir les tableaux creux (Sparse Array) et les tas binaires.The purpose of this thesis is to specify and prove programs with pointers, such as C programs, using refinement techniques. The proposed approach allows a compromise between the complexe methods that exist in the literature and what is used in industry, reconciling lightness annotations and restrictions on the alias. We define, firstly, a language study, based on the C language, in which the only type of mutable data allowed is the type of structures, which can be accessed only through pointers. In order to structure our programs, we bring our language with a module notion and concepts issue from a refinement theory such as abstract variables that we formalize by model fields and gluing invariants. This allows us to write programs structured by components. Introducing invariants in our language raises issues related to aliasing. Indeed, in presence of alias, we might not be able to guarantee the validity of the invariant data structure. We forbid then the aliasing in our language. To control memory access, we define a type system based on the concept of regions. This contribution is based on the theory and refinement. It aims to make programs as modular as possible and proofs as automatic as possible. We define on this language, a mechanism for generation of proof obligations by proposing a weakest precondition calculus incorporating refinement. Next we prove the correction of this proof obligations generation mechnaism by an original method based on the concept of blocking semantic, which is similar to a proof of type soundness, and consists therefore, to proove the preservation and the progress of the defined calculus. Secondly, we extend our language by, partially, lifting the restrictions related to aliasing. We allow, in particular, sharing when no invariant is associated to the referenced data structure. In addition, we introduce the type of arrays, global variables, and assignment that are not part of the core language. For each of the extensions mentioned above, we extend the definition and correctness proof of the weakest precondition calculus accordingly. Finally, we propose an implementation of this approach as a Frama-C plugin(http ://frama-c.com/). We experimente our implantation on examples of modules implementing complex data structures, especially the challenges from the challenge VACID0 (http ://vacid. Codeplex.com /), namely sparse srrays and binary heaps.PARIS11-SCD-Bib. électronique (914719901) / SudocSudocFranceF

    31ème Journées Francophones des Langages Applicatifs

    Get PDF
    International audienc

    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