<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">MODELING OF SOCIAL SYSTEMS WITH INGENIAS</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Juan</forename><surname>Pavón</surname></persName>
							<email>jpavon@pdi.ucm.es</email>
							<affiliation key="aff0">
								<orgName type="department">Facultad de Informática</orgName>
								<orgName type="institution">Universidad Complutense Madrid</orgName>
								<address>
									<postCode>28040</postCode>
									<settlement>Madrid</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Candelaria</forename><surname>Sansores</surname></persName>
							<email>csansores@fdi.ucm.es</email>
							<affiliation key="aff0">
								<orgName type="department">Facultad de Informática</orgName>
								<orgName type="institution">Universidad Complutense Madrid</orgName>
								<address>
									<postCode>28040</postCode>
									<settlement>Madrid</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jorge</forename><surname>Gómez-Sanz</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Facultad de Informática</orgName>
								<orgName type="institution">Universidad Complutense Madrid</orgName>
								<address>
									<postCode>28040</postCode>
									<settlement>Madrid</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">MODELING OF SOCIAL SYSTEMS WITH INGENIAS</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">E6C697BA20F5687ED0A4658C2FDF8D28</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T14:54+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract/>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Extended Abstract</head><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.</p><p>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.</p><p>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.</p><p>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 <ref type="bibr" target="#b2">[3]</ref>, 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><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) <ref type="bibr" target="#b1">[2]</ref>. 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 <ref type="bibr" target="#b4">[5]</ref>. 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 <ref type="bibr" target="#b3">[4]</ref>, 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.</p><p>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 <ref type="figure">)</ref>. 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. @ r ep ea t i d= " ag en ts " @ p u bl ic cl as s @ v@ ag e nt id @ /v @ RE PA S TA ge n t im pl e me nt s D ra wa b le , R un n ab le A ge nt { @ v @a ge n ti d@ / v@ RE PA S TA ge n t ( ) { @ r ep ea t i d= "r o le s" @ r o le sL is t .a dd ( ne w R o le (" @ v@ ro l ei d@ /v @ ") ); @ / re pe a t@ @ r ep ea t i d= "g o al s" @ g o al sL is t .a dd ( ne w G o al (" @ v@ go a li d@ /v @ ") ); @ / re pe a t@ } } @ / re pe a t@ T e m p la te R e pe at id =" a ge nt s" v ar ag en t id =" Pe r so n"</p><p>R ep e at i d =" ro le s " v ar r o le id =" A lt ru i st "</p><p>R ep e at i d =" go al s " va r g oa li d= " Gi ve H el p "</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>D a ta G e n e ra te d c o d e</head><p>p u bl ic cl as s P er so n RE PA S TA g en t im pl e me nt s D ra wa b le , R un n ab le A ge nt { P e rs on R EP AS T Ag en t ( ) { r o le sL i st .a dd ( ne w R ol e (" Al t ru is t ") ); g o al sL i st .a dd ( ne w G oa l (" Gi v eH el p ") ); } } @ r ep ea t i d= " ag en ts " @ p u bl ic cl as s @ v@ ag e nt id @ /v @ RE PA S TA ge n t im pl e me nt s D ra wa b le , R un n ab le A ge nt { @ v @a ge n ti d@ / v@ RE PA S TA ge n t ( ) { @ r ep ea t i d= "r o le s" @ r o le sL is t .a dd ( ne w R o le (" @ v@ ro l ei d@ /v @ ") ); @ / re pe a t@ @ r ep ea t i d= "g o al s" @ g o al sL is t .a dd ( ne w G o al (" @ v@ go a li d@ /v @ ") ); @ / re pe a t@ } } @ / re pe a t@ T e m p la te @ r ep ea t i d= " ag en ts " @ p u bl ic cl as s @ v@ ag e nt id @ /v @ RE PA S TA ge n t im pl e me nt s D ra wa b le , R un n ab le A ge nt { @ v @a ge n ti d@ / v@ RE PA S TA ge n t ( ) { @ r ep ea t i d= "r o le s" @ r o le sL is t .a dd ( ne w R o le (" @ v@ ro l ei d@ /v @ ") ); @ / re pe a t@ @ r ep ea t i d= "g o al s" @ g o al sL is t .a dd ( ne w G o al (" @ v@ go a li d@ /v @ ") ); @ / re pe a t@ } } @ / re pe a t@ 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>T e m p la te</head></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>RFigure 1 :</head><label>1</label><figDesc>Figure 1: A simplified example of code generation</figDesc></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements</head><p>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></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Modelling social action for AI agents</title>
		<author>
			<persName><forename type="first">C</forename><surname>Castelfranchi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">103</biblScope>
			<biblScope unit="issue">1-2</biblScope>
			<biblScope unit="page">157</biblScope>
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Onward and Upward: The Transition to Repast 2.0</title>
		<author>
			<persName><forename type="first">N</forename><surname>Collier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Howe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>North</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the First Annual North American Association for Computational Social and Organizational Science Conference. Electronic Proceedings</title>
				<meeting>the First Annual North American Association for Computational Social and Organizational Science Conference. Electronic Proceedings<address><addrLine>Pittsburgh, PA USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003-06">2003. June 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">The INGENIAS Methodology and Tools</title>
		<author>
			<persName><forename type="first">J</forename><surname>Pavón</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">J</forename><surname>Gómez-Sanz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Fuentes</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Agent-Oriented Methodologies</title>
				<editor>
			<persName><forename type="first">B</forename><surname>Henderson-Sellers</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><surname>Giorgini</surname></persName>
		</editor>
		<imprint>
			<publisher>Idea Group Publishing</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="236" to="276" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Agent-Based Simulation Replication: A Model Driven Architecture Approach</title>
		<author>
			<persName><forename type="first">C</forename><surname>Sansores</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pavón</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">4th Mexican International Conference on Artificial Intelligence (MICAI 2005)</title>
		<title level="s">Lecture Notes in Artificial Intelligence</title>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3789</biblScope>
			<biblScope unit="page" from="244" to="253" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Visual Modeling for Complex Agent-Based Simulation Systems</title>
		<author>
			<persName><forename type="first">C</forename><surname>Sansores</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pavón</surname></persName>
		</author>
		<author>
			<persName><surname>Gómez-Sanz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Int. Workshop on Multi-Agent-Based Simulation 2005</title>
		<title level="s">Lecture Notes in Artificial Intelligence</title>
		<editor>
			<persName><forename type="first">J</forename><forename type="middle">S</forename><surname>Sichman</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">L</forename><surname>Antunes</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">3891</biblScope>
			<biblScope unit="page" from="174" to="189" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
