Searcharxiv⌕ Search

arXiv subjects

Rachid Echahed

Publications and source records attributed to Rachid Echahed.

22 records · Page 2Linked to original sources

Categorical Abstract Rewriting Systems and Functoriality of Graph Transformation

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.

cs.LO↗

Proceedings 6th International Workshop on Computing with Terms and Graphs

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.

cs.LO↗

A Cloning Pushout Approach to Term-Graph Transformation

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 mapping 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.

cs.LO↗

Data-Structure Rewriting

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.

cs.PL↗