Modelling Adaptive Networks: The Case of the Petrified Voters


Electronic Communications of the EASST
Volume 67 (2014)

Proceedings of the
13th International Workshop on Graph Transformation

and Visual Modeling Techniques
(GTVMT 2014)

Modelling Adaptive Networks: The Case of the Petrified Voters

Mudhafar Hussein, Reiko Heckel, Vincent Danos, Pawel Sobocinski

12 pages

Guest Editors: Frank Hermann, Stefan Sauer
Managing Editors: Tiziana Margaria, Julia Padberg, Gabriele Taentzer
ECEASST Home Page: http://www.easst.org/eceasst/ ISSN 1863-2122

http://www.easst.org/eceasst/


ECEASST

Modelling Adaptive Networks: The Case of the Petrified Voters

Mudhafar Hussein1, Reiko Heckel1, Vincent Danos2, Pawel Sobocinski3

1 mshh2@le.ac.uk | reiko@mcs.le.ac.uk
Department of Computer Sciences, Leicester University, UK

2 vincent.danos@gmail.com
School of Informatics, University of Edinburgh, UK

3 sobocinski@gmail.com
School of Electronics and Computer Science, University of Southampton, UK

Abstract: Adaptive networks are characterised by mutual dependencies between
nodes’ local state changes and evolving topology. Stochastic graph transformation
systems are ideally suited to model such networks, but in order to analyse their prop-
erties we require more scalable methods. We present a case study of a simple but
representative example of adaptive networks. In this social network of opinionated
voters a node connected to another of different opinion will either convert (changing
state) or disconnect and establish a new connection with a node of the same opinion
(changing topology).

To analyse quantitative properties of the model, such as the long-term average ra-
tio of edges connecting nodes of different opinions or the overall rate of change of
opinions or connections, we use a refinement technique developed for the Kappa
graph rewriting approach to derive a stochastic Petri net, replacing graphs as states
by markings representing the frequency of occurrences of certain patterns. In gen-
eral the number of patterns (and therefore places) is unbounded, but approximations
can be used to replace complex patterns by combinations of simpler ones.

Keywords: stochastic graph transformation, refinement, stochastic Petri net, adap-
tive networks, social network analysis

1 Introduction

Graph transformation systems are a natural model for networks with evolving topology, rep-
resenting network nodes and edges by graph vertices, attributed to model local states, and
graph edges, respectively. Adaptive Networks are characterised by mutual dependencies be-
tween topology evolution and local state changes in network nodes [GB08]. For example, a
state change may depend on a node’s connections while in turn enabling the creation of new
connections that could lead to changes in other nodes, etc.

This interdependency prevents a layered view, where state and topology changes occur at dif-
ferent speeds and are handled at different levels, such as in traditional approaches to dynamic
reconfiguration of component-based systems where the components’ communication and local
computation is halted in order for reconfiguration to take place. Adaptive networks do not allow
this two-level approach and are therefore intrinsically more complex. They are also stochastic

1 / 12 Volume 67 (2014)

mailto:mshh2@le.ac.uk $\mid $ reiko@mcs.le.ac.uk
mailto:vincent.danos@gmail.com
mailto:sobocinski@gmail.com


Modelling Adaptive Networks

systems, where operations are equipped with probability distributions governing delays. Exam-
ples range from biological systems and social networks, peer-to-peer or other distributed systems
with autonomous components, to technical networks such as power grids, the Internet and mo-
bile communication infrastructure [GB08]. Modelling such networks by attributed graphs, both
the evolution of the network topology and local state changes can be specified by rules while
stochastic graph transformations allow us to represent probabilistic timing.

However, as with most complex models a major challenge is the scalability of their analysis.
In this paper we describe an approach to abstraction that approximates a stochastic graph trans-
formation model by a stochastic (place-transition) Petri net. Its places represent graph patterns,
with tokens as pattern occurrences, while rules are modelled by net transitions. Nets can be anal-
ysed more efficiently and scalably by simulation or computing the steady state solutions of the
underlying Markov chains.

In order to represent a rule as a net transition, the rule has to have a deterministic effect on the
patterns represented by the net’s places, creating and destroying a fixed number of occurrences
of all patterns. This is not the case in general, where the effect of the rule on certain patterns may
depend on the context of the application. A system whose rules are deterministic in this sense
is called balanced and, assuming limits on the degree of the graphs which are also preserved
by the rules, a graph transformation system can be transformed into an equivalent balanced one.
However, this technique does not guarantee that a rule’s applicability can be captured exactly
unless its left-hand side is a pattern itself. We consider an approximation of larger patterns by
combinations of more basic ones (represented by places of the net), statistically valid only on
large random graphs.

