2012 IEEE Sixth International Conference on Self-Adaptive and Self-Organizing Systems edition:6 location:Lyon, France date:September 10-14, 2012
Engineering collective adaptive systems (CAS) is a challenging task. Concurrent systems, esp. when being large-scale, are known to be hard to design as the overall system behavior non-linearly results from local behavior and interactions. They are also hard to engineer and debug, as time dependent errors are often hard to reproduce. Simulation tools and environments are often used to assist in this task.
From our experience in developing and using simulators for decentralized systems (in traffic, logistics and smart power grid management), we learned that a simulation environment should comply to the following quality criteria.
First, from a software engineering point of view, a simulation environment itself must be designed up to the highest software quality standards - modularity, separation of concerns, test-driven development, guaranteed state consistency, etc. are particularly important quality criteria to ensure correctness, extensibility and manageability of the software.
Second, the simulation environment must provide convenient support for using and extending the simulation environment, ease the visualization of solutions, and - since its use in scientific process - offer direct support for evaluating CAS through the set-up of experiments.
In this paper, we present RinSim, an open source simulator that explicitly addresses these quality criteria, and targets the large family of transportation and logistics applications. RinSim separates the definition of the problem domain from the solution, has a modular design, is being developed in a test-driven way, etc. RinSim has been used and extended in a variety of cases within our research group, and served as the core platform in our educational program on multi-agent software development.