0% found this document useful (0 votes)
19 views17 pages

Visual Modeling For Complex Agent-Based Simulation

Uploaded by

Binuyo Ayodeji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views17 pages

Visual Modeling For Complex Agent-Based Simulation

Uploaded by

Binuyo Ayodeji
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/221055910

Visual Modeling for Complex Agent-Based Simulation Systems

Conference Paper in Lecture Notes in Computer Science · July 2005


DOI: 10.1007/11734680_13 · Source: DBLP

CITATIONS READS

41 207

3 authors, including:

Juan Pavón Jorge J. Gómez-Sanz


Complutense University of Madrid Complutense University of Madrid
238 PUBLICATIONS 4,460 CITATIONS 157 PUBLICATIONS 3,644 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Juan Pavón on 29 May 2014.

The user has requested enhancement of the downloaded file.


Visual Modeling for
Complex Agent-Based Simulation Systems

Candelaria Sansores, Juan Pavón and Jorge Gómez-Sanz*

Universidad Complutense Madrid, Dep. Sistemas Informáticos y Programación


28040 Madrid, Spain
csansores@fdi.ucm.es,{jpavon, jjgomez}@sip.ucm.es

Abstract. Currently there is a diversity of tools for agent-based simulation,


which can be applied to the understanding of social phenomena. Describing this
kind of phenomena with a visual language can facilitate the use of these tools
by users who are not necessarily experts in computer programming, but in
social sciences. With this purpose, we propose to define such visual language,
which is based on well established concepts of agent-oriented software
engineering, and more concretely on the INGENIAS methodology. The
proposed language is independent of any particular simulation platform and, by
using INGENIAS code generation support, it is possible to generate
implementations for the desired target platforms. Also, we consider that
modeling should be application domain oriented and that a generic language
itself does not suffice. Thus, we discuss at the end how specific domain
simulation environments could be achieved.

1 Motivation

Agent-based modeling and simulation is being increasingly used for exploring the
complexity of social dynamics. This approach facilitates the study of how social
phenomena emerge, that is, how the interactions and varied behaviors of individual
agents produce structures and patterns. Thus, agent based modeling is well suited for
studying systems that are composed of interacting agents and exhibit properties
arising from the interactions of the agents that cannot be deduced simply by
aggregating the properties of the agents. This is the kind of problems that appear
when studying complex adaptive systems like those found in social sciences.
Complex adaptive systems are often characterized by agents interacting or capable
of interacting with each other in dynamic, nonlinear and unpredictable ways [12].
From a computer science view, a complex adaptive system is a form of complex
multi-agent system (MAS) with adaptive agents. However, complex MAS are rarely
implemented because the system can become easily intractable. Thus, the general
approach to study a complex adaptive system is a computer simulation, in which

* This work has been developed with support of the Consejo Nacional de Ciencia y Tecnología
(CONACYT) from México and the project TIC2002-04516-C03-03, funded by the Spanish
Council for Science and Technology.
repeated iteration of simple local rules in a population of simple interacting agents
leads to complex global phenomena.
This drives to the fact that most agent-based models found in social science
simulations are basically cellular automata, a special kind of MAS with primitive
agents, arranged on a rigid grid, and interacting with one another following simple
rules. Even so, emergent phenomena, like larger and perhaps global social structures
and patterns of behavior, can be still observed and studied from cellular automata
simulations, as many results that have been published in the social science literature
show. Due to this simplicity in agents’ implementations, some authors (for instance
[8]) question whether these are really computational agents, as those found on MAS
or Distributed Artificial Intelligence, and arguments sustaining agents are not used to
implement agent-based simulations, but only to design them.
We agree that agents employed in most social simulations are not sophisticated
agents with cognitive internal structures and communication language capabilities like
the ones in MAS discipline. But we also think that these agents are, at least,
minimalist agents like tropistic agents, whose actions are entirely determined by their
current environment, or hysteretic agents, which retain and are influenced by their
memory on previous environments and results, as well as by their current ecology [9].
For this reason, most of the agent-based social simulation tools that are available
for social scientists are toolkits without a sophisticated underlying MAS model. The
main goal of these tools is to assist modelers to implement simple agents that react
through changes made to the environment by other agents, interacting indirectly
through the environment. After a survey of simulation tools in the social science, we
found that toolkits follow this philosophy, modeling simple, ecologically defined
societies. Although some of these toolkits offer much more than this, not like already
implemented features but providing an open implementation to integrate them.
Simplicity is not a problem if we consider modeling is a term for simplification,
and the rule of Occam’s razor1 says that the simpler the better. However, regarding
MAS discipline we question ourselves if MAS potential is not being leveraged, and
the plausibility issue with regard to social simulation also arises, which, in principle,
involves modeling human cognition a little more realistically.
Should agents be simple or should they be complex is a core question in the agent
based modeling domain, and still an open debate. Proponents of the simplicity of
agents, the so-called keep-it-simple-and-stupid, or KISS principle [3], point out that
the most interesting analytical results are obtained when complexity at the macro
level is produced by simple micro-level dynamics.
Proponents of the complexity of agents [5] obtain their arguments especially from
the fields of Sociology and Cognitive Psychology, and emphasize the idea that agents
should be kept as simple as suitable. There are uses of computer simulation in which
the faithful reproduction of a particular setting is important, like prediction of interest
rates in economy. For this purpose, the assumptions that go into the model may need
to be quite realistic.