Balanced refinements are inspired by Kappa where they play a crucial role in enabling analyt-
ical techniques such as the thermodynamic approach [DHH13] and the derivation of differential
equations [FDH+09, DHJS13]. The idea is to replace each rule by a set of extensions that are
jointly equivalent (in the sense of a stochastic bisimulation) to the original rule, such that the
extended rules describe all the cases in which the original rule could affect any of the chosen
patterns. This is possible due to a property of graphs, called rigidity, similar to the absence of
V-structures in graphs [Dör95] where no node is allowed to carry two or more edges unless they
are distinguishable by their types or attributes, or those of their target nodes. To control embed-
dings of rules into context and preserve rigidity of graphs under rule application, we employ
reflection constraints based on the concept of open maps [Hec12]. Finally, to keep the patterns
to be observed basic, and so limit the number of places of the Petri net, we develop statistical
approximations of the more complex graph patterns arising as left-hand sides.

The approach will be illustrated by a small example of a dynamic social network exploring
the interdependency between voting behaviour and relationships of individuals. The model will
be introduced in Section 2. After some background in Section 3 it will be refined and petrified
in Section 4, before Section 5 discusses related work and Section 6 ends the paper.

2 A Social Voter Model

We work with typed attributed graph transformations following the DPO approach [EEPT06].
A type graph provides us with a vocabulary for instance graphs. However, depending on what

Proc. GTVMT 2014 2 / 12



ECEASST

Figure 1: type graph (top left), instance graph (top right) and rules in concrete syntax (bottom)
where l,k, j ∈ {a,b,c}

graphs are meant to represent, i.e., states or patterns, they are subject to further constraints.
States are the most constrained, negatively by stating the absence of certain structures or posi-
tively requiring their presence. Patterns forming, e.g., the left- and right-hand sides of rules, are
subject to negative constraints only, because they represent fragments of states, not deemed to
be complete.

The model, adapted from [DGL+12], describes the behaviour of opinionated agents which
vote for one of two parties and are less likely to stay friendly in case they disagree. The type
graph is shown in the top left of Fig. 1. We represent votes as node attributes 0,1. Connections
are identified by labels a,b,c on the sites they are attached to. Once restricted to rigid graphs,
this will limit the number of an agent’s connections to 3. In the lower part of Fig. 1 rules are
given in a condensed Kappa-like notation.

Durett’s original model [DGL+12] is based on simple, symmetric graphs whose degree is
bounded by 3 for analysis purposes, and where rules are described informally in English. The
present model replaces this system by a Kappa-like rewriting system on site graphs, i.e., graphs
over the metamodel in the top left of Fig. 1, where sites control and identify the attachment of
links to Agent nodes. Such an encoding is always possible for a system of bounded degree.

Vote attributes are shown as labels inside Agents. Sites connected to Agents are shown by
their labels only. Each Site label is attached to exactly one Agent, leaving agent edges implicit.
Link edges are assumed to be symmetric, shown as undirected. To compare, the top right of
Fig. 1 shows the left-hand side of rule p as full instance graph, omitting edge types, which can
be inferred from sources and targets. Rules are given by rule schemata, e.g., p(l,k) represents all
rules obtained by choosing for l,k any labels from a,b,c. That means, l,k are not variables in the
sense of attributed graphs, instantiated by matches, but metavariables to express rule schemata.

Rules model the coevolution of votes and connections: If two connected agents hold different
votes, either one is converted to the opinion of the other (rules p,q), or the link between them is

3 / 12 Volume 67 (2014)



Modelling Adaptive Networks

broken and one makes a new connection to an agent of the same opinion (rules r,s).
For each of the rules shown we also assume its reverse rule. These are needed in order to

ensure that the labelled transition system is strongly connected, and so leads to an irreducible
Markov chain. In order to reflect their relative urgency, rules are equipped with rates as shown
in the listing below. Rules labelled by “*” represent inverse rules, i.e., p∗ is the inverse of p.

p = 10 q* = 1 q = 10 p* = 1
r = 20 r* = 1 s = 20 s* = 1

