neuro-devs, an hybrid methodology to describe complex systems

NEURO-DEVS, AN HYBRID METHODOLOGY TO DESCRIBE COMPLEX
SYSTEMS
Jean-Baptiste Filippi
Paul Bisgambiglia
Marielle Delhom,
UMR CNRS 6134
University of Corsica
B. P. 52, 20250 Corte, France.
Email [filippi, bisgambi, delhom]@univ-corse.fr
KEYWORDS
Neural Networks, Discrete Events Simulation, Object
Oriented Simulation, Photovoltaic system, Modeling
Environment.
This approach has been successfully implemented in the
OOMS java set of tools developed in the University of
Corsica, JDEVS (Filippi 2001). The integration of those
concepts allows the automatic generation of a simulator from
the model as defined in the DEVS formalism (Zeigler 1990).
ABSTRACT
Complex system modeling
The simulation of complex systems can be done using
several methodologies. Among those methodologies stands
the Object Oriented Modeling and Simulation, based on
DEVS and neural networks. With OOMS the model
behavior has to be well known before it can be implemented
in an efficient way, on the other hand neural networks can
learn from empirical data but behaves like black boxes.
This paper proposes a way to extends the OOMS
environment with neural network objects, thus offering new
features (such as adaptive models or neural net sub-models)
to the OOMS environment.
The methodology is also validated on a photovoltaic system
with a neural network battery damage model.
The system implemented in JDEVS (University of Corsica
OOMS set of tools) presents good results.
Several methodologies have been developed to simulate
complex systems (Delhom 1996)(Sitch et al. 1999)(Zealand
et al. 1999). Among those formalisms stands the DEVS
formalism and Artificial Neural Networks. Although no
direct comparisons are possible between the two approaches,
both can provide good results when they are applied to the
same problem.
DEVS formalism is a set-theoretic formalism. It allows the
definition of discrete events models in a hierarchical and
modular manner with well defined interfaces (Zeigler 1976),
thus DEVS paradigm is well adapted to create an object
oriented modeling and simulation (OOMS) environment
such as DevsJava (Sarjoughian and Ziegler 1998) and
DevsSim++ (Kim 1998).
Also based on this paradigm, we developed an OOMS
approach (Object Oriented Modeling and Simulation) (Aiello
et al. 1997). The originality of our approach stands in two
points:
In the area of complex systems modeling and simulation,
models behavior are complex and often subject to many
influences. Such complexity raises problems into the
modeling process, models have to be simplified and cannot
match real systems. In fact, the lack of understanding in the
system dynamic can lead to a model that is not realistic
enough to be validated (James and Dukelow 1994).
The ability of Neural Networks to generalize from empirical
data often provides a better alternative than OO models
because they can handle this lack of knowledge in the system
dynamics (Szilas 1995).
R. Hecht-Nielsen (Hecht-Nielsen 1989) gives the following
definition of a neural network:
"A computing system made up of a number of simple, highly
interconnected processing elements, which process
information by their dynamic state response to external
input."
We focus on multi layered ANN, where neurons are
organized in layers, connected with weighted links.
Different algorithms, such as back-propagation, permit to
find the good set of links weights by slowly modifying them
according to the error difference between the desired output
and the actual output of the ANN. This process is called the
learning process and needs a large amount of good quality
data to perform accurate changes in weights. We concentrate
on multi-layered ANN because they are well adapted to
perform time-series prediction and pattern recognition (the
most common applications in the natural complex systems
field).
Nevertheless, the use of a full ANN model raises some
problems as they cannot be fully validated because they are
used as a black-box and often have multidimensional inputs
that creates search spaces that are to wide to be fully visited.
Also their performance relies on the quality and quantity of
empirical data available to train them.
•
An hybrid methodology
INTRODUCTION
•
The use of three types of hierarchies (abstraction
(Oussalah 1989), description (Zeigler 1990) and time
(Euzenat 1994));
The use of Object Oriented Programming concepts in
order to implement and simulate the studied system.
Starting from these observations, we developed a hybrid
methodology, encapsulating ANN in OO Models to benefits
from the two modeling techniques.
Based on OOMS formalism, the hybrid methodology
presented in this paper will define interactions between OO
and ANN’s models.
Upon possible applications, we can highlight three important
aspects of hybrid systems, concurrent simulation where
outputs of an ANN model are compared with results of
another kind of model, ANN as sub-components of a global
model and adaptive models, that would be able to adapt
runtime to situations that hasn’t been taken into account
(D'Alch-Buc and Patillon 1999).
Eventually, to handle the natural system problem specific
need of data, the use of GIS (geographic information
systems) is proposed as data source for the system.
Because of the wide variety of applications of ANN’s
components in an OOMS environment, a library has been
developed for JDEVS. After a short explanation of the
modeling techniques involved in the process, a full
description of the hybrid methodology will be given.
To validate the approach, a photovoltaic system with a
neural network battery damage model (Jungst et al. 2000)
has been implemented; description of the model along with
results and analysis is presented in this paper.
OOMS AND NEURAL NETWORKS
This chapter briefly recalls the two important modeling
paradigms that are used as a basis for the present work:
Object Oriented Modeling and Simulation and Neural
Networks.
OOMS environment
Our Object Oriented Modeling and Simulation environment
is based on discrete events simulation. We added three types
of hierarchies based on different works to the environment to
be able to give the most general description of systems.
The C. Oussalah’s work (Oussalah 1989), which introduces
the abstraction hierarchy and views notions.
The B. P. Zeigler’s work, which proposes the DEVS
formalism (Ziegler 1976) that defines a description
hierarchy.
The J. Euzena’s work (Euzenat 1994) which proposes the
notion of granularity permits to define a time hierarchy.
Currently only the time and description hierarchy can be
used in JDEVS. Integration of those concepts allows the
automatic generation of a simulator from the model as
defined in the DEVS formalism.
Within the formalism are specified basic models from which
larger ones are built and the connection between them.
A basic model is called an atomic model and has
specification for the dynamic of the model in its
characteristics functions:
•
•
•
•
δ int, internal transition function;
δ ext, external transition function;
λ, output function;
ta, time advance function.
A coupled model is the container for sub models (atomics or
coupled) and links between its sub models.
Artificial Neural Networks
A neural network is a computational method inspired by
studies of the brain and nervous systems in biological
organisms (Carling 1992).
Multi layered ANN’s are well adapted to our problem, thus
we choose them to be formalized in the hybrid methodology.
Multi layered Neural networks are organized in layers.
These layers are made up of a number of interconnected
nodes, which contain an activation function.
Patterns are presented to the network via the input layer
(activation), which communicates to hidden layers where the
processing is done using weighted connections through a
transition function (propagation). Then, hidden layers
transmit the answer to the output layer.
Different algorithms, such as back-propagation, permits to
find the good set of weight by slowly modifying them
according to the error difference between the desired output
and the actual output of the ANN. This process is called the
learning process. The accuracy of the learning process is
dependant of the quality and quantity of empirical data.
NEURO-DEVS ENVIRONMENT
OOMS and Neural networks have different interesting
aspects, OOMS allows the definition of a system in a simple
and modular manner if the system behavior is well known,
on the other hand Neural Networks can simulate a behavior
from the knowledge collected on empirical data. Our aim is
to benefit from the advantages of the two techniques. In the
environment, a neural network redefines the DEVS atomic
model, and therefore can be easily included in DEVS
models.
Purposes
To identify applications of the Neuro-DEVS environment we
started to work from limitations of the two methodologies.
Neural Nets are "black boxes" and therefore their outputs
might be unpredictable. An OO model cannot adapt its
behavior runtime. An OO model behavior has to be well
defined before it can provide realistic results.
The Neuro-DEVS environment proposes a good alternative
to get trough those limitations with three main applications
of the environment.
1.
2.
3.
Concurrent simulation (Figure 1) can be used to avoid
an unexpected behavior of a neural network by
comparing the neural network output with the output of
a simple model to validate the result.
Adaptive models (Figure 2) can be used to modify the
neural network runtime according to an error feedback
(D'Alch-Buc and Patillon 1999) (Difference between
the model’s forecast and the real world data collected
afterwards).
ANN as a sub-component can be used if Neural
Networks provides better results for only a piece of the
whole system (like battery in an energetic system
(Jungst et al. 2000)), this is also the application that is
implemented in this paper.
arrays must also be stored to scale down the inputs and scale
up the outputs (as natural systems perform operations in R).
Figure 1: Concurrent simulation
Three characteristic functions are needed to perform
operation, the activation function, the propagation function,
and the learning function.
The use of an interface authorizes to manipulate objects
trough an object broker (such as CORBA)(OMG Corba
2000), thus separating the ANN construction from the
modeling process.
As the modeler is defining the behavior of its model, the
ANN is modeled during its training. If the ANN object is not
used as an adaptive model, such object should have already
"learned" the patterns, as initial weight must be defined
before the simulation starts.
Figure 2 : Adaptive model
Neuro-Atomic model description
The atomic model proposed to perform operation on the
neural network stand-alone object is a simple redefinition of
the OOMS atomic model. Figure 3 shows contents of a
neuro-atomic model and its position in the class hierarchy.
Such neuro-atomic model (NAM) can be formalized as:
NAM=<X,Y,S,NN,ta,init,δint,δext,λ,learn,act,prop>
where:
X = {R } is the set of input external event
Y = {R } is the set of output external event
S is the state set, where
S = {(s,phase,error)
s is the status {activated, learn, propagate}
phase {active, passive}
error {0,1} is the squared root error between
the actual output and the desired output }
NN is the link to the neural net object (ANN).
ta: is the time advance function
init: X → S is the initialization function
δ int: S→S is the internal transition function
δ ext: X→S is the external transition function
λ S→Y is the output function
learn: Xerror→NN is the ANN’s learning function
act: X→NN is the ANN’s input activation function
prop: NN→Y is the ANN’s propagation function
Interface definition
An interface (Figure 3) is created to separate the ANN
construction from the modeling process to allow the neural
network to be manipulated as a stand-alone object.
We started to define the interface assuming that ANN has
input ports and output ports (X, Y) corresponding to its input
and output neurons.
Input activations and output values of a trained ANN are
bounded (usually between [-1,1]).
Inputs and outputs can be arrays of values differently
bounded, thus values for minimum and maximum of each
Figure 3 : Extended class hierarchy and interface definition
APPLICATION ON A SOLAR ENERGETIC SYSTEM
In this chapter, a solar energetic system is studied to validate
our environment.
Solar energetic system description
The solar energetic system (Figure 4), also known as PV
system, is a solar power plant. It is composed of solar power
cells, a battery and a switch (Jungst et al. 2000).
If the sun is shining the solar power cells provides power to
the switch. The switch shares the power between
consumption and the battery as follow, if the solar panel does
not produce enough energy, the switch adds the battery
power. If the solar panel provides more power than needed,
the switch is charging the battery, if the battery is fully
charged then the energy is lost. Eventually during the night
the battery is providing power.
The PV system can be a stand-alone system, or an electric
network connected system. A connected system is buying
electricity from the network if no solar energy is produced
and if the battery is empty. A connected system sells the
electricity to the network when there is an overproduction of
solar energy that cannot be stocked in the battery.
Purposes of the model
Figure 4 : PV System
Solar energetic system model
Solar power cell behavior is well known, thus it can be
modeled using the physical description provided. As
contrary the battery behavior is very complex, involving
complex chemical reactions. A rather accurate physical
modeling of a battery is possible but need many parameters
that are not commonly found. To obtain a good behavior we
adapted the model described in (Jungst et al. 2000).
The battery is modeled like an electric power tank, with
charge and throughput efficiency. The damage model is
decreasing the battery maximum capacity runtime.
The damage model is a neural network; it computes each
hour the battery capacity loss depending on the discharge
deepness and the discharge length. The network has been
trained with data collected at the Florida Solar Energy
center. The switch acts as a hub for the power messages and
responds to consumption solicitations as described earlier.
The system has been modeled using JDEVS, the OOMS set
of tools developed at the University of Corsica. This set of
tools permits an efficient and collaborative modeling of
systems, as it is component based and store models directly
in XML. A new component library has been created,
therefore allowing an easy reusability for other system that
will need to integrate the whole system or only a part of it. A
year of simulation with hourly data inputs takes 20 seconds
to perform on a Pentium 800. The simulation engine is
written in java and is not high performing, but open.
The main purpose of the model is the validation of our
methodology, this could be achieved if the results, the
development time and the flexibility of the system are
offering significant improvements to OOMS.
The whole system took only 10 hours to be modeled and
tested. Such model is used for viability, dimensioning and
cost studies that should be realized before the installation of
such system.
The model is also very flexible, to perform the viability and
cost studies with other batteries, it only needs the collection
of the discharge data for the batteries that would be used.
To test the system on different sites, or for different needs of
power, the data are already available from many places in the
world; this data can be directly used in the system, thus
offering a model that is easy to use to simulate the behavior
of such system in different places with different features.
Results
12 experiments had been carried out, with 4 different PV
panel size for 3 different batteries size with 3 years of
consumption and solar radiation data.
The solar radiation has been collected between 1987 and
1990 in Florida, USA. The consumption data series is a
standard hourly consumption for a house with 5 low
consumption light bulb used 8h/day, 1 television 5 hours/day
and a small refrigerator (total consumption = 1600 W/day).
All the experiment results can be found in (Filippi 2001).
Figure 6 shows the output of the system for an experiment
with 6m² PV panel and 6Kw batteries (6 batteries modules).
The effect of the damage model is clearly visible in this
figure, every winter the battery is not able to reach its
maximum level of charge and looses much of its capacity.
Figure 6 : Daily battery level and battery capacity for a 6m2
PV system with 6 Kw battery
The Figure 7 shows the battery capacity loss after 3 years,
the simulation shows that the loss is clearly dependant of the
size of the PV module used. A battery that has lost 40% of
its initial capacity needs to be changed, thus adding to the
cost of the system.
Figure 7 : Battery capacity loss after 3 years
Figure 5 : Solar energetic system model in JDEVS
The price of a connected PV system after 15 year is
computed by adding the initial cost of the system with the
price of the batteries that the system has consumed in 15
years. Figure 8 shows that a connected system can be
cheaper than the electric network itself if it is well chosen.
application on a PV system shows that development time can
be decreased, and results can be improved with the
combination of ANN and OOMS.
We implemented the Neuro-DEVS methodology in a M&S
Java set of tools, JDEVS, thus providing an efficient and
time saving tool for the object oriented modeling and
simulation of complex systems.
REFERENCES
Figure 8 : Price of a connected PV System after 15 years
The satisfaction (Figure 9) is the ratio between the need and
the power furnished, it reaches 100% when the user always
has electricity when it needs it.
A standalone PV system has to be well dimensioned before a
good level of satisfaction can be reached with a reasonable
price (Figure 10).
Figure 9 : Average satisfaction after 3 years
Figure 10 : Price/satisfaction for standalone PV system
Limitations of the model
Although this model provides realistic results, more data is
needed to train an accurate neural network batteries damage
model. A better physical description is also needed to
simulate the PV module behavior; the current model does not
take into account the temperature, which is an important
parameter to compute the efficiency of the PV module.
CONCLUSION
The Neuro-DEVS methodology presented in this work
shows efficiency for the modeling of complex systems. The
Aiello, A. Bisgambiglia, P. Delhom, M. Santucci, JF. 1997. "An
object oriented simulation framework based on hierarchical
multi-views modeling concepts" in Proceedings of the SCS
WMC on Object Oriented Simulation, vol. 3, pp 10-15,
Phoenix, Arizona, USA.
Carling, A. 1992. “Introducing neural networks”, Sigma Press, New
York.
Delhom, M. 1996. “Modélisation et Simulation Orientées Objets”
Ph.D. thesis.
D'Alch-Buc, F. Patillon, J-N. 1999. "Discharge prediction of
rechargeable batteries with neural networks" Journal of Systems
Architecture, no. 6, pp. 41-53.
Euzénat, J. 1994. "Granularité dans les représentations spatiotemporelles" Tech. Rep. 2242, INRIA Rhône-Alpes.
Filippi, JB. 2001. http://spe.univ-corse.fr/filippiweb/
Hecht-Nielsen, R. 1989. "Neural network primer: part I" AI Expert.
James, Jr. Dukelow, S. 1994. "Verification and validation of neural
networks" in Proceedings of the Neural Network Workshop for
the Hanford Community, pp. 76-80, Richland, Washington,
USA.
Jungst, RG. Urbina, A. L.Paez, T. 2000. "Stochastic modeling of
rechargeable battery life in a photovoltaic power system" Tech.
Rep. 1541C, Sandia national laboratories.
Kim, T.G. 1998. “DEVSim++ User's Manual”, CORE Lab.
OMG, Corba 2.4. 2000. “Specifications of the Portable Object
Adapter”.
Oussalah, C. 1989. "A framework for modeling and linking the
structure and the behavior of a system" Artificial Intelligence in
Scientific Computation.
Sarjoughian, H.S. and Zeigler, B.P. 1998. "Devsjava: Basis for a
devs-based collaborative M&S environment" in Proceedings of
the SCS International Conference on Web-Based Modeling and
Simulation, vol. 5, pp. 29-36, San Diego, CA.
Sitch, S. Cramer, W. Honicke, K. Venevsky, S. 1999. "The role of
fire disturbance for global vegetation dynamics: coupling fire
into a dynamic global vegetation model" Global Change
Biology,.
Szilas, N. 1995. “Apprentissage dans les réseaux récurrents pour la
modélisation mécanique et étude de leurs interactions avec
l'environnement”, Ph.D. thesis, INPG Grenoble, France.
Zealand, C. Burn, D. Simonovic, S. 1999 "Short term stream flow
forecasting using artificial neural networks" Journal of
Hydrology, no. 214, pp. 32-48.
Zeigler, B.P. 1976. “Theory of Modeling and Simulation”,
Academic Press.
Zeigler, B.P. 1990. “Object-Oriented Simulation with Hierarchical,
Modular Models”, Academic Press.