1 Occam's razor is a logical principle (often called the principle of parsimony) attributed to the
mediaeval philosopher William of Occam. The principle states that one should not make
more assumptions than the minimum needed. It admonishes us to choose from a set of oth-
erwise equivalent models of a given phenomenon the simplest one.
In this work we do not pretend to provide an answer to the simplicity vs.
complexity discussion, neither to provide another simulation toolkit; we consider that
there are good tools already, each one providing different features and bringing a
unique perspective to the field. This diversity gives many benefits in terms of
affording the opportunity to explore new ideas within the various toolkits and
providing various approaches that fit with different types of problems.
Our purpose is to facilitate the use of these tools by social scientists, and the way to
do this is to abstract them, as much as possible, from simulation programming issues.
According to this, we intend to provide an easily customizable tool for describing
phenomena in different social domains with a visual language. This visual language
must be toolkit-independent for specifying simulation models. It supports simple
agents (like those already supported by existing agent-based simulation toolkits) and
complex agents (that mimic real agents as much as necessary), and considers
organizational issues to manage another dimension of complexity (the society of
agents and the system’s architecture).
Initially, we have identified some open issues in social sciences simulation
literature and on several surveys we have carried out in the field as well as others like
[13, 23]. The need for a toolkit-independent visual modeling language is mainly
supported by model communication and replication requirements. A common
language to describe agent-based models, independent of the implementation
platform, could be a better mean of communication among users or tools than using
source code, since it demands a high effort to understand and interpret the models,
sometimes leading to misunderstandings.
Also, we are aware of having a universal modeling and simulation language for the
social domain is not feasible, as it has been already discussed in [10], so our aim is to
provide a language that can be customized to particular social domains, by
specialization or addition of new elements, which can be defined by the modelers of
such domains. With this purpose we adopt an agent-oriented methodology,
INGENIAS [16]. This methodology is based on meta-modeling principles and
supported by a set of tools for modeling and code generation for multiple platforms.
In this sense, it can facilitate our approach as it can be easily adapted for our purposes
by extending its underlying meta-model.
Section 2 reviews approaches for agent based simulation modeling. Section 3
briefly describes the INGENIAS agent oriented methodology, which is adapted to
model agent-based social systems. Section 4 presents a case study that shows the
feasibility of describing complex agent-based simulation systems with the INGENIAS
visual modeling language. Section 5 summarizes our contributions and concludes
with the identification of further work.

2 Agent Based Simulation Modeling

