-
A Rule-based Operational Semantics of Graph Query Languages
Authors:
Dominique Duval,
Rachid Echahed,
Frederic Prost
Abstract:
We consider a core language of graph queries. These queries are seen as formulas to be solved with respect to graph-oriented databases. For this purpose, we first define a graph query algebra where some operations over graphs and sets of graph homomorphisms are specified. Then, the notion of pattern is introduced to represent a kind of recursively defined formula over graphs. The syntax and formal…
▽ More
We consider a core language of graph queries. These queries are seen as formulas to be solved with respect to graph-oriented databases. For this purpose, we first define a graph query algebra where some operations over graphs and sets of graph homomorphisms are specified. Then, the notion of pattern is introduced to represent a kind of recursively defined formula over graphs. The syntax and formal semantics of patterns are provided. Afterwards, we propose a new sound and complete calculus to solve patterns. This calculus, which is based on a rewriting system, develops only one derivation per pattern to be solved. Our calculus is generic in the sense that it can be adapted to different kinds of graph databases provided that the notions of graph and graph homomorphism (match) are well defined.
△ Less
Submitted 21 February, 2022;
originally announced February 2022.
-
Querying RDF Databases with Sub-CONSTRUCTs
Authors:
Dominique Duval,
Rachid Echahed,
Frédéric Prost
Abstract:
Graph query languages feature mainly two kinds of queries when applied to a graph database: those inspired by relational databases which return tables such as SELECT queries and those which return graphs such as CONSTRUCT queries in SPARQL. The latter are object of study in the present paper. For this purpose, a core graph query language GrAL is defined with focus on CONSTRUCT queries.…
▽ More
Graph query languages feature mainly two kinds of queries when applied to a graph database: those inspired by relational databases which return tables such as SELECT queries and those which return graphs such as CONSTRUCT queries in SPARQL. The latter are object of study in the present paper. For this purpose, a core graph query language GrAL is defined with focus on CONSTRUCT queries. Queries in GrAL form the final step of a recursive process involving so-called GrAL patterns. By evaluating a query over a graph one gets a graph, while by evaluating a pattern over a graph one gets a set of matches which involves both a graph and a table. CONSTRUCT queries are based on CONSTRUCT patterns, and sub-CONSTRUCT patterns come for free from the recursive definition of patterns. The semantics of GrAL is based on RDF graphs with a slight modification which consists in accepting isolated nodes. Such an extension of RDF graphs eases the definition of the evaluation semantics, which is mainly captured by a unique operation called Merge. Besides, we define aggregations as part of GrAL expressions, which leads to an original local processing of aggregations.
△ Less
Submitted 14 September, 2021; v1 submitted 23 June, 2021;
originally announced June 2021.
-
A Superposition-Based Calculus for Quantum Diagrammatic Reasoning and Beyond
Authors:
Rachid Echahed,
Mnacho Echenim,
Mehdi Mhalla,
Nicolas Peltier
Abstract:
We introduce a class of rooted graphs which allows one to encode various kinds of classical or quantum circuits. We then follow a set-theoretic approach to define rewrite systems over the considered graphs and propose a new complete Superposition callculus which handles sets of formulas consisting of equations or disequations over these graphs.
We introduce a class of rooted graphs which allows one to encode various kinds of classical or quantum circuits. We then follow a set-theoretic approach to define rewrite systems over the considered graphs and propose a new complete Superposition callculus which handles sets of formulas consisting of equations or disequations over these graphs.
△ Less
Submitted 22 March, 2021;
originally announced March 2021.
-
An Algebraic Graph Transformation Approach for RDF and SPARQL
Authors:
Dominique Duval,
Rachid Echahed,
Frédéric Prost
Abstract:
We consider the recommendations of the World Wide Web Consortium (W3C) about RDF framework and its associated query language SPARQL. We propose a new formal framework based on category theory which provides clear and concise formal definitions of the main basic features of RDF and SPARQL. We define RDF graphs as well as SPARQL basic graph patterns as objects of some nested categories. This allow…
▽ More
We consider the recommendations of the World Wide Web Consortium (W3C) about RDF framework and its associated query language SPARQL. We propose a new formal framework based on category theory which provides clear and concise formal definitions of the main basic features of RDF and SPARQL. We define RDF graphs as well as SPARQL basic graph patterns as objects of some nested categories. This allows one to clarify, in particular, the role of blank nodes. Furthermore, we consider basic SPARQL CONSTRUCT and SELECT queries and formalize their operational semantics following a novel algebraic graph transformation approach called POIM.
△ Less
Submitted 2 December, 2020;
originally announced December 2020.
-
All You Need Is CONSTRUCT
Authors:
Dominique Duval,
Rachid Echahed,
Frederic Prost
Abstract:
In SPARQL, the query forms SELECT and CONSTRUCT have been the subject of several studies, both theoretical and practical. However, the composition of such queries and their interweaving when forming involved nested queries has not yet received much interest in the literature. We mainly tackle the problem of composing such queries. For this purpose, we introduce a language close to SPARQL where que…
▽ More
In SPARQL, the query forms SELECT and CONSTRUCT have been the subject of several studies, both theoretical and practical. However, the composition of such queries and their interweaving when forming involved nested queries has not yet received much interest in the literature. We mainly tackle the problem of composing such queries. For this purpose, we introduce a language close to SPARQL where queries can be nested at will, involving either CONSTRUCT or SELECT query forms and provide a formal semantics for it. This semantics is based on a uniform interpretation of queries. This uniformity is due to an extension of the notion of RDF graphs to include isolated items such as variables. As a key feature of this work, we show how classical SELECT queries can be easily encoded as a particular case of CONSTRUCT queries.
△ Less
Submitted 2 October, 2020;
originally announced October 2020.
-
Proceedings Tenth International Workshop on Graph Computation Models
Authors:
Rachid Echahed,
Detlef Plump
Abstract:
This volume contains the post-proceedings of the Tenth International Workshop on Graph Computation Models (GCM 2019: http://gcm2019.imag.fr). The workshop was held in Eindhoven, The Netherlands, on July 17th, 2019, as part of STAF 2019 (Software Technologies: Applications and Foundations).
Graphs are common mathematical structures that are visual and intuitive. They constitute a natural and s…
▽ More
This volume contains the post-proceedings of the Tenth International Workshop on Graph Computation Models (GCM 2019: http://gcm2019.imag.fr). The workshop was held in Eindhoven, The Netherlands, on July 17th, 2019, as part of STAF 2019 (Software Technologies: Applications and Foundations).
Graphs are common mathematical structures that are visual and intuitive. They constitute a natural and seamless way for system modelling in science, engineering and beyond, including computer science, biology, business process modelling, etc. Graph computation models constitute a class of very high-level models where graphs are first-class citizens. The aim of the International GCM Workshop series is to bring together researchers interested in all aspects of computation models based on graphs and graph transformation. It promotes the cross-fertilizing exchange of ideas and experiences among senior and young researchers from the different communities interested in the foundations, applications, and implementations of graph computation models and related areas.
These post-proceedings contain four selected papers from GCM2019 proceedings and an invited presentation that gives an account of the very successful panel discussion dedicated to the Analysis of Graph Transformation Systems, which took place during the workshop and was animated by Reiko Heckel, Leen Lambers and Maryam Ghaffari Saadat.
All submissions were subject to careful refereeing. The topics of accepted papers include theoretical aspects of graph transformation and parsing techniques as well as an application to model-driven engineering.
△ Less
Submitted 18 December, 2019;
originally announced December 2019.
-
On foundational aspects of RDF and SPARQL
Authors:
Dominique Duval,
Rachid Echahed,
Frederic Prost
Abstract:
We consider the recommendations of the World Wide Web Consortium (W3C) about the Resource Description Framework (RDF) and the associated query language SPARQL. We propose a new formal framework based on category theory which provides clear and concise formal definitions of the main basic features of RDF and SPARQL. We propose to define the notions of RDF graphs as well as SPARQL basic graph patter…
▽ More
We consider the recommendations of the World Wide Web Consortium (W3C) about the Resource Description Framework (RDF) and the associated query language SPARQL. We propose a new formal framework based on category theory which provides clear and concise formal definitions of the main basic features of RDF and SPARQL. We propose to define the notions of RDF graphs as well as SPARQL basic graph patterns as objects of some nested categories. This allows one to clarify, in particular, the role of blank nodes. Furthermore, we consider basic SPARQL CONSTRUCT and SELECT queries and formalize their operational semantics following a novel algebraic graph transformation approach called POIM.
△ Less
Submitted 16 March, 2020; v1 submitted 16 October, 2019;
originally announced October 2019.
-
True Parallel Graph Transformations: an Algebraic Approach Based on Weak Spans
Authors:
Thierry Boy de la Tour,
Rachid Echahed
Abstract:
We address the problem of defining graph transformations by the simultaneous application of direct transformations even when these cannot be applied independently of each other. An algebraic approach is adopted, with production rules of the form $L\xleftarrow{l}K \xleftarrow{i} I \xrightarrow{r} R$, called weak spans. A parallel coherent transformation is introduced and shown to be a conservative…
▽ More
We address the problem of defining graph transformations by the simultaneous application of direct transformations even when these cannot be applied independently of each other. An algebraic approach is adopted, with production rules of the form $L\xleftarrow{l}K \xleftarrow{i} I \xrightarrow{r} R$, called weak spans. A parallel coherent transformation is introduced and shown to be a conservative extension of the interleaving semantics of parallel independent direct transformations. A categorical construction of finitely attributed structures is proposed, in which parallel coherent transformations can be built in a natural way. These notions are introduced and illustrated on detailed examples.
△ Less
Submitted 17 April, 2019;
originally announced April 2019.
-
A Set-Theoretic Framework for Parallel Graph Rewriting
Authors:
Thierry Boy de la Tour,
Rachid Echahed
Abstract:
We tackle the problem of attributed graph transformations and propose a new algorithmic approach for defining parallel graph transformations allowing overlaps. We start by introducing some abstract operations over graph structures. Then, we define the notion of rewrite rules as three inclusions of the form $L \supseteq K \supseteq M \subseteq R$. We provide six conditions that parallel graph rewri…
▽ More
We tackle the problem of attributed graph transformations and propose a new algorithmic approach for defining parallel graph transformations allowing overlaps. We start by introducing some abstract operations over graph structures. Then, we define the notion of rewrite rules as three inclusions of the form $L \supseteq K \supseteq M \subseteq R$. We provide six conditions that parallel graph rewrite relations should ideally satisfy, which lead us to define two distinct full parallel graph rewrite relations. A central notion of regularity of matchings is proved to be equivalent to these six conditions, and to the equality of these two relations. Furthermore, we take advantage of the symmetries that may occur in $L$, $K$, $M$ and $R$ and define another pair of rewrite relations that factor out possibly many equivalent matchings up to their common symmetries. These definitions and the corresponding proofs combine operations on graphs with group-theoretic notions, thus illustrating the relevance of our framework.
△ Less
Submitted 9 August, 2018;
originally announced August 2018.
-
On the Verification of Logically Decorated Graph Transformations
Authors:
Jon Haël Brenas,
Rachid Echahed,
Martin Strecker
Abstract:
We address the problem of reasoning on graph transformations featuring actions such as \emph{addition} and \emph{deletion} of nodes and edges, node \emph{merging} and \emph{cloning}, node or edge \emph{labelling} and edge \emph{redirection}. First, we introduce the considered graph rewrite systems which are parameterized by a given logic $\mathcal{L}$. Formulas of $\mathcal{L}$ are used to label g…
▽ More
We address the problem of reasoning on graph transformations featuring actions such as \emph{addition} and \emph{deletion} of nodes and edges, node \emph{merging} and \emph{cloning}, node or edge \emph{labelling} and edge \emph{redirection}. First, we introduce the considered graph rewrite systems which are parameterized by a given logic $\mathcal{L}$. Formulas of $\mathcal{L}$ are used to label graph nodes and edges. In a second step, we tackle the problem of formal verification of the considered rewrite systems by using a Hoare-like weakest precondition calculus. It acts on triples of the form $\{\texttt{Pre}\}(\texttt{R},\texttt{strategy}) \{\texttt{Post}\}$ where \texttt{Pre} and \texttt{Post} are conditions specified in the given logic $\mathcal{L}$, \texttt{R} is a graph rewrite system and \texttt{strategy} is an expression stating how rules in \texttt{R} are to be performed. We prove that the calculus we introduce is sound. Moreover, we show how the proposed framework can be instantiated successfully with different logics. We investigate first-order logic and several of its decidable fragments with a particular focus on different dialects of description logic (DL). We also show, by using bisimulation relations, that some DL fragments cannot be used due to their lack of expressive power.
△ Less
Submitted 7 March, 2018;
originally announced March 2018.
-
Parallel Graph Rewriting with Overlap** Rules
Authors:
Rachid Echahed,
Aude Maignan
Abstract:
We tackle the problem of simultaneous transformations of networks represented as graphs. Roughly speaking, one may distinguish two kinds of simultaneous or parallel rewrite relations over complex structures such as graphs: (i) those which transform disjoint subgraphs in parallel and hence can be simulated by successive mere sequential and local transformations and (ii) those which transform overla…
▽ More
We tackle the problem of simultaneous transformations of networks represented as graphs. Roughly speaking, one may distinguish two kinds of simultaneous or parallel rewrite relations over complex structures such as graphs: (i) those which transform disjoint subgraphs in parallel and hence can be simulated by successive mere sequential and local transformations and (ii) those which transform overlap** subgraphs simultaneously. In the latter situations, parallel transformations cannot be simulated in general by means of successive local rewrite steps. We investigate this last problem in the framework of overlap** graph transformation systems. As parallel transformation of a graph does not produce a graph in general, we propose first some sufficient conditions that ensure the closure of graphs by parallel rewrite relations. Then we mainly introduce and discuss two parallel rewrite relations over graphs. One relation is functional and thus deterministic, the other one is not functional for which we propose sufficient conditions which ensure its confluence.
△ Less
Submitted 24 January, 2017;
originally announced January 2017.
-
AGREE -- Algebraic Graph Rewriting with Controlled Embedding (Long Version)
Authors:
Anadrea Corradini,
Dominique Duval,
Rachid Echahed,
Frédéric Prost,
Leila Ribeiro
Abstract:
The several algebraic approaches to graph transformation proposed in the literature all ensure that if an item is preserved by a rule, so are its connections with the context graph where it is embedded. But there are applications in which it is desirable, for example when cloning an item, to specify different embeddings for the original and for the copy. Therefore we propose a conservative extensi…
▽ More
The several algebraic approaches to graph transformation proposed in the literature all ensure that if an item is preserved by a rule, so are its connections with the context graph where it is embedded. But there are applications in which it is desirable, for example when cloning an item, to specify different embeddings for the original and for the copy. Therefore we propose a conservative extension of these approaches where a rule can specify how the embedding of a preserved item should be changed, typically by removing certain connections.
△ Less
Submitted 8 June, 2015; v1 submitted 14 November, 2014;
originally announced November 2014.
-
SROIQsigma is decidable
Authors:
Jon Haël Brenas,
Rachid Echahed,
Martin Strecker
Abstract:
We consider a dynamic extension of the description logic $\mathcal{SROIQ}$. This means that interpretations could evolve thanks to some actions such as addition and/or deletion of an element (respectively, a pair of elements) of a concept (respectively, of a role). The obtained logic is called $\mathcal{SROIQ}$ with explicit substitutions and is written $\mathcal{SROIQ^σ}$. Substitution is not tre…
▽ More
We consider a dynamic extension of the description logic $\mathcal{SROIQ}$. This means that interpretations could evolve thanks to some actions such as addition and/or deletion of an element (respectively, a pair of elements) of a concept (respectively, of a role). The obtained logic is called $\mathcal{SROIQ}$ with explicit substitutions and is written $\mathcal{SROIQ^σ}$. Substitution is not treated as meta-operation that is carried out immediately, but the operation of substitution may be delayed, so that sub-formulae of $\mathcal{SROIQ}^σ$ are of the form $Φσ$, where $Φ$ is a $\mathcal{SROIQ}$ formula and $σ$ is a substitution which encodes changes of concepts and roles. In this paper, we particularly prove that the satisfiability problem of $\mathcal{SROIQ}^σ$ is decidable.
△ Less
Submitted 21 November, 2014; v1 submitted 24 June, 2014;
originally announced June 2014.
-
Transformation of Attributed Structures with Cloning (Long Version)
Authors:
Dominique Duval,
Rachid Echahed,
Frederic Prost,
Leila Ribeiro
Abstract:
Copying, or cloning, is a basic operation used in the specification of many applications in computer science. However, when dealing with complex structures, like graphs, cloning is not a straightforward operation since a copy of a single vertex may involve (implicitly)copying many edges. Therefore, most graph transformation approaches forbid the possibility of cloning. We tackle this problem by pr…
▽ More
Copying, or cloning, is a basic operation used in the specification of many applications in computer science. However, when dealing with complex structures, like graphs, cloning is not a straightforward operation since a copy of a single vertex may involve (implicitly)copying many edges. Therefore, most graph transformation approaches forbid the possibility of cloning. We tackle this problem by providing a framework for graph transformations with cloning. We use attributed graphs and allow rules to change attributes. These two features (cloning/changing attributes) together give rise to a powerful formal specification approach. In order to handle different kinds of graphs and attributes, we first define the notion of attributed structures in an abstract way. Then we generalise the sesqui-pushout approach of graph transformation in the proposed general framework and give appropriate conditions under which attributed structures can be transformed. Finally, we instantiate our general framework with different examples, showing that many structures can be handled and that the proposed framework allows one to specify complex operations in a natural way.
△ Less
Submitted 13 January, 2014;
originally announced January 2014.
-
Proceedings 7th International Workshop on Computing with Terms and Graphs
Authors:
Rachid Echahed,
Detlef Plump
Abstract:
This volume contains the proceedings of the Seventh International Workshop on Computing with Terms and Graphs (TERMGRAPH 2013). The workshop took place in Rome, Italy, on March 23rd, 2013, as part of the sixteenth edition of the European Joint Conferences on Theory and Practice of Software (ETAPS 2013).
Research in term and graph rewriting ranges from theoretical questions to pr…
▽ More
This volume contains the proceedings of the Seventh International Workshop on Computing with Terms and Graphs (TERMGRAPH 2013). The workshop took place in Rome, Italy, on March 23rd, 2013, as part of the sixteenth edition of the European Joint Conferences on Theory and Practice of Software (ETAPS 2013).
Research in term and graph rewriting ranges from theoretical questions to practical issues. Computing with graphs handles the sharing of common subexpressions in a natural and seamless way, and improves the efficiency of computations in space and time. Sharing is ubiquitous in several research areas, as witnessed by the modelling of first- and higher-order term rewriting by (acyclic or cyclic) graph rewriting, the modelling of biological or chemical abstract machines, and the implementation techniques of programming languages: many implementations of functional, logic, object-oriented, concurrent and mobile calculi are based on term graphs. Term graphs are also used in automated theorem proving and symbolic computation systems working on shared structures. The aim of this workshop is to bring together researchers working in different domains on term and graph transformation and to foster their interaction, to provide a forum for presenting new ideas and work in progress, and to enable newcomers to learn about current activities in term graph rewriting.
These proceedings contain six accepted papers and the abstracts of two invited talks. All submissions were subject to careful refereeing. The topics of accepted papers range over a wide spectrum, including theoretical aspects of term graph rewriting, concurrency, semantics as well as application issues of term graph transformation.
△ Less
Submitted 25 February, 2013;
originally announced February 2013.
-
Proceedings 6th International Workshop on Computing with Terms and Graphs
Authors:
Rachid Echahed
Abstract:
This volume contains the proceedings of the Sixth International Workshop on Computing with Terms and Graphs (TERMGRAPH 2011). The workshop took place in Saarbruecken, Germany, on April 2nd, 2011, as part of the fourteenth edition of the European Joint Conferences on Theory and Practice of Software (ETAPS 2011). Research in term and graph rewriting ranges from theoretical ques…
▽ More
This volume contains the proceedings of the Sixth International Workshop on Computing with Terms and Graphs (TERMGRAPH 2011). The workshop took place in Saarbruecken, Germany, on April 2nd, 2011, as part of the fourteenth edition of the European Joint Conferences on Theory and Practice of Software (ETAPS 2011). Research in term and graph rewriting ranges from theoretical questions to practical issues. Computing with graphs handles the sharing of common subexpressions in a natural and seamless way, and improves the efficiency of computations in space and time. Sharing is ubiquitous in several research areas, for instance : the modelling of first- and higher-order term rewriting by (acyclic or cyclic) graph rewriting, the modelling of biological or chemical abstract machines, the implementation techniques of programming languages. Term graphs are also used in automated theorem proving and symbolic computation systems working on shared structures. The aim of this workshop is to bring together researchers working in different domains on term and graph transformation and to foster their interaction, to provide a forum for presenting new ideas and work in progress, and to enable newcomers to learn about current activities in term graph rewriting. These proceedings contain six accepted papers and the abstracts of three invited talks. All submissions were subject to careful refereeing. The topics of accepted papers range over a wide spectrum, including theoretical aspects of term graph rewriting, proof methods, semantics as well as application issues of term graph transformation.
△ Less
Submitted 10 February, 2011;
originally announced February 2011.
-
Categorical Abstract Rewriting Systems and Functoriality of Graph Transformation
Authors:
Dominique Duval,
Rachid Echahed,
Frédéric Prost
Abstract:
Rewriting systems are often defined as binary relations over a given set of objects. This simple definition is used to describe various properties of rewriting such as termination, confluence, normal forms etc. In this paper, we introduce a new notion of abstract rewriting in the framework of categories. Then, we define the functoriality property of rewriting systems. This property is sometimes ca…
▽ More
Rewriting systems are often defined as binary relations over a given set of objects. This simple definition is used to describe various properties of rewriting such as termination, confluence, normal forms etc. In this paper, we introduce a new notion of abstract rewriting in the framework of categories. Then, we define the functoriality property of rewriting systems. This property is sometimes called vertical composition. We show that most of graph transformation systems are functorial and provide a counter-example of graph transformation systems which is not functorial.
△ Less
Submitted 31 May, 2011; v1 submitted 18 January, 2011;
originally announced January 2011.
-
A Modal Logic for Termgraph Rewriting
Authors:
Ph. Balbiani,
R. Echahed,
A. Herzig
Abstract:
We propose a modal logic tailored to describe graph transformations and discuss some of its properties. We focus on a particular class of graphs called termgraphs. They are first-order terms augmented with sharing and cycles. Termgraphs allow one to describe classical data-structures (possibly with pointers) such as doubly-linked lists, circular lists etc. We show how the proposed logic can faith…
▽ More
We propose a modal logic tailored to describe graph transformations and discuss some of its properties. We focus on a particular class of graphs called termgraphs. They are first-order terms augmented with sharing and cycles. Termgraphs allow one to describe classical data-structures (possibly with pointers) such as doubly-linked lists, circular lists etc. We show how the proposed logic can faithfully describe (i) termgraphs as well as (ii) the application of a termgraph rewrite rule (i.e. matching and replacement) and (iii) the computation of normal forms with respect to a given rewrite system. We also show how the proposed logic, which is more expressive than propositional dynamic logic, can be used to specify shapes of classical data-structures (e.g. binary trees, circular lists etc.).
△ Less
Submitted 23 March, 2010;
originally announced March 2010.
-
Graph rewriting with polarized cloning
Authors:
Dominique Duval,
Rachid Echahed,
Frédéric Prost
Abstract:
We tackle the problem of graph transformation with a particular focus on node cloning. We propose a new approach to graph rewriting where nodes can be cloned zero, one or more times. A node can be cloned together with all its incident edges, with only its outgoing edges, with only its incoming edges or with none of its incident edges. We thus subsume previous works such as the sesqui-pushout, the…
▽ More
We tackle the problem of graph transformation with a particular focus on node cloning. We propose a new approach to graph rewriting where nodes can be cloned zero, one or more times. A node can be cloned together with all its incident edges, with only its outgoing edges, with only its incoming edges or with none of its incident edges. We thus subsume previous works such as the sesqui-pushout, the heterogeneous pushout and the adaptive star grammars approaches. A rewrite rule is defined as a span where the right-hand and left-hand sides are graphs while the interface is a polarized graph. A polarized graph is a graph endowed with some annotations on nodes. The way a node is cloned is indicated by its polarization annotation. We use these annotations for designing graph transformation with polarized cloning. We show how a clone of a node can be built according to the different possible polarizations and define a rewrite step as a final pullback complement followed by a pushout. This is called the polarized sesqui-pushout approach. We also provide an algorithmic presentation of the proposed graph transformation with polarized cloning.
△ Less
Submitted 24 April, 2012; v1 submitted 19 November, 2009;
originally announced November 2009.
-
A Cloning Pushout Approach to Term-Graph Transformation
Authors:
Dominique Duval,
Rachid Echahed,
Frédéric Prost
Abstract:
We address the problem of cyclic termgraph rewriting. We propose a new framework where rewrite rules are tuples of the form $(L,R,τ,σ)$ such that $L$ and $R$ are termgraphs representing the left-hand and the right-hand sides of the rule, $τ$ is a map** from the nodes of $L$ to those of $R$ and $σ$ is a partial function from nodes of $R$ to nodes of $L$. $τ$ describes how incident edges of the…
▽ More
We address the problem of cyclic termgraph rewriting. We propose a new framework where rewrite rules are tuples of the form $(L,R,τ,σ)$ such that $L$ and $R$ are termgraphs representing the left-hand and the right-hand sides of the rule, $τ$ is a map** from the nodes of $L$ to those of $R$ and $σ$ is a partial function from nodes of $R$ to nodes of $L$. $τ$ describes how incident edges of the nodes in $L$ are connected in $R$. $τ$ is not required to be a graph morphism as in classical algebraic approaches of graph transformation. The role of $σ$ is to indicate the parts of $L$ to be cloned (copied). Furthermore, we introduce a new notion of \emph{cloning pushout} and define rewrite steps as cloning pushouts in a given category. Among the features of the proposed rewrite systems, we quote the ability to perform local and global redirection of pointers, addition and deletion of nodes as well as cloning and collapsing substructures.
△ Less
Submitted 20 November, 2008;
originally announced November 2008.
-
Data-Structure Rewriting
Authors:
Dominique Duval,
Rachid Echahed,
Frederic Prost
Abstract:
We tackle the problem of data-structure rewriting including pointer redirections. We propose two basic rewrite steps: (i) Local Redirection and Replacement steps the aim of which is redirecting specific pointers determined by means of a pattern, as well as adding new information to an existing data ; and (ii) Global Redirection steps which are aimed to redirect all pointers targeting a node towa…
▽ More
We tackle the problem of data-structure rewriting including pointer redirections. We propose two basic rewrite steps: (i) Local Redirection and Replacement steps the aim of which is redirecting specific pointers determined by means of a pattern, as well as adding new information to an existing data ; and (ii) Global Redirection steps which are aimed to redirect all pointers targeting a node towards another one. We define these two rewriting steps following the double pushout approach. We define first the category of graphs we consider and then define rewrite rules as pairs of graph homomorphisms of the form "L <- K ->R". Unfortunately, inverse pushouts (complement pushouts) are not unique in our setting and pushouts do not always exist. Therefore, we define rewriting steps so that a rewrite rule can always be performed once a matching is found.
△ Less
Submitted 24 March, 2005;
originally announced March 2005.