3,057 research outputs found
Equational reasoning with context-free families of string diagrams
String diagrams provide an intuitive language for expressing networks of
interacting processes graphically. A discrete representation of string
diagrams, called string graphs, allows for mechanised equational reasoning by
double-pushout rewriting. However, one often wishes to express not just single
equations, but entire families of equations between diagrams of arbitrary size.
To do this we define a class of context-free grammars, called B-ESG grammars,
that are suitable for defining entire families of string graphs, and crucially,
of string graph rewrite rules. We show that the language-membership and
match-enumeration problems are decidable for these grammars, and hence that
there is an algorithm for rewriting string graphs according to B-ESG rewrite
patterns. We also show that it is possible to reason at the level of grammars
by providing a simple method for transforming a grammar by string graph
rewriting, and showing admissibility of the induced B-ESG rewrite pattern.Comment: International Conference on Graph Transformation, ICGT 2015. The
final publication is available at Springer via
http://dx.doi.org/10.1007/978-3-319-21145-9_
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 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
Graph Algorithm Animation with Grrr
We discuss geometric positioning, highlighting of visited nodes and user defined highlighting that form the algorithm animation facilities in the Grrr graph rewriting programming language. The main purpose of animation was initially for the debugging and profiling of Grrr code, but recently it has been extended for the purpose of teaching algorithms to undergraduate students. The animation is restricted to graph based algorithms such as graph drawing, list manipulation or more traditional graph theory. The visual nature of the Grrr system allows much animation to be gained for free, with no extra user effort beyond the coding of the algorithm, but we also discuss user defined animations, where custom algorithm visualisations can be explicitly defined for teaching and demonstration purposes
A Graph Rewriting Visual Language for Database Programming
Textual database programming languages are computationally complete, but have the disadvantage of giving the user a non-intuitive view of the database information that is being manipulated. Visual languages developed in recent years have allowed naive users access to a direct representation of data, often in a graph form, but have concentrated on user interface rather than complex programming tasks. There is a need for a system which combines the advantages of both these programming methods. We describe an implementation of Spider, an experimental visual database programming language aimed at programmers. It uses a graph rewriting paradigm as a basis for a fully visual, computationally complete language. The graphs it rewrites represent the schema and instances of a database. The unique graph rewriting method used by Spider has syntactic and semantic simplicity. Its form of algorithmic expression allows complex computation to be easily represented in short programs. Furthermore, Spider has greater power than normally provided in textual systems, and we show that queries on the schema and associative queries can be performed easily and without requiring any additions to the language
!-Graphs with Trivial Overlap are Context-Free
String diagrams are a powerful tool for reasoning about composite structures
in symmetric monoidal categories. By representing string diagrams as graphs,
equational reasoning can be done automatically by double-pushout rewriting.
!-graphs give us the means of expressing and proving properties about whole
families of these graphs simultaneously. While !-graphs provide elegant proofs
of surprisingly powerful theorems, little is known about the formal properties
of the graph languages they define. This paper takes the first step in
characterising these languages by showing that an important subclass of
!-graphs--those whose repeated structures only overlap trivially--can be
encoded using a (context-free) vertex replacement grammar.Comment: In Proceedings GaM 2015, arXiv:1504.0244
Strategic Port Graph Rewriting: An Interactive Modelling and Analysis Framework
We present strategic portgraph rewriting as a basis for the implementation of
visual modelling and analysis tools. The goal is to facilitate the
specification, analysis and simulation of complex systems, using port graphs. A
system is represented by an initial graph and a collection of graph rewriting
rules, together with a user-defined strategy to control the application of
rules. The strategy language includes constructs to deal with graph traversal
and management of rewriting positions in the graph. We give a small-step
operational semantics for the language, and describe its implementation in the
graph transformation and visualisation tool PORGY.Comment: In Proceedings GRAPHITE 2014, arXiv:1407.767
Strategic programming on graph rewriting systems
We describe a strategy language to control the application of graph rewriting
rules, and show how this language can be used to write high-level declarative
programs in several application areas. This language is part of a graph-based
programming tool built within the port-graph transformation and visualisation
environment PORGY.Comment: In Proceedings IWS 2010, arXiv:1012.533
- …