trol Agent to each device and a Coordinator Agent to
ensure a right interaction between the different Con-
trol Agents. Our main interest is how to model with
Petri nets the whole architecture and how to check
that all devices behave correctly after each reconfigu-
ration scenario. In fact, we want to be sure that each
applied reconfiguration in a device does not affect
the behavor of remote devices. To do so, we define
the communication protocol between Control Agents
and Coordination Agent. We specify the communica-
tion protocol with the Net Condition/Event System.
To be sure that the specification is correct, we use
the model checker SESA to verify some properties.
Finally, we implement the communication protocol
through the ”ProtocolReconf”tool developedwith the
Qt language.
Our current work is based on our previous pub-
lished papers, but we study the problem of verification
of protocol as well as the implementation of simual-
tor.
The next section presents the background i.e. the
set of articles published related to our study. We de-
fine in Section 3 a multi-agent architecture and the
communication protocol to ensure safety in a dis-
tributed control systems. The Section 4 presents the
model checking of the communication protocol. The
section 5 introduces the ”ProtocolReconf”tool to sim-
ulate the communication protocol. We finally con-
clude the paper in the last section.
2 BACKGROUND
Until now, we have published a set of previous papers
dealing with reconfigurable control systems. We
define in (Gharbi et al., 2009) the concept of Control
Components as generic independent components
of any component-based technology. The Control
Component (abbr. CC ) defined as an event-triggered
software unit composed of an interface for any
external interactions and an implementation allowing
control actions of physical processes. A control
system is assumed to be a composition of compo-
nents with precedence constraints to control the plant
according to well-defined execution orders.
We define in (Khalgui et al., 2009) a new software
architecture for intelligent agents to control and
adapt systems to their environments. This Control
Agent reacts as soon as an error occurs in the plant.
The decision taken may vary from changing the set
of Control Components that constitute the system,
modifying the connection between different Control
Components, substituting the behavior of some
Control Component by another behavior or even
modifying data. According to these functionalities, it
is possible to define the architecture of the agent as
based on four levels: (i) First level: (Architecture
Unit) this unit checks the plant evolution and changes
the system’s software architecture (adds/removes
Control Components) when particular conditions
are satisfied, (ii) Second level: (Control Unit)
for a particular loaded software architecture, this
unit checks the plant’s evolution and reconfigures
compositions of corresponding Control Components,
(iii) Third level: (Implementation Unit) for a
particular composition of Control Components, this
unit reconfigures their implementations, (iv) Fourth
level: (Data Unit) this unit updates data if particular
conditions are satisfied. To verify the correctness
of its behavior, we specify the whole architecture
according to the formalism Net Condition/Event
Systems which is an extension of Petri Nets. To avoid
the combinatory explosion, we apply in (Gharbi et al.,
2010b) a refinement-based approach to verify step
by step subsets of components. We study in (Gharbi
et al., 2011b) the fault management by intelligent
agents.
To guarantee correct and feasible distributed
reconfigurations, we define in (Gharbi et al., 2010a)
an inter-agents communication protocol. To ensure
the interaction between Control Agents, we define the
communication protocol. For that reason, we define
a Coordination agent having a set of matrices named
’Coordination matrix’ which indicates for each
Control Agent the reconfiguration to apply. In fact,
whenever an error occurs, the corresponding Control
Agent sends a request to the Coordination agent to
apply a new reconfiguration. The Coordination agent
informs the other Control Agents concerned by this
modification to preserve the system in a safe state.
Our contributions are applied to two benchmark
production systems at Martin Luther University in
Germany. The first benchmark production system
FESTO is composed of three units: Distribution,
Test and Processing units. We assume that there
are two drilling machines Drill
machine1 and
Drill
machine2 to drill pieces. Three production
modes of FESTO are considered according to the rate
of input pieces denoted by number
pieces into the
system : High production, Medium production and
Light production.
The second Benchmark Production
System EnAS (Website: http://at.iw.uni-
halle.de/forschung/enas
demo) transports pieces
from production systems to storing units. The pieces
shall be placed inside tins to be closed with caps.
Two different production strategies are assumed to
be applied : we place in each tin one or two pieces
ModelCheckingofDistributedComponent-basedControlSystems
513