Page 99 -
P. 99
6 What Software Engineering Has to Offer to Agent-Based Social Simulation 95
a specific methodology. A good example is the ODD protocol (Grimm et al. 2017)
for documenting ABSS models. It describes a framework of elements that make
up a complete and useful documentation. One can also interpret any description
of best practices for model testing, validation, etc. as such a meta-pattern. Rossiter
(2015) describes a reference architecture for a simulation system in general, clearly
structuring the overall software into different layers of functionality. He also uses
this reference architecture to explain the setup of existing platforms and to introduce
a new toolkit.
Fourth Pillar: Tools and Development Environments
There are many useful tools available for all phases of developing and using ABSS
models. For the purpose of this chapter, we want to single out two particular types:
specialised drawing tools and software development platforms.
The diagrams capturing a model in, for example, UML may become quite
large and complex. Thus tools that offer specialised shapes and other convenient
support such as grid-based layout alignment, automated connections, etc. are highly
valuable for making the drawing process more efficient and enable the modeller to
concentrate on the important aspects of the description. Especially for UML, there
3
2
are a number of good tools available, such as Visual Paradigm or Visio. Some
platforms for implementing ABSS models, as, for example, Repast (Ozik et al.
2015) or AnyLogic (see below), come with tools for drawing some UML diagram
types that are then directly translated into code skeletons.
Professional software development is usually done using an integrated develop-
ment environment (IDE). This is basically a collection of tools facilitating software
development, such as elaborated program editors with built-in syntax checks, code
completion, etc. allowing the programmer to concentrate on the semantics of
the program rather than its syntax. Prominent IDE examples are Visual Studio 4
5
or Eclipse. Such development environments also support, for example, code
documentation by providing tools that automatically generate UML class diagrams
from source code.
Inspired by those general IDEs and in addition to low-level programming
support, an IDE for ABSS could contain
• Conceptual views on the implemented model with diagrammatic representations
of what happens in the model. Drawing tools can be integrated with automated
code generation from diagrams representing agent and organisational structures
and agent behaviour and interaction dynamics.
2 www.visual-paradigm.com. A free for non-commercial use community version exists.
3 products.office.com/en/visio/.
4 www.visualstudio.com.
5 eclipse.org.