Skip to main content

The Dinamica Virtual Machine for Geosciences

  • Conference paper
  • First Online:
Programming Languages (SBLP 2015)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9325))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://csr.ufmg.br/map/.

  2. 2.

    http://www.csr.ufmg.br/dinamica/applications/cuiaba-santarem.html.

  3. 3.

    www.ipcc.ch/publications_and_data/ar4/wg3/en/ch9.html.

  4. 4.

    Prefetching is part of the implementation of Window; it does not require any program transformation.

  5. 5.

    http://www.esri.com/software/arcgis.

  6. 6.

    http://clarklabs.org/.

  7. 7.

    http://pcraster.geo.uu.nl/.

References

  1. Bohm, C., Jacopini, G.: Flow diagrams, turing machines and languages with only two formation rules. Commun. ACM 9(5), 366–371 (1966)

    Article  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  3. Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)

    Article  Google Scholar 

  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. 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. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co. Inc., Boston (1995)

    MATH  Google Scholar 

  7. Gardner, M.: Mathematical games - the fantastic combination of John conway’s new solitaire game life. Sci. Am. 1(223), 120–123 (1970)

    Article  Google Scholar 

  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). http://doi.acm.org/10.1145/165180.165214

  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)

    Article  Google Scholar 

  10. Hils, D.D.: Visual languages and computing survey: data flow visual programming languages. J. Visual Lang. Comput. 3, 69–101 (1992)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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). http://dx.doi.org/10.1016/j.envsoft.2013.09.010

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  14. Nielson, H.R., Nielson, F.: Semantics with Applications - A Formal Introduction. Wiley, New York (1992)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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). http://www.sciencemag.org/content/344/6182/363.short

    Article  Google Scholar 

  19. Thapa, R.B., Murayama, Y.: Urban growth modeling of Kathmandu metropolitan region, Nepal. Comput. Environ. Urban Syst. 35(1), 25–34 (2011)

    Article  Google Scholar 

  20. Tomlin, C.D.: Geographic Information Systems and Cartographic Modelling. Prentice-Hall, Englewood Cliffs (1990)

    Google Scholar 

  21. Wadler, P.: Deforestation: transforming programs to eliminate trees. Theor. Comput. Sci. 73(2), 231–248 (1988)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fernando Magno Quintão Pereira .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Ferreira, B.M., Soares-Filho, B.S., Pereira, F.M.Q. (2015). The Dinamica Virtual Machine for Geosciences. In: Pardo, A., Swierstra, S. (eds) Programming Languages. SBLP 2015. Lecture Notes in Computer Science(), vol 9325. Springer, Cham. https://doi.org/10.1007/978-3-319-24012-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-24012-1_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-24011-4

  • Online ISBN: 978-3-319-24012-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics