52 research outputs found
A Modal Logic for Termgraph Rewriting
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.)
On a Dynamic Logic for Graph Rewriting
International audienceInitially introduced by P. Balbiani, R. Echahed and A.Herzig, this dynamic logic is useful to talk about properties on termgraphs and to characterize transformations on these graphs. Also are presented the deterministic labelled graphs for which the logical framework is designed. This logic has been the starting point of a formal development, using the Coq proof assistant, to design a logical and algorithmic framework useful for verifyin and proving graph rewriting. The formalization allowed us to figure out some ambiguities in the involved concepts. This formalization is not the topic here but the clear view brought to us by the formal work, so the results will be expressed using the original mathematical objects of this logic. Some problems of this logic are demonstrated, relatively to the representation of graph rewriting. Some are minor issues but some are far more important for the adequation between the formulas about graph rewriting and the actual rewriting systems. Invalidating some resulting propositions, solutions are given to reestablish the logical characterization of graph rewriting, which was the initial purpose
Higher-order port-graph rewriting
The biologically inspired framework of port-graphs has been successfully used
to specify complex systems. It is the basis of the PORGY modelling tool. To
facilitate the specification of proof normalisation procedures via graph
rewriting, in this paper we add higher-order features to the original
port-graph syntax, along with a generalised notion of graph morphism. We
provide a matching algorithm which enables to implement higher-order port-graph
rewriting in PORGY, thus one can visually study the dynamics of the systems
modelled. We illustrate the expressive power of higher-order port-graphs with
examples taken from proof-net reduction systems.Comment: In Proceedings LINEARITY 2012, arXiv:1211.348
Structure and Properties of Traces for Functional Programs
The tracer Hat records in a detailed trace the computation of a program written in the lazy functional language Haskell. The trace can then be viewed in various ways to support program comprehension and debugging. The trace was named the augmented redex trail. Its structure was inspired by standard graph rewriting implementations of functional languages. Here we describe a model of the trace that captures its essential properties and allows formal reasoning. The trace is a graph constructed by graph rewriting but goes beyond simple term graphs. Although the trace is a graph whose structure is independent of any rewriting strategy, we define the trace inductively, thus giving us a powerful method for proving its properties
In-place Graph Rewriting with Interaction Nets
An algorithm is in-place, or runs in-situ, when it does not need any
additional memory to execute beyond a small constant amount. There are many
algorithms that are efficient because of this feature, therefore it is an
important aspect of an algorithm. In most programming languages, it is not
obvious when an algorithm can run in-place, and moreover it is often not clear
that the implementation respects that idea. In this paper we study interaction
nets as a formalism where we can see directly, visually, that an algorithm is
in-place, and moreover the implementation will respect that it is in-place. Not
all algorithms can run in-place however. We can nevertheless still use the same
language, but now we can annotate parts of the algorithm that can run in-place.
We suggest an annotation for rules, and give an algorithm to find this
automatically through analysis of the interaction rules.Comment: In Proceedings TERMGRAPH 2016, arXiv:1609.0301
Nested Term Graphs (Work In Progress)
We report on work in progress on 'nested term graphs' for formalizing
higher-order terms (e.g. finite or infinite lambda-terms), including those
expressing recursion (e.g. terms in the lambda-calculus with letrec). The idea
is to represent the nested scope structure of a higher-order term by a nested
structure of term graphs.
Based on a signature that is partitioned into atomic and nested function
symbols, we define nested term graphs both in a functional representation, as
tree-like recursive graph specifications that associate nested symbols with
usual term graphs, and in a structural representation, as enriched term graph
structures. These definitions induce corresponding notions of bisimulation
between nested term graphs. Our main result states that nested term graphs can
be implemented faithfully by first-order term graphs.
keywords: higher-order term graphs, context-free grammars, cyclic
lambda-terms, higher-order rewrite systemsComment: In Proceedings TERMGRAPH 2014, arXiv:1505.0681
Implementation of a Port-graph Model for Finance
In this paper we examine the process involved in the design and
implementation of a port-graph model to be used for the analysis of an
agent-based rational negligence model. Rational negligence describes the
phenomenon that occurred during the financial crisis of 2008 whereby investors
chose to trade asset-backed securities without performing independent
evaluations of the underlying assets. This has contributed to motivating the
search for more effective and transparent tools in the modelling of the capital
markets.
This paper shall contain the details of a proposal for the use of a visual
declarative language, based on strategic port-graph rewriting, as a visual
modelling tool to analyse an asset-backed securitisation market.Comment: In Proceedings TERMGRAPH 2018, arXiv:1902.0151
Ten virtues of structured graphs
This paper extends the invited talk by the first author about the virtues
of structured graphs. The motivation behind the talk and this paper relies on our
experience on the development of ADR, a formal approach for the design of styleconformant,
reconfigurable software systems. ADR is based on hierarchical graphs
with interfaces and it has been conceived in the attempt of reconciling software architectures
and process calculi by means of graphical methods. We have tried to
write an ADR agnostic paper where we raise some drawbacks of flat, unstructured
graphs for the design and analysis of software systems and we argue that hierarchical,
structured graphs can alleviate such drawbacks
Cellular Automata are Generic
Any algorithm (in the sense of Gurevich's abstract-state-machine
axiomatization of classical algorithms) operating over any arbitrary unordered
domain can be simulated by a dynamic cellular automaton, that is, by a
pattern-directed cellular automaton with unconstrained topology and with the
power to create new cells. The advantage is that the latter is closer to
physical reality. The overhead of our simulation is quadratic.Comment: In Proceedings DCM 2014, arXiv:1504.0192
PORGY: Strategy-Driven Interactive Transformation of Graphs
This paper investigates the use of graph rewriting systems as a modelling
tool, and advocates the embedding of such systems in an interactive
environment. One important application domain is the modelling of biochemical
systems, where states are represented by port graphs and the dynamics is driven
by rules and strategies. A graph rewriting tool's capability to interactively
explore the features of the rewriting system provides useful insights into
possible behaviours of the model and its properties. We describe PORGY, a
visual and interactive tool we have developed to model complex systems using
port graphs and port graph rewrite rules guided by strategies, and to navigate
in the derivation history. We demonstrate via examples some functionalities
provided by PORGY.Comment: In Proceedings TERMGRAPH 2011, arXiv:1102.226
- …