For example, p is 10 times as fast as p∗ (in other words: if either rule is applicable in a graph,
the average delay of p is one tenth of that of p∗) while r is twice as fast again. In particular,
in a situation where two agents of different opinion are connected, splitting up is more likely
than converting one’s peer or oneself. One might think, just looking at the rates, that splitting
up is twice as likely, but this is only true if there is exactly one free candidate in the graph for
reconnection. If there are two alternative candidates, the number of matches doubles, increasing
the probability for a match for r or s to be chosen as opposed to a match for p or q.

Figure 2: constraints on patterns (top) and states (bottom)

Pattern and state constraints are given in the top and bottom of Fig. 2, resp. Patterns are
subject to negative constraints, expressed by forbidden patterns. They require the absence of V-
structures, parallel edges and loops, i.e., V-S2A, V-S2S: no Site is connected to two Agents nor
Sites, V-A2S: no Agent is connected to two Sites with the same label, V-vote: no Agent has two
vote attributes, V-lab: no Site has two labels and PAR-S2A, PAR-S2S, LOOP-S2S: there are no
parallel edges or loops.1 States are graphs satisfying constraints SYM: link edges are symmetric,
S2A: every Site is connected to an Agent, S-lab: each Site has a label attribute, A-vote: each
Agent has a vote, A2S: for all labels l ∈ {a,b,c}, each Agent has a Site labelled l. Again, l is a
metavariable expanding A2S into three concrete constraints.
1 Unlike UML object diagrams whose notation we adopt, attributed graphs can have multiple values for the same
node attribute. This is why we need V-vote and V-lab to rule out such cases.

Proc. GTVMT 2014 4 / 12



ECEASST

For the model presented we are interested in questions such as: What is the evolution over
time of the number of agents holding certain votes, or of edges connecting agents of the same
vs. those of different votes? What are the resulting long-term ratios? The refinement of the
model and its translation into a Petri net in the following section provide the prerequisite of such
analyses.

3 Rigid Graph Transformation with Reflection Constraints

Refinement is aided by restrictions on the classes graphs and matches. Rigid graphs are without
V-structures, such as specified by the negative pattern constraints in the top of Fig. 2. Reflec-
tion constraints act as rule-independent negative application conditions. This section gives an
informal account of both restrictions, motivating their relevance for refinements.

Rule refinements are built from refinements of patterns first, extending them canonically to
spans over patterns representing rules. A pattern A can be seen as a predicate over states validated
by a match a : A → G. Refining the pattern, we want to replace A by a set of extensions ei : A →
Ei, each representing a stronger predicate, such that their exclusive disjunction is equivalent
to A: The set of solutions for A should split into disjoint subsets of solutions for the extended
patterns. In other words, for every occurrence a : A → G there should be a single extension
ei : A → Ei with a unique decomposition of a as bi ◦ ei for bi : Ei → G. This ensure that matches
(and therefore transformations) for the original and the refined rules into a given graph are in
one-to-one correspondence.

The identity on A satisfies these requirements. In order for refinements to be nontrivial, we re-
strict graphs and matches. The key to there being exactly one extension covering each case is the
restriction of matches by reflection constraints, formally matches that are open maps [Hec12].

The reflection constraint in the left of Fig. 3 states that there should not be links attached to
an agent’s sites in a graph if there are no such links in a pattern (e.g., the rule’s left-hand side).
As before, this is a family of constraints covering all possible labels. Consider the instance R-
AS2S(a,b) in the centre. The (crossed-out) match of the new rule on the right does not reflect
the link attached to the a-labelled site in the given graph, i.e., the link is in the graph but not in
the left-hand side of the rule. A morphism of patterns that satisfies the reflection constraints is
called reflective. A transformation using this illegal match would lead to the crossed-out graph
in the bottom right, which violates the pattern constraint V-S2S of Fig. 2. In general, reflection
constraints define minimal forbidden examples for matches, in analogy to forbidden subgraphs
for graph morphisms.

The uniqueness of bi : Ei → G in the decomposition of a : A → G as bi ◦ ei is due to rigidity,
which ensures that partial matches extend uniquely, or not at all, to larger (connected) patterns.
The forbidden pattern V-A2S in Fig. 2 provides an example of a non-rigid graph, where exten-
sions of partial matches are not unique. Assume A to be the graph with a single Agent and let B
consist of an Agent and connected Site labelled l. The only match match m : A →V-A2S has two
different extensions f ,g : B →V-A2S using the left or right Site in V-A2S to map the Site in B.

