<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>MODELING OF SOCIAL SYSTEMS WITH INGENIAS</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Juan Pavón</string-name>
          <email>v@REPASTAgent</email>
          <email>v@agentid</email>
          <email>v@goalid</email>
          <email>v@roleid</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Candelaria Sansores</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jorge Gómez-Sanz</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Universidad Complutense Madrid</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Facultad de Informática</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Madrid</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Spain</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>jpavon@pdi.ucm.es</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>csansores@fdi.ucm.es</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>jjgomez@pdi.ucm.es</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2006</year>
      </pub-date>
      <fpage>5</fpage>
      <lpage>7</lpage>
      <abstract>
        <p>There are good toolkits for agent based simulation (ABS). However, for many potential users of ABS, such as sociologists or economists, it is still very difficult to specify models with such tools. This is mainly because this task requires writing code in some, usually object-oriented, programming language. There are some attempts to facilitate the specification with graphical tools and a set of predefined behaviours. For instance, Sesam (www.simsesam.de/) provides a graphical interface to specify agent behaviours as a kind of state machines, and there are also some rapid application development environments, for instance using the Python language in RePast Py (repast.sourceforge.net/repastpy/). But these are only applicable to simple models. Another issue is that the agent models initially supported by the different toolkits are rather simple, mostly reactive agents, whose behaviour is specified programmatically. On the other hand, there are many proposals of rich agent modeling languages in the agent-oriented software engineering domain. These languages are usually higher level, based on some graphical notation, and, in some cases, easily customizable. Their capabilities make them more suitable for depicting models than programming languages. Also, the supported agent model is richer, both at micro (agent) and macro (organization) levels, than in the agent based simulation toolkits. Furthermore, agent modeling concepts are closer to the abstractions that a sociologist or economist could use to model social systems. For these reasons, we consider that these agentoriented languages are more appropriate for modeling social systems as multi-agent systems (MAS) than plain program code. One way to perform the simulation of an MAS model would be to directly execute the specification, but this requires implementing simulation facilities adapted to the specific modeling language. Other possibility is to transform the MAS model to code for some simulation toolkit that could execute it. The execution means animating the specification, and being able to get some information on how the system evolves over time. This is not normally supported by agent-oriented software engineering tools. But agent-based simulation toolkits do this very well. So we are considering the use of an agent-oriented modeling language to specify MAS models representing complex social systems, and automatic generation of code on simulation platforms by applying transformations from the MAS models. This idea of transformation is in line with model driven engineering (MDE) practices. To implement this approach we require an agent oriented methodology with (1) a suitable language to specify complex social systems as MAS and (2) tools to support the transformation between MAS models and simulation code. Both requirements are satisfied by INGENIAS [3], and this is the main reason for selecting it in this work. This methodology is supported by a set of tools, the INGENIAS Development Kit (IDK, available at ingenias.sourceforge.net), which facilitates the edition of models and the definition of transformations for automatic code generation. The foundation of INGENIAS is the definition of multi-agent system (MAS) metamodels, which can be customized to particular application domains. This is interesting if we need to extend the existing notation to cope with new issues that may be required for the specification of a social system simulation model.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The paper presents how INGENIAS modeling language can be used to specify social systems and how
