Conception, Implementation and Empirical Evaluation of a Domain-Specific Language for Multi-Agent Traffic and Transport Simulations

Abstract

Conception and implementation of agent-based simulation programs is a complex task. One of the key problems is the requirement of technical agent-based software engineering expertise on the one hand and professional knowledge of the application domain on the other. Either skill set is rare and only few people possess adequate knowledge of both domains. A joint development of software engineers and domain experts is often impeded by inaccurate communication resulting from the incompatible terminologies of the technical and the application domain. This is especially problematic since every change commences a new development cycle based on inapt communication. Domain-specific languages (DSLs) are a promising approach to overcome this gap. A well-designed concrete syntax can serve as the communicational basis. An expressive meta-model in combination with a concise concrete syntax allows modelling on a more abstract level close to the application domain. Via pre-defined transformations, executable simulation software can be generated from DSL-models. DSLs thus have the potential to increase the quality of the software and at the same time accelerate the entire development process. Realisation of this potential demands a perfectly designed language which in turn renders a proper language evaluation indispensable. However, this crucial step is often neglected by DSL developers. Therefore, there is a general demand for further contributions in this area of language engineering. This thesis presents the development of a DSL for the domain of agent-based traffic simulation and vehicle-routing optimisation together with a comprehensive empirical language evaluation. It depicts how an expressive meta-model was developed and merged with a concise concrete textual syntax. It also presents transformations that allow the generation of executable software for different platforms. Most importantly, it provides empirical evidence that language users with little programming knowledge as well as modellers with advanced software development skills can benefit from the application of the DSL in terms of software quality and development time

    Similar works