Modeling of Social Systems with Ingenias
Total Page:16
File Type:pdf, Size:1020Kb
MODELING OF SOCIAL SYSTEMS WITH INGENIAS Juan Pavón, Candelaria Sansores, Jorge Gómez-Sanz Universidad Complutense Madrid Facultad de Informática, Ciudad Universitaria s/n Madrid 28040, Spain E-mail: [email protected],[email protected], [email protected] KEYWORDS Also, the supported agent model is richer, both at micro Agent based simulation, Agent based modeling, social (agent) and macro (organization) levels, than in the agent simulation, agent development tools, model transformation, based simulation toolkits. Furthermore, agent modeling model driven development, INGENIAS Development Kit. concepts are closer to the abstractions that a sociologist or economist could use to model social systems. For these ABSTRACT reasons, we consider that these languages should be considered for modeling social systems rather than plain Most agent based simulation toolkits are based on the Java program code. programming language and this makes their use difficult for social scientists, who are not usually skilled in computer If we use such kind of modeling languages, in order to programming. However, agent modeling concepts are not far perform the simulation we need either to execute the from those which could be used for social modeling. This specification or transform it to some powerful simulation assumption is considered to propose the use of an agent- toolkit that could perform it. The execution means animating oriented language for the specification of social simulation the specification, and being able to observe the execution to models, and transforming (automatically) these models to get some information on how the system evolves over time. code for some agent-based simulation toolkit. This is made This is not normally supported by agent-oriented software with the INGENIAS Development Kit (IDK), a set of tools engineering tools. But agent-based simulation toolkits do this that provides a customizable model editor and modules for very well. So we are considering the automatic generation of automatic code generation. code for such platforms by applying transformations from the more abstract agent models. This idea of transformation is in line with model driven development (MDD) practices. INTRODUCTION With this perspective, we have been working in the modeling of complex social systems using an agent-oriented There are good toolkits for agent based simulation (ABS). development methodology, INGENIAS (Pavón et. al 2005). However, for many potential users of ABS, such as This methodology is supported by a set of tools, the sociologists or economists, it is still very difficult to specify INGENIAS Development Kit (IDK, available at models with such tools. This is mainly because this task ingenias.sourceforge.net), which facilitates the edition of requires writing code in some, usually object-oriented, models and the definition of transformations for automatic programming language. There are some attempts to facilitate code generation. The foundation of INGENIAS is the the specification with graphical tools and a set of predefined definition of multi-agent system (MAS) meta-models, which behaviours. For instance, Sesam (www.simsesam.de/) can be customized to particular application domains. This is provides a graphical interface to specify agent behaviours as interesting if we need to extend the existing notation to cope a kind of state machines. And some rapid application with new issues that may be required for the simulation of a development environments, for instance using the Python social system. language in RePast Py (repast.sourceforge.net/repastpy/). But these are only applicable to simple models. Another issue is In this paper we present how INGENIAS modeling language that the agent models initially supported by the different can be used to specify social systems and how toolkits are rather simple, mostly reactive agents, whose transformations can be built towards one of the most well- behaviour is specified programmatically. An exception to known agent based simulation toolkits, RePast this is SMDL (sdml.cfpm.org), which provides a declarative (repast.sourceforge.net). In the next section we discuss about modeling language (although the learning curve seems to be what elements and concepts should be considered in a not short). language for modeling of social systems. This is followed by a section where the INGENIAS modeling language is On the other hand, there are many proposals of rich agent reviewed to see how it supports the requirements for social modeling languages in the agent-oriented software systems modeling, and how it can be extended. Then, a engineering domain. These languages are usually higher section describes how to make the transformation from level, based on some graphical notation, and, in some cases, INGENIAS social system specifications to RePast models. easily customizable. Their capabilities make them more These models can be used for simulations on the RePast suitable for depicting models than programming languages. framework. This has been already experimented for RePast and Mason (Sansores and Pavón 2005), in order to see the individuals or groups. Social interactions form the basis of consequences of using different agent based simulation social relation, a multitude of social interactions regulated toolkits. The conclusions summarizes some of these results by social norms, between two or more people, with each and discusses the limitations and prospective of this having a social position and performing a social role. approach. Table 1 summarizes this classification and illustrates the concepts required to define the elements of our language. MODELING SOCIAL SYSTEMS Table 1: Concepts for Modeling Social Systems Computational simulation of social phenomena implies building computer programs that model the evolution of Social Actions Description social processes. This involves the modeling of individuals Communication Aimed at giving beliefs to the and groups, and the processes of social interaction. The addressee characteristics of social phenomena, like emotions, social Rational Planned action, taken after pressure, etc. are difficult to be approached; therefore they considering costs and consequences can be modeled at some reasonable level of abstraction just Instrumental Action that is taken because it leads to for specific purposes. a valued goal, but with no thought of its consequences and often without We are specifically interested in modeling human behavior consideration of the appropriateness and individual decision making in society. This requires the of the means chosen to achieve it ability to represent social interactions which give rise to the Emotional Action that is taken due to one’s emergence of sociality like cooperation, competitions, emotions, to express personal feelings groups, organization, etc. Therefore, the level of abstraction Traditional Action that is carried out due to of the language we will be using is the individual’s social traditions, because they are always action and mind (Castelfranchi, 1998). carried out in such situation The language for modeling social systems can be defined on With these concepts we will be able to define a language ontological concepts of the micro-sociology category of the composed of individual types and their attributes as well as sociological perspectives on Society. Under this perspective, the social actions, interactions and relations between a human being is capable of conscious thought and self- individuals and groups. The different instances of an awareness. Human action is not simply a reaction to external individual type will give rise different individuals in a stimuli, but the result of the meanings, theories, motives and society with different roles, i.e. father of a family, mother, interpretations brought into a social situation by the child, etc. It will also be possible to define groups, like individual. families, as aggregates of the individual type. Accordingly to this, we need to conceptualize an individual The individual attributes may include emotional or character with mental states and not just like a behavioral entity. This attributes. For example, a numeric stress level variable that implies that representations of beliefs and goals of its own determines the agent’s behavior in a given time. There are are not enough and beliefs and goals of the minds of others many possibilities of attributes to define an individual, and are required as well. We agree with Castelfranchi when he depending of their values the individual could perform a states that an individual should be modeled like a goal- variety of predefined actions associated to these values. oriented agent whose actions are internally regulated by goals and whose goals, decisions, and plans are based on Society and the environment it imposes, will include beliefs. Both goals and beliefs are cognitive representations resources which the individual may count on, also the that can be internally generated, manipulated, and subject to individual may have a set of actions to perform on the inferences and reasoning. environment., like the action of using a resource for example. Another fundamental concept is that of social action. As we INGENIAS MODELING LANGUAGE have mentioned before, an individual performs actions that, depending of the level of awareness, could be simple INGENIAS is a methodology for the development of multi- reactive behavior or social actions. For an action to be agent systems (MAS) that integrates different results in the considered