, Volume 20, Issue 1, pp 117–149 | Cite as

A domain specific language for spatial simulation scenarios

  • Luís Moreira de SousaEmail author
  • Alberto Rodrigues da Silva


This article describes DSL3S, a domain specific modelling language for Spatial Simulation in the field of Geographic Information Systems (GIS). Techniques such as cellular automata and agent-based modelling have long been used to capture and simulate the temporal dynamics of spatial information. Tools commonly employed to implement spatial simulation models include code libraries and pre-compiled models; the former require advanced programming skills while the latter impose relevant constraints on application scope. Previous attempts to produce domain specific languages in the field have invariably resulted in new textual programming languages (e.g. SELES, NetLogo, Ocelet) that are platform specific and in some cases with weak GIS support and interoperability. DSL3S synthesises relevant concepts of spatial simulation in a UML profile, that allows the design of simulation models through the arrangement of graphical elements. An implementation of this language is also presented, that relies on Model Driven Development (MDD) tools distributed with the Eclipse IDE. This includes a code generation infrastructure, that produces ready to run simulations from DSL3S models, supported by the MASON simulation tool-kit. Finally, DSL3S models for three simple and classical simulations allows to better illustrate and discuss the usage of the language.


Spatial simulation Domain specific language UML profile Model-driven development 



