Conference PaperPDF Available

Another step toward reusability in agent-based simulation: Multi-behaviors áamp; AMVC

Authors:

Abstract and Figures

The multi-agent systems are successfully used in modeling of dynamic complex systems, and simulations of these models reinforce the knowledge of experts and even allow them to explore new horizons or to cross boundaries. This is the reason why the models being tackled are increasingly varied, and as one goes along with experimentations, these models are completed, intercrossed. Consequently they become increasingly complex. In our previous work [1], we proposed a first modeling approach to support this complexity increase: the Dynamic- Oriented Modeling (DOM). The application of this approach can effectively support the increase of the model. This increase applies to both agents and environments. This DOM approach tackles the problem of the latter by splitting in multiple parts. But if DOM led to organize properly the multiple environments that come into play, little support is provided to organize and manage the increasing complexity of the agents themselves... Inevitably, when we reach a quite advanced stage of evolution of the model, the agents eventually reach a critical mass (either in formalization or code) that makes them more and more hard to comprehend. In this paper, we illustrate this phenomenon and show that it quickly takes the upper hand against the benefits of DOM, as it can eventually block the potential development, or even reuse, of the model. Then we explain that a solution to this ”side effect” could structure the architecture of agents, a structure capable of maintaining readability and flexibility of the formalization of the agent throughout the growth process of the global model.We study a well known pattern in software engineering: the MVC pattern, which can be reused here to meet this objective. We will present in details how this pattern could be instantiated in the field of MAS architecture, and how, ultimately, it can be an effective new way to formalize agents in a method called Multi- Behaviors Modelization.
Content may be subject to copyright.
Another step toward reusability in agent-based
simulation: Multi-behaviors & aMVC
Yassine Gangat, Denis Payet, R´
emy Courdier
University of La R´
eunion, LIM
Saint-Denis, Island of La R´
eunion
Email: yassine.gangat,denis.payet,remy.courdier@univ-reunion.fr
Abstract—The multi-agent systems are successfully used in
modeling of dynamic complex systems, and simulations of these
models reinforce the knowledge of experts and even allow them
to explore new horizons or to cross boundaries. This is the reason
why the models being tackled are increasingly varied, and as one
goes along with experimentations, these models are completed,
intercrossed. Consequently they become increasingly complex.
In our previous work [1], we proposed a first modeling
approach to support this complexity increase: the Dynamic-
Oriented Modeling (DOM). The application of this approach can
effectively support the increase of the model. This increase applies
to both agents and environments. This DOM approach tackles
the problem of the latter by splitting in multiple parts. But if
DOM led to organize properly the multiple environments that
come into play, little support is provided to organize and manage
the increasing complexity of the agents themselves... Inevitably,
when we reach a quite advanced stage of evolution of the model,
the agents eventually reach a critical mass (either in formalization
or code) that makes them more and more hard to comprehend.
In this paper, we illustrate this phenomenon and show that it
quickly takes the upper hand against the benefits of DOM, as it
can eventually block the potential development, or even reuse, of
the model. Then we explain that a solution to this ”side effect”
could structure the architecture of agents, a structure capable
of maintaining readability and flexibility of the formalization of
the agent throughout the growth process of the global model. We
study a well known pattern in software engineering: the MVC
pattern, which can be reused here to meet this objective. We
will present in details how this pattern could be instantiated in
the field of MAS architecture, and how, ultimately, it can be an
effective new way to formalize agents in a method called Multi-
Behaviors Modelization.
I. INTRODUCTION
Multi-agent System (MAS) has been more and more used
in various scientific fields, especially in the simulation field
(SOA). Even though some applications bring pedagogic pur-
poses, others are made as decision-support tool, e-commerce
application, etc. which implies a wide range of complexity’s
level. The more accurate we want it to be, the more complex
the modeling phases will be, because of the high number
of agents implied, their behaviors and their diversity (het-
erogeneous agents). Detailed models use a large number of
parameters which usually characterize the complexity of the
system. These difficulties mainly consist in the fact that the
multiagent system are becoming more and more complex to
modelize due to the complexity of the system studied.
Moreover, whenever a new application came into being and
has been validated by its evaluation panel, experts typically
wish to reuse it, completely or partially, in order to reduce time
and expenses due to the creation of comparable application.
In order to improve the issue of model’s creation and
its reuse, we have presented in a previous article [1] the
Dynamic-Oriented Modeling (DOM), a modeling method
DOM (Dynamic-Oriented Modeling) based on dynamics, to
tackle modeling difficulties which arise in a complex system.
A. Introducing DOM
As mention in [1], elaborated models bring into interaction
a great number of dynamics producing the phenomena which
characterize the evolution of the modeled system. Furthermore,
it is frequent that various applications designed with multi-
agent systems use identical dynamics.
Due to this consideration, we based this Modelization on
dynamics. A dynamic is an association of a set of activities
that participate in a major characteristic of a complex problem.
For example, production, distribution and consumption of
energy are activities that participate to the dynamic of energy
evolution.
An agent (c.f. Figure 1a) is characterized by its state and
behavior: the agent’s state influences its behavior; and, the
agent’s behavior modifies its state. In addition, agents evolve
in an environment which they modify through their actions
and which send them information.
The aim of this modeling method is to break down a
complex problem into some less complex parts (i.e. dynamics),
using the environment (which is the location where agents
evolve) as the coupling element for these dynamics in the
Figure 1b.
In order to that, for each dynamic we will create a layer
called a Mono-Dynamic Model (MDM). A such layer will be
related to a specific dynamic (such as population evolution, or
flow of energy). Then the whole system will be an aggregation
of all MDM into a multi-MDM model which we call DOM.
As we can see in Figure 1b, due to the splitting of the
environment into MDM, it has an effect on agents themselves.
We will categorize states and behaviors around this definition
of dynamics.
II. THE EDMMAS APPLICATION
The EDMMAS1[2] project is one of the application of
DOM to a real complex system.
1Energy Demand Management by Multi-Agent Simulation
2012 IEEE 24th International Conference on Tools with Artificial Intelligence
1082-3409/12 $26.00 © 2012 IEEE
DOI 10.1109/ICTAI.2012.158
1112
2012 IEEE 24th International Conference on Tools with Artificial Intelligence
1082-3409/12 $26.00 © 2012 IEEE
DOI 10.1109/ICTAI.2012.158
1112
(a) Basic agent (b) Splitting of the agent according to dynamics and its
effect on the agent
Fig. 1. From Basic Agent to an Agent in DOM
1) Context: One of the main project in the Reunion Island
in 2009 was the GERRI2project. It materializes the Grenelle
Environment’s goals, of which the energy management of
a territory is a facet. The aim is to forecast future energy
production and consumption, bearing in mind economic and
ecological indicators, and using a large number of interactions
schemes between the involved parties.
The originality of this EDMMAS was to present a new
approach using the multi-agents systems, which could offer
an appropriate alternative to other models. This work is
based on one of the tools (Domino-SMAT) developed on
the Geamas-NG platform. The DS Application [3] is a MAS
simulation model that was made to explore different land-use
and conservation planning scenarios for our region: the island
of La R´
eunion (in the South-West Indian Ocean).
At the end of each simulation, DS gives us some indicators.
For example, the main view of the application is a map
showing the effective land-use map of each parcel of the island
at every simulation step. It provides us also with graphics
showing the global evolution of the land-use type (i.e.natural,
agricultural or urban).
Because DS application has been approved by experts from
La R´
eunion, we choose to reuse models in DS to build
EDMMAS, which allows the simulation and geo-localization
of energy flow while reckoning with modeled interactions.
Eventually, the aim is to provide a decision-support tool for
the energy planning within a territory, thanks to the different
2http://www.gerri.fr/images/stories/livret gerri bd.pdf
possible scenarios, e.g. in anticipation of new power plant and
its sizing, or in case of a malfunction or maintenance work.
A. The model of EDMMAS
This model (c.f. Figure 2) is based on two coupled dynamics
using the DOM method:
1) A population dynamic, that takes care of the evolution
and the distribution of the population on the territory.
2) A land-use dynamic, which involves change of the land-
use type (i.e. natural, agricultural or urban).
3) An energy dynamic, that deals with the type and amount
of energy produced by power station as well as individ-
ual (through photovoltaic systems), the price and the
flexibility of the production.
The first two dynamics has been implemented (and validated
by experts) in DS while the last one was new. Each dynamic
have their own ways of interacting with the environment,
which is made of elementary spatial units of land (called
parcels) arising from a territorial grid cutting of the whole
territory. DS can be initialized with different sets of scenarios
for the land-use politic and the population evolution.
In our model, due to the fact that our agents are space-
localized, we are able to take into account the localization of
the production of energy, and thus its consumption based on
the population of each parcel.
The application EDMMAS is still in progress [4]. However,
we already have identified some relevant issues from it. Apart
from the simulation results, we realize that the more we extend
11131113
Fig. 2. DOM Modelization in EDMMAS
the models with other dynamic, the more the agents become
dramatically complex.
B. Feedback
The feedback we had on this application showed us that
using DOM was a good choice. Indeed it enabled us to easily
reuse an ”old” simulation and build a new one from it. But
now, we are facing some underlying problems that are general
to every case of reusability. Whenever someone wants to reuse
a MAS model, especially its agents, he will breast the problem
of agents’ behaviors. Despite the fact that dynamics had been
separated, having the agents’ states and its behaviors at the
same level doesn’t facilitate the reusability.
In order to better identify and solve this problem, we needed
to explore this problem outside our platform GEAMAS-NG,
the complex system’s simulation platform developped in our
laboratory, implementing the DOM methodology, which also
is the platform used for DS and EDMMAS. This is the reason
why we propose a complementary study in a project called
”Turtle” in the next part where we tried a collaborative method
to build the model.
III. THE TURTLE APPLICATION
A. Introducing collaborative method for the model construc-
tion
This method [5] is based on modeling and prototyping
simultaneously. This allows us to identify problems that we
hoped to answer, thus narrowing down the amount of data
that are really exploitable, to identify missing data that should
be collected.
In order to get back to the original problem, we have pre-
sented in [5] a collaborative method and a NetLogo prototype
focused on green turtles in the South-West Indian Ocean,
leaving for a while the DOM method. Thus, we were able
to test various hypotheses and focus more on the thematic
conception of the model than the technical side. It allowed us
to close-in on the thematic patterns we wanted to modelize,
working hand-in-hand with thematicians, experts in another
domain of Science.
1) The Turtle Application: Behind the apparent simplicity
of green turtle life history, there are very complex interacting
mechanisms driving population dynamics. The construction of
the model itself helps in the comprehension of the biological
system. For this work, our approach was conducted by mod-
eling and prototyping at the same time.
Beyond the point of view ”environment” targeted by DOM,
we focalized ourselves this time on the agent and its intrinsic
behaviors. We structured our approach on the duality : con-
ceptual model and computational model. Indeed, we ended on
two documents which describe the conceptual model (how the
experts think turtles should be modeled) and the computational
model (the model as it is or will be implemented). The
more we will reduce the gap between these two documents
(implementation gap), the more relevant our prototype will
be.
2) Feedback: This was the first step to the elaboration of
a more mature conceptual model, which can be afterwards
implemented on a more powerful and efficient simulation
platform. Moreover, we also realize that during the modeling,
one should be aware of the reusability of its model.
The experience earned after this methodology (modeling
and prototyping) showed us that the DOM methodology,
based on the environment splitting, was not enough to fully
apprehend Modelization of complex system. Indeed, DOM
does not take into account the agents’ behaviors, which is
a critical point if we want to improve the reusability of our
model. Thus, we also need to consider a methodology for
the agents’ modeling, especially its behaviors. Indeed, each
expert has different ways of modeling the turtles according
to its interactions with the wind, the surface temperature, the
stream, etc.
The increase of the model’s complexity applies to both
agents and environments. This DOM approach tackles the
problem of the latter with a method of organization, but not the
former. The more advanced is the evolution of the model, the
more complex will become the agents. Eventually, they will
be more and more hard to comprehend in the whole model.
We then have to ponder over an new Modelization, more
oriented toward agents and more specifically towards behav-
iors, because its the essence of any agents.
IV. MULTI-BEHAVIORS MODELIZATION
A. Problematic
Whether we used DOM or not, in a general way, the
behaviors of an agent is still hard to apprehend in a complex
system, because each expert is able to have a precise angle of
view (we will call it ”a Realm”) on a specific character of the
agent’s behaviors and could be distracted by other unrelated
elements.
To make understanding easier, let’s define a small case
study3: A Multi-Agent Simulation which takes care of the
simulation and geo-localization of energy flow (production
and consumption) and its cost (both its price and the social
cost of carbon related to it) while reckoning with modeled
interactions, in order to provide a decision-support tool for
3Another study case related to one of our project will be explained further
(Section IV-C).
11141114
the energy planning within a territory, thanks to the different
possible scenarios, e.g. in anticipation of new power plant and
its sizing.
In this study case, an expert in energy won’t be able to grasp
the agents’ behaviors if it implements Energy, Finance and
Carbon Emission Control at the same time. He will be scared
of collapsing the whole system if it has been misimplemented.
This issue has been almost bypassed by using the previous
DOM method [1]. Each agent in the ”world” may have a set
of states and a set of behaviors. We had partitioned the agent
itself into dynamics where each dynamic is a subset of states
and a subset of behaviors related to a layer of environment. If
we are going back to our study case, there will be a dynamic
related to the Energy, one to Finance and the last one to
Carbon Emission Control. In the context of a spatial [6], [7]
and highly communicating [8] MAS, we also can define two
more dynamics for its position and its communication.
We call each submodel a Mono-Dynamic Model (MDM)
and the DOM itself will be a multi-MDM Model, a layer-
structured agent model where layers use the environment as a
place to share information.
But this Dynamic-Oriented Modeling would not suffice if
we want to improve the reusability of our agent modeling.
For example, if two experts in Energy hold different ways
of express the agent’s behaviors regarding the energy dy-
namic [9]: the first one started using a bottom-up statistical
techniques for residential houses. After a while, the second
expert comes and wants to use a top-down technological
techniques for factories. This latter is not meant to replace
the former, but it has been build to improve the first one with
further consideration. We need to go further in the partitioning.
This lead us to a Multi-Behaviors Modelization on top of the
Dynamic-Oriented Modeling, in order to help these kinds of
refinement in behaviors.
B. Introducing MVC
1) Design Pattern: Christopher Alexander has introduce
design patterns in 1977-1979 in the architectural field, but
its use in software development has started in 1987 [10] and
picked up fame in 1994 when the book [11] of Erich Gamma,
Richard Steerage, Ralph Johnson, and John Vlissides, known
as the ”Gang of Four” or simply ”GoF”. Design patterns
empower reusability and might be utilized as ”building blocks”
for complex application. Numerous researches towards the
reuse of model have been made in diverse fields such as as
Software Engineering but also in Artificial Intelligence [12],
etc.
2) MVC in Software Engineering and its versions: For
example, in Software Engineering field, the Model-View-
Controller paradigm [13], [14] has been wide-spreaded and
furnished interesting feedbacks to the Software Engineering
research community. MVC pattern was designed for and
implemented in Smalltalk when User Interface libraries did
not exist. In order to understand MVC, we could say:
A ”view” is a class that is responsible for representing
the part of the User Interface. It should draw it, e.g a box,
a text, a selected areas, etc.
A ”controller” is another class that interacts between user
and view. It took mouse events occurring within this very
same view (e.g. the box or the text) like mouse events,
keyboard events, etc.
A ”model” is yet another class that represents the basic
data and state of the component. For example, a text box
model would have the text of course, the box’s design,
the selection, etc.
In a situation like that, the original three components are
very entangled, which was the reason why it has been called
”triad”. The full ”box” or ”text” would be composed by three
components.
As explained in [13], there are two variations of MVC:
a passive model and an active model. In the passive model,
the controller exclusively manipulates the model and manages
the synchronization between view and model. On the other
hand, in the active model, the model is independent from the
controller who is here to warn the view(s) that changes has
been occurred.
After years of using, testing and refining, the application
of the ”MVC” pattern has spread beyond its initial purpose.
Nowadays, a ”view” could actually be a complete dialog
(not to say the full UI), and a ”controller” for the (whole)
application that’s respond to most events. The ”model” is
usually linked to the view by providing an observer interface.
From the original MVC pattern, other design pattern also
emerges like MVP (Model View Presenter) or MVVM (Model
View View Model). Sometimes, the MVC pattern has been
adapted to a specific langage such as the Cocoa version of
MVC as a compound pattern4.
In this section, we just wanted to show that whenever a
specific pattern, with lots of potential, such as MVC, has been
wide-spreaded in the community, it gave us back informations
that help in improving its use.
3) MVC in MAS: Since [12], numerous works have been
done as resumed by [15], but the vast majority of researches
has been centered on patterns for agent-oriented software or
for the agent’s interaction. Also, whenever the suggestion is
a pattern-based design methodology, the proposed pattern is
frequently homemade or specific to one particular domain.
In order to boost the benefits of design patterns, one specific
pattern should be used uniformly throughout the MAS research
community. It would result in both spreading MAS solutions
and giving valuable feedback to the MAS research community,
and that will help in refining this very pattern.
It’s important to note that we are not talking about the MAS
software’s architecture (as we can see in [16], [17], in [18]
or in [19]) but about the agent’s architecture itself. Applying
MVC software’s architecture would ”simply” consist in using
MVC in the context of software engineering. Here, we want
to import the MVC methodology into the world of MAS and
use it at as a design methodology for the agent.
4https://developer.apple.com/library/mac/#DOCUMENTATION/Cocoa/
Conceptual/CocoaFundamentals/CocoaDesignPatterns/CocoaDesignPatterns.
html
11151115
(a) Splitting of the agent according to dynamics and
realms
(b) An MVC agent, according to the architecture MVC
Fig. 3. Splitting of an agent in ”realms” and its MVC architecture
Moverovern, the Multi-agent System (and the Agent-Based
Simulation) have specificities that are different from the OOP’s
world.
In OOP, most of interactions are predetermined. Whenever
an action occurs, there will be a reaction from the application.
It is a deterministic world. On the other hand, in MAS’s
world, we tend to a nondeterminism: agents would try to do an
influence on the environment or an another agent directly (or
through the environment again, according to some points of
view). This influence could be successful or not. In the same
way, agents would try to do a perception, but it also could be
successful or not. This is one major specificity.
This is why we can tell that we are not using MVC, but
an adaptation of MVC in the agent world: agentMVC (or
aMVC). From this point of the article, the word aMVC will
be used only if there is any confusion possible.
C. The MVC agent
After this small digression, we are coming back to the
initial subject: the Multi-Behaviors Modelization, to help of
refinement in behaviors in SOA.
We will propose here a new agent architecture, based on
this previous stated MVC, in order to be able to benefit most
of the potential behind the widely-used MVC pattern.
We have then to define identity of each concept in our
current model: The model, the view and the controller.
In order to ease the identification, we would not only
split the environment such as in Section I-A by means of
dynamics but the agent themselves via ”realm”. The word
realm” means area of behavioral expertise. Each set (states
and behaviors) can be split according to the ”realm” to which
they are referring (i.e. in the Figure 3a the A realm, the B
realm, the C realm where C is a bit related to B, and the D
realm with two different behaviors).
The ”inside” of the agent in the Figure 3a show us a certain
amount of subset (that could be really huge according to the
complexity of the system) that are linked together. Our goal
is precisely to organize everything to ease its conception.
The difference between realm and dynamic is that a dy-
namic can be composed by one or more realms. For example,
the ”social”’s realm and the ”position”’s realm is part of the
”communication”’s dynamic.
As we can see in the Figure 3b, we will define one MVC
architecture for each realm. In this figure, the relation between
C & B and between D and its two behaviors has not been
represented.
In this new approach, we are taking an extra step in our
initial DOM partition, and we will characterize an agent by
three components (as we can see in Figure 3a):
the agent’s state, which contains its attributes (in boxes).
the agent’s behaviors, which organizes all the actions it
can undertake, also called decisional process (in circles).
the agent’s interactor, which allow interaction (influence
and perception) with the environment (blue arrows).
Study case:
Let’s take a study case related to our project EDMMAS:
if we want to implement a simulation that includes at the
same time the evolution of the population, the production-
consumption of energy and the land-use (urban, agricultural
or natural) changes on a territory such as in EDMMAS [2],
we would face hundreds of thousands of Parcels agents (land
units of approximately one hectare). Complexity of the system
will come from both the interaction’s complexity and their
numbers. Here is a brief description of the system through the
11161116
(a) The original MVC (b) MVC applied to agent: aMVC
Fig. 4. MVC & aMVC
Multi-Behaviors Modelization:
Example of dynamics: In order to model this system, we
would divide the problem in three coupled dynamics: a
population dynamic, a land-use dynamic and an energy
dynamic. For example, production of energy (by power
plants or individual solar panel), its distribution and its
consumption (by residential or factory) are activities that
participate to the dynamic of energy evolution. Each
dynamic is a MDM, and the three dynamics together will
constitute the multi-MDM model, also called the DOM
model.
Example of realms in one dynamic: Now, if we consider
only the dynamic of ”energy evolution”, it is composed
by three realms : production of energy by plants, con-
sumption of energy by residential houses and consump-
tion by factories.
Example of components in one realm: In the realm
”production of energy by plants”, we would consider:
States: which kind of energy production it is (Fossil
Fuels, Hydroelectric, Nuclear, Solar, etc.), its scala-
bility, its pollution’s impact, etc.
Behaviors: produce energy, stock energy, send en-
ergy, negotiate with another plant, etc.
Interactors: its connexion with the electrical power
grid or with a grid energy storage.
Now we will be able to define the model, the view and the
controller but we will consider only one realm, bearing in
mind that an agent will be split according to several dynamics
and each dynamic according to several realms. The Figure 4
is the summary of our definition.
1) Defining the model for one realm: We usually tag model
only as a database in Software Engineering; but the model
in MVC is both the data and the domain logic needed to
manipulate the data. In this agent’s decomposition, the states’
collection mixed with internal evolution laws related to the
realm (such as ageing of an agent) should be the model. This
subset of dynamical data (states of agents) evolves with time
due to behaviors and internals laws of the realms (that make
the consistency of the data).
As mentioned before, in [13], there are two variations of
MVC: a passive model and an active model.
In our context, we should use a passive model where the
controller exclusively manipulates the model and manages the
synchronization between view and model. The reason is that
the ”Agent World” is different from the ”Object World”: while
in Object-Oriented Programming (OOP) most of interaction
are predetermined and are similar to action-reaction (such as
”a click on this will do that thing”), in the MAS most of the
interaction would be influence-perception (such as ”this agent
will try to influence that agent/the environment”).
2) Defining the controller for one realm: The controller is
composed by the behaviors. Indeed, in an agent, the behaviors
”controls and modify” the states. Moreover, the behaviors
manage the agent’s interaction with the environment and, for
this, use its states: either in order to consult the states to take a
decision or to influence its modification in order to memorize
any experience learnings.
If necessary, we may have multiple controllers for the very
same model or several models used by one controller.
3) Defining the view for one realm: If we get back to
definitions in section IV-B2, we will understand that a view in
the interacting surface between surface between the user and
the program.
If we take the point of view of the application (and not
the user’s), we can say that the view allows the program to
perceive from the outside (external informations, e.g. like a
button or a checkbox) and to influence the outside (external
users, e.g. like a colored gauge that will mean something to
the user). In the same way, an agent has to do influence and
perception with other agents and/or environment.
Thus, we can define the view of an agent is then the agent’s
interactors (which allow influence and perception) with other
agents and/or the environment in a particular realm.
D. From Basic agent to MVC agent
After this proposition of new architecture, we now have to
split our basic agent in order to be able to fit this proposition.
The way to do it will be as follows (some of the steps has
been mentioned previously):
11171117
Splitting of the agent according to dynamics : such as
explained in section I-A, when we say ”splitting of the
agent according to dynamics”, we mean environment
splitting reflected on the agents.
Splitting of the agent according to realms : in sec-
tion IV-C we have define what is a ”realm” and why
we should split according to it.
Splitting of the agent according to its three components :
also in section IV-C we have explained that an agent can
be identify by its states, its behaviors and its interactors.
1) Effects of this splitting: The first two slicing will allow
us to separate different field in a SOA. As we have seen in ED-
MMAS (Section II), separating those field (energy, population
evolution, land-use evolution) make easier understanding oh
the application by all kind of experts. The ”realm”’s splitting
will made the ”dynamic”’s one more precise, and allow us to
categorize each kind of expertise needed in this SOA.
The last splitting will have more effect both ”outside” the
SOA and in it.
a) ”Outside” the SOA: Indeed, after this splitting accord-
ing to the three components (or we could also say according
to MVC), when would be able to share the difficulties related
to the Modelization of one specific realm amongst a panel up
to three experts.
For example, the first one would focus on the model of
the power-plants’ energy production while another will have
to take care of the plants’ interaction with the energy flow
in the electric power distribution and the last one to the its
characteristic (capacity, output, etc.).
Moreover, as mentioned in IV-A, if two experts in Energy
hold different ways of express the agent’s behaviors regarding
the energy dynamic [9], we would be able to implement two
models for the same realm and switch between both whenever
needs arise.
b) ”Inside” the SOA: As we saw ”inside” the agent in
the Figure 3a, and the definition of the agent MVC, we are
splitting according to three components. Our goal being to
organize everything and to ease its conception, we will shape
the SOA by regrouping components together for each realm:
One or more layers5of behaviors (LB), which consists in
definition of agents behaviors related to one realm. This
is the controller. The advantage of this technique is that
usually in a complex system, there is a lots of agents that
can be categorized by ”kind”.
Each ”kind” will be defined by the same set of behaviors.
By taking behaviors away from the agent’s state, we are
then able to factorize behaviors and reduce the complexity
of the model.
One or more layers of physiognomies (LP), which express
the ”character” or ”personality” of the agents (its states
and some internal laws related to this realm). We used the
word ”physiognomy” instead of the ”body” to set us free
from the capacity of interaction here (which is usually
associated to the body). This is the model.
5Each layer will contains ”splits” of several agents.
One or more couple of interactors (Influence and Percep-
tion) for each agent in relation with each dynamic. This
is the view.
From this example of the Figure 3a, we then can also split
as follows (in the Figure 5a):
4 Layers of physiognomies LPA,LPB,LPCand LPD.
5 Layers of behaviors LBA,LBB,LBC,LBD1and LBD2.
10 Iteractors for each agent: 5 for Influence and 5 for
Perception
In this example, if we supposed that the splitting will result
into three dynamics (DynAB ,DynCand DynD), their relation
will be like in Figure 5a. In this Figure, we choose to simplify
by showing the splitting of only one agent and we can see the
different layers of the system, illustrated with the splitting of
one agent. If we have hundreds of agents of the same kind,
the same layers will be shared amongst them. In fact, every
agent will be split by the same realm and sent to the adequate
layers. It could be represented as in Figure 5b.
V. C ONCLUSION
In this article, we first studied an example of creation and
reuse of model through the DOM Modelization. We then
showed another case in order to shed light on the fact that
during the modeling, one should be aware of the reusability
of its model. We also put forward some problem due to
model’s reusing and extending, especially in term of agent’s
Modelization, and show how it quickly takes the upper hand
against the benefits of DOM, as it can eventually block the
potential development, or even reuse, of the model.
Lastly, we proposed a new Modelization Multi-Behavior
inspired from the MVC pattern, in order to improve this
issue. This new agent architecture is a structure capable of
maintaining readability and flexibility of the formalization of
the agent throughout the growth process of the global model.
This Modelization starts from the bottom (the agent) and not
from the top (the system). After cutting the environment in
dynamics with DOM, we sliced the agent into a ”mille-feuille”
(where a layer is a realm) and then again according to its three
components : physiognomy, behaviors and interactiors.
Due to this splitting we would be able to give the layer to
any experts, and if necessary divide the work among different
experts thanks to the MVC slicing by giving any part of the
layer (M,Vor C). This Modelization will ease the creation
of agents but also its reuse.
Additionally using the MVC pattern’s property, among other
advantages, we would be able to facilitate the reuse as well
as the customization of any part of an agent.
This approach allows us to perceive a new field of investiga-
tion, particularly in a global level of layers’ organization and
the potential dynamic evolution of its interconnections. The
most interesting part will be related to this MVC adaptation
to the agent world: Will MVC and aMVC have the same
similarities ? Would we be able to plug one new V (view)
of an agent to an already present M (model) ?
The study of this field will be the subject of further
researches.
11181118
(a) Splitting of the agent according to its three compo-
nents, realms and dynamics
(b) Layers Modelization of the complex system
Fig. 5. Last splitting of an agent and the Multi Behaviors Modelization
REFERENCES
[1] D. Payet, R. Courdier, N. Sebastien, and T. Ralambondrainy,
“Environment as support for simplification, reuse and integration
of processes in spatial MAS,” 2006 IEEE International
Conference on Information Reuse Integration, pp. 127–131, 2006.
[Online]. Available: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.
htm?arnumber=4018477
[2] Y. Gangat, R. Courdier, and D. Payet, “D´
emonstration : Am´
enagement
´
energ´
etique d’un territoire - une approche par simulation multi-agents,”
Journ´
ees Francophones Syst`
emes MultiAgents, JFSMA’09, pp. 237–240,
2009.
[3] D. David, D. Payet, A. Botta, G. Lajoie, S. Manglou, and R. Courdier,
“Un couplage de dynamiques comportementales : Le mod`
ele DS
pour l’am´
enagement du territoire,” Journ´
ees Francophones Syst`
emes
MultiAgents JFSMA’07, pp. 129–138, 2007. [Online]. Available:
www.irit.fr/JFSMA07
[4] Y. Gangat, R. Courdier, D. David, and D. Payet, “Mod´
elisation et
Simulation de l’am´
enagement ´
energitique d’un territoire,” in Colloque
sur la Convergence des R´
eseaux de l’Informatique et du Multim´
edia
pour les Eservices, Saint Denis, La R´
eunion, 2009.
[5] Y. Gangat, M. Dalleau, D. David, N. Sebastien, and D. Payet, “Tur-
tles are the turtles,” European Simulation and Modelling Conference,
ESM’2010, pp. 439–442, 2010.
[6] A. Rodrigues and J. Raper, “Defining spatial agents,Spatial multimedia
and virtual reality, pp. 111–129, 1999.
[7] A. U. Frank, S. Bittner, and M. Raubal, “Spatial and cognitive
simulation with multi-agent systems,” Lecture Notes in Computer
Science, vol. 2205, no. Figure 1, pp. 124–139, 2001. [Online].
Available: http://www.springerlink.com/index/36k2dcrd0c9jw53g.pdf
[8] M. Georgeff, “Communication and Interaction in Multi-Agent Planning,
in Readings in Distributed Artificial Intelligence, A. Bond and L. Gasser,
Eds., no. SRI AI 313, SRI International. AAAI Press, 1983, pp. 125–
129.
[9] L. G. Swan and V. I. Ugursal, “Modeling of end-use energy consumption
in the residential sector: A review of modeling techniques,Renewable
and Sustainable Energy Reviews, vol. 13, no. 8, pp. 1819–1835,
2009. [Online]. Available: http://www.sciencedirect.com/science/article/
pii/S1364032108001949
[10] R. Smith, “Panel on design methodology,” SIGPLAN Not., vol. 23,
no. 5, pp. 91–95, 1987. [Online]. Available: http://doi.acm.org/10.1145/
62139.62151
[11] E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides, Design Patterns.
Addison Wesley, 1995.
[12] Y. Aridor and D. B. Lange, “Agent design patterns: elements of
agent application design,” in Proceedings of the second international
conference on Autonomous agents, ser. AGENTS ’98. New York,
NY, USA: ACM, 1998, pp. 108–115. [Online]. Available: http:
//doi.acm.org/10.1145/280765.280784
[13] S. Burbeck, Applications Programming in Smalltalk-80: How to Use
Model-View-Controller (MVC). Softsmarts, Inc., 1987.
[14] G. E. Krasner and S. T. Pope, “A Description of the Model-View-
Controller User Interface Paradigm in the Smalltalk-80 System,” Journal
Of Object Oriented Programming, vol. 1, no. 3, pp. 26–49, 1988.
[Online]. Available: http://www.itu.dk/courses/VOP/E2005/VOP2005E/
8\mvc\krasner\and\pope.pdf
[15] F. Kl ¨
ugl and L. Karlsson, “Towards Pattern-Oriented Design of
Agent-Based Simulation Models,” in Multiagent System Technologies,
ser. Lecture Notes in Computer Science, L. Braubach, W. van der
Hoek, P. Petta, and A. Pokahr, Eds. Springer Berlin / Heidelberg,
2009, vol. 5774, pp. 41–53. [Online]. Available: http://dx.doi.org/10.
1007/978-3- 642-04143-3\5
[16] F. Amblard, N. Ferrand, and D. R. C. Hill, “How a Conceptual Frame-
work Can Help to Design Models Following Decreasing Abstraction,
in SCS-European Simulation Symposium, Marseille, France, 2001, pp.
843–847.
[17] A. M. C. Campos and D. R. C. Hill, “An agent-based
framework for visual-interactive ecosystem simulations,Transactions
Of The Society For Computer Simulation, vol. 15, no. 4,
pp. 139–152, 1998. [Online]. Available: http://fw-wwwcalt2.
insead.edu/people/alumni/andre/simulation/calt\papers/mavis.pdfhttp:
//www.scopus.com/inward/record.url?eid=2-s2.0-0032324996\
&partnerID=40\&md5=e2a37928353862a37909ff3890258c8a
[18] J. Nutaro and P. Hammonds, “Combining the model/view/control
design pattern with the DEVS formalism to achieve rigor and
reusability in distributed simulation,” The Journal of Defense Modeling
and Simulation: Applications, Methodology, Technology, pp. 19–28,
Apr. 2004. [Online]. Available: http://dms.sagepub.com/cgi/doi/10.1177/
154851290400100102http://dms.sagepub.com/content/1/1/19.short
[19] T. K. Nguyen, N. Marilleau, and T. V. Ho, “PAMS – A New
Collaborative Framework for Agent-Based Simulation of Complex
Systems,” in Intelligent Agents and Multi-Agent Systems, ser.
Lecture Notes in Computer Science, T. Bui, T. Ho, and Q. Ha,
Eds. Springer, 2008, pp. 287–294. [Online]. Available: http:
//dx.doi.org/10.1007/978-3-540-89674-6\32
11191119
... Le monde Agent et le monde Objet présentent certaines similitudes : les états internes, les unités de comportements modulaires, la communication par envoi de messages. Cependant, les SMA (et les SOA) présentent des spécificités absentes de la POO [Gangat et al., 2012a]. ...
Article
Full-text available
Co-building and reuse of models are at the center of several studies in the field of simulation. However, in the more specific field ofMulti-Agent Based Simulation (MABS), there is a lack of methodology to resolve these two issues, despite a strong need by experts.Model co-building is essential to optimize knowledge sharing amongst different experts, but we often face divergent viewpoints. Existing methodologies for the MABS co-building allow only a low level of collaboration among experts during the initial phase of modeling, and between domain experts with modelers or computer scientists... In order to help this co-building, we propose and follow a methodology to facilitate this collaboration. Model reuse can provide significant time savings, improve models’ quality and offer new knowledge. Some MABS methodologies in this area exist. However, in the spectrum of reuse, they are often limited to a full model’s reuse or agent’s reuse with the impossibility of reusing smaller parts such as behaviors. The EDMMAS experiment was a concrete case of three successive model reuses. It allowed us to observe new complexity arising from the increase of agents’ behaviors. This creates a gap between operational model and conceptual model.Our goal is to promote the reuse of models, agents and their behaviors.To answer these questions, we propose in this thesis a new way to codify and integrate knowledge from different disciplines in the model, while using "composable"modules that facilitate reuse.We propose (i) a new agent architecture (aMVC), applied to a multidynamical approach (DOM), with the support (ii) of a methodology (MMC) based on the decompositionand reuse of behaviors.Proposals (i) and (ii) allow us to lead a multidisciplinary MABS project with a large number of actors, helping the co-building of models through the introduction of synergies among the different actors involved in the modeling. They can work independently on their dynamics and the platformwill integrate those, ensuring cohesion and robustness of the system. Our contributions include the ability to create the building blocks of the system independently, associate and combine them to formagents. This allows us to compare possibilities for the same dynamic and open the prospect of studyingmany alternate models of the same complex system, and then analyze at a very fine scale.
... Pour compléter cette modélisation, nous avons proposé un modèle d'architecture interne d'agent basé sur le "célèbre" concept MVC, qui permet, grâce aux ses propriétés, de faciliter la réutilisation. [GPC12a,GPC12b] l'utilisation d'un design pattern comme brique de base pour la construction d'un agent : le pattern aMVC (Agent Modèle-Vue-Contrôleur) représenté sur la Figure 1. Ce pattern a été introduit pour pallier au décalage entre le modèle opérationnel et le modèle conceptuel, et proposer une architecture informatique de description d'une SOA en cohérence avec une modélisation multidynamique. ...
Conference Paper
Full-text available
Lorsque l'on comprend ce qu'est la SOA, quels sont ses avantages et ses inconvénients, la première question qui se pose est : "comment procéder ?". Il n'y a pas de réponse unique. Cependant, il est nécessaire de suivre une méthodologie de conception de simulations ou encore un processus de simulation. Elle consiste à définir la suite d'opérations à réaliser pour obtenir une simulation d'une partie du monde réel. Nous proposons dans cet article un tronc com-mun aux différentes méthodologies de conception de simulations. Ensuite, nous présen-tons une nouvelle approche facilitant la co-construction (la collaboration entre des thématiciens pour construire un modèle) et la réutilisation de modèle, tirant parti de DOM et aMVC. Enfin, nous appliquons cette approche méthodo-logique sur un exemple et proposons quelques perspectives.
Thesis
Ce travail s'intéresse à l'adaptation des systèmes informatiques opérant dans un environnement ambiant. Ce type de système est caractérisé par un ensemble de composants hétérogènes, distribués et connectés en réseaux. Ce cadre applicatif ambiant est fortement dynamique. À tout moment, des événements imprévisibles représentent une perturbation potentielle. Par conséquent, d'un côté, la cohésion de l'ensemble des activités collectives n'est pas toujours garantie. D'un autre côté, le fonctionnement normal n'est pas toujours maintenu lorsque les perturbations se présentent. Face à ces problèmes, nous proposons un modèle conceptuel d'architecture pour l'adaptation de ces systèmes informatiques. Notre objectif est d'optimiser l'activité collective. Notre contribution principale est un pattern de conception d'architecture uniforme et générique appelé GMAS. Ce modèle est basé sur une approche orientée comportement. Sa particularité est la vérification de l'applicabilité d'un comportement avant son exécution. Les critères de vérification sont principalement l'état courant du cadre applicatif et celui des interfaces d'action. L'adaptation vient ensuite par ajustement des comportements futurs en fonction des retours de la vérification. Le modèle d'architecture GMAS gère de manière indépendante les événements exceptionnels. Ce qui fait que les objectifs propres à l'agent ou au collectif n'ont pas à tenir compte de ces événements exceptionnels dans leur code source. La gestion des problèmes d'adaptation au niveau individuel et au niveau collectif est uniforme. Nous estimons qu'une adaptation collective passe par la prise en considération de l'individualité. Le but est d'avoir des agents flexibles une fois au niveau collectif. Pour cela, au niveau des composants individuels, l'instance de ce modèle constitue un modèle d'architecture interne. Au niveau de l'ensemble des composants, qui est le niveau global, GMAS offre un modèle de coordination de comportements collectifs basé sur la distribution des modalités opératoires. Avec ces trois propositions de modèle conceptuel : générique, pour le niveau local et pour le niveau global, nous évitons les situations néfastes lors de l'exécution. Nous implémentons chaque modèle sous forme de librairie Java pour montrer son efficacité.
Conference Paper
Full-text available
Un projet nommé GERRI a été lancé à la Réunion dans le but de favoriser le développement de nouvelles technologies écologiques. Une des pierres fondamentales de ce projet est la maitrise de l’énergie, dont l’aménagement énergétique d’un territoire fait partie. Les recherches dans ce dernier domaine du projet sont peu foisonnantes. Nous proposons dans cet article une nouvelle approche qui passera par la modélisation de l’aménagement énergétique du territoire, grâce aux systèmes multi-agents. Nous exploiterons plus particulièrement la possibilité de géo-localiser les agents, afin d’obtenir des avantages non accessible dans les autres approches qui, pour la plupart, ne prennent pas la localisation en considération. La localisation géographique apporte une nouvelle dimension, car il est possible de visualiser les flux d’énergies et donc d’optimiser les pertes dues aux transports. Il est aussi possible grâce à cet outil de simulation d’argumenter certains choix au niveau production d’énergie, ou encore de discuter de certaines politiques de consommation.
Conference Paper
Full-text available
Le projet GERRI donne corps pour l'île de la Réunion aux orientations du Grenelle Envi- ronnement, dont l'aménagement énergétique d’un territoire est l’une des facettes. Il s'agit de prévoir la consommation et la production d'énergie future, tout en respectant un ensemble d'indicateurs économiques et écolo- giques, à l’aide de nombreux schémas d'inte- ractions entre les acteurs. L'originalité du présent article est d’organiser une nouvelle approche via les multi-agents, qui offre une alternative pertinente aux autres modèles. Ce travail, développé sur Gea- mas-NG et basé sur un outil (Domino-SMAT) déjà implanté dans le cadre d'un autre projet, permet la simulation et la géo-localisation des flux d'énergie tout en tenant compte des inte- ractions modélisables. A terme, l’objectif est de réaliser un outil d’aide à la décision dans l’aménagement énergétique d'un territoire grâce aux différents scénarios possibles, notamment en prévision de nouvelles installations et de leur dimen- sionnement, ou encore en cas de dysfonction- nement ou de maintenance d'une infrastructure. The GERRI project materializes the Grenelle Environnement’s goals, of which the energy management of a territory is a facet. The aim is to forecast future energy production and consumption, bearing in mind economic and ecological indicators, and using a large num- ber of interactions schemes between the involved parties. The originality of this paper is to present a new approach using the multi-agents systems, which could offer an appropriate alternative to other models. This work is based on one of the tools (Domino-SMAT) developed on the Gea- mas-NG platform. It allows the simulation and geo-localization of energy flow while reckoning with modeled interactions. Eventually, the aim is to provide a decision-support tool for the energy planning within a territory, thanks to the different possible scenarios, e.g. in anticipation of new power plant and its sizing, or in case of a malfunction or maintenance work.
Conference Paper
Full-text available
Green sea turtles (Chelonia mydas) inhabit tropical and subtropical oceans worldwide. Living in the marine environment and laying eggs on the beach, they are mainly threatened by human activities (poaching, fisheries bycatch, habitat destruction, etc.). In Reunion Island, the Kélonia observatory and IFREMER develop various scientific programs to study and protect sea turtles. One of them consists in studying migrations of green sea turtles for mating purpose. As existing mathematical models struggle to take spatial dimension into account, we propose an agent-based model to study some of the numerous questions regarding green sea turtles migrations. Coming with high expectations, experts in sea turtles also provide many heterogeneous but incomplete data. Considering available or obtainable data in one hand and the various questions of experts in the other hand, we defined an innovative modelling process in which we simultaneously conduct discussion with experts and prototyping. This paper aims at presenting our simulation model but also our approach as well as the data-collection and modelling roadmap it produced.
Conference Paper
Full-text available
In this paper we propose a framework, named DAMMASS, standing for Decreasing Abstraction Methodology for Multi-Agent Social Simulation, elaborated for the design and the implementation of individual-based social models. Its main characteristic is modularity. It recovers two major features. The first feature is the modularity of the modelling process: following the decreasing abstraction methodology uses a collection of models growing from very simple and abstract models to more complex and realistic ones. The second feature deals with the modularity of a given model in the frame of social and ecological modelling, it is described in term of four kinds of sub-models: Agent, Relation, Environment and Organization. The implementation of the framework will enable the management of the modelling process as well as the management of each sub-model.
Article
Full-text available
Customizing ecosystem simulation applications is a complex operation and the design of multi-agent systems remains expensive and error-prone. Object-Oriented frameworks are a promising technology for the reuse of proven designs and implementation (i.e. software components and design patterns). This paper focuses on the design of agent-oriented, visual-interactive ecosystem simulations. We propose a customizable application framework, the novel aspects being the use of new advanced software engineering techniques for the reuse of simulation models. The proposed framework is presented with the Unified Modeling Language applied to complex ecosystems with behavioral models encapsulated into active autonomous objects with social interactions (i.e. agents). The framework is also designed to support 2D or 3D visual-interactive feedback to end-users at run-time in addition to its ability to interface with Geographical Information Systems and the Web.
Article
Customizing ecosystem simulation applications is a complex operation, and the design of multi-agent systems remains expensive and error-prone. Object-oriented frameworks are a promising technology for the reuse of proven designs and implementation (i.e., software components and design patterns). This paper focuses on the design of agent-oriented, visual-interactive ecosystem simulations. We propose a customizable application framework, the novel aspects being the use of new advanced software engineering techniques for the reuse of simulation models. The proposed framework is presented with the Unified Modeling Language applied to complex ecosystems, with behavioral models encapsulated into active autonomous objects with social interactions (i.e., agents). The framework is also designed to support 2D or 3D visual-interactive feedback to end users at run-time, in addition to its ability to interface with Geographical Information Systems and the Web.
Article
Defense-related simulation efforts are increasingly focused on component-based simulation development. This focus is reflected in efforts to design new simulation software in terms of interacting components that can be understood and reused in isolation or collectively and to modify legacy simulators to incorporate new component-based simulation technology. A strong, new capability to modify simulation software is necessary to make component-based simulation development a reality. Such a capability can only be realized by incorporating sound modeling and simulation principles and a clear separation of concerns between models, simulators, and distributed computing. This paper presents a design pattern that supports the construction of adaptable simulation software via an extension of the Model/View/Control design pattern. The resulting Model/Simulator/View/Control pattern incorporates key concepts from the DEVS modeling and simulation methodology in order to promote a separation of modeling, simulation, and distributed computing issues. The advantage of this approach to simulation software design is considered in the context of other documented attempts to promote component based simulation development. The new design pattern is demonstrated through its application in a simulation based test signal generator used to support the Single Integrated Air Picture (SIAP) systems engineering effort.