Neuro-DEVS An hybrid methodology to describe complex systems Jean-Baptiste Filippi Paul Bisgambiglia Marielle Delhom SPE Laboratory University of Corsica UMR CNRS 6134
Introduction Modeling and simulation of complex systems Our aim is to define an environment based on : OOMS, Object Oriented Modeling and Simulation technique, based on DEVS, can map to physical behavior that is well known Neural Networks, are used to approximate a system behavior that lacks some understanding. GIS to manage data
Introduction Hybrid methodology, coupling OOMS, Neural Networks and GIS Gain from the different approaches : Offer a well defined framework for modeling Improve model accuracy Handle partial lack of system understanding Create adaptive models (models that can learn) Effective data management for ecosystem modeling
Based on DEVS formalism Theory OOMS Based on DEVS formalism Allows to describe a complex system in a modular and hierarchical way OOMS extends DEVS with 2 hierarchies : Time hierarchy, (granularity). Abstraction hierarchy (decomposition). Atomic models 4 characteristic functions : External transition Output Internal transition Time advance
Theory Neural Networks A neural network is a computational method inspired by studies of the brain and nervous systems in biological organisms. A neural network is composed of interconnected processing elements (neurons) working in unison to solve a specific problem.
Theory ANN, Multi layered perceptron A multi-layered perceptron is a neural network. Matches most of our needs in eco-modeling, able to perform : Function interpolation (time series prediction …) Pattern recognition (OCR …) Bounded I/O {-1,1} Learning : Pass 1, propagation Inputs are sent forward thought the weighted Links Pass 2, retro-propagation The difference between the actual and the desired output is calculated and sent backward to modify the link’s weights.
Coupling NN & OOMS Purposes Limitations of ANNs and OOMS ANNs are "black boxes", hard to avoid unexpected behavior OO model cannot adapt its behavior runtime System has to be well understood before it can be modeled using OO techniques 3 Main applications of Neuro-DEVS Adaptive models (models that can learn) Concurrent simulation (real-time ANN results validation) ANN as sub component (handle lack of understanding in sub-components)
Coupling NN & OOMS Purposes Adaptive models Ann sub components Concurrent simulation
Coupling NN & OOMS NN abstraction ANN designed by expert for specific purpose Trained ANNs stored in libraries ANN Object loaded at the initialization ANN are trained on discrete data Input and output messages are translated into activations by the Neuro model
Coupling NN & OOMS Neuro-atomic 3 characteristic functions for the Neuro atomic model : double learn(input_set, output_set) void activate(input_set) output_set propagate(input_set) 2 I/O functions void setInputBounds(min_set, max_set) void setOutputBounds(min_set, max_set)
Coupling NN & OOMS Neuro-atomic Simulation activate() external transition propagate() output function learn() internal transition
Coupling NN & OOMS Interface Neural network Object accessed thought an IDL interface. Any ANN can be accessed if it implements the proposed interface
Environment Simulation engine Part of JDEVS toolkit Developed in Java Run on several hardware Easy connection with Objects Brokers Easy use of Threads Easy distributed simulation Slow
Environment M&S GUI Single java package Use of Swing Simple flow chart editing Drag’n Drop Save in XML Independent from the engine (can be used with high performing DEVS simulator)
Environment Collaborative Supports library description of F.Bernardi. Every coupled models are different XML files. edited on different clients to be federated later by the chief modeler. Client can be launched using an application server (Tomcat..)
Environment Geographic Information System connection Cellular Simulator can load initialization data from maps that has been exported from a GIS Ouput messages are recomposing time maps that can be imported in the GIS
Environment JDEVS ToolKit JDEVS Toolkit composed of 5 independent modules : Simulation engine, (Bisgambiglia, Filippi) The library for models storage (Bernardi) The graphic modeling interface (Filippi) The cellular simulation (Filippi) The GIS connector (Filippi, Chiari) The five modules are independent The aim is to provide an easy to use modeling package (especially for ecosystem modeling)
Application, Energy Farms An energy farm is a renewable energy power plant (such as photovoltaic or wind turbine)
Application, Energy Farms ANN battery damage model The battery is a power tank The neural network is calculating the capacity loss of the battery for each discharge. The capacity loss is function of the discharge length and deepness. To simulate the behavior of another battery, it is necessary to train the neural net with collected data. Battery Discharge length (time) Capacity loss Discharge deepness (% charge)
Application, Energy Farms Implementation Developed in 5 hours by expert. Modeling and Simulation trought the GUI. 100 seconds simulation time (P3 800Mhz, 800 000 messages)
Application, Energy Farms Some results
Conclusion Neuro DEVS can help where system behavior is not understood and data available Results are goods, compared to real world data, but more empirical data has to be collected to provide a realistic damage model OO Environment is a fast and efficient modeling toolkit but needs more coherence
Conclusion Future works Test on several models, JDEVS already been successfully used for M&S of Bugs propagation in orchards CORBA dialog simulation PV system Fire propagation Model auto optimization module based on Genetic Algorithms (ex. to find the best battery and the best solar panel size for a specific place) Expert system for modeling High performance simulation kernel