This work was partially supported by national funds through FCT - Fundação para a Ciência e a Tecnologia - under the projects UID/CEC/50021/2013, CMUP-EPB/TIC/0053/2013 and DataStorm Research Line of Excellency funding (EXCL/EEIESS/ 0257/2012).


  1. 1.
    Atkinson C, Khne T (2003) Model-driven development: a metamodeling foundation. IEEE Softw 20(5):36–41CrossRefGoogle Scholar
  2. 2.
    Batty M (2007) Cities and complexity. MITGoogle Scholar
  3. 3.
    Berryman M (2008) Review of software platforms for agent based models. Sci TechnolGoogle Scholar
  4. 4.
    Clark A, Muller P (2012) Exploiting model driven technology: a tale of two startups. Softw Syst Model 11(4):481–493CrossRefGoogle Scholar
  5. 5.
    Clarke KC, Hoppen S, Gaydos L (1997) A self-modifying cellular automaton model of historical urbanization in the san francisco bay area. Environ Plan B 24:247–261CrossRefGoogle Scholar
  6. 6.
    de Smith MJ, Goodchild MF, Longley PA (2013) Geospatial analysis: a comprehensive guide to principles, techniques and software tools - Fourth Edition, chapter Geosimulation. Winchelsea Press, pp 625–672Google Scholar
  7. 7.
    de Sousa L, Silva AR (2011) Review of spatial simulation tools for geographic information systems. In: Proceedings of the third international conference on advances in system simulation (SIMUL 2011). ThinkMindGoogle Scholar
  8. 8.
    Degenne P, Lo Seen D, Parigot D, Forax R, Tran A, Ait Lahcen A., Cur O, Jeansoulin R (2009) Design of a domain specific language for modelling processes in landscapes. Ecol Model 220:3527–3535CrossRefGoogle Scholar
  9. 9.
    Dewdney AK (1988) The armchair universe, chapter sharks and fish on the planet Wa-Tor. Freeman, New York, pp 239–251Google Scholar
  10. 10.
    Epstein JM, Axtell R (1996) Growing artificial societies. MITGoogle Scholar
  11. 11.
    Fall A, Fall J (2001) A domain-specific language for models of landscape dynamics. Ecol Model 141:1–18CrossRefGoogle Scholar
  12. 12.
    Ferber J (1999) Multi-agent systems: an introduction to distributed artificial intelligence, 1st edn. Addison-Wesley Longman Publishing Co., Inc., BostonGoogle Scholar
  13. 13.
    Ferreira DF, Silva AR (2012) Rslingo: an information extraction approach toward formal requirements specifications. In: Proceedings of second IEEE international workshop on model-driven requirements engineering (MoDRE). IEEE Computer SocietyGoogle Scholar
  14. 14.
    France R, Rumpe B (2007) Model-driven development of complex software: a research roadmap. In: 2007 future of software engineering. IEEE Computer Society, pp 37–54Google Scholar
  15. 15.
    Franklin S, Grasser A (1997) Is it an agent or just a program? A taxonomy for autonomous agents. In: Intelligent agents III: agent theories, architectures, and languges. Springer, Berlin, pp 21–35Google Scholar
  16. 16.
    Giese H, Henkler S (2006) A survey of approaches for the visual model-driven development of next generation software-intensive systems. J Vis Lang Comput 17 (6):528–550CrossRefGoogle Scholar
  17. 17.
    Ginot V, Le Page C, Souissi S (2002) A multi-agents architecture to enhance end-user individual based modelling. Ecol Model 157:23–41CrossRefGoogle Scholar
  18. 18.
    Grignard A, Taillandier P, Gaudou B, Vo D, Huynh N, Drogoul A (2013) Gama 1.6: advancing the art of complex agent-based modeling and simulation. In: Boella G, Elkind E, Savarimuthu BTR, Dignum F, Purvis MK (eds) PRIMA 2013: principles and practice of multi-agent systems, volume 8291 of Lecture Notes in Computer Science. ISBN 978-3-642-44926-0. Springer, Berlin, pp 117–131. doi: 10.1007/978-3-642-44927-7_9 Google Scholar
  19. 19.
    Iba H (2013) Agent-Based Modeling and Simulation with Swarm. Chapman and Hall/CRCGoogle Scholar
  20. 20.
    Kraak M, Ormeling F (2009) Cartography: visualization of spatial data, chapter data acquisition, 3rd edn. Prentice HallGoogle Scholar
  21. 21.
    Law AM (2007) Simulation modeling & analysis, 4th edn. McGraw-HillGoogle Scholar
  22. 22.
    Li X, Magill W (2001) Modeling fire spread under environmental influence using a cellular automaton approach. Complex Int 8:1–14Google Scholar
  23. 23.
    Luke S, Cioffi-Revilla C, Panait L, Sullivan K, Mason G (2005) Balan: A multi-agent simulation environment. Simulation: Transactions of the society for Modeling and Simulation International 82(7):517–527CrossRefGoogle Scholar
  24. 24.
    Merzenich J, Frid L (2005) Projecting landscape conditions in Southern Utah using VDDT. In: Bevers M, Barrett TM (eds) Systems analysis in forest resources: proceedings of the 2003 symposium. U.S. Department of Agriculture, Forest Service, Pacific Northwest Research Station, Portland, pp 157–163Google Scholar
  25. 25.
    Mladenoff D (2004) LANDIS and forest landscape models. Ecol Model 180 (1):7–19CrossRefGoogle Scholar
  26. 26.
    Mohagheghi P, Gilani W, Stefanescu A, Fernandez M, Nordmoen B, Fritzsche M (2013) Where does model-driven engineering help? Experiences from three industrial cases. Softw Syst Model 12(3):619–639CrossRefGoogle Scholar
  27. 27.
    Müller B, Balbi S, Buchmann CM, de Sousa L, Dressler G, Groeneveld J, Christian J, Klassert J, Le QB, Millington JDA, Nolzen H, Parker DC, Polhill JG, Schlüter M, Schulze J, Schwarz N, Sun Z, Taillandier P, Weise H (2014) Standardised and transparent model descriptions for agent-based models: current status and prospects. Environ Model Softw 55:156–163. doi: 10.1016/j.envsoft.2014.01.029. ISSN 1364-8152CrossRefGoogle Scholar
  28. 28.
    North MJ, Howe TR, Collier NT, Vos JR (2005) The repast simphony development environment. In: Proceedings of the agent 2005 conference on generative social processes, models, and mechanisms, ChicagoGoogle Scholar
  29. 29.
    OMG UML 2.0 Specification., July 2005. Retrieved January 2011Google Scholar
  30. 30.
    Paige RF, Varró D (2012) Lessons learned from building model-driven development tools. Softw Syst Model 11(4):527–539CrossRefGoogle Scholar
  31. 31.
    Railsback SF, Steven LL, Jackson JK (2006) Agent-based simulation platforms: review and development recommendations. Simulation 82(9):609–623CrossRefGoogle Scholar
  32. 32.
    Ribeiro A, Silva AR (2014) XIS-mobile: a DSL for mobile applications. In: Proceedings of ACM SAC’2014 conference. ACMGoogle Scholar
  33. 33.
    Samuelson D, Macal C (2006) Agent-based simulation comes of age. OR/MS Today 33(4):34–38Google Scholar
  34. 34.
    Saraiva J, Silva AR (2009) Development of CMS-based web-applications using a model-driven approach. In Proceedings of the Simpsio para Estudantes de Doutoramento em Engenharia de Software (SEDES 2009, co-located with the ICSEA 2009). IEEE Computer SocietyGoogle Scholar
  35. 35.
    Selic B (2003) The pragmatics of model-driven development. IEEE Software 20 (5):19–25CrossRefGoogle Scholar
  36. 36.
    Selic B (2008) Personal reflections on automation, programming culture, and model-based software engineering. Autom Softw Eng 15(3–4):379–391CrossRefGoogle Scholar
  37. 37.
    Silva AR, Romão A, Deugo D, Silva MM (2001) Towards a reference model for surveying mobile agent systems. Auton Agent Multi-Agent Syst J 4(3):187–231. Kluwer Academic PublishersCrossRefGoogle Scholar
  38. 38.
    Silva AR, Saraiva J, Ferreira D, Silva R, Videira C (2007a) Integration of RE and MDE paradigms: the ProjectIT approach and tools. IET Softw J 1(6):217–314CrossRefGoogle Scholar
  39. 39.
    Silva AR, Saraiva J, Silva R, Martins C (2007b) XIS - UML profile for eXtreme modeling interactive systems. In: Proceedings of the 4th international workshop on model-based methodologies for pervasive and embedded software (MOMPES 2007). IEEE Computer Society, BragaGoogle Scholar
  40. 40.
    Silva AR (2015) Model-driven engineering: a survey supported by a unified conceptual model. Comput Lang Syst Struct 43. Elsevier. doi: 10.1016/
  41. 41.
    Tobias R, Hofmann C (2004) Evaluation of free Java-libraries for social-scientific agent based simulation. J Artif Soc Soc Simul 7(1)Google Scholar
  42. 42.
    Trencansky I, Cervenka R (2005) Agent modeling language (AML): a comprehensive approach to modeling MAS. Informatica 29:391–400Google Scholar
  43. 43.
    Weiss G (ed) (1999) Multiagents systems: a modern approach to distributed artificial intelligence. MIT PressGoogle Scholar
  44. 44.
    Wilson SW (1991) The animat path to AI. In: Meyer JA, Wilson S (eds) From animals to animats. MIT Press, Cambridge, pp 15–21Google Scholar
  45. 45.
    Wuensche A, Lesser M (1992) The global dynamics of cellular automata. Addison-WesleyGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Luís Moreira de Sousa
    • 1
    Email author
  • Alberto Rodrigues da Silva
    • 2
  1. 1.Luxembourg Institute of Science and TechnologyBelvauxLuxembourg
  2. 2.INESC-ID, Instituto Superior Técnico, Universidade de LisboaLisboaPortugal

Personalised recommendations