A rigid graph transformation system (RGTS) is given by a set of of rules R over an attributed
type graph T G together with sets of pattern, state, and reflection constraints C,S,X , respectively,
such that C ensures rigidity and transformations along reflective matches preserve state and

5 / 12 Volume 67 (2014)



Modelling Adaptive Networks

Figure 3: Reflection constraint ensuring preservation of pattern constraints V-S2S

pattern constraints. All our rules in Fig. 1 preserve the constraints but, as can be shown in analogy
to the example in Fig. 3, reflectivity of the match is a necessary condition.

In a stochastic RGTS each rule r in R is associated with a rate constant written k(r). R is
finite-state for a given initial graph G over T G if the state space accessible from the initial state
is finite up to isomorphism. This data determines a finite continuous-time Markov chain (CTMC)
on graphs. It will be convenient to write Xt for the associated random variable which describes
the (random) state of the system at time t.

4 Petrify and Approximate

Our journey from stochastic RGTS to stochastic Petri net proceeds in three steps: First, we define
a set of pattern observables P, which will form the places of the net. Then we refine the rules
R by R′ such that (1) the new rules are equivalent (stochastically bisimilar) to the old set and
(2) each rule in R′ is P-balanced, i.e., creates and destroys a fixed number of occurrences for
each pattern in P. The rules in R′ can then be regarded as the transitions of the net. Finally, we
turn to the definition of rate expressions, i.e., transition rates that depend on the number of token
on their input places. This will be based on an approximation of the number of occurrences of
complex patterns, such as rules’ left-hand sides, by simpler patterns in P.

An observable is a real-valued function on state graphs. Among observables, some are of
specific interest to us, namely the pattern observables. Such an observable is specified entirely
by a graph Q. Given a graph X , [Q](X) is counting the number of injective reflective morphisms
from Q into X . This notion extends readily to linear combinations of pattern observables, which
we will also call pattern observables. Mostly, we are interested in the case where Q is connected.

We select as our basic observables the patterns [00], [01], [11] counting, respectively, the 00,
01, 11 edges in a graph.

However, as before, these patterns are really pattern schemes, unfolded by instantiating site
label variables l,k by actual labels a,b,c. Thus, the observables of interests are linear combina-
tions of the form

[00] = ∑
l,k∈{a,b,c}

[0(l1),0(k1)]

Proc. GTVMT 2014 6 / 12



ECEASST

denoting by [0(l1),0(k1)] a pattern of two agents voting 0 connected by a link 1 via sites labelled
l,k. This choice of observables is natural for the Durett model, especially the 01 conflictual
edges. Having said that, the method will work regardless of whether the chosen patterns have
semantic significance.

A pattern refinement is an injective reflective morphism of patterns that intersects all compo-
nents of its (rigid) target graph.2 A refinement of a rule r with left-hand side L in a rigid GTS is
a set of pattern refinements ei : L → Li satisfying r’s gluing conditions, such that for every in-
jective reflective a : L → G there is a single embedding ei : L → Ei with a unique decomposition
a = bi ◦ ei for bi : Li → G. As a result

• each such pattern refinement ei gives rise to a refined rule ri by applying r to Li along ei

• for every transformation G
r,m
=⇒ H via r there exists exactly one refined rule ri and match

mi such that m = mi ◦ ei and G
ri,mi
=⇒ H.

The reverse is true, i.e., an application of the refined rule gives rise to a unique application of
the original rule r. A refinement of a rule therefore does not only preserve the transformation
relation but establishes a one-to-one correspondence between the transformations using r and its
set of refined rules ri. That means, given a rate for r in a stochastic rigid graph transformation
system, replacing r by its refinement will not change the stochastic behaviour if all rules in the
refinement inherit r’s rate.

We are interested in constructing refinements that are P-balanced with respect to a given
set of patterns P, i.e., where, for all patterns p ∈ P, applications of a refined rule ri to a state
graph G

ri,mi
=⇒ H create and destroy a fixed number of occurrences of p. That means, we are able

to assign to ri a function ∆(ri) : P → Z giving us for each pattern p ∈ P an integer ∆(ri)(p)
representing the number of occurrences added (if positive) or destroyed (if negative). A system
of balanced rules for a given set of patterns P yields a Petri net N with places P and transitions
R′ consuming and producing tokens as defined by the function ∆ : R × P → Z, which becomes
the incidence matrix of the net.

