Information Technology Reference
In-Depth Information
When it comes to the actual implementation, the following two ques-
tions need to be answered:
1. Which language shall be used for representing a model itself?
Within this question the general decision has to be made whether
to use a domain-specific modeling language (e.g., FABLES [50],
ELMS [96]) or a general purpose programming language to repres-
ent an agent-based model.
2. Which programming language shall be used for implementing sim-
ulation engines?
This question may have multiple answers, as different simulation
engines may be implemented in different programming languages.
The only requirement is that all simulation engines execute the
given agent-based models.
In the course of this thesis, Java was chosen as both the language for
representing models as well as for implementing simulation engines.
This choice is mainly based on the following two facts (cp. [117]).
Firstly, as an object-oriented language, Java is well-suited to represent
agent-based models. Using an object-oriented language helps to
minimize the semantic distance of the implementation to the reference
model in a very natural fashion (see [60, p. 286], [88]). Secondly, Java
offers built-in support for multi-threading. Therefore it is suitable for
implementing multi-threaded simulation engines without the need for
additional tools or languages.
As illustrated in Figure 9.1, the example implementation follows
the reference model very closely. Especially, no new terms are in-
troduced but the terms of the GRAMS reference model are used
whereever possible without introducing ambiguities. In the following,
the representation of an agent-based model is presented exactly in the
same order as the GRAMS reference model is presented in Chapter 6.
Afterwards the implementation of simulation engines is described.
Search WWH ::




Custom Search