8 research outputs found

    JERBOA : un modeleur géométrique à base de règles

    No full text
    National audienceDans le cadre de la modélisation géométrique, chaque domaine d'application nécessite des logiciels spécifiques, appelés modeleurs. Leurs structures de données sont optimisées en fonction des objets manipulés, et leurs opérations de manipula- tion d'objets sont dédiées à l'application. Dans le cadre de la modélisation géomé- trique à base topologique, utilisant les cartes généralisées pour décrire la topologie, les objets géométriques sont représentés par une classe particulière de graphes. La structure topologique (volumes, faces, arêtes, sommets...) des objets est représen- tée par la structure du graphe, tandis que la géométrie ou toute autre information physique (couleur, forme, position...) sont portées par les nœuds du graphe. Nous avons proposé un langage à base de règles de transformations de graphes pour définir formellement les opérations géométriques. Notre noyau de modeleur est entièrement paramétrable par l'utilisateur (di- mension topologique des objets, nature des plongements, opérations géométriques). Il vérifie la préservation de la cohérence topologique et géométrique des objets. Cette vérification s'effectue statiquement, grâce à des conditions syntaxiques sur les règles définissant les opérations. Les objets sont construits interactivement par application des règles

    A Query Language With the Star Operator

    Get PDF
    Model pattern matching is an important operation in model transformation and therefore in model-driven development tools. In this paper we present a pattern based approach that includes a star operator that can be used to represent recursive or hierarchical structures in models. We also present a matching algorithm, motivating examples and we discuss its implementation in a modeling tool

    Graph Rewriting and Relabeling with PBPO+

    Full text link
    We extend the powerful Pullback-Pushout (PBPO) approach for graph rewriting with strong matching. Our approach, called \pbpostrong, exerts more control over the embedding of the pattern in the host graph, which is important for a large class of graph rewrite systems. In addition, we show that \pbpostrong is well-suited for rewriting labeled graphs and certain classes of attributed graphs. For this purpose, we employ a lattice structure on the label set and use order-preserving graph morphisms. We argue that our approach is simpler and more general than related relabeling approaches in the literature.Comment: 20 pages, accepted to the International Conference on Graph Transformation 2021 (ICGT 2021

    A Unifying Theory for Graph Transformation

    Get PDF
    The field of graph transformation studies the rule-based transformation of graphs. An important branch is the algebraic graph transformation tradition, in which approaches are defined and studied using the language of category theory. Most algebraic graph transformation approaches (such as DPO, SPO, SqPO, and AGREE) are opinionated about the local contexts that are allowed around matches for rules, and about how replacement in context should work exactly. The approaches also differ considerably in their underlying formal theories and their general expressiveness (e.g., not all frameworks allow duplication). This dissertation proposes an expressive algebraic graph transformation approach, called PBPO+, which is an adaptation of PBPO by Corradini et al. The central contribution is a proof that PBPO+ subsumes (under mild restrictions) DPO, SqPO, AGREE, and PBPO in the important categorical setting of quasitoposes. This result allows for a more unified study of graph transformation metatheory, methods, and tools. A concrete example of this is found in the second major contribution of this dissertation: a graph transformation termination method for PBPO+, based on decreasing interpretations, and defined for general categories. By applying the proposed encodings into PBPO+, this method can also be applied for DPO, SqPO, AGREE, and PBPO

    Matrix Graph Grammars

    Full text link
    This book objective is to develop an algebraization of graph grammars. Equivalently, we study graph dynamics. From the point of view of a computer scientist, graph grammars are a natural generalization of Chomsky grammars for which a purely algebraic approach does not exist up to now. A Chomsky (or string) grammar is, roughly speaking, a precise description of a formal language (which in essence is a set of strings). On a more discrete mathematical style, it can be said that graph grammars -- Matrix Graph Grammars in particular -- study dynamics of graphs. Ideally, this algebraization would enforce our understanding of grammars in general, providing new analysis techniques and generalizations of concepts, problems and results known so far.Comment: 321 pages, 75 figures. This book has is publisehd by VDM verlag, ISBN 978-363921255

    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

    Graph transformation with variables

    No full text
    Abstract. Variables make rule-based systems more abstract and expressive, as witnessed by term rewriting systems and two-level grammars. In this paper we show that variables can be used to define advanced ways of graph transformation as well. Taking the gluing approach to graph transformation [7, 3] as a basis, we consider extensions of rules with attribute variables, clone variables, and graph variables, respectively. In each case, the variables in a rule are instantiated in order to obtain a set of rule instances that in turn defines the transformation relation. By combining different kinds of variables, we define very expressive rules, and reduce them to plain rules by instantiation. Since gluing graph transformation has a well developed theory, this opens the door to lift results of that theory from instances to rules with variables.
    corecore