Overview on Agent-Based Social Modelling and the Use of Formal Languages

Overview on Agent-Based Social Modelling and the Use of Formal Languages

Cristina Montañola-Sales (Universitat Politècnica de Catalunya - Barcelona Tech, Spain), Xavier Rubio-Campillo (Barcelona Supercomputing Center, Spain), José M. Cela-Espin (Barcelona Supercomputing Center, Spain), Josep Casanovas-Garcia (Universitat Politècnica de Catalunya - Barcelona Tech, Spain) and Adriana Kaplan-Marcusan (Universitat Autonoma de Barcelona, Spain)
DOI: 10.4018/978-1-4666-4369-7.ch011


The use of agent-based modelling and simulation techniques in the social sciences has flourished in the recent decades. The main reason is that the object of study in these disciplines, human society present or past, is difficult to analyse through classical analytical techniques. Population dynamics and structures are inherently complex. Thus, other methodological techniques need to be found to more adequately study this field. In this context, agent-based modelling is encouraging the introduction of computer simulations to examine behavioural patterns in complex systems. Simulation provides a tool to artificially examine societies where a big number of actors with decision capacity coexist and interact. However, formal modelling in these areas has not traditionally been used compared to other fields of science, in particular in their use of formal languages during the modelling process. In this chapter, the authors aim to revise the most relevant aspects on modelling in social sciences and to discuss the use formal languages by social scientists.
Chapter Preview


Computer modelling and complex systems simulation have dominated the scientific debate over the last decade, providing important outcomes in biology, geology and life sciences, and resulting in the birth of entirely new disciplines (e.g., bioinformatics, geoinformatics, health informatics, etc.). In the social sciences, the number of groups currently developing research programs in this direction is increasing. The results are extremely promising since simulation technologies have the potential to become an essential tool in the field (Gilbert, 2008).

However, some social scientists are sceptical about the idea of reproducing in silico population dynamics, because of the perceived complexity of social structures. This scepticism is understandable given the low number of projects that used this approach and the lack of experience of social scientists with these tools. Nevertheless, the research done in complexity science during recent years shows the way computer simulation can be applied to this field. Artificial intelligence portrays how the appropriate interconnection of very simple computational mechanisms is able to show extraordinary complex patterns, and access to distributed computing has become affordable. For this reason, agent-based simulation allows the implementation of experiments and studies that would not be viable otherwise (Pavon, Arroyo, Hassan, & Sansores, 2008).

Even though research in social complex systems is increasing, the number of social works using computer simulation in this area is not very substantial, according to the survey conducted by Leombruni and Richiardi (2006). Thus, efforts need to be made in order to give a boost in this multidisciplinary area of research, and provide tools suitable for this task. Collaboration among research groups becomes crucial, but the fact that social scientists and modellers use different languages is an issue that should be addressed in order to reach scientific advances. This is the reason why one of the main challenges of social simulation is to find a methodology capable of improving the communication channels between people related with the construction of the simulation model, who probably come from very different backgrounds. Only when there is a good communication between stakeholders simulation can be successful (Robinson & Pidd, 1998).

Formal languages are one of the possible solutions and probably the most suitable one. Here when we say formal language or formalism we refer to a language that is not ambiguous and can describe the behaviour of a system. An example of formal language can be mathematics or modelling languages such as Unified Modelling Language (UML), Petri Nets, Specification and Description Language (SDL) and those who are used as the basis for defining programming languages used in computer science. For instance, differential equations are used to describe the dynamic behaviour of complex systems in System Dynamics approach. The advantage of using formal languages is that they can explicitly describe the system to be modelled despite its complexity.

In that way, stakeholders could agree on how to define the simulation model, making the common work possible and helping in later stages of development such as verification and validation processes (Fonseca, 2008). However, social scientists and humanists usually are not trained on working with formalisms as in other disciplines of science. Moreover, there are no general conventions when modelling social processes.

The main question analysed in this chapter is how the use of formal languages can contribute to research in social fields. We aim to revise the most relevant aspects on modelling in social sciences. The remainder of this chapter is organised as follows. “Modelling Social Systems” summarises the current state of the art on the modelling process, in particular to these areas of research. In “Agent-Based Modelling In Social Sciences,” components and needs of agent-based simulation models will be revised, and some applications of agent-based systems in different fields of humanities and social science will be shown. Finally, we will revise the characteristics of four different tools for social simulation studies in “Tools For Modelling In Social Simulation,” and we will discuss some validation practises applied to these areas in “On Verifying And Validating Models” and some conclusions and remarks will be pointed out in “Conclusions.”

Complete Chapter List

Search this Book: