University of Koblenz-Landau ---
Computer Science Applications in the Social Sciences
A Modeling and Simulation Framework for the Social Sciences
A Modeling and Simulation Framework for the Social Sciences
1. Motivation
One of the most discussed topics at the
Dagstuhl Seminar
on Social Science
Microsimulation this year was the role of modeling and simulation toolkits.
Although a more general toolkit for modeling and simulation
cannot compete with specialist packages, and simulation experts will never
agree on such a package because they can already write their own simulation
programs, there was a general consensus about the necessity of developing such a toolkit.
Some arguments supporting this position were:
- The variety and complexity of social processes could be modeled more
appropriately by supplying an integrated view of different modeling approaches.
- Providing a toolkit which especially does not bother a user with
programming and implementation details would be useful for teaching
social science students in modeling and simulation tasks.
- It would facilitate the communication and exchange
about simulation models within the scientific community (e.g. transparency of
models, reuse of model components).
Additionally, from a more technical point of view, recent developments in
computer science (e.g. object-oriented methodology, multi-agent systems,
Java) seem to be a promising basis to tackle this problem.
The following text summarizes some ideas on this topic which were
developed in Koblenz during the last year as well as the results of the discussion
groups in Dagstuhl. In our view, it can be seen as a good starting point for
further discussions between developers and future users.
Starting with the modeling and simulation system
MIMOSE in 1988, we got some
experience with the development of simulation tools for the social sciences
during the last years. Based on these discussions, we intend to develop
this kind of software system within a project together with international
partners
(developers, users) who are interested in this topic as well.
Therefore, the aim of publishing this text is twofold: First, to start a
discussion on modeling and simulation tools within the social science
community on a much broader basis. Second, to invite potential partners to
participate in the planned project.
2. Requirements
The simulation life cycle
Simulation as a model based, experimental, and computer supported research
method can be divided typically in phases:
- model description: provides a modeling formalism executable by software systems
- experimental frame: includes several phases,
which have to be executed by a researcher
for model verification, validation and after all
the application (e.g. for explanation, forecasting) of simulation models, in
an iterative way:
- Model initialization (including empirical data input)
- Databases for input
- Random number generation
- Simulation runs
- Experiment description
- Control of simulation parameters (e.g. time intervals, simulation time)
- Nonnumerical visualization (e.g. animation)
- Logging and debugging features (e.g. run time tracing, dumping of input and output)
- Model analysis
- Nonnumerical visualization
- Statistical data analysis
- Sensitivity analysis
- Parameter optimization
- Presentation of results
- Graphics
- Report generator
Kernel features
The following incomplete list shows some basic requirements which a more
general simulation toolkit for the social sciences should fulfill.
- Integration of the simulation life cycle

Apart from the model description phase, which has to be the starting point
of each simulation, the other phases described above will not be
executed in a strictly prescribed order. Usually, experimenting with models
requires the iterative and multiple application of
model initializations (e.g. empirical data input), simulation runs, model analysis
methods, and presentation of results. Combining these time consuming tasks in a
comfortable and transparent way is an essential requirement of a simulation
system.
- Integration of different modeling techniques/hybrid models
In the last forty years a lot of approaches have been used to model and
simulate human social behavior, which were mainly restricted to certain
modeling aspects. Additionally, the usage of different approaches by
different researchers (implemented in different simulation systems)
has prevented substantial discussions about simulation models
within the scientific community. The integration of these approaches requires
the answer to some questions beforehand: What are the
characteristics of common social science modelling
approaches? Which "new" approach or paradigm can be found (or can be
developed) that
incorporates all the earlier approaches and helps to formulate new problems (and,
eventually, helps to solve them) as well. Actually, we think that
multi-agent modeling based on concepts from Distributed Artificial
Intelligence (DAI) could be a solution. Generally speaking, DAI is concerned
with sets of units (agents) existing in an environment which they have in
common. They communicate among each other and cooperate in the solution of
complex problems by adding their particular capabilities.
- Integration of different user/usage levels
Simulation is applied usually by different user groups with different
abilities and purposes:
- Simulation and programming experts: write their own simulation
programs from scratch by using programming languages
- Social science researcher, simulation tool developers: combine
basic modules into simulation models for new research or to standardize
simulation models
- Teachers: put together models of common modeling approaches for
teaching social science students in formal modeling and simulation techniques
- End users, lay persons, politicians, decision makers: apply
simulation models which are represented graphically by parameter variation
The concept of a more general modeling and simulation toolkit for the
social sciences should not prescribe a specific user level. Instead,
a user should have the option to choose an appropriate level
and to change it as well. This requires the realization and integration
of different user/usage levels, stacked on top of each other and
transferable between each other.
- Abstraction/Refinement mechanisms
According to concrete modeling and simulation purposes the user must be able
to choose an appropriate model granularity. This helps to avoid
unnecessary model details and at the same time supports step-by-step refinement of model components.
- Platform independence
The toolkit should run on different computer (operating systems) systems
(Windows 3.1/95/NT, Unix, Solaris, OpenStep, ...)
Extensions
The following features must be considered in the design of the entire software system but they will not presumedly be part of the first prototype.
- Multilingual support
- Distributed simulation (phase/model oriented)
- WWW version
- Explanation feature
3. Architecture
The multiplicity of modeling approaches to be integrated as well as the
different requirements of potential user groups in the social sciences
discourages the development of a unified modeling and simulation system.
Instead of this, we rather propose a modeling and simulation
framework, which allows the development of simulation models on
different levels, according to user specific abilities and goals.
Integration of different modeling techniques
Considering concepts of multi-agent modeling the model description phase of the framework will be supported by structuring the modeling process in
- modeling agents: which structure do agents have, in which way
will they be able to act / react, which capabilities will they need etc.?
For the moment, we keep the distinction of three kinds of agents:
- Reactive agents: react to messages from their surroundings by
sending other messages to other agents and by actualizing
the inner representation of their surroundings. All this
happens according to fixed rules or plans which cannot be
changed by these agents.
- Intentional agents: have the same capabilities as reactive
agents. Applying ``meta rules'', they are moreover capable of
defining goals, e.g. depending on their motivation or their
needs. They can detect conflicts between goals, set priorities,
and design plans to achieve their goals, and they can be informed
about each other's goals, assumptions, and actions.
- Social agents: additionally have explicit models of other
agents. This is why they are capable to reason about other
agents' goals, expectations, motives, and capabilities,
and to include them into their action plans.
Because of the fact, that social systems are structured hierarchically
(e.g. families, households, groups, societies), social science models
require a further distinction in:
- indivisible agents: do not consist of other agents
- aggregate (or systemic) agents: made up of other agents,
but may interact with their surroundings in the same manner as
indivisible agents
- constructing societies: in which way will agents interact, in
which manner is interaction controlled in order to solve a problem, which kinds
of organization are needed to facilitate coordination and/or cooperation
etc.?
Integration of different user/usage levels
The core of the modeling frame will consist in several levels
of realization, stacked on top of each other and
transferable between each other.

They will support the construction of
simulation models on different levels of abstraction:
- the programming level: programming simulation models in a general
purpose object-oriented programming language, using interfaces to
existing agent definitions,
- the module level: combining agent descriptions and interaction
structures into simulation models,
- the scheme level: defining simulation models for classes of models,
based on scheme models,
- the application level: developing model class specific simulators
and at the same time making problem oriented user interfaces available.
4. Plan
- Discussion of this paper
- Collaborative development of detailed requirements and software
architecture
- Consideration of existing products/projects (market research)
- Funding
5. Participants
(until now)
(tentative)
University
Computer Science Department
WWW
Michael Möhring
7.7.97