12 research outputs found

    Environnement d'assistance au développement de transformations de graphes correctes

    Get PDF
    Les travaux de cette thèse ont pour cadre la vérification formelle, et plus spécifiquement le projet ANR Blanc CLIMT (Categorical and Logical Methods in Model Transformation) dédié aux grammaires de graphes. Ce projet, qui a démarré en février 2012 pour une durée de 48 mois, a donné lieu à la définition du langage Small-tALC, bâti sur la logique de description ALCQI. Ce langage prend la forme d’un DSL (Domain Specific Language) impératif à base de règles, chacune dérivant structurellement un graphe. Le langage s’accompagne d’un composant de preuve basé sur la logique de Hoare chargé d’automatiser le processus de vérification d’une règle. Cependant, force est de constater que tous les praticiens ne sont pas nécessairement familiers avec les méthodes formelles du génie logiciel et que les transformations sont complexes à écrire. En particulier, ne disposant que du seul prouveur, il s’agit pour le développeur Small-tALC d’écrire un triplet de Hoare {P} S {Q} et d’attendre le verdict de sa correction sous la forme d’un graphe contre-exemple en cas d’échec. Ce contre-exemple est parfois difficile à décrypter, et ne permet pas de localiser aisément l’erreur au sein du triplet. De plus, le prouveur ne valide qu’une seule règle à la fois, sans considérer l’ensemble des règles de transformation et leur ordonnancement d’exécution. Ce constat nous a conduits à proposer un environnement d’assistance au développeur Small-tALC. Cette assistance vise à l’aider à rédiger ses triplets et à prouver ses transformations, en lui offrant plus de rétroaction que le prouveur. Pour ce faire, les instructions du langage ont été revisitées selon l’angle ABox et TBox de la logique ALCQI. Ainsi, conformément aux logiques de description, la mise à jour du graphe par la règle s’assimile à la mise à jour ABox des individus (les nœuds) et de leurs relations (les arcs) d’un domaine terminologique TBox (le type des nœuds et les étiquettes des arcs) susceptible d’évoluer. Les contributions de cette thèse concernent : (1) un extracteur de préconditions ABox à partir d’un code de transformation S et de sa postcondition Q pour l’écriture d’une règle {P} S {Q} correcte par construction, (2) un raisonneur TBox capable d’inférer des propriétés sur des ensembles de nœuds transformés par un enchaînement de règles {Pi} Si {Qi}, et (3) d’autres diagnostics ABox et TBox sous la forme de tests afin d’identifier et de localiser des problèmes dans les programmes. L’analyse statique du code de transformation d’une règle, combinée à un calcul d’alias des variables désignant les nœuds du graphe, permet d’extraire un ensemble de préconditions ABox validant la règle. Les inférences TBox pour un enchaînement de règles résultent d’une analyse statique par interprétation abstraite des règles ABox afin de vérifier formellement des états du graphe avant et après les appels des règles. A ces deux outils formels s’ajoutent des analyseurs dynamiques produisant une batterie de tests pour une règle ABox, ou un diagnostic TBox pour une séquence de règle

    Inductive representation, proofs and refinement of pointer structures

    Get PDF
    Cette thèse s'intègre dans le domaine général des méthodes formelles qui donnent une sémantique aux programmes pour vérifier formellement des propriétés sur ceux-ci. Sa motivation originale provient d'un besoin de certification des systèmes industriels souvent développés à l'aide de l'Ingénierie Dirigée par les Modèles (IDM) et de langages orientés objets (OO). Pour transformer efficacement des modèles (ou graphes), il est avantageux de les représenter à l'aide de structures de pointeurs, économisant le temps et la mémoire grâce au partage qu'ils permettent. Cependant la vérification de propriétés sur des programmes manipulant des pointeurs est encore complexe. Pour la simplifier, nous proposons de démarrer le développement par une implémentation haut-niveau sous la forme de programmes fonctionnels sur des types de données inductifs facilement vérifiables dans des assistants à la preuve tels que Isabelle/HOL. La représentation des structures de pointeurs est faite à l'aide d'un arbre couvrant contenant des références additionnelles. Ces programmes fonctionnels sont ensuite raffinés si nécessaire vers des programmes impératifs à l'aide de la bibliothèque Imperative_HOL. Ces programmes sont en dernier lieu extraits vers du code Scala (OO). Cette thèse décrit la méthodologie de représentation et de raffinement et fournit des outils pour la manipulation et la preuve de programmes OO dans Isabelle/HOL. L'approche est éprouvée par de nombreux exemples dont notamment l'algorithme de Schorr-Waite et la construction de Diagrammes de Décision Binaires (BDDs).This thesis stands in the general domain of formal methods that gives semantics to programs to formally prove properties about them. It originally draws its motivation from the need for certification of systems in an industrial context where Model Driven Engineering (MDE) and object-oriented (OO) languages are common. In order to obtain efficient transformations on models (graphs), we can represent them as pointer structures, allowing space and time savings through the sharing of nodes. However verification of properties on programs manipulating pointer structures is still hard. To ease this task, we propose to start the development with a high-level implementation embodied by functional programs manipulating inductive data-structures, that are easily verified in proof assistants such as Isabelle/HOL. Pointer structures are represented by a spanning tree adorned with additional references. These functional programs are then refined - if necessary - to imperative programs thanks to the library Imperative_HOL. These programs are finally extracted to Scala code (OO). This thesis describes this kind of representation and refinement and provides tools to manipulate and prove OO programs in Isabelle/HOL. This approach is put in practice with several examples, and especially with the Schorr-Waite algorithm and the construction of Binary Decision Diagrams (BDDs)

    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

    Un Framework Basé Bigraphes pour la Conception et l'Analyse des Systèmes Sensibles au Contexte

    Get PDF
    Today, modern technologies have become a part of our daily life. Whether to be informed, entertained, or even to communicate with friends, ubiquitous computing offers numerous opportunities. For this to become reality, computer systems must be able to observe the environment and to adapt their behaviour according to the users expectations and needs. This is called context-awareness. Indeed, the literature shows that context-awareness is the focal point of ubiquitous computing. However, due to heterogeneity and dynamicity of context information, taking it into account requires establishing a model to represent these information at a high-level of abstraction.In this thesis, we propose a model called BigCAS (Bigraphical Context-Aware System) that supports the design of context-aware systems. To achieve this goal, BigCAS is based on formal specifications, derived from bigraphical reactive systems, for modelling structural and behavioural aspects of context aware systems. It provides a clear separation between the context-aware part and the context-unaware part of these systems. Each part is modelled separately as a distinct bigraph, where the composition of these bigraphs models the general structure of the system, particularly, its components interactions and their side effects. Moreover, BigCAS considers not only structural aspects, but also the different reconfigurations involved in the behaviour of context aware systems.We also propose an extension to BigCAS, named BigCAS-FA (Bigraphical Context-Aware System - Formal Analysis), that provides formal verification of safety and liveness properties of context aware systems. Furthermore, BigCAS-FA provides contract-based strategies to guide the dynamic reconfiguration according to the context.To validate our proposals, we develop a prototype, BigCAS-Tool (Bigraphical Context Aware System - Tool), devoted to the specification and verification of context-aware systems. The proposed prototype is illustrated with a case study of a smart lighting system.Aujourd'hui, les nouvelles technologies font partie de notre vie quotidienne. Qu'il s'agisse de s'informer, de se divertir, ou même de communiquer avec ses amis, les possibilités qu'offre l'informatique ubiquitaire sont innombrables.Pour que ces possibilités puissent devenir une réalité, les systèmes informatiques doivent alors se doter d'une capacité d'observation de leur environnement et de s'adapter en fonction des attentes et des besoins des utilisateurs. C'est ce qu'on appelle la sensibilité au contexte. En effet, la littérature montre que la sensibilité au contexte est le point central de l'informatique ubiquitaire. Cependant, face à l'hétérogénéité et la dynamicité des informations de contexte, sa prise en compte nécessite la mise en place d'un modèle pour décrire ces informations à un haut niveau d'abstraction.Dans ce travail de thèse nous proposons, dans un premier temps, un modèle appelé BigCAS (Bigraphical Contexte-Aware System) qui permet la conception formelle des systèmes sensibles au contexte. Pour accomplir cet objectif, BigCAS repose sur des modèles formelles à base des systèmes réactifs bigraphiques permettant la modélisation des aspects structurels et comportementaux des systèmes sensibles au contexte. Il offre une séparation claire entre la partie sensible au contexte et la partie non-sensible au contexte de ces systèmes. Chacune de ces parties est modélisée séparément par un bigraphe distinct, où la composition de ceux-ci modélise la structure générale du système ainsi que les interactions et les effets de bord entre ses différents composants. Par ailleurs, BigCAS tient compte non seulement des aspects structurels, mais aussi des différentes reconfigurations intervenant dans le comportement des systèmes sensibles au contexte.Nous proposons également une extension du modèle BigCAS, appelée BigCAS-FA (Bigraphical Context-Aware System - Formal Analysis), qui permet la vérification formelle de propriétés de sûreté et de vivacité des systèmes sensibles au contexte. En outre, BigCAS-FA possède des stratégies à base de contrats qui consistent à guider la reconfiguration dynamique en fonction du contexte.Afin de valider nos propositions, nous développons le prototype BigCAS-Tool (Bigraphical Context Aware System - Tool) dédié à la spécification et la vérification des systèmes sensibles au contexte, et nous l'illustrons à travers une étude de cas d'un système d'éclairage intelligent

    Construction incrémentale de spécifications de systèmes critiques intégrant des procédures de vérification

    Get PDF
    Cette thèse porte sur l'aide à la construction de machines d'états UML de systèmes réactifs. Elle vise à définir un cadre théorique et pragmatique pour mettre en œuvre une approche incrémentale caractérisée par une succession de phases de construction, évaluation et correction de modèles. Ce cadre offre des moyens de vérifier si un nouveau modèle est conforme à ceux définis durant les étapes précédentes sans avoir à demander une description explicite des propriétés à vérifier. Afin de pouvoir analyser les machines d'états, nous leur associons une sémantique LTS ce qui nous a conduit à définir une procédure de transformation automatique de machines d'états en LTS. Dans un premier temps, nous avons défini et implanté des techniques de vérification de relations de conformité de LTS (red, ext, conf, et confrestr). Dans un second temps, nous nous sommes intéressés à la définition d'un cadre de construction incrémentale dans lequel plusieurs stratégies de développement peuvent être mises en œuvre en s'assurant que le modèle final élaboré sera une implantation conforme à la spécification initiale. Ces stratégies reposent sur des combinaisons de raffinements qui peuvent être de deux types : le raffinement vertical pour éliminer l'indéterminisme et ajouter des détails ; le raffinement horizontal pour ajouter de nouvelles fonctionnalités sans ajouter d'indéterminisme. Enfin, nous transposons la problématique de construction incrémentale d'une machine d'états à la construction d'architectures dont les composants sont des machines d'états. Des conditions sont définies pour assurer la conformité entre des architectures dans le cas de la substitution de composants.This thesis focuses on supporting construction of UML state machines of reactive systems. It aims at developing a theoretic and pragmatic framework to implement an incremental approach characterized by a succession of construction, evaluation and correction of models. This framework provides the means to verify whether a new model is consistent with those defined in the previous steps without requiring an explicit description of the properties to be verified. To analyze the state machines, we associated with them a LTS semantics which led us to define a procedure for automatic transformation of state machines in LTS. Initially, we have defined and implemented verification technique of conformance relations on LTS (red, ext, conf and confrestr). In a second step, we have defined a framework for incremental construction in which several development strategies can be implemented ensuring that the final developed model will be an implementation consistent with the initial specification. These strategies are based on combination of refinements that may be of two types: vertical refinement to eliminate nondeterminism and add details, and the horizontal refinement to add new features without adding nondeterminism. Finally, we transpose the problem of incremental construction of state machines to the construction of architectures whose components are state machines. Conditions are defined to ensure conformance between architectures in the case of substitution of components

    Une approche par composants pour l'analyse visuelle interactive de résultats issus de simulations numériques

    Get PDF
    Component-based approaches are increasingly studied and used for the effective development of the applications in software engineering. They offer, on the one hand, safe architecture to developers, and on the other one, a separation of the various functional parts and particularly in the interactive scientific visualization applications. Modeling such applications enables the behavior description of each component and the global system’s actions. Moreover, the interactions between components are expressed through a communication schemes sometimes very complex with, for example, the possibility to lose messages to enhance performance. This thesis describes ComSA model (Component-based approach for Scientific Applications) that relies on a component-based approach dedicated to interactive and dynamic scientific visualization applications and its formalization in strict Colored FIFO Nets (sCFN). The main contributions of this thesis are, first, the definition of a set of tools to model the component’s behaviors and the various application communication policies. Second, providing some properties on the application to guarantee it starts properly. It is done by analyzing and detecting deadlocks. This ensures the liveness throughout the application execution. Finally, we present dynamic reconfiguration of visual analytics applications by adding or removing on the fly of a component without stopping the whole application. This reconfiguration minimizes the number of unavailable services.Les architectures par composants sont de plus en plus étudiées et utilisées pour le développement efficace des applications en génie logiciel. Elles offrent, d’un côté, une architecture claire aux développeurs, et de l’autre, une séparation des différentes parties fonctionnelles et en particulier dans les applications de visualisation scientifique interactives. La modélisation de ces applications doit permettre la description des comportements de chaque composant et les actions globales du système. De plus, les interactions entre composants s’expriment par des schémas de communication qui peuvent être très complexes avec, par exemple, la possibilité de perdre des messages pour gagner en performance. Cette thèse décrit le modèle ComSA (Component-based approach for Scientific Applications) qui est basé sur une approche par composants dédiée aux applications de visualisation scientifique interactive et dynamique formalisée par les réseaux FIFO colorés stricts (sCFN). Les principales contributions de cette thèse sont dans un premier temps, un ensemble d’outils pour modéliser les différents comportements des composants ainsi que les différentes politiques de communication au sein de l’application. Dans un second temps, la définition de propriétés garantissant un démarrage propre de l’application en analysant et détectant les blocages. Cela permet de garantir la vivacité tout au long de l’exécution de l’application. Finalement l’étude de la reconfiguration dynamique des applications d’analyse visuelle par ajout ou suppression à la volée d’un composant sans arrêter toute l’application. Cette reconfiguration permet de minimiser le nombre de services non disponibles

    Actes des 2èmes journées sur l’Ingénierie Dirigée

    Get PDF
    National audienceL’ingénierie dirigée par les modèles (IDM), appelée en anglais MDE (Model-Driven Engineering) ou aussi MDD (Model-Driven Development) place le modèle au centre du processus de conception et permet à cette notion de modèle de passer d’un rôle contemplatif à un rôle unificateur vis-à-vis des autres activités du cycle de développement du logiciel. L’IDM doit alors être vu non pas comme une révolution, mais comme un moyen d’intégrationde différents espaces techniques pour aller vers une production automatisée des logiciels.L’ingénierie dirigée par les modèles apporte alors des solutions à la construction de ces nouveaux logiciels en proposant des approches de modélisation, de métamodélisation, de détermination du domaine, de transformation et de prise en compte des plates-formes. Ces approches sont accompagnées de démarches de conception et de moyens de génération de code, mais également de validation et de vérification de la conformité des modèles produits vis-à-vis des métamodèles. Elles sont proches des idées actuelles comme la programmation générative, les langages spécifiques de domaine (DSL), le MIC (Model Integrating Computing) ou encore les usines à logiciels (Software factories). Après le succès des journées IDM à Paris en 2005, la seconde édition de ces journées se déroule à Lille et a pour objectif de rassembler les chercheurs francophones intéressés par ce domaine et souhaitant participer à la structuration de cette communauté scientifique émergente

    Actes de l'Ecole d'Eté Temps Réel 2005 - ETR'2005

    Get PDF
    Pdf des actes disponible à l'URL http://etr05.loria.fr/Le programme de l'Ecole d'été Temps Réel 2005 est construit autour d'exposés de synthèse donnés par des spécialistes du monde industriel et universitaire qui permettront aux participants de l'ETR, et notamment aux doctorants, de se forger une culture scientifique dans le domaine. Cette quatrième édition est centrée autour des grands thèmes d'importance dans la conception des systèmes temps réel : Langages et techniques de description d'architectures, Validation, test et preuve par des approches déterministes et stochastiques, Ordonnancement et systèmes d'exploitation temps réel, Répartition, réseaux temps réel et qualité de service
    corecore