Let us apply this idea to our case study. A P-balanced refinement for rule p(l,k) of Fig. 1 is
shown in Fig. 4. The matches for p(l,k) factor uniquely through exactly one of the extensions.
Since matches reflect links, if an agent in a rule shows a site that is not connected, this site cannot
be connected in the state graph. For example, the rule in the top right cannot be applied to a graph
where the agent voting 1 has any further connections, because all three sites are present. Instead,
the agent voting 0 in the same rule can have two more connections on the sites not mentioned in
the rule. Each of the rules describes exactly one embedding of the original p into an immediate
context.

Depending on the context, a rule may destroy or create different numbers of occurrences of
patterns. The refinement in Fig. 4 replaces the rule p(l,k) with a set of jointly equivalent rules,
each balanced with respect to [01],[00],[11]. This balance is given below the rule arrow, e.g., the
rule in the top right destroys one occurrence of [01] and creates two of [00]. (Occurrences of [11]
or [00] always come in pairs because of their symmetry.)

2 A component C ⊆ B is a disjoint subgraph, i.e., there exists a D with C +D isomorphic to B. Intersection of h(A) ⊆ B
with components C ⊆ B can be characterised categorically by the pullback of C’s coproduct injection with h.

7 / 12 Volume 67 (2014)



Modelling Adaptive Networks

Figure 4: Refinement for rule p(l,k). Labels l,k, j,i,h,g ∈ {a,b,c}; i, j,k pairwise distinct. Be-
low each rule, the change in the number of occurrences of the 3 patterns is indicated.

The refinement in Fig. 4 is derived systematically by considering how pattern occurrences are
affected by application of rules. That means, for every overlap of a subrule with a pattern such
that elements of the pattern are created or destroyed, the rule is extended to include the pattern
entirely. As a construction, this is a variation of critical pair analysis between p(l,k) and the
identity rule on any of the patterns. It follows the algorithm in [DHH13] for the Kappa language,
where the correctness for this procedure is established.

In a Petri net N where places represent patterns, transitions can thus encode the effect of
refined rules R′ on the number of pattern occurrences. We also have a projection map π from
the states of R′ to the markings of N. However, the net’s true dynamics should coincide with the
projection of that of the initial rule set: Yt = π(Xt). The challenge is to express this dynamics
Yt entirely in terms of the states of N. To do this exactly is impossible, as the rate λr(Xt) of a
given rule in R′, does not only depend on the projection. In other words, there is in general no λ ′r
such that λr(Xt) = λ ′r(π(Xt)). Yet in other words, the projection π does not generate a forward
stochastic bisimulation of CTMCs [DP03].

To see this, consider an instance of the middle left rule in Fig. 4:

r′ = 0(a1),1(a1,b2,c),0(a2) → 0(a1),0(a1,b2,c),0(a2)

again using superscripts to indicated which sites are linked with one another.
The rate of r depends on the constant k(r) and on the number of ways in which the lhs of r

can be embedded in the current state. That is to say it depends on [0(a1),1(a1,b2,c),0(a2)] And
this value cannot always be reconstructed uniquely from the projection.

Proc. GTVMT 2014 8 / 12



ECEASST

Below, we will write, e.g., [0120] for the linear combination obtained by unfolding the above
observable, with the subscript indicating the the degree of the middle node. We can approximate
[0120] in terms of our extant observables as follows:

[0120] ∼
[01][120]
[1≥1]

∼
[01]
[1≥1]

·
[12][10]
[1≥1]

=
[01]2[12]
[1≥1]2

To derive the above, we use a breakdown principle: given a connected Q as a union of two graphs
Q1, Q2, we approximate [Q] as:

[Q] ∼
[Q1][Q2]
[Q1 ∩ Q2]

Probabilistically, this amounts to saying that [Q]1(Xt) and [Q]2(Xt) are conditionally independent
given [Q1 ∩ Q2](Xt). Note that in the concrete breakdown, we have introduced new smaller ob-
servables which we now see are the intersection terms, e.g., [1≥1] which is short for the obvious
linear combinations ∑d≥1[1d].

The decomposition above is akin to the concept of pair approximation which is common
in statistical physics and the study of complex networks [Gle13]. The quality of this type of
approximation will depend on the particular model at hand, and will generally, but not always,
become asymptotically exact as the underlying graph size goes to infinity, which is when one
needs it most.

