On Improving Parallel Rebuilding of R-TNCESs
Mohamed Ramdani
1,2,3,4
, Laid Kahloul
3
and Mohamed Khalgui
1,2 a
1
School of Electrical and Information Engineering, Jinan University, China
2
LISI Laboratory, National Institute of Applied Sciences and Technology, University of Carthage, Tunis 1080, Tunisia
3
LINFI Laboratory, Computer Science Department, Biskra University, Algeria
4
University of Tunis El Manar, Tunis, Tunisia
Keywords:
Reconfigurable Discrete-Event System, Reconfigurable Timed Net Condition-Event System, Computation
Tree Logic, Paralle Model Rebuilding.
Abstract:
This study presents an improved parallel rebuilding of reconfigurable timed net condition-event systems (R-
TNCESs) modeling reconfigurable discrete-event systems (RDESs). Computation tree logic (CTL) model
repair is one of the existing approaches that extends formal verification using model checking, by an autom-
atized debugging phase and updating directly the model to cope with the desired behavior. Our proposition
aims to generalize simple rebuilding with one CTL-based function property to parallel rebuilding which allows
both verification and modification of a model according to a set of non verified functional properties simul-
taneously. A couple of transformation algorithms are proposed to conserve the coherency of the model and a
property classification method is proposed to frame the parallel execution order. To demonstrate the paper’s
contribution, a FESTO MPS platform is used as a case study.
1 INTRODUCTION
Reconfigurable discrete event/control systems
(RDECSs) are auto-control systems which work
in an asynchronous and a non-deterministic way
due to events occurrence. RDECSs are compatible
with a variety of conditions (concurrency, control,
communication, etc.) which can be in several systems
(manufacturing systems (Gu et al., 2018), real time
systems (Ben Aissa et al., 2019), and intelligent
control systems (Khalgui and Mosbahi, 2010), etc.).
Reconfiguration concerns changes in the structure,
functionality, and/or control algorithms to cope with
external changes and user requirements (Zhang et al.,
2015).
In spite of RDECSs’s complexity, model-checking
is the formal technique most used for its automatic
verification. This efficient technique checks the sat-
isfaction of a functional property specification, which
is specified by a temporal logic (Baier et al., 2008)
(computation tree logic) against a behavior formal
model (Petri nets). Many formalisms are proposed
and improved to cope with reconfigurability such
as reconfigurable time net condition/event systems
(R-TNCES) (Zhang et al., 2013) and reconfigurable
a
https://orcid.org/0000-0001-6311-3588
Petri nets (Padberg and Kahloul, 2018). Several
studies have worked on model checking improve-
ment to be more efficient at errors debugging and in
their auto-correction. Ding and Zhang in (Ding and
Zhang, 2007) have proposed a method named com-
putation tree logic CTL update that modifies the sys-
tem model in order to satisfy a given formula, based
on five basic operations and minimal change criteria.
Martinez and Lopez have proposed another method
named CTL repair for different classes of Petri nets
such in: (Mart
´
ınez-Araiza and L
´
opez-Mellado, 2014),
(Mart
´
ınez-Araiza and L
´
opez-Mellado, 2015), and
(Martinez-Araiza and L
´
opez-Mellado, 2016). Car-
rillo and Rosenblueth have introduced the protection
concept to CTL update (Carrillo and Rosenblueth,
2014). Both the layer-by-layer verification proposed
in (Zhang et al., 2013) and the formal verification pro-
posed in (Hafidi et al., 2018) ignore the debugging
phase treatments to automatize the correction of a
model which does not satisfy a property formula. The
convergence of this lack with the system complex-
ity and the high number of properties to be checked
makes R-TNCESs verification a hard task.
In the current paper, we assigned a parallel re-
building to the analysis technique of an R-TNCES.
The purpose of our proposition is to deal with the
Ramdani, M., Kahloul, L. and Khalgui, M.
On Improving Parallel Rebuilding of R-TNCESs.
DOI: 10.5220/0007977903150322
In Proceedings of the 14th International Conference on Software Technologies (ICSOFT 2019), pages 315-322
ISBN: 978-989-758-379-7
Copyright
c
2019 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
315
big number of faulty properties with a parallel strat-
egy to make a gain in the both rebuilding and val-
idation time as well as to reduce the complexity of
debugging process which relieves the design efforts.
We deal with the auto-correction of R-TNCESs by
proposing a new approach that includes verification
and model updating according to several CTL for-
mulas simultaneously (parallel rebuilding). The pro-
posed methodology stands on the R-TNCES rebuild-
ing approach (Ramdani. et al., 2019). In order to
avoid unnecessary calculation, R-TNCES rebuilding
will be improved by pretreatment and classification of
properties that assure the best parallelization of auto-
correction. In order to confirm results, SESA model
checker is used (Starke and Roch, 2002). Indeed,
SESA is a software to analyze TNCESs and to com-
pute the exact reachable set of states. To validate the
proposed methodology, we use academic case study
FESTO MPS (Zhang et al., 2013) which is a lab-scale
station. Experimentations on FESTO MPS show the
applicability and performance of our proposition to
check and rebuild properties of broadcasting and syn-
chronizations simultaneously.
The paper is organized as follows. Section 2
presents preliminary concepts. Section 3 gives the
R-TNCES rebuilding methodology. Improved paral-
lel rebuilding is presented in Section 4. An academic
case study is presented to show the virtue of the pro-
posed approach and its algorithms in Section 5. Fi-
nally, Section 6 concludes this work and describes our
perspectives.
2 BACKGROUND
In this section, we present a brief description of R-
TNCESs and Ding’s CTL update approach.
2.1 Reconfigurable Time Net
Condition-Event Systems
R-TNCES is a control component based formalism
proposed in (Zhang et al., 2013) to specify and
verify reconfigurable discrete event control systems
(RDECSs). A control component (CC) is a logi-
cal software unit that represents data flows and sen-
sors/actuators actions (algorithms, data extraction or
activation) (Khalgui and Hanisch, 2011). An R-
TNCES is a structure RTN = (B,R) composed of two
modules, where B = (Con f
1
,... ,Con f
n
) is the be-
havior module formed by n configurations (Con f
i
),
each one is a TNCES, possibly redundant and R =
(r
1
,... , r
m
) is a set of reconfiguration functions which
represent the control module (n,m N). Formally, B
is a tuple given by
B = (P,T,F,W,CN,EN, DC,V,Z
0
) (1)
where, P (resp, T) is a superset of places (resp. transi-
tions), F is a superset of arcs, W : (P×T )(T ×P)
{0,1} maps a weight to a flow arc, CN (resp. EN)
is a superset of condition signals (resp, event sig-
nals), DC is a superset of clocks on output arcs, V :
T {AND,OR} maps an event processing mode for
every transition, and Z
0
= (M
0
,D
0
), where M
0
is the
initial marking, and D
0
is the initial clock position.
2.2 Computation Tree Logic Model
Repair
”Computation tree logic model update” is a formal
approach for automatic verification and modification
of system models based on minimal change criteria
over Kripke structure models. This approach was
developed in (Ding and Zhang, 2007). To repair
software errors, CTL update is deployed to gener-
ate admissible models that represent the correct de-
sign (Zhang and Ding, 2008). The model updater
functions modify the models using five primitives
(PU1,..., PU5) which are described in their simplest
forms as: (i) PU 1 for adding a relation, (ii) PU2 for
removing a relation, (iii) PU3 for changing one state
label of one state, (iv) PU4 for adding a state, and
(v) PU5 for removing a state and its associated rela-
tions. The semantics of the above primitives and of
the minimal changes principle are detailed in (Zhang
and Ding, 2008).
3 REBUILDING PROBLEM FOR
R-TNCESs MODELS
Given R-TNCES M = (B, R) representing a system
model and φ a CTL formula in existential normal
form ENF representing a functional property such that
(M,Z
0
) 2 φ. Rebuilding problem is the construction
of a new model M
0
by applying minimal changes to M
such that (M
0
,Z
0
0
) φ. M
0
must satisfy specification
and conserve good requirements.
Automatic rebuilding of behavior module can be
summarized in six step methodology as follows.
- Step 1: Transform behavior module B to Kripke
structure SK.
- Step 2: Transform formula φ to adapt the same
value in the Kripke structure.
- Step 3: If SK φ, then the model is well specified,
otherwise, go to the next step.
ICSOFT 2019 - 14th International Conference on Software Technologies
316
- Step 4: Modify SK according to CTL model up-
date approach (Zhang and Ding, 2008); (action to
be supervised by the designer).
- Step 5: Re-check the satisfaction SK φ. If
SK φ, then the model is well modified, other-
wise, inconsistency in the specification (formula,
model, or the both).
- Step 6: Rebuild B using primitives that are equiv-
alent (see Table 1) to those executed in the 4
th
step. Table 1 represents the equivalence between
the primitives of CTL update and R-TNCES re-
building.
R-TNCES rebuilding operation is well described
and detailed in (Ramdani. et al., 2019).
In this work, we assume that the control part R
and the modular entities (CCs) are not faulty and rep-
resent the desired behavior. Therefore, we focus on
the behavior module response when a reconfiguration
is requested or an error is occurred. In such con-
text, rebuilding operation (RO) consists of checking
the synchronization faults between transitions in dif-
ferent CCs (the broadcasting correctness).
Table 1: Equivalence between Ding primitives and R-
TNCES rebuilding modifications (Ramdani. et al., 2019).
CTL-
update
primitives
R-TNCES rebuilding
modifications
Modification
instructions
PU1 Add event signal Cr(ev(t,t
0
))
PU2 Delete event signal De(ev(t,t
0
))
PU3 Add/Delete condition
signal
Cr(cn(p,t))/
De(cn(p,t))
PU4 Add control compo-
nent
Cr(CC))
PU5 Delete control compo-
nent
De(CC))
4 IMPROVED PARALLEL
REBUILDING
We propose in this section a parallel rebuilding for
automatizing the correction of an R-TNCES accord-
ing to a high number of faulty properties simultane-
ously. With the proposed approach, we can deal the
deficiency of other works on automatizing the debug-
ging of reconfigurable system model at its verifica-
tion. The gain of our contribution resides in two ma-
jor points. On one hand, an ordinary rebuilding of an
R-TNCES with one CTL formula expands the classi-
cal CTL update to be dealing with reconfigurable sys-
tem models. On the other hand, the parallel rebuild-
ing of an R-TNCES makes the rebuilding more effi-
cient to deal with the big number of properties in com-
plex system models. Using the proposed method, we
can minimize the validation time of a system model
and we can also control the complexity of the debug-
ging phase in a complicated system. We improve the
R-TNCES rebuilding by adding a pre-processing of
properties which identifies functional dependencies,
precedence order and classifies them to extract the op-
timal order of the rebuilding process. The global pro-
cess of parallel rebuilding reposes on four sub phases:
(i) Abstraction: is the transformation of R-TNCES
model (resp. CTL formula) to Kripke structure (resp.
reduction of the granularity). (ii) Classification: is
the detection of relationships among properties. It de-
fines dominance, equivalence and composition among
those properties. (iii) Rebuilding order is the con-
struction of a tree that defines the order of rebuilding
and the parallelization strategy. (iv) Parallelization: is
the assignment of properties to the parallel environ-
ment. Figure 1 resumes the global process of parallel
rebuilding.
Unverified
Properties (CTL)
System model
(R-TNCES)
Abstraction
Relationships
among properties
Rebuilding order
Parallelization
Classification
Figure 1: Parallel Rebuilding of R-TNCES.
4.1 Abstraction and Properties
Classification
Abstraction subprocess reposes on two different and
independent operations that assure the transformation
of both model and formula. The first operation is the
computation of a new Kripke structure model from
behavior module B. The second one, is the granularity
reduction of a CTL formula to adapt it for the Kripke
structure verification.
In properties classification, we classify properties
according to the precedence order and relationships
among them. At the first step of this sub-process, we
divide set of unverified properties
Φ into two differ-
ent sets according to their functional purpose, which
are defined as follows:
Universal Properties: A set of properties that are
expressed to check a functional property in the
whole system (all configurations).
On Improving Parallel Rebuilding of R-TNCESs
317
Local Properties: A set of properties that are ex-
pressed to check a special functional property in
one and only one execution in the system (just one
configuration).
To avoid redoing the rebuilding operation, we
must ensure the precedence order among properties.
In this context, we can define the relations between
two properties φ
i
and φ
j
as:
Dominance: We say φ
i
dominates φ
j
iff φ
i
is univer-
sal and φ
j
is local, or the state formula of φ
i
becomes
in front at the same configuration. In the general case,
we denote the dominance by ’=’.
The classification of CTL properties, according to
their semantic relationships (Ramdani et al., 2018),
consists of extracting possible relationships among
properties for guiding an efficient verification. The
process starts by sorting properties according to lo-
cal/global criteria. Then, each kind of properties will
be arranged separately according to precedence order.
Finally, we perform an analysis of dominance among
properties to accomplish the global order of proper-
ties. Figure 2 resumes the analysis procedure of prop-
erties in the classification sub-process.
Unverified properties
Sorting
Universal
properties
Local
properties
Precedence treatment
Relationships order
Universal order
Local order
Global classification
Figure 2: Properties classification sub-process.
4.2 Rebuilding Order and
Parallelization
After classification and extraction of possible rela-
tionships between properties, the rebuilding order and
its assignment in a parallel environment achieves the
whole process. Let
π
i,i=1...n
be the set of traces in
a given Kripke structure Sk and let m be the number
of properties in
Φ. To get an optimal paralleliza-
tion and avoid unnecessary calculation, we define a
matrix that resumes the properties appearance in the
set of traces, i.e., for each state formula of each prop-
erty, we localize which paths appear. Formally, the
appearance matrix AM[n,m] = [0/1] is given by
π
i
π
i,i=1...n
,φ
j
Φ,ψ
j
π
i
: AM[i, j] = [1].
(2)
where, ψ
j
is state formula from φ
j
. Using this matrix,
the properties will be ordered descendingly according
to the number of paths where they had participated in.
The execution tree ET is a graph, where each node
denotes a task. The node content indicates the prop-
erty to be checked. An arrow from one node to an-
other indicates that the second node - the one at the
end of the arrow - can only be executed when the first
one has finished its execution. Nodes at the same level
can be executed in parallel. Formally an execution
tree ET is given by
ET = (N,T ) (3)
where, N is a set of nodes of execution, and T is a set
of transitions between nodes.
Using a hybrid scan between the matrix and the re-
lationship among properties (supervised by designer),
we build a tree of precedence and independence, ap-
plying the following steps.
Step 1: From appearance matrix, we extract a
descending order of properties according to the
number of appearances in paths.
Step 2: From the relationships set of properties,
we extract the dominance among properties.
Step 3: Using Algorithm 1, we coordinate prop-
erties order and dominance relationships among
them to generate the execution tree ET . In or-
der to respect the model coherency, each dominant
property will be rebuild separately.
Algorithm 1: Execution Tree Generation: gen-
erates a node for each independent property and for
each couple of properties (dominant, dominated), the
algorithm creates a couple of nodes (father, son) in the
Algorithm 1: Execution tree generation.
Input:
Φ+ Relationships classification;
Output: ET ;
Create Node(Idl, );
for i=1 to i=n do
if (φ
i
is not dominated) then
Create Node(Idl, φ
i
);
end
else
int temp = 0;
for ( j = 1; j 6 n; i + +) do
if (φ
j
domines φ
i
) then
temp j;
end
end
Create Node(φ
j
, φ
i
);
end
end
Return (ET );
ICSOFT 2019 - 14th International Conference on Software Technologies
318
execution tree (all nodes have the same precedence
will have just one father.).
Given a parallel environment PE which is com-
posed of a set of n execution units EU (cores). EUs
preform parallel rebuilding calculation respecting the
mutual exclusion. ET s nodes will be assigned level
by level in the PE, i.e., in each level, each node is as-
signed to one EU from left to right with the respect of
the availability of the PE. Formally, PE is given by
PE = (EU, ET, cond) (4)
where, EU is a set of execution units in a parallel ma-
chine, ET is a the execution tree, and cond : EU
(True,False) is the condition of execution in the par-
allel environment, initially declared False.
By the proposed parallel rebuilding of R-TNCES,
automatic analyses techniques as model checking can
be more efficient to verify a complex model of recon-
figurable systems. Parallel rebuilding makes debug-
ging a practical process to converge a reconfigurable
system model to meet several functional properties si-
multaneously and with a simple way.
5 EXPERIMENTATIONS
5.1 Case Study
In order to validate and demonstrate the gain of the
proposed approach, we use FESTO modular produc-
tion system (MPS) (Zhang et al., 2013), which is a
lab-scale production line simulating different func-
tions of a manufacturing system. FESTO is composed
of 12 physical processes, organized into four opera-
tional configurations. Each physical process is mod-
eled by one control component (CC) and each con-
figuration Con f
i
has one control chain (C
chain
i
). The
control chains are well described in (Ramdani. et al.,
2019). Figure 3(a) depicts a faulty model of behav-
ior module of MPS modeled by an R-TNCES. To as-
sure the production quality of a good product, once
the workpiece is rejected by unit quality test (qual-
ity test unit checks: color, material, and height of
workpieces), this workpiece can not be drilled in next
steps. In particular, we need to ensure that each con-
figuration is safe and can proceed normally (liveness
of model). Each control chain must produce one prod-
uct. To check those behaviors, we use CTL formulas
written in the ENF form presented in Table 2. All
formulas are proven to be False, we apply a paral-
lel rebuilding on the behavior module to get a new
correct one that respects the functional properties ex-
pressed, previously. First, we need to compute Kripke
structure SK from the above behavior module. The
Table 2: CTL based Functional properties.
CTL formula Normalization in the
ENF form
φ
1
=AF(p
9
AF p
20
) φ
1
=EG(p
9
EGp
20
)
φ
2
=AF(p
9
AF p
26
) φ
2
=EG(p
9
EGp
23
)
φ
3
=AF(p
9
AF p
32
) φ
3
=EG(p
9
EGp
32
)
φ
4
=AF(p
9
AF p
36
) φ
4
=EG(p
9
EGp
36
)
φ
5
=AG(p
12
AF¬p
29
) φ
5
=¬EF(p
12
EGp
29
)
result is shown in Figure 3(b). Second, formulas pre-
sented in Table 2 are abstracted to be expressed on
SK. Those formulas become: φ
1
= EG(cc
3
EGcc
7
),
φ
2
= EG(cc
3
EGcc
8
), φ
3
= EG(cc
3
EGcc
11
), φ
4
=
EG(cc
3
EGcc
12
), and φ
5
= ¬EF(cc
4
EGcc
10
).
According to the functional purpose, φ
5
is universal
and the rest of properties are local. According to
the precedence order, we preform the following clas-
sification of dominance relationships among proper-
ties: φ
5
= φ
1
, φ
5
= φ
2
, φ
5
= φ
3
, φ
5
= φ
4
, and
φ
1
= φ
2
.
Using
π
i,i=1...6
presented in Figure 4(a) and un-
verified set of properties
Φ, we build appearance
matrix AM presented in Figure 4(b).
Let PE denotes a parallel environment with 4 ex-
ecution units EU
i
,i = 1 . ..4. We generate the execu-
tion tree of the above properties. Figure 5(a) depicts
the generated execution tree by using Algorithm 1 and
Figure 5(b) shows its assignment in PE.
At Level
1
, only EU
1
is activated to update SK ac-
cording to φ
5
, and this operation can be deployed by
deleting output relations from s
4
using primitive PU2
to remove the relation between s
4
and s
9
(resp. be-
tween s
4
and s
5
). Then, in the next level, EU
1
, EU
2
,
and EU
3
are activated to rebuild SK according to φ
1
,
φ
2
, and φ
3
respectively. Using primitive PU1, EU
1
will add a relation between s
3
and s
5
, EU
2
will add
a relation between s
6
and s
11
, and EU
3
will add a re-
lation between s
12
and s
9
. Finally, at the third level,
EU
1
is activated to rebuild SK according to φ
4
(this
property is auto corrected by EU
1
in the second level).
Figure 7(a) depicts new structure SK
0
after rebuilding.
To get the new correct behavior module, we regener-
ate the equivalent R-TNCES of SK
0
, using modifica-
tion instruction. Results are shown in Figure 7(b).
Using SESA model checker (Starke and Roch,
2002), an exact reachability graph of the FESTO
MPS’s behavior model is computed. The obtained
graph is finite and it contains 57926 reachable states.
We check that the new model satisfies the above prop-
erties and its parallel rebuilding is done without sys-
tem degradation. All properties are proven to be True
as shown in Figure 6.
On Improving Parallel Rebuilding of R-TNCESs
319
CC
1
p
2
[1, 3]
t
1
p
1
t
2
p
3
t
3
CC
2
p
5
[1, 3]
t
4
p
4
t
5
p
6
t
6
CC
3
p
8
[1, 3]
t
7
p
7
t
8
p
9
t
9
CC
4
p
11
[1, 3]
t
10
p
10
t
11
p
12
t
12
CC
5
p
14
[1, 3]
t
13
p
13
t
14
p
15
t
15
CC
6
p
17
[1, 3]
t
16
p
16
t
17
p
18
t
18
CC
7
p
20
[1, 3]
t
19
p
19
t
20
p
21
t
21
CC
8
p
23
[1, 3]
t
22
p
22
t
23
p
24
t
24
CC
9
p
26
[1, 3]
t
25
p
25
t
26
p
27
t
27
CC
10
p
29
[1, 3]
t
28
p
28
t
29
p
30
t
30
CC
12
p
36
[1, 3]
t
36
p
35
t
37
p
37
t
38
CC
11
p
32
[1, 3]
t
31
p
31
t
32
p
33
t
35
[1,
3]
t
34
p
34
t
33
s
1
s
2
s
3
s
5
s
7
s
8
s
11
s
12
s
6
s
9
s
10
cc
2
cc
3
cc
5
cc
6
cc
7
cc
11
cc
12
cc
9
cc
10
cc
8
cc
1
s
4
cc
4
Figure 3: MPS’s behavior module B and its computed SK.
(a) (b)
Figure 4: Properties appearance in the set of traces of Sk.
Idl
F
5
F
1
F
2
F
3
F
4
(a)
F
5
F
1
F
4
F
2
F
3
Level
1
Level
2
Level
3
EU
1
EU
2
EU
3
EU
4
(b)
Figure 5: Execution tree and its affectation.
5.2 Performance Evaluation
Let us assume that we have a big system model to be
rebuilt according to 100 faulty properties, and let us
assume that the average dominance among properties
can be in, 0-25%, 25-50%, 50-75%, and 75-100% re-
spectively. Let us suppose that we have four parallel
execution units, each one can rebuild one property in
a one time unit. A quantitative difference between ex-
ecution time for sequential rebuilding of faulty prop-
erties and parallel rebuilding. The parallel rebuilding
approach avoids unnecessary wait time in execution
(a) (b)
(c) (d)
(e) (f)
Figure 6: Screen shots of SESA model-checking results.
by avoiding redundancies and imposing order of rela-
tions among properties. The gain with this approach
is clearly shown in the rebuilding of properties which
have a less dominance relationships among them (i.e.,
Independent properties can be rebuilt parallely with-
out any waiting time). As shown in Figure 8, rebuild-
ing time is proportional to the degree of dominance
relations between properties.
Number of properties to be rebuilt is directly re-
lated to the system size and its number of TNCESs.
Let assume that the correctness of each TNCES must
be checked by three properties (safety, liveness, and
non-deadlock). The average of those properties is
faulty and needs rebuilding. Let us assume a vari-
ety of systems that have 50, 100, 200, 500 and 1000
TNCESs and each case have 75, 150, 300, 750, and
1500 faulty properties respectively with a rate of 25%
dominance among them. A rebuilding of one property
ICSOFT 2019 - 14th International Conference on Software Technologies
320
CC
1
p
2
[1, 3]
t
1
p
1
t
2
p
3
t
3
CC
2
p
5
[1, 3]
t
4
p
4
t
5
p
6
t
6
CC
3
p
8
[1, 3]
t
7
p
7
t
8
p
9
t
9
CC
4
p
11
[1, 3]
t
10
p
10
t
11
p
12
t
12
CC
5
p
14
[1, 3]
t
13
p
13
t
14
p
15
t
15
CC
6
p
17
[1, 3]
t
16
p
16
t
17
p
18
t
18
CC
7
p
20
[1, 3]
t
19
p
19
t
20
p
21
t
21
CC
8
p
23
[1, 3]
t
22
p
22
t
23
p
24
t
24
CC
9
p
26
[1, 3]
t
25
p
25
t
26
p
27
t
27
CC
10
p
29
[1, 3]
t
28
p
28
t
29
p
30
t
30
CC
12
p
36
[1, 3]
t
36
p
35
t
37
p
37
t
38
CC
11
p
32
[1, 3]
t
31
p
31
t
32
p
33
t
35
[1,
3]
t
34
p
34
t
33
s
1
s
2
s
5
s
7
s
8
s
11
s
12
s
6
s
9
s
10
cc
2
cc
5
cc
6
cc
7
cc
11
cc
12
cc
9
cc
10
cc
8
cc
1
s
4
cc
4
(b)
Figure 7: SK
0
and the behavior module B of MPS after rebuilding.
25% 50% 75% 100%
40
60
80
100
43
62
82
100100 100 100 100
Faulty propreties
Time units
Parallel rebuilding Sequential rebuilding
Figure 8: Sequential rebuilding VS Parallel rebuilding.
in a system less than 50 TNCESs needs one time unit.
Indeed, for each 50 TNCES additional in the system
size need 10% additional in the execution time.
5.3 Discussion
For reconfigurable systems, there is no study dealing
with parallel rebuilding and model correction. How-
ever, our proposed methodology facilitates the pro-
cess of synchronization properties verification. Thus,
the classical verification of R-TNCES checks these
properties based on the whole model, contrariwise,
the R-TNCESs rebuilding (RO) provides a verifica-
tion of an abstract model (Kripke structure) with for-
mal methods to ensure the correctness. Table 3 de-
scribes a short qualitative comparison between the
50 100 200 500 1000
0
1,000
2,000
3,000
4,000
TNCESs
Time units
Sequential rebuilding
Parallel rebuilding
Figure 9: Improved performance of Parallel rebuilding.
proposed contribution in our paper and the most re-
cent related works.
6 CONCLUSIONS
This work deals with the parallel auto-correction of
reconfigurable systems modeled with R-TNCES for-
malism according to CTL-based functional proper-
ties. In this work, we have presented a parallel re-
building approach for reconfigurable timed net con-
dition/event systems (R-TNCESs). Our contribution
reposes on two fundamental techniques: (i) An ab-
straction of R-TNCES model (resp. its CTL-based
functional formulas) to a Kripke structure (resp. to a
simple CTL formulas with the same verification value
On Improving Parallel Rebuilding of R-TNCESs
321
Table 3: Qualitative comparison with some related works.
Works Used formalisms Reconfiguration Model repair Execution
(Ding and Zhang, 2007) Kripke structure No Yes Sequential
(Zhang and Ding, 2008),
(Carrillo and Rosenblueth, 2014). Kripke structure No Yes Sequential
(Mart
´
ınez-Araiza and L
´
opez-Mellado, 2014),
(Mart
´
ınez-Araiza and L
´
opez-Mellado, 2015), Petri nets No Yes Sequential
(Martinez-Araiza and L
´
opez-Mellado, 2016).
(Zhang et al., 2013) R-TNCESs Yes No -
(Hafidi et al., 2018) R-TNCESs Yes No -
(Ramdani. et al., 2019) R-TNCESs Yes Yes Sequential
Our work R-TNCESs Yes Yes Parallel
expressed on the new Kripke structure). (ii) A tech-
nique to extract the precedence order between proper-
ties and to classify the relations of dominance among
them. This technique helps to build an execution tree
to be executed in a parallel environment. Therewith,
we define an equivalence between Ding primitives
and R-TNCESs rebuilding modification instructions.
At the end, we confirm the obtained results of parallel
R-TNCESs rebuilding operation by an experimental
case study. Contrary to what exists, our approach up-
dates the system model directly and simultaneously,
which results in the gain of design effort and thus re-
duces the verification time. Whereas classically, the
designer has to repeat the verification debugging cy-
cle for each violated functional property separately.
This work opens several possible perspectives. First,
we plan to apply our approach to real large case stud-
ies. Second, we plan to take into consideration more
details of CTL formulas. Finally, we plan to consider
reconfigurable systems with distributed behaviors.
REFERENCES
Baier, C., Katoen, J.-P., and Larsen, K. G. (2008). Princi-
ples of Model Checking. MIT press.
Ben Aissa, Y., Bachir, A., Khalgui, M., Koubaa, A., Li, Z.,
and Qu, T. (2019). On feasibility of multichannel re-
configurable wireless sensor networks under real-time
and energy constraints. IEEE Transactions on Sys-
tems, Man, and Cybernetics: Systems, pages 1–16.
Carrillo, M. and Rosenblueth, D. A. (2014). CTL update of
Kripke models through protections. Artificial Intelli-
gence, 211:51–74.
Ding, Y. and Zhang, Y. (2007). System modification case
studies. In Computer Software and Applications Con-
ference, 2007. COMPSAC 2007. 31st Annual Interna-
tional, volume 2, pages 355–360. IEEE.
Gu, C., Li, Z., Wu, N., Khalgui, M., Qu, T., and Al-Ahmari,
A. (2018). Improved multi-step look-ahead control
policies for automated manufacturing systems. IEEE
Access, 6:68824–68838.
Hafidi, Y., Kahloul, L., Khalgui, M., Li, Z., Alnowibet, K.,
and Qu, T. (2018). On methodology for the verifica-
tion of reconfigurable timed net condition/event sys-
tems. IEEE Transactions on Systems, Man, and Cy-
bernetics: Systems, pages 1–15.
Khalgui, M. and Hanisch, H.-M. (2011). Automatic NCES-
based specification and SESA-based verification of
feasible control components in benchmark production
systems. International Journal of Modelling, Identifi-
cation and Control, 12(3):223–243.
Khalgui, M. and Mosbahi, O. (2010). Intelligent distributed
control systems. Information and Software Technol-
ogy, 52(12):1259 – 1271.
Mart
´
ınez-Araiza, U. and L
´
opez-Mellado, E. (2014). A CTL
model repair method for Petri nets. In World Automa-
tion Congress (WAC), 2014, pages 654–659. IEEE.
Mart
´
ınez-Araiza, U. and L
´
opez-Mellado, E. (2015). CTL
model repair for bounded and deadlock free Petri nets.
IFAC-PapersOnLine, 48(7):154–160.
Martinez-Araiza, U. and L
´
opez-Mellado, E. (2016). CTL
model repair for inter-organizational business pro-
cesses modelled as owfn. IFAC-PapersOnLine,
49(2):6–11.
Padberg, J. and Kahloul, L. (2018). Overview of reconfig-
urable Petri nets. In Graph Transformation, Specifica-
tions, and Nets, pages 201–222. Springer.
Ramdani, M., Kahloul, L., and Khalgui, M. (2018). Au-
tomatic properties classification approach for guiding
the verification of complex reconfigurable systems. In
Proceedings of the 13th International Conference on
Software Technologies - Volume 1: ICSOFT,, pages
591–598. INSTICC, SciTePress.
Ramdani., M., Kahloul., L., Khalgui., M., and Hafidi., Y.
(2019). R-TNCES rebuilding: A new method of ctl
model update for reconfigurable systems. In Proceed-
ings of the 14th International Conference on Eval-
uation of Novel Approaches to Software Engineer-
ing - Volume 1: ENASE,, pages 159–168. INSTICC,
SciTePress.
Starke, P. H. and Roch, S. (2002). Analysing Signal-net
Systems. Professoren des Inst. f
¨
ur Informatik.
Zhang, J., Khalgui, M., Li, Z., Frey, G., Mosbahi, O.,
and Salah, H. B. (2015). Reconfigurable coordi-
nation of distributed discrete event control systems.
IEEE Transactions on Control Systems Technology,
23(1):323–330.
Zhang, J., Khalgui, M., Li, Z., Mosbahi, O., and Al-Ahmari,
A. M. (2013). R-TNCES: A novel formalism for re-
configurable discrete event control systems. IEEE
Transactions on Systems, Man, and Cybernetics: Sys-
tems, 43(4):757–772.
Zhang, Y. and Ding, Y. (2008). CTL model update for sys-
tem modifications. Journal of artificial intelligence
research, 31:113–155.
ICSOFT 2019 - 14th International Conference on Software Technologies
322