The Dinamica Virtual Machine for Geosciences

  • Bruno Morais Ferreira
  • Britaldo Silveira Soares-Filho
  • Fernando Magno Quintão PereiraEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9325)


This paper describes DinamicaVM, the virtual machine that runs applications developed in Dinamica EGO. Dinamica EGO is a framework used in the development of geomodeling applications. Behind its multitude of visual modes and graphic elements, Dinamica EGO runs on top of a virtual machine. This machine - DinamicaVM - offers developers a rich instruction set architecture, featuring elements such as map and reduce, which are typical in the functional/parallel world. Ensuring that these very expressive components work together efficiently is a challenging endeavour. Dinamica’s runtime addresses this challenge through a suite of optimizations, which borrows ideas from functional programming languages, and leverages specific behavior expected in geo-scientific programs. As we show in this paper some of these optimizations deliver speedups of almost 50x, and are key to the industrial-quality performance of one of the world’s most widely used geomodeling tools.


Virtual Machine Output Port Input Port Functional Programming Garbage Collector 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Bohm, C., Jacopini, G.: Flow diagrams, turing machines and languages with only two formation rules. Commun. ACM 9(5), 366–371 (1966)CrossRefzbMATHGoogle Scholar
  2. 2.
    Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently computing static single assignment form and the control dependence graph. TOPLAS 13(4), 451–490 (1991)CrossRefGoogle Scholar
  3. 3.
    Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)CrossRefGoogle Scholar
  4. 4.
    Eastman, J.R.: Pushbroom algorithms for calculating distances in raster grids. In: Auto-Carto, pp. 288–297. ASPRS and ACSM (1989)Google Scholar
  5. 5.
    Ferreira, B.M., ao Pereira, F.M.Q., Rodrigues, H., Soares-Filho, B.S.: Optimizing a geomodeling domain specific language. In: Simposio Brasileiro de Linguagens de Programacao. Sociedade Brasileira de Computacao (2012)Google Scholar
  6. 6.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co. Inc., Boston (1995)zbMATHGoogle Scholar
  7. 7.
    Gardner, M.: Mathematical games - the fantastic combination of John conway’s new solitaire game life. Sci. Am. 1(223), 120–123 (1970)CrossRefGoogle Scholar
  8. 8.
    Gill, A., Launchbury, J., Peyton Jones, S.L.: A short cut to deforestation. In: Proceedings of the Conference on Functional Programming Languages and Computer Architecture, FPCA 1993, pp. 223–232. ACM, New York (1993).
  9. 9.
    Hajek, F., Ventresca, M.J., Scriven, J., Castro, A.: Regime-building for REDD+: evidence from a cluster of local initiatives in south-eastern Peru. Environ. Sci. Policy 14(2), 201–215 (2011)CrossRefGoogle Scholar
  10. 10.
    Hils, D.D.: Visual languages and computing survey: data flow visual programming languages. J. Visual Lang. Comput. 3, 69–101 (1992)CrossRefGoogle Scholar
  11. 11.
    Huong, H.T.L., Pathirana, A.: Urbanization and climate change impacts on future urban flood risk in can tho city, Vietnam. Hydrol. Earth Syst. Sci. Discuss. 8(6), 10781–10824 (2011)CrossRefGoogle Scholar
  12. 12.
    Mas, J.F., Kolb, M., Paegelow, M., Camacho Olmedo, M.T., Houet, T.: Inductive pattern-based land use/cover change models: a comparison of four software packages. Environ. Model. Softw. 51, 94–111 (2014). CrossRefGoogle Scholar
  13. 13.
    Nepstad, D., Soares-Filho, B., Merry, F., Lima, A., Moutinho, P., Carter, J., Bowman, M., Cattaneo, A., Rodrigues, H., Schwartzman, S., McGrath, D., Stickler, C., Lubowski, R., Piris-Cabeza, P., Rivero, S., Alencar, A., Almeida, O., Stella, O.: The end of deforestation in the Brazilian amazon. Science 326, 1350–1351 (2009)CrossRefGoogle Scholar
  14. 14.
    Nielson, H.R., Nielson, F.: Semantics with Applications - A Formal Introduction. Wiley, New York (1992)zbMATHGoogle Scholar
  15. 15.
    Pérez-Vega, A., Mas, J.F., Ligmann-Zielinska, A.: Comparing two approaches to land use/cover change modeling and their implications for the assessment of biodiversity loss in a deciduous tropical forest. Environ. Model. Softw. 29(1), 11–23 (2012)CrossRefGoogle Scholar
  16. 16.
    Soares-Filho, B., Nepstad, D., Curran, L., Cerqueira, G., Garcia, R., Ramos, C., Voll, E., McDonald, A., Lefebvre, P., Schlesinger, P.: Modelling conservation in the Amazon basin. Nature 440, 520–523 (2006)CrossRefGoogle Scholar
  17. 17.
    Soares-Filho, B., Pennachin, C., Cerqueira, G.: Dinamica - a stochastic cellular automata model designed to simulate the landscape dynamics in an Amazonian colonization frontier. Ecol. Model. 154, 217–235 (2002)CrossRefGoogle Scholar
  18. 18.
    Soares-Filho, B., Rajo, R., Macedo, M., Carneiro, A., Costa, W., Coe, M., Rodrigues, H., Alencar, A.: Cracking Brazil’s forest code. Science 344(6182), 363–364 (2014). CrossRefGoogle Scholar
  19. 19.
    Thapa, R.B., Murayama, Y.: Urban growth modeling of Kathmandu metropolitan region, Nepal. Comput. Environ. Urban Syst. 35(1), 25–34 (2011)CrossRefGoogle Scholar
  20. 20.
    Tomlin, C.D.: Geographic Information Systems and Cartographic Modelling. Prentice-Hall, Englewood Cliffs (1990)Google Scholar
  21. 21.
    Wadler, P.: Deforestation: transforming programs to eliminate trees. Theor. Comput. Sci. 73(2), 231–248 (1988)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Bruno Morais Ferreira
    • 1
  • Britaldo Silveira Soares-Filho
    • 1
  • Fernando Magno Quintão Pereira
    • 1
    Email author
  1. 1.UFMGBelo HorizonteBrazil

Personalised recommendations