Indeed, when evaluating the expressions over the small graphs in Fig 5, the graph on the left
demonstrates that this is not always accurate, because [01] = 3,[12] = 2 and [1≥1] = 3 yielding
an approximation of 32 · 2/32 = 2 while there is no single occurrence of [0120]. The graph on
the right yields 32 · 0/52 = 0 and has indeed no match for [0120].

Given these approximations, the rate expression for the transition representing rule r is k(r) ·
[01]2[12]/[1≥1]2, based on the rate constant k(r) = k(p(l,k)) of the refined rule r as inherited
from the original. Applying this procedure to all rules in Fig. 1 as well as their reverse rules, we
obtain a Petri net of 11 places and 60 transitions approximating the graph transformation system,
with 6 transitions each arising as refinements of p(l,k) and q(l,k) and their inverse rules, and 9
each for r(l,k, j) and s(l,k, j) and their reverse rules.

5 Related Work

The aim of this paper is to investigate the abstraction of graph transformation systems by place-
transition Petri nets, replacing the complex state representation of graphs by the much simpler
one of a vector of natural numbers. This is motivated by the scalability of analyse methods
to large systems. Work on abstraction in graph transformation has followed a variety of ap-
proaches and motivations. In [PP95], it is a means to improve comprehensibility of complex
GTS by hiding and retrieving substructures as required. To enable analysis of models, many
approaches aim at reducing the state space or behaviour representation. [BBKR08] uses neigh-
bourhood abstraction to group graph elements via an equivalence relation up to some radius
defining a node’s neighbourhood. This allows the level of precision to be adjusted if the cur-
rent abstraction does not allow the verification of properties. [YTTH08] uses a similar approach,

9 / 12 Volume 67 (2014)



Modelling Adaptive Networks

Figure 5: Two sample graphs.

but abstracted nodes are characterised by satisfaction of temporal logic formulae representing
some behavioural property of the concrete system. In [RD06], based on shape graphs introduced
in [SRW98], nodes are grouped by structural similarity with multiplicities to capture concrete
representations of an abstract shape. Several states are therefore combined into a single structure.
In counterexample-guided abstraction refinement based on unfoldings [KK06], the behaviour of
a GTS is represented by a Petri graph representing an approximated unfolding.

All but the last approach keep within the same formalism, replacing one graph transformation
system by a more abstract one. The last approach [KK06] derives a Petri net-like representa-
tion of the unfolding, i.e., at the semantic level, while we translate the specification into a Petri
net. Indeed, as mentioned in the Introduction, in terms of methodology our approach has more
in common with the analysis techniques of Kappa [FDH+09, DHJS13]. In particular, our tran-
sitions with rate expressions capturing pattern occurrences are reminiscent of the mass action
semantics of stochastic Petri nets in [DO13].

6 Conclusion

We have presented a case study in analysing adaptive networks based on a methodology to re-
duce a given graph transformation system (over rigid graphs and with open maps as matches) to
an equivalent Petri net. The central concept is that of a balanced refinement, which is constructed
systematically by overlapping patterns and rules. Such a refinement, if it exists, guarantees the
correctness of the Petri net and thus allows us to verify properties of the original system pertain-
ing to numbers of occurrences of certain patterns P by analysing the corresponding Petri net.
The numbers of tokens on places correspond to numbers of occurrences of patterns.

The evaluation suggests that the approach is correct in the sense that the stochastic behaviour
is preserved and that the net-based analysis is more scalable than that of the original GTS. How-

Proc. GTVMT 2014 10 / 12



ECEASST

ever, constructing a balanced refinement is itself a demanding task, which requires automation to
scale to models of more interesting size. Another potential bottleneck is the state space analysis
on the constructed Petri net.

For categories other than graphs we do not know under which conditions balanced refinements
can effectively be constructed. A general theorem demonstrating the correctness of the approach
is under investigation and can be the basis for automating the refinement and mapping. The
generalisation from graphs to suitable adhesive categories would allow for attributed graphs over
numerical data types, significantly extending the ability to model complex adaptive networks.
Exploring further applications in this rich domain is another goal for the future.

Another new area of research may be the transformation of random graphs and the study of the
statistical approximation of their complex patterns by combinations of simpler ones. Apart from
the present application, similar approximations have been used to derive differential equations
for adaptive networks, providing a scalable method to analyse the dynamics of large systems.

Bibliography