As agent-based simulation has gained in popularity, software tools for modelers are
emerging. There are various toolkits for developing agent-based simulation systems.
REPAST [17] is a set of Java libraries that allows programmers to build simulation
environments, to create agents in social networks, to collect data from simulations
automatically, and to build user interfaces easily. Its features and design owe a lot to
SWARM [22], one of the first agent-based modeling libraries. Another similar library
is ASCAPE [2]. MASON [14] is a single-process discrete-event simulation core and
visualization toolkit written in Java, designed to be flexible enough to be used for a
wide range of simulations, but with a special emphasis on swarm simulations of a
huge number (up to millions of) agents. The design philosophy of these toolkits is to
provide a model library to which an experienced programmer can easily add features
for simple simulations.
These libraries have great advantages for modelers over developing their own, but
they require having a good working knowledge of a programming language (usually
Java). Thus, inexperienced programmers could find that a higher-level declarative
language instead of a programming language would be desirable. This was the
purpose of SDML [19], which has been built on Smalltalk. Unlike ASCAPE and
REPAST, it does not demand users to be fluent in the underlying programming
language, but they have to learn a complex interface that can be as difficult to master
as a full programming language, which finally limits its usability.
Another kind of tool that has emerged for developing simulations is rapid
development environments. These allow the building of simple models using visual
programming, for instance, STARLOGO [21], NETLOGO [15], CORMAS [6] and
AGENTSHEETS [1]. Although they are relatively easy to use, agents in this kind of
systems are quite simple, usually with a poor or nonexistent agents’ cognitive model,
and without support to model direct interactions between agents.
Simulations developed with both kinds of tools, either toolkits or rapid-
development libraries, are proprietary model descriptions. This makes impracticable
to compare two different implementations of the same specification. Therefore,
replication of models turns out complicated due to the diversity of specification
languages and the lack of a common one that addresses conceptual modeling. One
approach that seems to consider this requirement more formally is SESAM [20]. This
framework provides an environment for modeling, which is based on UML-like
activity diagrams. Although it does a step forward in the modeling issue, it still lacks
of common functionality that is usually available in more general agent development
tools, such as the ability to specify agents direct interactions via messages. Thus,
interactions in such simulations are expressed indirectly through changes in the
environment, mainly because this toolkit is based on reactive agents and not on
sophisticated internal reasoning process, which are prerequisites for complex
negotiation abilities. So, it does not support complex goal-oriented agents.
Our purpose is to increase the potential of agent-based simulation tools by
providing a visual language for describing agent-based simulation models and
abstracting the model specification from the implementation platform.

3 A Visual Modeling Language Based on INGENIAS

INGENIAS [16] provides a language for modeling multi-agent systems (MAS), and
support tools for analysis, design, verification and code generation, the INGENIAS
Development Kit (IDK). These tools, as well as the language, are based on the
specification of meta-models that define the different views and concepts from which
a multi-agent system can be described. By extending and refining the meta-models it
is possible to adapt the language and the tools for particular application domains,
always relying on agent concepts. As a proof of concept, this has been applied, for
instance, for holonic manufacturing systems [11]. This is one of the main reasons to
consider INGENIAS as the basis for our approach.
A MAS specification with INGENIAS is performed from five viewpoints, whose
use is illustrated in the next section. An important characteristic of INGENIAS is that,
when describing a MAS, it fully assumes the social and intentional nature of agents.
• Organization viewpoint. The organization describes the framework where agents,
resources, tasks and goals coexist. It is defined by its structure, functionality and
social relationships. From a structural viewpoint, the organization is a set of
entities with relationships of aggregation and inheritance. The organization
structure defines a decomposition of the MAS in groups and workflows.
Workflows define the dynamics of the organization, by describing
consumer/producer associations between tasks as well as assignment of
responsibilities (to agents or roles) for their execution, and resources associated to
each one. Social relationships define dependencies (for instance, subordination,
peer-to-peer) between agents in the organization. Thus, the organization allows
managing complexity by structuring the system and determining global behavioral
rules.
• Agent viewpoint. Each agent is defined by its purpose (what goals an agent is
committed to pursue), responsibilities (what tasks it has to execute), and
capabilities (what roles can play). The way this is reflected is by defining the
mental state of the agent, its management and processing. The mental state consists
of goals of the agent, the information it has about the satisfaction of those goals,
and its knowledge about the world and facts reflecting its past experience. Thus,
the mental state provides the information that the agent needs to make decisions,
i.e., to decide what actions to execute.
• Environment viewpoint. The environment is defined in terms of what agents can
perceive or actuate. It also identifies available resources as well as already existing
agents and applications with which an agent can interact.
• Tasks and Goals viewpoint. It considers the break down of goals and tasks. It also
describes the consequences of performing a task, and why it should be performed
(i.e., it justifies the execution of tasks as a way to satisfy goals). For each task, it
determines what elements are required and what outputs are expected. To identify
which goals are influenced by a task execution, there are satisfaction and failure
relationships. Finally, the tasks/goals viewpoint explains how a solved goal affects
other existing goals by using decomposition and dependency relationships.
• Interaction viewpoint. The interaction viewpoint addresses the exchange of
information or requests between agents, or between agents and human users. The
definition of an interaction in INGENIAS goes a step further than traditional
formalisms, such as UML sequence diagrams, in the sense that it reflects the
motivation of the interaction and its participants. It also includes information about
the mental state required by each agent throughout the interaction as well as tasks
executed in the process. In this way, it allows to express at design level why an
agent engages in an interaction and why it should continue. Furthermore,
interaction protocols can be specified using different formalisms: AUML, UML
collaboration diagrams and GRASIA diagrams, a specialization of UML
collaboration diagrams to address intentional issues associated with an interaction.
It is important to notice that INGENIAS is an open methodology for modeling
MAS, and these viewpoints just provide a guideline to build models during the
analysis and design phase; this implies that the developer has the responsibility to
decide which models generate, in which order and the level of detail. In this sense,
our purpose here is to see whether INGENIAS provides enough modeling elements
for complex agent-based simulation systems, which issues require some refinement or
extensions in order to specify time properties and location of agents in the
environment, and deployment of experimental models. This has driven us to consider
two new viewpoints: the Timer viewpoint and the Space viewpoint, which can be
considered as extensions of the Environment viewpoint.
The Timer viewpoint manages the flow of time in the model during the execution
of the simulation. Because our approach assumes simulations that are going to be
carried out are time driven, we need constant time steps for simulating the perception-
reaction cycle of agents who act by the passage of time. The Space viewpoint
describes the spatial arrangements of agents in the model. Currently, we have only
defined simple spatial relationships like continuous spaces, but we plan to consider
2D, 3D, hexagonal grids, hexagonal tori, etc., spaces, as in most simulation toolkits.
The case study in the next section shows in practice a set of models and design
artifacts with this modeling language. We will see the details of each model
considering that they are not only blueprints but development artifacts that contribute
directly to the implementation phase of the simulation system.