transformations can be built to generate code on RePast (repast.sourceforge.net) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This platform has been
chosen as it is one of the most well-known and supported agent based simulation toolkits, and its principles are
similar to others such as Swarm and Mason, so the solution could be easily extended to those. The next section
discusses about what elements and concepts should be considered in a language for modeling of social systems.
This is followed by a section where the INGENIAS modeling language is reviewed to see how it supports the
requirements for social systems modeling, and how it can be extended [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Then, a section describes how to
make the transformation from INGENIAS social system specifications to RePast models. These models can be
used for simulations on the RePast framework. This has been already experimented for RePast and Mason [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], in
order to see the consequences of using different agent based simulation toolkits. The conclusions summarizes
some of these results and discusses the limitations and prospective of this approach.
      </p>
      <p>The mapping from INGENIAS models to RePast is implemented by an IDK module. The module has to traverse
specifications, extract information from specifications, and put the extracted information into templates of
RePast agents. Environment constraints (such as spatial and temporal aspects) can also map to the main program.
The IDK module for RePast code generation is developed as an iterative process through several steps. This
process can be applied similarly for other agent based simulation toolkits. The basis for code generation is the
availability of code templates for the target platform, RePast in this case (see Figure). This is usually the most
difficult to obtain as it requires a good knowledge of how to implement agents in the target platform. Our
experience has shown that this can be accomplished through an iterative process, in which the developer defines
progressively the architecture of the code for the target platform and the transformations from specification to
code templates.</p>
      <p>T e m p la te</p>
      <p>D a ta
Repeat id=“agents”
var agentid=“Person”
Repeat id=“roles”</p>
      <p>var roleid=“Altruist”
Repeat id=“goals”</p>
      <p>var goalid=“GiveHelp”
G e n e ra te d c o d e
public class PersonREPASTAgent</p>
      <p>implements Drawable, RunnableAgent {
PersonREPASTAgent () {
rolesList.add(new Role(“Altruist”));
goalsList.add(new Goal(“GiveHelp”));
}
}
An interesting issue to consider for further work is the ability to extend the INGENIAS MAS meta-model to
create domain oriented specification languages. This would facilitate even further the modelling activity of social
scientists as they could use concrete domain concepts rather than pure agent concepts from INGENIAS. This
work has to be done with domain experts (sociologists) and this is a task that we are currently addressing.
Acknowledgements
This work has been developed with support of Dirección General de Universidades e Investigación de la
Consejería de Educación de la Comunidad de Madrid (Spain) and Universidad Complutense de Madrid (Grupo
de investigación consolidado 910494 and the project TIN2005-08501-C03-01, funded by the Spanish Council
for Science and Technology.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Castelfranchi</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <year>1998</year>
          . “
          <article-title>Modelling social action for AI agents</article-title>
          .
          <source>” Artificial Intelligence</source>
          <volume>103</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>157</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Collier</surname>
            , N.,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Howe</surname>
          </string-name>
          , M. North (
          <year>2003</year>
          ).
          <article-title>Onward and Upward: The Transition to Repast 2.0</article-title>
          .
          <source>In: Proceedings of the First Annual North American Association for Computational Social and Organizational Science Conference. Electronic Proceedings. Pittsburgh</source>
          , PA USA (
          <year>June 2003</year>
          ),
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Pavón</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gómez-Sanz</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Fuentes</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <year>2005</year>
          . “
          <article-title>The INGENIAS Methodology and Tools”</article-title>
          . In:
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Giorgini</surname>
          </string-name>
          , P., editors: Agent-Oriented
          <string-name>
            <surname>Methodologies</surname>
          </string-name>
          . Idea Group Publishing,
          <fpage>236</fpage>
          -
          <lpage>276</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Sansores</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Pavón</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2005</year>
          . “
          <article-title>Agent-Based Simulation Replication: A Model Driven Architecture Approach”</article-title>
          .
          <source>In: 4th Mexican International Conference on Artificial Intelligence (MICAI</source>
          <year>2005</year>
          ).
          <source>Lecture Notes in Artificial Intelligence</source>
          , Vol.
          <volume>3789</volume>
          . Springer-Verlag,
          <fpage>244</fpage>
          -
          <lpage>253</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Sansores</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pavón</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Gómez-Sanz</surname>
          </string-name>
          .
          <year>2006</year>
          . “
          <article-title>Visual Modeling for Complex Agent-Based Simulation Systems”</article-title>
          . In: J.
          <string-name>
            <given-names>S.</given-names>
            <surname>Sichman</surname>
          </string-name>
          and L.
          <string-name>
            <surname>Antunes</surname>
          </string-name>
          (Eds.):
          <source>Int. Workshop on Multi-Agent-Based Simulation 2005, Lecture Notes in Artificial Intelligence</source>
          , Vol.
          <volume>3891</volume>
          , Springer-Verlag,
          <fpage>174</fpage>
          -
          <lpage>189</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>