=Paper=
{{Paper
|id=Vol-3642/paper7
|storemode=property
|title=MCSR: A graph transformation based approach for Minimal and Compact Set Representation
of Causal Dependencies in Distributed Systems
|pdfUrl=https://ceur-ws.org/Vol-3642/paper7.pdf
|volume=Vol-3642
|authors=Houda Khlif,Hatem Hadj Kacem,Saul Pomares Hernandez
|dblpUrl=https://dblp.org/rec/conf/tacc/KhlifKH23
}}
==MCSR: A graph transformation based approach for Minimal and Compact Set Representation
of Causal Dependencies in Distributed Systems ==
MCSR: A graph transformation based approach for
Minimal and Compact Set Representation of Causal
Dependencies in Distributed Systemsβ
Houda Khlif1,* , Hatem Hadj Kacem1 and Saul Pomares Hernandez2,3
1
ReDCAD Laboratory, ENIS, University of Sfax, Tunisia
2
INAOE, Tonantzintla, Mexico
3
CNRS, LAAS, F-31400 Toulouse, France
Abstract
Causal ordering is an important property in distributed systems. Several algorithms have been developed
over this principle. For example, there are solutions for roll-back recovery, multimedia synchronization,
model checking, and many others. All these algorithms establish causal dependencies according to the
Happened-Before Relation (HBR), which was introduced by Lamport, and they identify and ensure causal
dependencies based on the Vector Clocksβ algorithm introduced by Mattern and Fidge. The HBR is a
strict partial order, and therefore, one main problem linked to it is the combinatorial state explosion.
In this paper we present a graph transformation based approach called MCSR which constructs, for
a distributed computation, the minimal causal graph (IDR graph) at a single event level and a causal
consistent compact graph (CAOS graph) at an event set level. For this, we use the Immediate Dependency
Relation (IDR) and the Causal Order Set Abstraction (CAOS), respectively. Both resultant causal graphs
drastically reduce the state-space of a system. The MCSR receives a database of vector clocks as input,
from which it automatically generates the fully-causal HBR original graph, the IDR graph, and the
CAOS graph by using graph transformation rules. The resultant causal graphs can be used for different
purposes, such as for the design of more efficient algorithms, validation, verification of the existing ones,
among others. Finally, we compare the IDR graph and the CAOS graph with the HBR graph in terms of
their number of nodes and edges.
Keywords
Distributed system, Causal Ordered Set Abstraction, Happened Before Relation, Immediate Dependency
Relation, graph transformation.
1. Introduction
Causal ordering is an important property in distributed systems. The use of causal ordering
provides built-in message synchronization, reduces the non-determinism in a distributed compu-
tation, and provides an equivalent of the FIFO property at a party communication level. Causal
ordering guarantees that actions, such as requests or questions, are received (viewed) before
their corresponding reactions, results, or responses. Several algorithms have been developed
over the causal ordering principle. For example, there are solutions for checkpointing [1, 2],
TACC 2023: Tunisian-Algerian Joint Conference on Applied Computing, November 6 - 8, Sousse, Tunisia
*
Corresponding author.
$ houda.khlif@redcad.org (H. Khlif); hatem.hadjkacem@redcad.org (H. Hadj Kacem); spomares@inaoep.mx
(S. P. Hernandez)
Β© 2023 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Workshop
Proceedings
http://ceur-ws.org
ISSN 1613-0073
CEUR Workshop Proceedings (CEUR-WS.org)
CEUR
ceur-ws.org
Workshop ISSN 1613-0073
Proceedings
roll-back recovery [3], predicate detection [4], group communication [5], multimedia data
synchronization [6, 7], model checking [8], and many others. All these algorithms establish
causal precedence dependencies according to the Happened-Before Relation (HBR), which
was introduced by [9], and they identify and ensure causal dependencies based on the Vector
Clocks (VCs) algorithm introduced by Mattern [10] and Fidge [11]. The HBR and VCs principles
avoid the use of any kind of global references and synchronization mechanisms. The HBR is a
strict partial order (transitive, irreflexive and antisymmetric) and therefore, one main problem
linked to it is the combinatorial state explosion [12]. This characteristic of the HBR renders the
analysis, verification and modeling of the existing solutions difficult, as well as the design of
new more efficient algorithms. In this paper we present an approach called MCSR (Minimal
and Compact Set Representation) which identifies, for a distributed computation, the minimal
causal graph (IDR graph) at a single event level and a causal compact causal set graph (CAOS
graph) at an event set level. In a previous work[13], we have used the algorithmic approach for
the generation of HBR, IDR and CAOS. In this contribution, we adopt the graph transformation
approach which offer an intuitive way to express and execute graph reductions, especially
for complex relationships or patterns within the graph. In Section 4.2 a comparative is given
between algorithmic solutions versus graph transformation. Our work use the Immediate
Dependency Relation (IDR) [14] and the Causal Order Set Abstraction (CAOS) [15]. We start
with a database of Vector Clocks as input, from which we generate the fully-causal HBR original
graph. Then, by using graph transformation rules, we generate the IDR and the CAOS graphs.
The efficiency of generating such graphs is shown by comparing them with the HBR graph
in terms of their number of nodes and edges. As we will show, both resultant causal graphs
drastically reduce the state-space of a system. The results show that the IDR and CAOS graphs
use significantly fewer graphs components in order to represent the causality of the system.
The resultant causal graphs can be used for different purposes, such as for the design of more
efficient algorithms, validation, verification, and/or the debugging of the existing ones, among
others. In this paper, we show how causal graphs can be used for validation purposes.
The rest of the paper is structured as follows: Section 2 presents the system model and associated
definitions. Our approach is detailed in Section 3, while some results are given in Section 4.
Finally, Section 5 concludes with a few remarks.
2. Background and Definitions
2.1. System Model
The system under consideration is composed of a set of processes π = {π1 , π2 , Β· Β· Β· , ππ }. The
processes present an asynchronous execution and communicate only by message passing. π
is a finite set of messages, where each message π β π is sent considering an asynchronous
reliable network which is characterized by no transmission time boundaries, no order delivery,
and no loss of messages. The set of destinations of a message π is identified by π·ππ π‘(π).
Two types of events are considered here: internal and external events. An internal event is a
unique action which occurs at a process π in a local manner and which changes only the local
process state. We denote the finite set of internal events as πΌ. An external event is also a unique
action which occurs at a process, it is seen by other processes, and thus, affects the global state
of the system. The external events considered in this paper are the send and delivery events.
Let π β π be a message. We denote by π πππ(π) the emission event and by πππππ£πππ¦(π, π)
the delivery event of π to participant π β π . The set of events associated to π is the set:
πΈ(π ) = π πππ(π) βͺ πππππ£πππ¦(π, π). The whole set of events in the system is the finite set
πΈ = πΌ βͺ πΈ(π ). Each event π β πΈ is identified by a tuple ππ(π) = (π, π₯), where π β π is the
producer of π, and π₯ is the local logical clock for events of π, when π is carried out. When we
need to refer to a specific event we use the notation ππ,π₯ .
2.2. Happened-Before Relation (HBR)
The Happened Before Relation for single events was defined by Lamport [9]. This relation
establishes causal precedence dependencies over a set of events. The HBR is a strict partial
order (transitive, irreflexive and antisymmetric). It is defined as follows:
Definition 1. The causal relation βββ is the smallest relation on a set of events πΈ satisfying the
following conditions:
β’ If π and π are events belonging to the same process, and π was originated before π, then
π β π.
β’ If π is the sending of a message by one process, and π is the receipt of the same message in
another process, then π β π.
β’ If π β π and π β π, then π β π.
By using Definition 1, Lamport defines that a pair of events is concurrently related βπ||πβ if it
satisfies the following condition:
π||π if Β¬(π β π β¨ π β π)
2.3. Vector Clocks
The Vector Clocksβ algorithm was simultaneously developed by Fidge [11] and Mattern [10]. It
was created to detect the causal relations among events in a distributed system. A Vector Clock
is an array of logical clocks of size π, where π is the number of processes in a system. A Vector
Clock captures the causal state of the system. For each event e generated, a Vector Clock is
associated, and it is denoted by π πΆ(π). In general, the Vector Clocksβ algorithm is defined as
follows:
β Each process ππ is equipped with a Vector Clock π πΆπ . A process ππ increments its own
Vector Clock for each event π (internal or external) in the form:
π πΆπ [π] := π πΆπ [π] + 1
β In each message π sent by a process ππ , the current Vector Clock π πΆπ is piggybacked in
π. At the reception of a message π by a process ππ , the process ππ updates its clock as
follows:
π πΆπ := πππ₯(π πΆπ , π πΆπ )
Where πππ₯ gets the maximum values of each pair of elements in the Vector Clocks.
Based on the Vector Clocksβ algorithm, the causal dependencies between a pair of events in a
system can be established as follows:
Definition 2. For a pair of events π, π β πΈ, the event π causally precedes the event π if the
following condition is satisfied:
π β π if π πΆπ (π) < π πΆπ (π)
2.4. Immediate Dependency Relation (IDR)
The IDR is the transitive reduction of the HBR ([14]). It is denoted by βββ, and it is defined as
follows:
Definition 3. Two events π, π β πΈ have an immediate dependency relation βββ if the following
restriction is satisfied:
π β π if π β π and βπ β πΈ, Β¬(π β π β π)
Thus, an event π causal immediately precedes an event π, if and only if no other event π belonging
to πΈ exists, such that π belongs to the causal future of π and to the causal past of π.
Property 1. For all pair of events π, π β πΈ, π ΜΈ= π:
if βπ β E such that (π β π and π β π) or (π β π and π β π), then π || π
2.5. Causal Ordered Set Abstraction (CAOS)
Assuming the poset πΈ = (Γ,β) as the model adopted for a distributed computation, the objective
of CAOS is to establish over this poset the rules and conditions of association of events and the
conditions of ordering between the resulting sets ([15]).
Ordered sets of events. We consider a finite collection π of ordered sets of events, where each
set π β π is a set of events π β πΈ. The elements of a set are ordered according to the IDR.
Such elements compose a causal path (linearization) from an event π1 to an event ππ such that
π = {π1 β π2 β Β· Β· Β· β ππ }. We denote by π€β and π€+ the endpoint events of π (π€β = π1 and
π€+ = ππ ).
The definition of CAOS is made up of three parts:
Part I-Creation of sets. The rules π
1 , π
2 and π
3 establish the creation of sets (Table 1, Lines
2β4). An event which satisfies one of these rules creates a new set, and it is by default associated
to such set as its left endpoint. The rule π
1 creates a new set π (π) when an event π does not
have causal history. The rule π
2 creates a new set π (π) when it is detected that π is concurrent
with respect to another event ππ . The rule π
2 ensures that when the pattern ππ β (π||ππ ) occurs,
the event π will be associated to a different set π than the sets for ππ and ππ . Finally, the rule
π
3 creates a new set π (π) when it is detected that two concurrent events ππ ||ππ converge to a
same event π. π
3 ensures that when the pattern (ππ ||ππ ) β π occurs, the event π will be associated
to a different set π than the sets for ππ and ππ .
1. A new set π (π) is created in π when:
C1. βπ β πΈ, Β¬(βπ β π : π β π) 1
π
1 = {π : β
β π} or 2
π (π) β π
2 = {π : β(ππ , ππ ) β πΈ; ππ β π β§ ππ β ππ } or 3
π
3 = {π : β(ππ , ππ ) β πΈ; ππ β π β§ ππ β π} 4
2. The rest of the events πβ² β πΈ are assigned to a set π (π) β π as follows:
C2. βπ (π) β π , βπβ² β πΈ, Β¬(βπ β π : πβ² β π) 5
π (π) β π
4 . π (π) βͺ {πβ² : βππ β π (π), βππ β πΈ; ππ β πβ² β§ Β¬(ππ β ππ )} 6
Table 1
CAOS specification
Part II-Association of events. An event does not accomplish any of the rules of Part I, then it
will be associated to an existing set π according to the rule π
4 (Table 1, Line 6). The rule π
4
associates events to sets by respecting the specification of the ordered set of events previously
presented where the elements of a set compose a linearization based on the IDR. Each new
event associated to a set π becomes its right endpoint.
Part III-Arrangement of sets. The resulting sets π β π are arranged. We say that a pair of
sets π, π β π are IDR-related βπ β π β if the following condition is satisfied:
π β π if π₯+ β π¦ β
2.6. Graph Transformation
Graph Transformation is a rule-based approach targeted towards the modification on a graph
([16, 17]). A Graph Transformation Rule is described by a pair of graphs π = (πΏ, π
), where πΏ
is called the left-hand side graph and π
is called the right-hand side graph. Applying the rule
π = (πΏ, π
) means finding a match of πΏ in the source graph and replacing πΏ with π
.
2.6.1. The Single PushOut Approach (SPO)
A rule of type SPO is a production in the form of (πΏ, π
). Its application to a graph πΊ is related to
the existence of an occurrence of πΏ in πΊ. The application of the SPO rule to a graph πΊ involves
removing the graph corresponding to π·ππ = (πΏβ(πΏ β© π
)) and adding the graph corresponding
to π΄ππ = (π
β(πΏ β© π
)). According to the SPO approach, all the dangling edges are deleted.
2.6.2. The Double PushOut Approach (DPO)
A rule of type DPO is a production in the form of (πΏ, πΎ, π
) where πΎ is used to clearly specify the
part to preserve after applying the rule. The difference between the SPO and DPO approaches is
that the application of this rule is attached to the βDangling Conditionβ. This condition specifies
that the rule can not be applied if its application will lead to suspended edges. If both conditions
of existence of the occurrence of πΏ and absence of suspended edges are satisfied, then the
application of the rule involves the removal of the graph corresponding to the occurrence of
π·ππ = (πΏβπΎ) and the addition of a copy of the graph π΄ππ = (π
βπΎ).
2.6.3. Negative Application Condition (NACs)
In some cases, it is necessary to express additional conditions to specify conditions related to
the absence of an occurrence in the graph. This type of condition is called Negative Application
Conditions or π π΄πΆs. An SPO rule has the structure (πΏ, π
, π π΄πΆ) and is applicable to a graph
πΊ if there is an occurrence of πΏ in πΊ and if there is no case of π π΄πΆ in πΊ.
2.6.4. Neighborhood Controlled Embedding Approach (NCE)
The Neighborhood Controlled Embedding (NCE) mechanism ([17]) is based on the specification
of the so-called connection instructions to allow the gluing of the added nodes to the neighbors
of the removed nodes. These instructions are based on the labels of nodes to define new edges
that will be introduced. Connection instructions are described by a pair (π, πΏ). The execution of
this connection instruction involves the introduction of an edge between the added node π and
all the neighbors nodes of the removed node whose label is πΏ.
dNCE (π for edge label), eNCE (π for edge label), and edNCE are extensions of the NCE approach.
The edNCE approach is the combination of eNCE and dNCE approaches. The edNCE connection
instructions are in the form of (π; π/π; πΏ; π; πβ² ). Its execution implies the introduction of an edge
in the direction indicated by πβ² between the node π and all nodes πβ² which are π-neighbours
and π-neighbours (in-neighbours if π=in and out-neighbours otherwise) of the removed node.
3. Graph transformation based approach
The genaration of the IDR and CAOS graphs can be done with using graph transformation
approaches. To do this, we have designed two sets of rules: the HBR2IDR for the generation of
the IDR graph and the IDR2CAOS for the generation of the CAOS graph (Figure 1).
Β« VCs2HBR Β»
VCs HBR IDR CAOS
Graph GMTE GMTE
comparator Graph Graph
Β« HBR2IDR Β»
VCs Β« IDR2CAOS Β»
Database Rule file
Rule file
Figure 1: General architecture for GT based approach
Our solution is based on two main approaches which are SPO and edNCE. The SPO approach
offers a flexible way of dealing with dangling edges. The edNCE approach is for the addition and
the removal of nodes. We have used GMTE1 (the Graph Matching and Transformation Engine)
to implement our approach.
1
GMTE and our MCSR approach are available at http://homepages.laas.fr/khalil/GMTE/
3.1. HBR to IDR
We have designed the HBR2IDR rules: π1 and π2 (presented in Figure 2a), which are sequentially
executed. Rule π1 verifies if it exists, in the HBR graph, local (c-labeled) edges which do not satify
the IDR condition. Then, it deletes the existing ones. Rule π2 deletes all transitive (t-labeled)
edges from the HBR graph as they are not immediate.
Firstly, rule π1 = (πΏ1 , π
1 ) is applied to the HBR graph. Its application implies finding all
matches of πΏ1 in πΊ1 and replacing them with π
1 . As a result, all π-labeled edges which are
π
not immediate are removed. In fact, the c-labeled edge (π1 ββ π3 ) in the pattern πΏ1 is not
immediate because it exists a node π3 such that π1 β π3 β π2 . An illustrative example is
given in Figure 2a. In this example, it exists four matches of πΏ1 . Therefore, the local edges
π π π π
π11 ββ π12 , π13 ββ π14 , π21 ββ π22 and π31 ββ π32 are removed and we obtain the graph
πΊ2 .
n1 c n2 n1 n2
t
r1 = L1 = , R1 =
r2 = L2 = n1 n2 , R2 = n1 n2
n3 n3
Graph G2 c-labeled edge
Graph G3 = IDR Graph
c-labeled edge d-labeled edge
Graph G1 = HBR Graph Graph G2
d-labeled edge t-labeled edge
t-labeled edge
e11 e12 e13 e14 e11 e12 e13 e14
e11 e12 e13 e14 e11 e12 e13 e14
Applying r2
e21 e022 e21 e022
Applying r1
e21 e022 e21 e022
e31 e32 e31 e32 e31 e32 e31 e32
(a) Applying rule π1 (b) Applying rule π2
Figure 2: HBR to IDR rules
Then, rule π2 = (πΏ2 , π
2 ), presented in the top of Figure 2b, is applied to πΊ2 . Its application
implies finding all maches of πΏ2 in πΊ2 and replacing them with π
2 . That means finding all
π‘-labeled edges and removing them. At this level, it is not necessary to verify if a transitive edge
is immediate. It is clear in its definition (If π β π and π β π, then π β π) that the transitive
edge does not satisfy the IDR condition. The result of π2 application is shown in Figure 2b. The
obtained graph πΊ3 is the IDR graph of the system.
3.2. IDR to CAOS
In order to arrange the events of the IDR graph into ordered sets, based on CAOS abstraction,
we have designed the IDR2CAOS rules: π3 , π4 , π5 for sets creation and π6 for events association.
These rules are also sequentially executed.
Initially, π3 = (πΏ3 , π
3 , π π΄πΆ3 ), presented in Figure 3a, is applied to the IDR graph. It verifies
the first rule of the CAOS rules (Table 1, Line 2). It means that, a node π1 creates a new set if
it does not exist a node π2 belonging to the causal past of π1 . This condition is satisfied with
using the negative application condition π π΄πΆ3 : πΏ3 is replaced with π
3 if π π΄πΆ3 does not
n3 n1 n2 n1 n2
set
r3 = L3 = n 1 , R3 = n 1 ,NAC3 = r4 = L4 = , R4 = set
n1 n3 n3
c-labeled edge
c-labeled edge Graph G4 d-labeled edge Graph G5
Graph G3 = IDR Graph d-labeled edge Graph G4
set set set
set
e11 e12 e13 e14 e11 e12 e13 e14
e11 e12 e13 e14 e11 e12 e13 e14
set
Applying r3 Applying r4
e21 e022 e21 e022 e21 e022 e21 e022
e31 e32 e31 e32 e31 e32 e31 e32
(a) Applying rule π3 (b) Applying rule π4
Figure 3: IDR to CAOS rules (Part I)
set
set set
n1 n2 n1 n2 n1 n2 n3
r5 = L5 = , R5 = r6 = L6 = , R6 =
n3 n3 Connection Instructions :
Ci1 = ( n = n1 , p/q = βsetβ , nβ = n3 , d = in , dβ = in
c-labeled edge Ci2 = ( n = n2 , p/q = βsetβ , nβ = n3 , d = out , dβ = out
Graph G4 d-labeled edge Graph G5
c-labeled edge
set set set set set Graph G6 Graph G7
d-labeled edge
e11 e12 e13 e14 e11 e12 e13 e14 set set set set set
e11 e12 e13 e14 e12 e13
set set
Applying r5
e21 e022 e21 e022 set
Applying r6
set
e21 e022 e21
set
e31 e32 e31 e32 e31 e32 e11
(a) Applying rule π5 (b) Applying rule π6
Figure 4: IDR to CAOS rules (Part II)
exist. A node that satisfies such a condition is denoted by the label βπ ππ‘β. In the given example,
only the node π11 satisfies π π΄πΆ3 (there is no node which precedes π11 ). π11 creates a new set.
It is denoted by a label βπ ππ‘β. The rule π4 = (πΏ4 , π
4 ), presented in Figure 3b is nextly applied
to πΊ4 . It models the second rule of the CAOS rules (Table 1, Line 3). Its application implies, if
the pattern πΏ4 exists, it will replaced by π
4 . That means, the node π2 creates a new set denoted
by the label βπ ππ‘β. In the used example (Figure 3b), two matches exit (π31 β π12 , π31 β π21 )
and (π31 β π21 , π31 β π12 ). Consequently, in the output graph πΊ5 , the nodes π12 and π21 are
denoted by a label βπ ππ‘β.
The rule π5 = (πΏ5 , π
5 ) is applied to graph πΊ5 (see Figure 4a). This rule corresponds to the third
rule of the CAOS rules (Table 1, Line 4). Its application implies, if the pattern πΏ5 exists in πΊ5 , it
will replaced by π
5 . Consenquently, the node π2 creates a new set that we denote also by a
label βπ ππ‘β. Figure 4a shows the result of π5 application. In this example, only one match exists
(π12 β π13 , π21 β π13 ) means that π13 creates a new set, therefore, it is denoted by a label βπ ππ‘β.
Finally, π6 = (πΏ6 , π
6 ) is to associate the rest of events to those which have created a new set
(π ππ‘-labeled nodes). This rule is based on the edNCE approach (see section 2.6.4). Rule π6 is
IDR edge
Number of rounds
transitive edge
...
Maximum Number
of processes p
...
...
...
...
...
Figure 5: Maximum number of edges in an HBR graph
also of type SPO. its application implies deleting each occurence of πΏ6 in πΊ6 and replacing it
with π
6 . Consequently, π6 removes two consecutive nodes π1 , π2 β πΊ6 , adds a new node π3
(π ππ‘-labeled node) and finally, adds new edges to connect the added node to the neighbours of
deleted nodes. The addition of edges is made according to the connection instructions πΆπ1 and
πΆπ2 , shown in the middle of Figure 4b. Ci1 adds a new edge connection from the added node π3
to a neighbour of the deleted node π1 . Ci2 adds a new edge connection from each neighbour of
the deleted node π2 to the added node π3 . Rule π6 is presented and illustrated with an example
in Figure 4b. A first match regroupes π11 and π31 in one set. Three others matches exist π13 and
π32 , the added node regrouping π13 and π32 (π ππ‘-labeled node) and π22 , the new added node and
π14 , respectively. πΊ7 is the CAOS graph of the system.
4. Evaluation Results
The objective of this section is to illustrate the viability of the IDR graph and CAOS graph
construction and their efficiency in the causal dependency representation.
4.1. Why the IDR and the CAOS graphs are efficient?
Let π and π be two integers (π = number of processes in the system, π = number of events). The
maximum number of edges in the HBR graph and the IDR graph is when we have the maximum
number of concurrent messages in each round (see Figure 5). Therefore, the number of nodes is
π = number of rounds Γ π.
The maximum number of edges (HBR edges = IDR edges + transitive edges) is:
π = π(π-π) + (πβπ)(πβ2π)
2
The maximum number of edges in the IDR graph is only:
πβ² = π(π-π)
The maximum number of edges in the CAOS graph is equal to the maximum number of edges
in the IDR graph. In fact, in the worst case the number of edges in the CAOS graph generated
from the IDR graph remains the same. Therefore, there is an important reduction of edges from
the HBR graph to the IDR/CAOS graph. Actually, there is also a reduction of nodes and edges
from the IDR graph to the CAOS graph. To show this, we have generated by simulation, the
Vector Clocks of three different system executions with 8, 21 and 50 events (nodes) and with 3, 8
and 15 processes, respectively. The events were triggered assuming a uniform distribution. For
each execution, we have constructed the HBR graph, the IDR graph and the CAOS graph, and
we compared the resulting graphs in terms of their number of nodes and edges. The obtained
results are presented in Figure 6.
100%
600
500
400
HBR
300
IDR
CAOS
200
100%
100
100% 100% 10%
100% 74% 8%
100% 100% 14%
100% 100% 30%15% 57% 9%
50%
0
Nodes Edges Nodes Edges Nodes Edges
Execution
System 1 1 Execution
System 22 Execution
System 33
Figure 6: HBR, IDR and CAOS comparison
The results show that the number of edges is greatly reduced from the HBR graph to the IDR
graph, and that the number of edges and nodes is even more reduced from the HBR graph to
the CAOS graph. Likewise, there is an important reduction of edges and nodes from the IDR
graph to the CAOS graph. The average reduction in the number of edges from the HBR graph
to IDR graph and to the CAOS graph is about 82% and 89%, respectively. The average reduction
in the number of nodes from the HBR graph and the IDR graph to the CAOS graph is about
41%, Finally, the average reduction in the number of edges from the IDR graph to the CAOS
graph is about 36%. We conclude this analysis with the following remark. It is interesting to see
that the reduction performance in the average number of edges in the IDR graph and the CAOS
graph increases as the number of nodes in the HBR graph increases.
4.2. Advantages of using the graph transformation approach
Graph transformation approaches are widely used in various research fields to model and analyze
complex systems that can be represented as graphs [18, 19]. They are used for tasks like modeling
software systems, studying social networks, optimizing control systems, planning transportation
networks, managing business processes and designing robotic behaviors. These approaches
offer a versatile way to model, analyze, and understand complex systems in various disciplines.
Graph transformation techniques can significantly reduce the time required to modify or analyze
graphs. they provide a powerful and intuitive framework for modeling, analyzing, and managing
the complexities of large-scale systems across various research domains. Their flexibility, formal
analysis capabilities, and compatibility with modern software engineering principles make them
well-suited for addressing the challenges posed by such systems. By defining transformation
rules, complex modifications can be applied systematically and automatically to large graphs.
This eliminates the need for time-consuming modifications and allows for efficient updates or
transformations. Graph transformation techniques can handle large-scale graphs efficiently. By
leveraging rule-based transformations, the complexity of graph modifications or analyses can be
managed effectively, allowing for scalability. This scalability ensures that the time cost remains
manageable even for complex graph structures and large datasets. representing distributed
systems as large graphs offers a powerful means to understand, analyze, and model the systemβs
architecture, behavior, and interactions. In our case, we need to generate IDR and CAOS graphs
from the HBR graph which is very large graph. Graph transformation approaches have several
advantages when it comes to reducing a graph compared to using algorithmic solutions:
β’ They offer an intuitive way to express and execute graph reductions, especially for
complex relationships or patterns within the graph.
β’ Graph transformation excels in pattern matching, making it efficient for identifying and
reducing specific structures in the graph.
β’ Rule-based reductions simplify the reduction process and ensure transparency and main-
tainability.
β’ Graph transformation can leverage parallelism for large graphs.
When appropriately applied, graph transformation can provide powerful insights and solu-
tions in a wide range of domains. These advantages stem from the inherent ability of graph
transformation to represent complex structures in a flexible and intuitive way.
5. Conclusion
In this paper, we have presented a graph transformation based approach that constructs, for a
distributed computation, the causal graph (HBR graph), the minimal causal graph (IDR graph) at
a single event level and a causal consistent compact graph (CAOS graph) at an ordered event set
level. we have also illustrated the viability of the IDR graph and the CAOS graph construction
and their efficiency in the causal representation. The results show that both resultant causal
graphs drastically reduce the state-space of a system execution. On average the number of
edges from the HBR graph to IDR graph and the CAOS graph was reduced by 82% and 89%,
respectively, and the number of nodes from the HBR graph to CAOS graph was reduced by 41%.
It is interesting to see that the performance reduction in the average number of edges in the
IDR graph and CAOS graph increases as the number of nodes in the HBR graph increases.
References
[1] J. Helary, R. Netzer, M. Raynal, Consistency issues in distributed checkpoints, IEEE
Transactions on Software Engineering 25 (1999) 274β281.
[2] A. C. Simon, S. E. Pomares-Hernandez, J. R. P. Cruz, A delayed checkpoint approach for
communication-induced checkpointing in autonomic computing, in: 22th IEEE Interna-
tional WETICE Conference, 2013, pp. 56β61.
[3] R. Baldoni, J. Helary, A. Mostefaoui, M. Raynal, A communication-induced checkpointing
protocol that ensures rollback-dependency trackability, in: Symposium on Fault-Tolerant
Computing, 1997, pp. 68β77.
[4] P. Chandra, A. Kshemkalyani, Data-stream-based global event monitoring using pairwise
interactions, Journal of Parallel and Distributed Computing 68 (2008) 729β751.
[5] A. Nakamura, T. Tachikawa, M. Takizawa, Causally ordering group communication
protocol, in: Proceedings of the International Conference on Parallel and Distributed
Systems, 1994, pp. 48β55.
[6] K. Shimamura, K. Tanaka, M. Takizawa, Group communication protocol for multimedia
applications, in: Proceedings of the IEEE International Conference on Computer Networks
and Mobile Computing, ICCNMC, 2001, pp. 303β308.
[7] S. E. Pomares-Hernandez, J. E. Ramirez, L. M. Rosales, G. R. Gomez, An intermedia
synchronisation mechanism for multimedia distributed systems, International Journal of
Internet Protocol Technology 4 (2009) 207β2018.
[8] M. Wehrle, M. Helmert, The causal graph revisited for directed model checking, in:
International Static Analysis Symposium, volume 5673 of LNCS, Springer, 2009, pp. 86β101.
[9] L. Lamport, Time, clocks and the ordering of events in a distributed system, Communica-
tions of the ACM 21 (1978) 558β565.
[10] F. Mattern, Virtual time and global states of distributed systems, in: Proceedings of the
International Workshop on Parallel and Distributed Algorithms, 1988, pp. 215β226.
[11] C. J. Fidge, Timestamps in message-passing systems that preserve the partial ordering,
Proceedings of the 11th Australian Computer Science Conference. K. Raymond (Ed.) 10
(1988) 56β66.
[12] E. Clarke, O. Grumberg, M. Minea, D. Peled, State space reduction using partial order
techniques, International Journal on Software Tools for Technology Transfer 2 (1999)
279β287.
[13] H. Khlif, H. Hadj-Kacem, S. P. Hernandez, A. Hadj-Kacem, A mechanism for the causal
ordered set representation in large-scale distributed systems, in: Proceedings of the 24nd
International WETICE Conference, IEEE Computer Society, 2015, pp. 86β101.
[14] S. E. Pomares-Hernandez, J. Fanchon, K. Drira, The Immediate Dependency Relation: An
Optimal Way to Ensure Causal Group Communication, volume 6, Singapore University
Press and World Scientific Publications, 2004, pp. 61β79.
[15] S. E. Pomares-Hernandez, J. R. P. Cruz, M.Raynal, From the happened-before relation to
the causal ordered set abstraction, Journal of Parallel and Distributed Computing 72 (2012)
791β795.
[16] J. Engelfriet, G. Rozenberg, Handbook of Graph Grammars and Computing by Graph
Transformation, World Scientific Publishing, 1997, pp. 1β94.
[17] G. Rozenberg, Handbook of graph grammars and computing by graph transformation,
World Scientific Publishing (1997).
[18] G. FayΓ§al, A. Chaoui, A graph transformation based approach for multi-agent systems
reorganization, Multiagent Grid Syst. 15 (2019) 375β394.
[19] H.-J. Kreowski, S. Kuske, A. Lye, A. Windhorst, A graph-transformational approach for
proving the correctness of reductions between NP-problems, Electronic Proceedings in
Theoretical Computer Science 374 (2022) 76β93.