Reversibility and Composition of Rewriting in Hierarchies

  title={Reversibility and Composition of Rewriting in Hierarchies},
  author={Russell Harmer and Eugenia Oshurko},
In this paper we study how SqPO rewriting of individual objects and hierarchies of objects can be reversed and how the composition of rewrites can be constructed. We introduce the notion of a rule hierarchy , study how such rule hierarchies can be applied to object hierarchies and analyse the conditions under which this application is reversible. We then present a theory for constructing the composition of consecutive hierarchy rewrites. We further illustrate how the reversibility and… 

Figures from this paper

Computational Category-Theoretic Rewriting

It is demonstrated how category theory provides specifications that can be implemented via imperative algorithms and applied to the process of graph rewriting, and how this paradigm of software development makes it easy to quickly write correct and performant code.

Concurrency Theorems for Non-linear Rewriting Theories

A suitable concurrency theorem for non-linear SqPO-rewriting in categories that are quasi-topoi (subsuming the example of adhesive categories) and with matches required to be regular monomorphisms of the given category is developed.



Reversible Sesqui-Pushout Rewriting

A variant of sesqui-pushout rewriting (SqPO) that allows one to develop the theory of nested application conditions (NACs) for arbitrary rule spans is proposed and a uniform commutativity result for a revised notion of independence that applies to arbitrary rules is presented.

Sesqui-Pushout Rewriting: Concurrency, Associativity and Rule Algebra Framework

The first account of a concurrency theorem for this important type of rewriting is provided, and the additional mathematical property of a form of associativity for these theories is demonstrated.

Polymorphic Sesqui-Pushout Graph Rewriting

The paper extends Sesqui-Pushout Graph Rewriting (SqPO) by polymorphism, a key concept in object-oriented design, and contributes to the applicability of SqPO in software engineering.

Parallelism and concurrency in high-level replacement systems

High-level replacement systems are formulated in an axiomatic algebraic framework based on categories pushouts. This approach generalizes the well-known algebraic approach to graph grammars and

A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications

The main goal of the paper is to handle conflicts of graph modifications which may occur in the case of parallel dependent graph modifications, and shows a Local-Church-Rosser Theorem for graph modifications.

Sesqui-Pushout Rewriting

After illustrating the expressiveness of the proposed approach through a case study modelling an access control system, sufficient conditions for the existence of final pullback complements are discussed and the relationship between SqPO and the classical DPO and SPO approaches is analyzed.

Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach

This chapter starts with an overwiev of the basic notions common to the two algebraic approaches, the "double-pushout (DPO) approach) and the "single-push out (SPO) approaches"; next it is presented the classical theory and some recent development of the double- pushout approach.

Deriving Bisimulation Congruences for Reactive Systems

The key contribution of this paper is a precise definition of "just large enough", in terms of the categorical notion of relative pushout (RPO), which ensures that bisimilarity is a congruence when sufficient RPOs exist.

Cypher: An Evolving Query Language for Property Graphs

This work describes Cypher 9, which is the first version of the language governed by the openCypher Implementers Group, and introduces the language by example, and provides a formal semantic definition of the core read-query features of Cypher, including its variant of the property graph data model.

Schema Validation and Evolution for Graph Databases

Apart from proposing concise schema DDL inspired by Cypher syntax, this work shows how schema validation can be enforced through homomorphisms between PG schemas and PG instances; and how schema evolution can be described through the use of graph rewriting operations.