M
classj
machine. The pre-condition of a reconfigura-
tion function means specific external instructions and
gusty functioning failures.
Definition 4. Listener Module. The Listener Mod-
ule called Listener is responsible for receiving the re-
configuration requests while the system is executing
other functions. The occurrence of a request does not
require the stopping of the system. This module is a
set of external and internal events that trigger recon-
figuration scenarios represented as follows:
Listener = (Event
external
, Event
internal
)
Where: Event
external
depicts the user requests that
occur to change the system production mode and
Event
internal
represents the system errors. The Lis-
tener is modeled by UML class and translated into B
machine M
Listener
thanks to transformation rules from
UML to B.
Definition 5. Database Module. The Database Mod-
ule called Database is a set of data having the follow-
ing structure:
Database=(Architecture, Composition, Data,
Comparative)
Where (i) Architecture represents the architectural re-
configuration level that defines the different system
′
s
architecture when particular conditions are met, (ii)
Composition represents the composition reconfigura-
tion level that changes the composition of operations
for a given architecture, (iii) Data represents the data
reconfiguration level that changes the values of vari-
ables without changing the system operations and (vi)
Comparative compares configuration system before
and after applying reconfiguration scenario to deter-
mine the processes to be used and their execution or-
der. The Database Module is modeled by UML class
diagram and translated into B machine M
Database
.
Definition 6. Executive Module. The Executive
Module called Executive is a set of operations of the
behavior x and those of the behavior x’, represented
as follows:
Executive = (∪op
iMclassi
, ∪op
iMclassj
)
Where: ∪op
iMclassi
denotes the machine operations of
M
classi
before the application of r
(x,x
′
)
and ∪op
iMclassj
denotes the target machine operations of M
classj
. The
Executive adds /removes operations from a source
M
classi
to obtain a target M
classj
machine. The Exec-
utive Module is modeled by UML class diagram and
translated into B machine M
Executive
.
Definition 7. B Machine. A B machine M
i
is the
machine represented by the following tuple:
M
i
= (C, S, Const, P, V, I, Init, Op)
Where: (i) C: the system constraints, (ii) S: the sets,
(iii) Const: the constants, (iv) P: the properties con-
stants , (v) V: the variables, (vi) I: the invariants, (vii)
Init: the initialization of variables and (viii) Op: the
operations. All the components of the B machine are
deducted from UML class and state diagrams accord-
ing to the transformation rules from UML into B.
4 CASE STUDY:
RECONFIGURATION OF
INDUSTRIAL SYSTEM EnAS
In order to explain our contribution, we present in
this section our demonstrator benchmark production
system EnAS available at Martin Luther University
in Germany. It is served for research and education
purposes in many universities. Then, we apply our
approach to the case study.
4.1 EnAS System
EnAS transports workpieces from the benchmark pro-
duction system FESTO into storing stations. The
workpieces shall be placed inside tins to close with
caps afterwards. The EnAS system is mainly com-
posed of a belt, two jack stations (J1 and J2) and
two gripper stations (G1 and G2). The Jack sta-
tions place new drilled workpieces from FESTO and
close tins with caps, whereas the gripper stations re-
move charged tins from the belt into storing stations
(ST1 and ST2). Initially, the belt moves a particular
pallet containing a tin and a cap into the first jack
station J1. Four production modes are assumed in
this paper to be applied in EnAS, depending on the
number of drilled workpieces nbpieces, tins and caps
nb(tins+caps), as follows:
• Policy1: If nbpieces/nb(tins+caps) <C1, then J1
places and closes, G1 removes into St1,
• Policy2: If nbpieces/nb(tins+caps) ≥C1, then J1
places, J2 closes, G2 removes into St2,
• Policy3: If C1≤nbpieces/nb(tins+caps)<C2,
then J1 places and closes, G2 removes into St2
or J1 places, J2 closes, G1 removes into St1,
• Policy4: If nbpieces/nb(tins+caps)≥ C2, then J1
places, J2 places and closes, G2 removes the tin
(with two pieces) into St2.
The operating of EnAS system, as explained in Fig-
ure 3, is represented by five behaviors, presented as
follows:
B1
∆
= op1 ; op2 ; op3 ; op4 ( Policy1 default initial
production mode)
B2
∆
= op1 ; op6 ; op8 ; op10 ; op11 ( Policy2)
B3
∆
= op1 ; op2 ; op5 ; op11 ( Policy3)