4 The Case Study

The example used to illustrate the visual modeling language for agent-based
simulation systems is taken from [7], which studies altruism among simple and smart
vampire bats. This example is interesting as it shows the importance of modeling
agents as cognitive entities and remarks the impact of intelligence, goal-based
systems on the spreading of altruism, provided these systems are highly dynamic. The
model considers a population of vampire bats (agents) that live in roosts, where they
get back to after hunting and perform social activities like grooming and sharing food.
The entities explicitly modeled as agents are the bats. Roosts are modeled as
aggregates of bats. In roosts, bats are allowed to share food and to groom one another.
Each simulation cycle includes one daily and one nightly stage. During the daily
stage, the simulated animals perform the social activities, in the night they hunt. Each
night 93% of the population will find food to survive until the next hunt. The
remaining 7% will starve, unless they receive help from some fellow (under the form
of regurgitation). A starving bat will turn to grooming partners for help, and will
avoid death if any of them is found to be full. Help-giving allows animals to achieve
credits, which will be extinguished if and when help is returned. Animals are
endowed with social knowledge: consisting of a memory of past grooming and food-
sharing interactions, and of consequent credits. After each simulation the number of
death bats, the number of altruistic acts performed and the number of credits turned
on or off are recorded.
We start modeling the case study with an Organization model. The organization
allows managing complexity by structuring the system and determining global
behavioral rules. At a global level, the goal of the organization (its purpose) is shared
by its agents, which can be structured in groups. Agents in the organization execute
tasks that are identified in workflows or distributed plans, which depict the dynamics
of the organization.
In the case study, the organization is a bats population, whose purpose is the goal
Survive, as shown in Fig. 1. This organization consists of one or more roosts
(represented as groups with the group icon) and a credit network (represented as an
organization network with the network icon). There is only one type of agents, Bats,
which can play several roles. Bats belong to roost group. In a roost, a bat can play the
role of altruist or recipient depending on whether help is given or received. In the
credit network, a bat can play the role of NodeTo and NodeFrom.

Fig. 1. The organizational model diagram. The organization (represented as a rectangle with
three circles) pursues a goal (represented as a circle), has groups (represented as rectangles with
two circles) and workflows or plans. Agents (a rectangle with one circle) and roles (similar to
agents but without a circle) are members of one or more groups.

The cardinality in the associations indicates the organization can have one or more
roosts and the roost one or more bats, the same applies to roles cardinality, which
indicates that it is possible that the role of recipient, for instance, may not be played
by any agent.
The behavior of bats is represented collectively as plans, Night Behavior and Day
Behavior in Fig. 1, which are further broken down in tasks.
The Organization Network entity (represented as rectangles with two circles and
three nodes inside in Fig. 1) is a clear example of how the INGENIAS modeling
language can be extended. We added this new entity to support network models, since
these models are frequently studied in social simulation systems.
The entities which have been first identified in the organizational model can be
further detailed when looking at the system from other viewpoints, in other diagrams,
as it is shown below.

Fig. 2. The roles/goals model diagram. Depending of bats’ motivational force for pursuing
goals each agent plays a different role. This is a function of the motivational value for pursuing
SG and NG goals and is a good example of roles specialization and inheritance.

The simulation model we consider in this case study is the dynamic variant of
smart agents in [7], this states that smart agents are endowed not only with actions,
but also with mental states such as beliefs and goals. Therefore, the norm of
reciprocity is a more complex construct taking beliefs as input conditions and giving a
set of mental representations, namely beliefs and goals, as outputs. The main output
of the rule is then a normative belief; it tells what is expected of oneself. Whether we
will actually conform or not depends upon a further mental process initialized by the
rule, this is, the formation of a normative goal based upon the normative belief [4].
Therefore, in this model, goal-dynamics is an essential aspect of cognition. Agents
are endowed with a cognitive architecture in which a goal is a mental construct. More
specifically, in this case, agents have two goals, the normative (give help) and the
survival goal (stay alive). Both goals vary according to their motivational force. The
smart algorithm implementing the mental state has a small number of rules modifying
the values of agents’ motivational force, in particular of the normative goal (NG). The
motivational force of survival goal (SG) has been fixed to 0, while the normative
motivation is left free to change. The normative value is incremented by altruistic
acts: the experience of an effective application of the norm (donation and, to a greater
amount, reciprocation) raises the value of normative motivation, while the increase of
unreciprocated donations lowers it. As a consequence, the strategy applied by an
agent is dictated by the value of its normative motivation.
These issues are described in the diagram in Fig. 2, a roles/goals model. This
model is important because it shows role dynamics based on motivational force for
pursuing goals. If motivational force for pursuing certain goal changes, then an agent
changes dynamically the role is playing (through roles inheritance).
As shown in Fig. 2, a bat agent can play two different roles, each one defined
pursuing different goals. In this case, there is a major role of altruist which pursues
goals Stay Alive and Give Help. Depending of motivational force of giving help
expressed with the fact normativeGoal, bats can play an inherited role of the altruist:
cheater when normativeGoal <-2, prudent when -2<= normativeGoal <0, fair when
0<= normativeGoal <=1, generous when 1< normativeGoal <=4, and martyr when
normativeGoal >4.
Also, there is a second role of recipient, this role is played by starving bats that ask
for help and are given blood to survive; this role pursues the goal Find Help. The
NodeTo and NodeFrom roles are special roles played by the agent although they are
not shown in this model; however, they are implicit in the implementation and it is
not necessary to include them in the diagram.

Fig. 3. The tasks/goals model diagram. This model shows the motivations behind tasks execu-
tion and how they affect goals.

Goals should be broken down into sub goals up to a level where concrete tasks can
be specified. This is modeled in the tasks/goals model, which justifies the execution
of tasks as a way to satisfy goals. The association of objectives and tasks is guided by
the principle of rationality, in which agent actions are justified by the objectives it
pursues.
Also, tasks in this model are important because they play an important role in the
evolution of mental states of its executors. In a more pragmatic point of view, tasks
are a set of instructions to be executed and could be integrated in a plan. Thus, tasks
shown in this model belong to workflows or plans depicted in the organizational
model diagram.
Fig. 3 shows the relationship between goals and tasks. Here, we can observe how
the Survive goal breaks down into two sub-goals: Stay Alive goal and Give Help goal
which depends on the former. Tasks are associated with objectives through GTAffects
relationship, whose semantics indicates that a task affects the mental state of its
executors, just like we said before. In the same way, Stay Alive goal decomposes in
Find Help goal which is affected by task Ask for Help.
Now, we define each type of agent in the organization with an agent model. In this
model each agent is defined by its responsibilities (goals is committed to pursue, tasks
it has to execute, and roles can play) and behavior. Agent’s behavior is specified by
defining the mental state of the agent, as well as its mental state management and
processing. As we said before, the mental state entities consist of: agents’ goals and
the information it has about the satisfaction of those goals, its knowledge about the
world and facts reflecting its past experience.