[BBKR08] J. Bauer, I. Boneva, M. Kurbán, A. Rensink. A modal-logic based graph abstraction.
Graph Transformations, pp. 321–335, 2008.

[DGL+12] R. Durrett, J. Gleeson, A. Lloyd, P. Mucha, F. Shi, D. Sivakoff, J. Socoloar, C. Vargh-
ese. Graph fission in an evolving voter model. Proceedings of the National Academy
of Science 109:3682–3687, 2012.

[DHH13] V. Danos, R. Harmer, R. Honorato-Zimmer. Thermodynamic Graph Rewriting. In
24th International Conference on Concurrency Theory, CONCUR’13. LNCS 8052,
pp. 380–394. Springer-Verlag, Aug. 2013.

[DHJS13] V. Danos, R. Honorato-Zimmer, S. Jaramillo-Riveri, S. Stucki. Deriving rate equa-
tions for site graph rewriting systems. In Workshop on Static Analysis and Systems
Biology, SASB, Seattle. 2013.

[DO13] V. Danos, N. Oury. Equilibrium and termination II: the case of Petri nets. Mathe-
matical Structures in Computer Science 23(2):290–307, 2013.

[Dör95] H. Dörr. Efficient Graph Rewriting and Its Implementation (Lecture Notes in
Computer Science). Springer-Verlag, 1995.
http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/
0387600558

[DP03] J. Desharnais, P. Panangaden. Continuous stochastic logic characterizes bisimula-
tion of continuous-time Markov processes. J. Log. Algebr. Program. 56(1-2):99–
115, 2003.

[EEPT06] H. Ehrig, K. Ehrig, U. Prange, G. Taentzer. Fundamentals of Algebraic Graph
Transformation. EATCS Monographs in Theoretical Computer Science. Springer,

11 / 12 Volume 67 (2014)

http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/0387600558
http://www.amazon.com/exec/obidos/redirect?tag=citeulike07-20&path=ASIN/0387600558


Modelling Adaptive Networks

2006.
http://www.springer.com/3-540-31187-4

[FDH+09] J. Feret, V. Danos, R. Harmer, J. Krivine, W. Fontana. Internal coarse-graining of
molecular systems. PNAS 106(16):6453–8, Apr. 2009.

[GB08] T. Gross, B. Blasius. Adaptive coevolutionary networks: a review. J. R. Soc. Inter-
face 5(20):259–271, 2008.
doi:10.1098/rsif.2007.1229

[Gle13] J. P. Gleeson. Binary-State Dynamics on Complex Networks: Pair Approximation
and Beyond. Phys. Rev. X 3:021004, Apr 2013.
doi:10.1103/PhysRevX.3.021004
http://link.aps.org/doi/10.1103/PhysRevX.3.021004

[Hec12] R. Heckel. DPO Transformation with Open Maps. In Ehrig et al. (eds.), ICGT.
LNCS 7562, pp. 203–217. Springer, 2012.

[KK06] B. König, V. Kozioura. Counterexample-guided abstraction refinement for the anal-
ysis of graph transformation systems. Tools and Algorithms for the Construction
and Analysis of Systems, pp. 197–211, 2006.

[PP95] F. Parisi-Presicce, G. Piersanti. Multilevel graph grammars. In Graph-Theoretic
Concepts in Computer Science. Pp. 51–64. 1995.

[RD06] A. Rensink, D. Distefano. Abstract graph transformation. Electronic Notes in Theo-
retical Computer Science 157(1):39–59, 2006.

[SRW98] M. Sagiv, T. Reps, R. Wilhelm. Solving shape-analysis problems in languages with
destructive updating. ACM Transactions on Programming Languages and Systems
(TOPLAS) 20(1):1–50, 1998.

[YTTH08] M. Yamamoto, Y. Tanabe, K. Takahashi, M. Hagiya. Abstraction of graph transfor-
mation systems by temporal logic and its verification. Verified Software: Theories,
Tools, Experiments, pp. 518–527, 2008.

Proc. GTVMT 2014 12 / 12

http://www.springer.com/3-540-31187-4
http://dx.doi.org/10.1098/rsif.2007.1229
http://dx.doi.org/10.1103/PhysRevX.3.021004
http://link.aps.org/doi/10.1103/PhysRevX.3.021004

	Introduction
	A Social Voter Model
	Rigid Graph Transformation with Reflection Constraints
	Petrify and Approximate
	Related Work
	Conclusion