Abstract
MATSim is a traffic simulation software package which can be customized and extended in the Java programming language using a set of interfaces. It recently acquired a plug-in system which was implemented using framework-assisted dependency injection, a pattern more typically used in enterprise rather than research software. We describe the extension points and the implementation of the plug-in system. The architecture makes it easier and safer to combine independently developed components to complex simulation models, compared to many ad-hoc solutions often found in research software.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
also see http://matsim.org.
- 2.
Wrongly spelled Controler in MATSim.
- 3.
Called Mobsim (\(=\) mobility simulation) in MATSim.
- 4.
The current release version, 4.0, was used for this implementation.
References
Balmer, M., Rieser, M., Meister, K., Charypar, D., Lefebvre, N., Nagel, K., Axhausen, K.: MATSim-T: architecture and simulation times. In: Bazzan, A., Klügl, F. (eds.) Multi-Agent Systems for Traffic and Transportation, pp. 57–78. IGI Global (2009)
Dubernet, T.: The new MATSim routing infrastructure. In: Presentation at the MATSim User Meeting, Zurich (2013)
Fowler, M.: Inversion of control containers and the dependency injection pattern, January 2004. http://martinfowler.com/articles/injection.html
Gandrud, C.: Reproducible Research with R and RStudio. CRC Press, Boca Raton (2015)
Google, Inc.: Guice. https://github.com/google/guice
Grether, D., Nagel, K.: Extensible software design of a multi-agent transport simulation. Procedia Comput. Sci. 19, 380–388 (2013). http://www.sciencedirect.com/science/article/pii/S1877050913006601
Horni, A., Axhausen, K.W., Nagel, K. (eds.): The Multi-Agent Transport Simulation MATSim. Ubiquity, London (in press). http://matsim.org/the-book
Johnson, R., Hoeller, J., Donald, K., Sampaleanu, C., Harrop, R., Risberg, T., Arendsen, A., Davison, D., Kopylenko, D., Pollack, M., et al.: The Spring framework - Reference documentation. http://docs.spring.io/spring/docs/current/spring-framework-reference/pdf/spring-framework-reference.pdf
Laarabi, H., Bruno, R.: A generic software framework for car-sharing modelling based on a large-scale multi-agent traffic simulation platform. In: Pre-proceedings of the 1st Workshop on Agent Based Modelling of Urban Systems (ABMUS), Singapore (2016)
Mann, M.: Continuations library. http://www.matthiasmann.de/
Nagel, K., Axhausen, K.W.: Some history of MATSim. In: Horni et al. [7], Chap. 46. http://matsim.org/the-book
Parallel Universe: Quasar. http://docs.paralleluniverse.co/quasar/
Project Reactor: Reactor. http://projectreactor.io/
Rieser, M., Horni, A., Nagel, K.: Let’s get started. In: Horni et al. [7], Chap. 2. http://matsim.org/the-book
Strippgen, D.: Integrating the CUDA simulation into the MATSim framework. In: Investigating the Technical Possibilities of Real-time Interaction with Simulations of Mobile Intelligent Particles, Berlin (2009). http://opus.kobv.de/tuberlin/frontdoor.php?source_opus=2364
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Zilske, M., Nagel, K. (2017). Software Architecture for a Transparent and Versatile Traffic Simulation. In: Namazi-Rad, MR., Padgham, L., Perez, P., Nagel, K., Bazzan, A. (eds) Agent Based Modelling of Urban Systems. ABMUS 2016. Lecture Notes in Computer Science(), vol 10051. Springer, Cham. https://doi.org/10.1007/978-3-319-51957-9_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-51957-9_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-51956-2
Online ISBN: 978-3-319-51957-9
eBook Packages: Computer ScienceComputer Science (R0)