Fig. 4. The agent model diagram. Depict agent’s mental state entities, like goals, roles, tasks,
and facts, as well as its mental state manager and processor.

The mental state is managed and processed by a mental state manager and proces-
sor to produce agents’ decisions. The manager provides for operations to create, de-
stroy and modify mental state entities, and the processor take decisions based on goals
and tasks that satisfy them. In Fig. 4 both entities are represented with the MS-
Manager-Sim and MS-Processor-Sim icons respectively.
The separation between agent’s responsibilities and behavior allows to use differ-
ent mechanisms like neural networks, learning algorithms, and user defined ones, etc.
to implement agent’s mental state control mechanisms. In this work, we defined our
own appropriated mental state manager and processor which are represented in Fig. 4.
In this way, the final user does not need to define these complex elements, but only
the mental state entities.
Also, we can see in Fig. 4 the agent’s mental state informational entities named
Goal-Dynamics-MS with facts represented in frames (ApplicationEventSlots), as well
as goals pursued by the agent, in this case the Survive goal, roles played by the agent:
altruist, recipient, NodeFrom, NodeTo, and plans performed by the agent, like Night-
Behaviour Plan and DayBehaviour Plan.
Tasks play a fundamental role in the evolution of agents’ mental state, since It de-
scribes how the mental state of agents change over time, what is the consequence of
executing a task with respect the mental state of an agent, how to achieve goals and
what happens when a goal cannot be achieved. Therefore we define a tasks model to
represent this information.

Fig. 5. An extract of the tasks model diagram. Represent a plan of actions an agent can execute,
the plan is decomposed in individual tasks which can consume or produce certain facts. The
execution of a task can produce interactions as well.

The extract of the tasks model in Fig. 5 defines a plan of actions executed by the
agent. The plans are expressed like workflows with a sequence of tasks, here the
precedence of tasks and the condition required to be executed are established by rela-
tionships like ConditionalMS, WFConnects, WFDecomposes, etc.
The conditional relationship indicates there is a specific mental state required by
the agent to be able to execute the plan or task, this condition is further detailed in a
conditional mental state model diagram. Also, tasks can produce interactions, like we
can see in the figure and which are further described in an interaction model diagram.
In Fig. 5, the execution of DayBehaviour Plan is conditioned by fact isDay having
certain value, and the condition is described in a conditional mental state model dia-
gram. The plan contains tasks Groom, Ask for Help, and BoundedToDie. Task Ask for
Help consumes several facts, connects with other tasks and produces interaction
Beneficiary-Altruist Interaction, as can be seen in Fig 5.
A conditional mental state model is actually an instance of an agent in runtime and
is also known as instantiated agent model. An instance of an agent in runtime is
necessary to describe the evolution of the agent’s mental state referring to properties
of running agents, like restrictions or requirements an agent should satisfy. Also it is
useful for denoting a concrete agent in the system.
At the bottom of Fig. 6 we can see a conditional mental state model diagram which
depicts the condition to be met in order to execute DayBehaviour Plan. The model
consist of an agent type between brackets which represents an instance of an agent in
runtime, this instance has the fact isDay which participate in the description of
requirements or conditions for its mental state. We used a Java expression to describe
the condition, which says: isDay fact should be true.
This conditional mental state model is associated to DayBehaviour Plan editing
ConditionalMS relationship in the task model and adding the name of the conditional
mental state model in the editing box, as shown at the top of Fig. 6.

Fig. 6. The conditional mental state model diagram. At the bottom of the figure we can observe
the conditional mental state model with a description of requirements for an instance of an
agent’s mental state in runtime. The relationship of this model and the task model is shown at
the top of the figure.

A traditional system consists of several conditional mental state models and used to
be more complex, including for example roles the agent should be playing or goals
should be pursuing in order to meet the condition.
Another aspect modeling simulation systems is the specification of agent’s
interactions. An interaction is defined by two models, a contextual model, as the one
we can see in Fig. 7, and a model with the interaction specification details, that is, the
interaction model, as the one in Fig 8.

Fig. 7. The contextual model diagram. This model specifies contextual information of
interactions.

