R-TNCES Rebuilding: A New Method of CTL Model Update for
Reconfigurable Systems
Mohamed Ramdani
1,2,3,4
, Laid Kahloul
2
, Mohamed Khalgui
1,3
and Yousra Hafidi
1,2,3,4
1
LISI Laboratory, National Institute of Applied Sciences and Technology, University of Carthage, Tunis 1080, Tunisia
2
LINFI Laboratory, Computer Science Department, Biskra University, Algeria
3
School of Electrical and Information Engineering, Jinan University, China
4
University of Tunis El Manar, Tunis, Tunisia
Keywords:
Reconfigurable Discrete-Event System, Reconfigurable Timed Net Condition Event System, Computation
Tree Logic, Model Rebuilding.
Abstract:
This paper deals with improved rebuilding of models in formal verification of reconfigurable discrete-event
systems (RDESs) modeled by reconfigurable timed net condition event systems (R-TNCESs). Automated
computation tree logic (CTL) model update and repair are approaches that extend model-checking to generate
a new correct model that represents the desired behavior. We propose R-TNCES rebuilding method, which is
a formal method that allows both the verification and the modification of reconfigurable models. The proposed
approach generates from an incorrect model a new one that satisfies a given CTL formula. First, CTL is defined
to deal with the system functional properties specification. A set of transformation rules with an algorithm are
proposed to achieve the rebuilding phase. Finally, platform FESTO MPS is used as a case study to demonstrate
the paper’s contribution. The obtained results show the efficiency of the proposed contribution even in large
complex systems.
1 INTRODUCTION
Discrete event systems (DESs) can change their state
in an asynchronous and a nondeterministic way due
to the occurrence of events. The auto-control deploy-
ment in such systems innovates a new class of systems
called: reconfigurable discrete event/control systems
(RDECSs), which can work under various conditions:
concurrency, control, communication, etc. Such class
includes manufacturing systems(Zhang et al., 2018),
real time systems (Lakhdhar et al., 2018), and em-
bedded systems (Housseyni et al., 2018), etc. Re-
configuration is the set of internal changes to adapt
the external changes and user requirements (Zhang
et al., 2015) (changes in the structure, functionality,
and control algorithms). In spite of the complex-
ity of RDECSs, model-checking is an effective tech-
nique for the automatic verification of those systems.
Model-checking verifies the satisfaction between a
behavior formal model (Petri nets, automaton, etc.)
and a functional property specification, which is spec-
ified by a temporal logics (computation tree logic, lin-
ear temporal logic, etc.). In order to deal with recon-
figurable systems, many formalisms are proposed and
extended. Petri net is the most used formalism de-
veloped to cope with reconfigurability (reconfigurable
Petri nets (Padberg and Kahloul, 2018)). Reconfig-
urable time net condition/event systems (R-TNCES)
are one of their extensions (Zhang et al., 2013).
In the last decade, model-checking is also pro-
gressing and improved to be more efficient in the de-
bugging of errors and their auto-correction. Com-
putation tree logic (CTL) update and repair is one
of this extension, which is a method that modifies
the system model in order to satisfy a given for-
mula. In such a context, many works of system
model modification are developed. Ding and Zhang
in (Ding and Zhang, 2007), (Zhang and Ding, 2008)
proposed an algorithm based on five basic operations
and minimal change criteria. Carrillo and Rosen-
blueth proposed another algorithm and introduced
the protection concept in (Carrillo and Rosenblueth,
2014). Martinez and Lopez proposed a CTL re-
pair methodology for different classes of Petri nets,
(Mart
´
ınez-Araiza and L
´
opez-Mellado, 2014) for la-
beled state machines (LSM), (Mart
´
ınez-Araiza and
L
´
opez-Mellado, 2015) for bounded and deadlock free
Petri nets, and (Martinez-Araiza and L
´
opez-Mellado,
Ramdani, M., Kahloul, L., Khalgui, M. and Hafidi, Y.
R-TNCES Rebuilding: A New Method of CTL Model Update for Reconfigurable Systems.
DOI: 10.5220/0007736801590168
In Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE 2019), pages 159-168
ISBN: 978-989-758-375-9
Copyright
c
2019 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved
159
2016) for open work-flow nets (oWFN).
The verification layer-by-layer proposed in
(Zhang et al., 2013) and the formal verification
proposed in (Hafidi et al., 2018) are incapable to
automate the correction of a model which does not
satisfy a property formula. The system complexity,
the high number of properties to be checked and the
absence of a technique that facilitates the debugging
task make the verification phase of R-TNCESs a hard
task.
In this paper, we deal with the verification and
model updating (modification) of reconfigurable sys-
tems modeled with R-TNCESs. In order to deal
with the absence of CTL model update approaches
for this formalism, we propose a new methodology
called R-TNCESs rebuilding. First, we compute a
Kripke structure model from the behavior module of
R-TNCES. Second, we formulate a CTL formula to
be verified in the Kripke model, based on the orig-
inal formula written on R-TNCES. Then, the error
will be localized and isolated using the five primi-
tives of Ding and the minimal change criteria (Ding
and Zhang, 2007). Finally, according to the equiva-
lence between the changes in the Kripke model and
the modification instructions of the R-TNCESs for-
malism, we apply the rebuilding of R-TNCES to get
a new model which satisfies the given property.
We illustrate the contribution and validate our
methodology through an academic case study FESTO
MPS (Zhang et al., 2013), which is a lab-scale sta-
tion. We use the behavior module of FESTO MPS
to show the performance of the different algorithms
and to check properties of broadcasting and synchro-
nizations. To confirm the result of R-TNCESs re-
building, we use the SESA model checker (Starke and
Roch, 2002). Indeed, SESA is a software to analyze
TNCESs and to compute the exact reachable set of
states.
In this research, we aim to ensure the viability of
the R-TNCES model by checking properties on the
broadcasting and its synchronization. This work con-
tains four main contributions: (i) Providing a general-
ization of the CTL model update from Petri nets for-
malism to a rebuilding problem concerned by correc-
tions in a complex systems (i.e., RDECSs) modeled
by R-TNCESs formalism. In this granularity pas-
sage, we paid attention to the correct abstraction be-
tween formalisms. The classical CTL update, in clas-
sical Petri nets, is a place/transition rebuilding, whilst
the current one rebuilds modular entities (called con-
trol components: CCs) and their connections in the
model which facilitates the on-line intervention and
fault isolation. (ii) Developing an approach for the
model rebuilding. Our approach is able to generate
a new model that satisfies requirements specified by
a CTL formula while respecting the original model
and the minimal changes stated by Ding (Ding and
Zhang, 2007). (iii) Developing an algorithm to com-
pute a Kripke structure from an R-TNCES model, and
an another algorithm to adapt a CTL formula without
losing information. (iv) Demonstrating the impact of
the modular rebuilding in R-TNCESs to isolate the
modular bugs in reconfigurable systems.
The paper contains four main sections organized
as follows: In section 2, we present backgrounds and
some preliminary theories. Section 3 analyzes the
semantics of CTL update approach and gives the R-
TNCES rebuilding operation methodology. Section
4 illustrates the approach and algorithms application
through an academic case study. Finally, Section 5
concludes this work and describes our perspectives.
2 PRELIMINARIES
This section presents the basic concepts and notations
used in this paper.
2.1 Reconfigurable Time Net Event
Condition Systems
R-TNCESs represent a formalism which was pro-
posed in (Zhang et al., 2013) to specify and ver-
ify reconfigurable discrete event control systems
(RDECSs). An R-TNCES RT N is a couple RT N =
(B,R). B is the behavior module such that, B =
(Con f
1
,...,Con f
n
) (n configurations, each one is a
TNCES, possibly redundant). R is the control mod-
ule such that, R = (r
1
,. ..,r
m
) (set of reconfiguration
functions with n,m N). Formally, the behavior mod-
ule is a tuple, defined as follows.
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.
Definition 1. (Control component CC) is a log-
ical software unit (Khalgui and Hanisch, 2011),
which represents the data-flows and actions of sen-
sors/actuators (algorithms, extraction or activation).
Every CC resumes the physical process in three ac-
tions: activation, working, and termination. Figure 1
shows a generic model of a CC.
ENASE 2019 - 14th International Conference on Evaluation of Novel Approaches to Software Engineering
160
Control component
(CC)
Starting
transition
Ending
transition
Inputs
event
Output
event
Input
condition
Output
condition
[Min, Max]
Time
interval
Initial
place
Activation
transition
Figure 1: The generic model of a control component.
Definition 2. (Time Net Condition/Event System
TNCES) is a set of CCs interconnected by signals.
The order of CCs describes the desired behavior of
the TNCES.
2.2 Kripke Structure
Over a finite set of atomic propositions AP, Kripke
structure M is a 4-tuple M = (S, s
0
,R,L), such that:
S is a finite set of states.
s
0
is the initial state.
R : r S × S is a transition relation, i.e., s S,
s
0
such that (s,s
0
) R.
L : S 2
AP
is a label function.
A path π = s
0
,s
1
,s
2
,. .. is an infinite sequence of
states in M from the initial state such that for all i 0
(s
i
,s
i+1
) R.
2.3 Computation Tree Logic
The model-checking of R-TNCESs is an automatic
verification technique of a system using finite-state
systems and their reachability graphs. The proper-
ties, to be checked, are specified using one temporal
logic such as CTL and its extensions. CTL (Baier
et al., 2008) is used to specify the functional prop-
erties. The time is not explicitly expressed using
CTL, but it is possible to say if a property will fre-
quently/infrequently be verified or will never be ver-
ified. CTL offers facilities for the specification of
properties that must be fulfilled by the system, like
safety, liveness, reachability, etc. A formula holds in
the system if it is proved true in the initial state of that
system. The set of Computation Tree Logic formu-
las is defined inductively in (Baier et al., 2008) by the
following grammar.
Φ ::= true | a | Φ
1
Φ
2
| ¬Φ | ϕ | ϕ (2)
where a is an atomic proposition and ϕ is a path for-
mula with the following syntax (E and A ):
ϕ ::= EXΦ | AXΦ | EFΦ | AFΦ | EGΦ | AGΦ | EΦ
1
UΦ
2
(3)
where, Φ, Φ
1
and Φ
2
are CTL state formulas. Due
to the existence of duality rules in CTL (Baier et al.,
2008), we can omit the path quantifier (A) and use
CTL existential normal form (ENF). The set of CTL
formulas in ENF is given by:
Φ ::= true | a | Φ
1
Φ
2
| ¬Φ | EXΦ | EGΦ | E(Φ
1
UΦ
2
)
(4)
2.4 Computation Tree Logic Update
Ding and Zhang have developed a formal approach
for computation tree logic model update based on
minimal change criteria over Kripke structure mod-
els (Ding and Zhang, 2007). CTL model update is
an approach for the automatic verification and mod-
ification of system models. The principle used is to
generate admissible models that represent the correct
design(Zhang and Ding, 2008) in order to repair soft-
ware errors. The model updater functions modify the
models using five primitives (PU1, .. .,PU5).These
primitives are described in their simplest forms as fol-
lows.
PU1: Adding a relation.
PU2: Removing a relation.
PU3: Changing the label of one state.
PU4: Adding a state and its associated relations.
PU5: Removing a state and its associated rela-
tions.
The semantics of the above primitives and of the min-
imal changes principle are detailed in (Zhang and
Ding, 2008).
3 REBUILDING OPERATION
FOR RECONFIGURABLE
MODELS
3.1 Formalization
Given a system model M with s
0
its initial state and
a CTL formula φ such that (M,s
0
) 2 φ, the rebuilding
problem can be defined as finding a new model M
0
such that (M
0
,s
0
0
) φ. M
0
is the repaired model of M,
otherwise, there is a problem in the specification of
the model/property (inconsistency). M
0
must respect
R-TNCES Rebuilding: A New Method of CTL Model Update for Reconfigurable Systems
161
the good specification and must conserve the good
requirements of the system with minimal changes.
Figure2 illustrates the general problem of checking
and rebuilding.
Model M
CTL formula
to be verified
Satisfaction
Rebuilding M
Re-checking
Checking
Satisfaction Inconsistency
YES
NO
YES NO
Figure 2: General problem.
Rebuilding operation (RO) can be formalized as fol-
low:
RO = (Z
0
,φ,I) (5)
Where,
Z
0
= (m
i
,D
i
) is the initial state of the system, such
that m
i
is the marking of the system and D
i
is the
clock of the system.
φ is a CTL formula that specifies a functional
property on the behavior module.
I is the rebuilding operation instruction chain. I
can be restricted to add/delete components opera-
tions.
According to Ding’s primitives in the CTL update
for the Kripke structure and using the R-TNCES’s
modification instructions, we define the following du-
alities between the above instructions to be deployed
in the rebuilding of reconfigurable systems specified
using R-TNCESs. Table 1 resumes dualities.
Table 1: Equivalence between Ding primitives and R-
TNCES rebuilding modifications.
R-TNCES rebuilding
modifications
modification
instruction
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 component Cr(CC))
PU5 Delete control compo-
nent
De(CC))
3.2 TNCESs Rebuilding
Given a TNCES T N and a CTL formula φ, the re-
building operation (RO) consists of synchronization
verification between CCs, e.i., checking the syn-
chronization faults between transitions in different
CCs (the broadcasting correctness) then to repair the
TNCES model if necessary. We can resume (RO) of a
TNCES as follows.
1. Structural rebuilding of signals which consists to
enable/disable one control component by adding/
deleting its signals.
2. Update of TNCES (configuration) which consists
of adding/deleting a whole CC (or set of CCs).
We denote by EN(
T )/ EN(T
)) the set of entering/
exiting events of transition T . Table 2 recapitulates
the above faults and their correction.
3.2.1 Illustrative Example
Let’s consider Z as the TNCES shown in figure 3.
As a functional property, CC
2
and CC
3
should not be
joined in the same execution. Trivially, the CTL for-
mula 6 is not satisfied by this TNCES, so that we need
to rebuild the TNCES to be adequate for the required
functional property.
φ = AF(p
6
¬EF p
9
) (6)
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
Figure 3: illustrative example .
The rebuilding operation RO, in this case, can be
achieved by deleting the synchronization signal be-
tween CC
2
and CC
3
. Formally:
RO = (Z,φ, I = (De(ev(t
6
,t
7
))) (7)
For TNCES update, let’s suppose that the designer
needs to substitute CC
3
by CC
5
and to add a new
process after CC
4
. Formally, instructions chain of this
RO is described as: I = De(ev(t
3
,t
7
)) + De(CC
3
) +
De(ev(t
9
,t
10
)) + Cr(CC
5
) + Cr(ev(t
3
,t
13
)) +
Cr(ev(t
15
,t
10
)) +Cr(CC
6
) +Cr(ev(t
12
,t
16
)).
Figure 4 depicts the TNCES update result.
ENASE 2019 - 14th International Conference on Evaluation of Novel Approaches to Software Engineering
162
Table 2: Table of synchronization faults and their corrections.
Faulty results t
i
EN(
T )/W (t
i
,T ) = 0 t
i
EN(T
)/W (T,t
i
) = 0
Correction Cr(ev(t
i
,T )) Cr(ev(T,t
i
))
Explication graphic
CC
H
CC
i
CC
j
CC
k
CC
H
CC
i
CC
j
CC
k
Before After
CC
H
CC
i
CC
j
CC
k
CC
H
CC
i
CC
j
CC
k
Before After
t
i
EN(
T )/W (t
i
,T ) = 0 t
i
EN(T
)/W (T,t
i
) = 0 t
i
EN(T )/W (t
i
,T
0
) = 1
t
i
Cr(ev(t
i
,T )) t
i
Cr(ev(T,t
i
)) De(en(t
i
,T
0
)) +Cr(ev(t
i
,T ))
CC
H
CC
i
CC
j
CC
k
CC
H
CC
i
CC
j
CC
k
Before After
CC
H
CC
i
CC
j
CC
k
CC
H
CC
i
CC
j
CC
k
Before After
CC
H
CC
i
CC
j
Before
After
CC
H
CC
i
CC
j
Figure 4: TNCES update illustrative example.
3.3 Generalization of TNCES
Rebuilding
Given M an R-TNCES and Φ a set of CTL formulas
in ENF to be checked. For the verification process
of those CTL formulas, we can divide the whole pro-
cess into two steps, so that exactitude of the first step
initiates the second, as follows:
1. Check the consistency of the control module and
apply the rebuilding if needed.
2. Check the consistency of the behavior module and
apply the rebuilding if needed.
Rebuilding an ordinary Petri net consists in
adding/deleting place/transition (Carrillo and
Rosenblueth, 2014). Whilst, control module re-
building, in R-TNCESs, consists in enable/disable
one configuration by adding/deleting of signals or
adding/deleting an entire configuration of the control
module (according to the fundamental structure
modification instructions of R-TNCES (Zhang et al.,
2013)).
Assumption.1 In this work, we assume that the
control module is not faulty and represents the desired
behavior, i.e., the reachability of each configuration is
covered by the control module.
Assumption.2 Every CC respects the good re-
quirements of the designer and it is not in a faulty
case.
We concentrate on the behavior module response
when a reconfiguration is requested or an error oc-
curs. In this work, we focus on the deployment of the
second step. Figure 5 illustrates the verification steps
of an R-TNCES.
Checking
Properties on
control module
Properties on
behavior module
Rebuild and re-
checking
Stop Inconsistency
Checking
Rebuild and re-
checking
satisfied violated
violated
satisfied
violated
violatedsatisfied
satisfied
Figure 5: The verification process of R-TNCES.
R-TNCES Rebuilding: A New Method of CTL Model Update for Reconfigurable Systems
163
3.4 R-TNCES Rebuilding
Rebuilding operation (RO) of an R-TNCES reposes
on two basic sub-processes that assure the needed ab-
straction of both model and formula to facilitate the
CTL update process. The first one is the computa-
tion of a new Kripke structure model from the behav-
ior module B using Algorithm1. Indeed, each con-
trol component (resp, event signal) in B becomes a
state (resp, relation) in the Kripke structure. The sec-
ond sub-process consists in the transformation of a
CTL formula expressed in R-TNCES to adapt it for
the Kripke structure verification. This transformation
preserves path formulas and expresses state’s formu-
las according to their CCs. Algorithm 2 computes the
abstraction of CTL formulas without any loss of in-
formation for the Kripke structure verification.
Algorithm 1: Kripke Structure generation.
Input: B =
T NCES;
Output: Sk = (S, s
0
,R,L);
for each control component CC
i
,i=1..n do
Create state s
i
S;
Create label L : s
i
(cc
i
);
end
for each control component CC
i
,i=1..n do
if (ev(t
j
,t
k
)/ t
j
CC
i
and t
k
CC
k
) then
Create relation (s
j
,s
k
) R;
end
end
for each control component CC
i
,i=1..n do
if (cn(p
j
,t
k
)/ p
j
CC
i
and t
k
CC
k
) then
Create label L : s
k
(cc
j
);
end
end
s
0
s
1
;/*CC
1
is the 1
st
physical process*/
Return (SK);
Given an R-TNCES RT N = (B,R) and a CTL for-
mula φ in ENF, we can define a six steps methodology
for automatizing the rebuilding of behavior modules
as follows.
1. Transform the behavior module B to Kripke struc-
ture SK using Algorithm 1.
2. Transform the formula φ to adapt the same seman-
tic value in the Kripke structure using Algorithm
2.
3. Check the satisfaction of SK φ. If SK φ, then
the model is well specified, otherwise, go to the
next step.
4. Modify SK according to CTL model update ap-
proach (Zhang and Ding, 2008); action to be su-
pervised by the designer.
Algorithm 2: CTL transformation.
Input: Φ expressed on R-TNCES;
Output: Φ
0
expressed on Sk;
for each sub-formula φ Φ do
if (φ is a path formula) then
CTL transformation(φ, Φ
0
);/*Recursivity*/
end
else
if (φ is a state formula) then
for each p
i
,t
i
expressed in φ do
Replace (p
i
,s
i
)/p
i
CC
i
;
Replace (t
i
,s
i
)/t
i
CC
i
;
end
end
end
end
Return (Φ
0
);
5. Re-check the satisfaction of the modified model
SK φ. If SK φ, then the model is well mod-
ified, otherwise, there is an inconsistency in the
specification (formula/model or both).
6. Rebuild B using primitives that are equivalent to
those executed in the 4th step. Table 1 presents the
equivalence between the primitives of CTL update
and R-TNCES rebuilding.
Figure 6 summarizes the above steps of the re-
building operation RO for an R-TNCES model.
CTL formula F
CTL update for
SK'Ü SK
Stop
Behavior
module B
Re-Check
SK' |= Y
Check
SK' |= Y
Transformation
Y Ü F
Compute Kripke
structure
SKÜ B
Rebuild B
according to SK'
Satisfied
violated
inconsistence
Satisfiedviolated
Figure 6: Methodology of R-TNCES rebuilding.
ENASE 2019 - 14th International Conference on Evaluation of Novel Approaches to Software Engineering
164
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
Figure 7: Behavior module B of FESTO MPS.
4 EXPERIMENTAL STUDY
4.1 Case study
To validate and to demonstrate the gain of the pro-
posed contribution, let us consider the R-TNCES
model shown in figure 7. It is a faulty model of behav-
ior module of FESTO MPS, which is a lab-scale pro-
duction line simulating different functions of a fac-
tory. FESTO MPS is well described and detailed in
(Zhang et al., 2013). FESTO achieves the physical
processes sequentially and executes them in configu-
rations (Con f ig
1
,Con f ig
2
,Con f ig
3
, Con f ig
4
). It is
assumed that every physical process (i.e., Election,
Convert, Test, Test failed, Elevate, Rotate, Drill1,
Drill2, Drill1 OR Drill2, Drill1 And Drill2, Checker,
Evacuation) is modeled by one control component
(CC) and every configuration Con f ig
i
has one con-
trol chain (C
chain
i
). The control chains describing the
physical process are as following.
C
chain
1
= (CC
1
,CC
2
,CC
3
,CC
4
), when Test f ailed
is executed.
C
chain
2
= (CC
1
,CC
2
,CC
3
,CC
5
,CC
6
,CC
7
,CC
9
,
CC
10
), when Drill1 is executed.
C
chain
3
=(CC
1
,CC
2
,CC
3
,CC
5
,CC
6
,CC
8
,CC
9
,
CC
10
), when Drill2 is executed.
C
chain
4
=(CC
1
,CC
2
,CC
3
,CC
5
,CC
6
,CC
11
,CC
9
,
CC
10
), when workpieces alternatively drilled
Drill1 or Drill2.
C
chain
5
=(CC
1
,CC
2
,CC
3
,CC
5
,CC
6
,CC
12
,CC
9
,
CC
10
), when workpieces intensively drilled
Drill1 and Drill2.
In order to check that the model satisfies the good
requirements, we must ensure the CTL based func-
tional properties. In particular, to ensure the prod-
uct quality, every workpiece that fails in the first test
(quality test: color, material, and height of work-
pieces) cannot be drilled. To assure the production
of a good product, once the workpiece is rejected at
the quality test, it is not allowed to that workpiece to
proceed to next steps. To check this behavior, we use
the following CTL formula:
Φ := AG(p
12
AF(¬p
26
)) (8)
This formula in the ENF form is written as follows.
Φ := ¬EF(p
12
EG(p
26
)) (9)
First, we need to compute Kripke structure of the
above behavior module using Algorithm 1. The re-
sults result is shown in Figure 8.
s
1
s
2
s
3
s
4
s
5
s
7
s
8
s
11
s
12
s
6
s
9
s
10
cc
2
cc
3
cc
4
cc
5
cc
6
cc
7
cc
11
cc
12
cc
9
cc
10
cc
8
cc
1
Figure 8: Kripke structure SK computation result.
R-TNCES Rebuilding: A New Method of CTL Model Update for Reconfigurable Systems
165
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
CC
13
p
39
[1, 3]
t
40
p
38
t
29
p
40
t
41
Figure 10: Behavior module B of FESTO MPS after rebuilding.
By applying Algorithm 2, we give the CTL trans-
formation of Φ as follow.
Φ := ¬EF(cc
4
EG(cc
9
)) (10)
Formula 10 is proven to be False. We select EG(cc
9
)
to be checked: each path has a state with cc
9
in the
model and satisfies EG(cc
9
). (π
1
= [s
0
...s
7
,s
9
,s
10
];
π
2
= [s
0
...s
8
,s
9
,s
10
]; π
3
= [s
0
...s
11
,s
9
,s
10
]; π
4
=
[s
0
...s
12
,s
9
,s
10
] ; π
5
= [s
0
...s
4
,s
9
,s
10
]). Then se-
lect the path which have cc
9
and cc
4
(π
5
=
[s
0
...s
4
,s
9
,s
10
]). According to Ding, eventually we
need to update SK. We apply PU 2 to remove the re-
lation (s
4
,s
9
). Thus, we obtain a new Kripke model
SK
0
, which simply states that no transition from state
s
4
to state s
9
is allowed. The result of this update is
depicted in Figure 9.
s
1
s
2
s
3
s
4
s
5
s
7
s
8
s
11
s
12
s
6
s
9
s
10
cc
2
cc
3
cc
4
cc
5
cc
6
cc
7
cc
11
cc
12
cc
9
cc
10
cc
8
cc
1
Figure 9: The new Kripke model SK
0
.
Finally, we apply the equivalent R-TNCES re-
building modifications of PU2 on the module be-
havior to get a new correct module, i.e., we delete
event signal ev(t
12
,t
25
) by modification instruction
De(ev(t
12
,t
25
)). Results os this last step are shown
in Figure 10.
We desire to rebuild the system in order to allow
the behavior module to inject a new physical process
of drilling Drill3. Drill3 must proceed before Drill1
in Con f ig
1
and out of the system in the other configu-
rations. This changes must be supervised and verified.
Simply, this operation can be deployed by adding a
new state s
13
in SK
0
using successively primitive PU 2
to remove the relation between s
6
and s
7
and PU4 to
add state s
13
and its associated relations.
For a more complex case, let’s assume that the
maps processing mode V of this R-TNCES works
on V : T {AND} mode. We must ensure that the
system cannot execute Drill3 at the same time with
s
1
s
2
s
3
s
4
s
5
s
7
s
8
s
11
s
12
s
6
s
9
s
10
cc
2
cc
3
cc
4
cc
5
cc
6
cc
7
cc
11
cc
12
cc
9
cc
10
cc
8
cc
1
s
13
cc
13
ÙØ
cc
8
ÙØ
cc
11
ÙØ
cc
12
Figure 11: Kripke structure SK
00
after adding the Drill3 op-
eration.
ENASE 2019 - 14th International Conference on Evaluation of Novel Approaches to Software Engineering
166
Table 3: Qualitative comparison with some related works.
Work Formalism used Reconfiguration Model repair
(Zhang and Ding, 2008), Kripke structure No Yes
(Ding and Zhang, 2007).
(Carrillo and Rosenblueth, 2014). Kripke structure No Yes
(Mart
´
ınez-Araiza and L
´
opez-Mellado, 2014),
(Mart
´
ınez-Araiza and L
´
opez-Mellado, 2015), Petri nets No Yes
(Martinez-Araiza and L
´
opez-Mellado, 2016).
(Zhang et al., 2013) R-TNCESs Yes No
(Hafidi et al., 2018) R-TNCESs Yes No
Our work R-TNCES Yes Yes
another configuration. For this safety condition, s
13
must contain more information on its label. So we
will change the label of this state using PU3. Figure
11 depicts the new SK
00
model.
After performing these changes on Kripke model
and applying equivalent R-TNCES rebuilding modifi-
cations, we get the correct model shown in Figure 10.
The exact reachability graph is computed using
the SESA model checker (Starke and Roch, 2002),
thus 85493 sates are obtained as shown in sub-figure
12(a). The computed graph is finite and it has no
dead reachable states. SESA is applied automatically
to verify the deadlock and boundedness properties
and it is applied manually to check functional prop-
erties. Firstly, we check that the new model satisfies
the property of quality (Φ := AG(p
12
AF(¬p
26
)) ).
This formula is proven to be True (sub-figure 12(b)).
Then, we verify that it TNCESs’s update is well done
without system degradation. For this purpose, we ver-
ify the following formula.
AG(EF¬(p
39
¬p
31
¬p
22
¬p
35
)) (11)
(a)
(b)
(c)
Figure 12: A screen-shot on SESA verification.
Indeed, whatever a state in the reachability graph,
(p
39
p
31
p
22
p
35
) must not be satisfied. The for-
mula is proven to be True (sub-figure 12(c)). Fig-
ure 12 depicts a screen shot of the model-checking
results.
4.2 Discussion
Table 3 describes a short qualitative comparison be-
tween the proposed contribution and the most recent
related works.
For reconfigurable systems, there is no study in
the rebuilding and model correction. However, our
proposed methodology facilitates the process of syn-
chronization properties verification. Thus, the clas-
sical verification of R-TNCES checks these proper-
ties based on the whole model, contrariwise, the R-
TNCESs rebuilding (RO) provides a verification of an
abstract model (Kripke structure) with formal meth-
ods to ensure the correctness.
5 CONCLUSION
This work deals with the automatic rebuilding of a re-
configurable system modeled with the R-TNCES for-
malism and CTL properties specifications.
In this paper, we have presented a computation
tree logic model update methodology for reconfig-
urable systems modeled with reconfigurable timed
net condition/event systems (R-TNCESs) called R-
TNCESs rebuilding. Based on the CTL update model
of the Kripke structure, we define a method that deals
with CTL formulas and repairs reconfigurable sys-
tem models. Our contribution reposes on two fun-
damental techniques. The first one is an algorithm
that computes a Kripke structure based on R-TNCES
model. The second one is a new technique to trans-
form a CTL formula expressed on R-TNCESs model
to another one expressed on a Kripke model with the
same verification value (a granularity passage). In ad-
R-TNCES Rebuilding: A New Method of CTL Model Update for Reconfigurable Systems
167
dition, this work defines an equivalence between Ding
primitives and R-TNCESs rebuilding modification in-
structions. At the end, we confirm the obtained results
of R-TNCESs rebuilding operation by an experimen-
tal case study using SESA tool to validate the final
model. Classically, the designer has to repeat the ver-
ification cycle for each violated functional property,
with this proposition we use the formula to update the
model directly which results in the gain of designer
effort and thus reduces the verification time.
This work opens several possible avenues for fu-
ture researches. First, we plan to apply our approach
on real large case studies with different kind of prop-
erties not only with synchronization properties. Sec-
ond, we plan to go further in the granularity degree of
the approach, by taking into consideration more de-
tails of CTL formulas. Finally, we plan to deal with
reconfigurable systems with distributed behaviors.
REFERENCES
Baier, C., Katoen, J.-P., and Larsen, K. G. (2008). Princi-
ples of model checking. MIT press.
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.
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.
Housseyni, W., Mosbahi, O., Khalgui, M., Li, Z., and
Yin, L. (2018). Multiagent architecture for distributed
adaptive scheduling of reconfigurable real-time tasks
with energy harvesting constraints. IEEE Access,
6:2068–2084.
Khalgui, M. and Hanisch, H.-M. (2011). Automatic NCES-
based specification and sesa-based verification of fea-
sible control components in benchmark production
systems. International Journal of Modelling, Identifi-
cation and Control, 12(3):223–243.
Lakhdhar, W., Mzid, R., Khalgui, M., Li, Z., Frey, G., and
Al-Ahmari, A. (2018). Multiobjective optimization
approach for a portable development of reconfigurable
real-time systems: From specification to implementa-
tion. IEEE Transactions on Systems, Man, and Cyber-
netics: Systems, PP(99):1–15.
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.
Starke, P. H. and Roch, S. (2002). Analysing Signal-net
Systems. Professoren des Inst. f
¨
ur Informatik.
Zhang, J., Frey, G., Al-Ahmari, A., Qu, T., Wu, N., and
Li, Z. (2018). Analysis and control of dynamic recon-
figuration processes of manufacturing systems. IEEE
Access, 6:28028–28040.
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.
ENASE 2019 - 14th International Conference on Evaluation of Novel Approaches to Software Engineering
168