possible the system identification and determines if
the input is rich enough for that identification.
IdentificationAgent (IA) Several identification
agents can appear in the system. Each IA tries to
identify the system from the input-output vector. For
this purpose, it uses Evenet2000 modules. A system
user or an IdentificationLoaderAgent (from a record
of previous trainings) can select a training method
for each IA. The system model is declared in the
XML profile and loaded as an Evenet2000 neural
network file. In other words, for an IA, the problem
is equivalent to the one of weight optimization in a
neural network whose training pattern is defined by
the input-output vector. The authors have included a
one-step ahead predictor in the identification
process.
LinearIdentificationAgent (LIA) Similar to the IA,
but this agent assumes a model that allows a linear
regression, for example an ARX model. In this
sense, the model is defined by the orders of the
numerator and the denominator of the transfer
function. Instead of Evenet2000 modules, an object
that implements an identification through the
Forgetting Factor technique is used (Aström and
Wittenmark, 1995, Söderström and Stoica, 1989,
Warwick, 1989).
CentralIdentificationAgent (CIA) This agent
manages the Ias, linear or not. Initially it asks the DF
for the agents that offer the service of identification
in the MAS. Every T seconds, the CIA asks the IAs
for the results of the current optimizations (error,
parameter set and model file), selecting that
optimization offering the best results. Then it
informs the rest of the IAs with the same model the
set of parameters that minimize the criterion
function. This way, the IAs take this set as an initial
training one in new optimization processes. With the
aim of providing the MAS with some intelligence,
the CIA counts how many times each training
method obtains the best results optimizing the
criterion function. This information is stored in a file
(written in DAML+OIL), that could be used in the
initiatization other IAs.
OptimizerAgent (OpA) This agent optimizes the
controller parameters. For this purpose, it takes the
set calculated by the identification agents and
includes it as constants in a new system. This system
is treated as a neural network whose parameters are
the controller ones. In a general way, patterns are
chosen as pairs reference input, reference input in a
serie of different reference inputs. With this
implementation, high raising time and valued peaks
are penalized. The model of the system can be easily
changed due to Evenet2000 modularity.
CentralControlAgent (CCA) This agent is similar
to CIA as it plays a manager role in the system, but
in this case it is related to the optimization of model
parameters. Each T seconds, the CCA asks the CIA
for the details (model with the best results,
parameter set) of the identification. After analyzing
these data, the CCA asks the OpAs for the
parameters that minimize the criterion function and
for the value of this minimization. This agent stores
the results for subsequent sending to the RCA.
Finally, the CCA orders the OpAs to stop the current
optimizations and to start a new one from the
calculated optimal parameter set. As the CIA, the
CCA stores the number of times that a given training
method has offered the best results for the analyzed
control process.
InputOutputAnalyzerAgent (IOAA) This optional
agent analyzes process input and output data
(calculated by the RCA). This analysis is made in
two ways. First, it tests, in an intuitive way, if the
system input is rich enough. For this purpose, this
agent calculates the maximum and minimum input
value in the last N periods, and it tests if the
subtraction of these values is less than a defined low
enough threshold. If it is the case, it is supposed that
the applied input is not rich enough and the IOAA
suggests the RCA that the reference input should be
changed. This change is supposed to improve the
identification process. In a similar way, output data
are analyzed too. In this case, the IOAA could
suggest a reference input change or a study about the
type of the system. The option of changing the
reference input can be inhibited on-line through a
user interface.
Ontology Agent (OA) This is one of the key
considerations in this phase of the work. This way, it
differs from other MAS-based control systems. The
definition of an external ontology provides
numerous advantages: it allows consultation with
respect to concepts, the updating and use of
ontologies and the elimination of the need of
programming the entire ontology in every agent,
hence reducing required resources. Currently, in
MASCONTROL, this agent only takes part in the
study of the type of the system.
5 MASCONTROL ONTOLOGY
This section will describe the main features defined
in the implemented ontology. As stated above, most
of the concepts have not been used in
MASCONTROL. However, they are defined
looking for an open system where a new agent,
LOOKING FOR MASCONTROL: A MULTIAGENT SYSTEM FOR IDENTIFICATION AND CONTROL
121