Contextual information specifies what goals are pursued by the interaction, the
actors that participate, their motivations to engage in the interaction and constraints on
their mental states. In Fig. 7 we can see the Recipient role pursuing goal Find Help
and initiating an interaction with a collaborative agent playing role of Altruist and
pursuing goal Give Help. The interaction goal is the survival of participants. The
interaction details are specified with a GRASIA specification diagram (see Sec. 3) and
is indicated with a HasSpec relationship as is shown in Fig. 7 and the name of the
interaction model in the associated model attribute.

Fig. 8. The interaction model diagram. Consist of two participants, one of them initiates the in-
teraction and the other one collaborates, the model show the sequence of messages and the
tasks participants perform during the interaction.

The interaction model in Fig. 8 consists of the exchange of interaction units in a


sequence (e.g., messages) between a starving bat and a potential altruist. When a bat
is starving, it plays role of Recipient and executes Ask for Help task which produces
an interaction, that is, initiate an interaction. DonateRequested message is passed to
Altruist role which collaborates in the interaction and executes task DonateRequested
to decide if it can help and the amount of blood to give away, sending back a message
with bloodamount to Recipient.

Fig. 9. The environment model diagram. Depict a bat agent perceiving changes in the environ-
ment as well as already existing agents on it through configurable attributes.

Finally, the environment model is defined. Fig. 9 shows what a bat agent can per-
ceive through changes in the environment, like current stage, either day stage or night
stage. It also identifies already existing agents. Information perceived by agents is
configured with different attributes in the Environment entity, in this case: agentList,
isDayStage and isNightStage attributes. Time and Space attributes are not shown in
this model but they are implicit like implementation issues and are configurable dur-
ing deployment phase.
With this set of models it is possible to specify a simulation system with a view of
the global structure (organization), the different roles and goals pursued by system
entities, and the behavior of the entities, both individually (in terms of the
management and processing of their mental state) and collectively (in terms of
interactions between agents and with the environment). The next step is code
generation from the models. The code generation process is based on templates,
which should be previously developed for the target simulation toolkit. These
templates are instantiated taking information from the MAS model. In concrete, agent
mental state manager and processor are the most variable part in different mappings
for specific target platforms. Interactions can be modeled through the implementation
of specific mechanisms in the target platform. These techniques have been already
used in the INGENIAS Development Kit for several target platforms such as JADE,
Robocode or J2EE, therefore we are confident about its feasibility.

5 Conclusions

In this paper we consider the need for the visual modeling of social systems
composed of multiple agents with complex behaviors, which can be based on
intentional and organizational concepts. The specification language is more
declarative than procedural, which in principle should facilitate model communication
between different users. Given that this kind of modeling language is independent of
specific simulation toolkit or library, it should also facilitate model replication.
We have considered a direct application of INGENIAS language, just to check that
agent oriented software engineering offers enough elements to specify the kind of
problems that social simulation requires. However, we are conscious that this kind of
language, although visual, is not usable enough for non experts in the agent approach.
Therefore, we envision developing from these concepts, application domain oriented
versions, in which those agent concepts are wrapped and represented in terms of
application domain concepts. This is in line with INGENIAS approach, which is
based on the application of meta-models, whose manipulation allows developing
domain-specific tools.
The second issue is the generation of code for specific target platforms, which is
also related with the replication problem. Our approach is to use the INGENIAS
Development Kit (IDK) for building code generation modules. Basically, once basic
templates for specific target platform are defined, the IDK offers an API and libraries
to navigate the specification graph in order to determine how to instantiate
specification elements with the templates. At the end, the modeler will have a
customized visual environment to specify simulation models that will be executed on
one or several simulation engines, with the ability to contrast results.
After the visual modeling phase that has been presented here with a case study, the
implementation on multiple platforms for REPAST and MASON toolkits is discussed
in [18]. We have started with these two toolkits because in the case of REPAST it has
demonstrated to be a suitable simulation framework widely used in different MABS
domains, and MASON, although recently appeared, it has adequate features to create
complex simulations with a huge amount of agents. Besides, both tools are open Java
libraries, which is very suitable for the INGENIAS code generation approach.

References

[1] AgentSheets. 2004. AgentSheets: Agent-based end-user development. Available from:


http://www.agentsheets.com
[2] Ascape. 2000. Ascape: Agent based research. Available from:
http://www.brook.edu/es/dynamics/models/ascape
[3] Axelrod, R. Advancing the Art of Simulation in the Social Sciences. In: R. Conte, et al.
(Eds.): Simulating Social Phenomena. Lecture Notes in Economics and Mathematical
Systems, Vol. 456. Berlin Springer. (1997), 21-40.
[4] Conte, R., C. Castelfranchi. Cognitive and Social Action. 1995, London: UCL Press.
[5] Conte, R. Social Intelligence Among Autonomous Agents. Computational and Mathemati-
cal Organization Theory, 1999. Vol. 5(3): p. 203.
[6] Cormas. 2004. Cormas: Natural resources and agent-based simulations. Available from:
http://cormas.cirad.fr/indexeng.htm
[7] Di Tosto, G., R. Conte, M. Paolucci. Altruism Among Simple and Smart Vampires. In:
Proceedings of the 1st Conference of the European Social Simulation Association (ESSA).
Groningen, NL (2003),
[8] Drogoul, A., D. Vanbergue, T. Meurisse. Multi-agent Based Simulation: Where Are the
Agents? In: J.S. Sichman, et al. (Eds.): Multi-Agent-Based Simulation II: Third Interna-
tional Workshop, MABS 2002. Lecture Notes in Computer Science, Vol. 2581. Springer.
Bologna, Italy (2002), 1-15.
[9] Ferber, J. Multi-agent systems: an introduction to distributed artificial intelligence. 1999,
Harlow: Addison-Wesley.
[10] Gilbert, N. Environments and Languages to Support Social Simulation. In: K.G.
Troitzsch, et al. (Eds.): Social Science Microsimulation. Berlin Springer. Schloss
Dagstuhl (1996), 457-458.
[11] Giret, A., V. Botti, S. Valero. MAS Methodology for HMS. In: Second International Con-
ference on Applications of Holonic and Multi-Agent Systems, HoloMAS 2005. 3593.
Springer-Verlag. (2005), 39-49.
[12] Holland, J.H. Emergence: from chaos to order. 1998, Reading, Massachusetts: Addison-
Wesley.
[13] Marietto, M.B., N. David, J.S. Sichman, H. Coelho. Requirements Analysis of Agent-
Based Simulation Platforms: State of the Art and New Prospects. In: J. Sichman, et al.
(Eds.): Multi-Agent-Based Simulation II: Third International Workshop, MABS 2002.
Lecture Notes in Computer Science, Vol. 2581. Springer. Bologna, Italy (2002), 125-141.
[14] Mason. 2004. Mason: Multiagent Simulation Toolkit. Available from:
http://cs.gmu.edu/~eclab/projects/mason/
[15] NetLogo. 2004. NetLogo: Center for Connected Learning and Computer-Based Model-
ing. Available from: http://ccl.northwestern.edu/netlogo/
[16] Pavón, J., J. Gómez-Sanz. Agent Oriented Software Engineering with INGENIAS. In: V.
Marík, et al. (Eds.): Multi-Agent Systems and Applications III, 3rd International Central
and Eastern European Conference on Multi-Agent Systems, CEEMAS 2003. Lecture
Notes in Computer Science, Vol. 2691. Springer. Prague, Czech Republic (2003), 394-
403.
[17] Repast. 2004. Repast: Recursive Porus Agent Simulation Toolkit. Available from:
http://repast.sourceforge.net
[18] Sansores, C., J. Pavón. Agent Based Simulation for Social Systems: from Modeling to Im-
plementation. In: 11th Conference of the Spanish Association for Artificial Intelligence.
Lecture Notes in Computer Science, Vol. Springer-Verlag. Santiago de Compostela,
Spain (2005), To appear.
[19] SDML. 1997. SDML: a Strictly Declarative Modelling Language. Available from:
http://www.cpm.mmu.ac.uk/sdml
[20] SeSAm. 2004. SeSAm: Integrated Environment for Multi-Agent Simulation. Available
from: http://www.simsesam.de/
[21] StarLogo. 2004. StarLogo: on the web. Available from: http://education.mit.edu/starlogo/
[22] Swarm. 2004. Swarm Wiki: the agent-based modelling resource. Available from:
http://wiki.swarm.org
[23] Tobias, R., C. Hofmann. Evaluation of free Java-libraries for Social-Scientific Agent
Based Simulation. Journal of Artificial Societies and Social Simulation, 2004. Vol. 7(1).

View publication stats

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy