TerraML – A Cell-Based Modeling Language for an Open-Source GIS Library

1. Introduction TerraLib Modeling Language (TerraML) is a spatial dynamic modeling language to simulate dynamic processes in environmental applications. TerraML provides an interface (front-end) from which the end-user can access software components provided by an open-source GIS library called TerraLib (back-end). We decided to implement dynamic models as software components with the objectives of incorporating new functionalities via a flexible and interoperable way, and achieving a tightly coupled integration between the dynamic model and the geographic data. In TerraML we represent space as a cellular model, and represent time as a linear flow divided into discrete intervals. The dynamic model is described by transitions and constraints, where the transition concept corresponds to similar concepts on finite state machines and active databases theories. TerraML is based on XML (eXtensible Markup Language), which is a metalanguage , i.e., a language to create other markup 1 languages. [1] Figure 1 shows the TerraML Simplified Schema using the XML graphic notation [2]. A program written in TerraML has a main section called Cellular Processor, which is divided in 5 subsections: input, 1 In a markup language (tag-set) each element is delimited by starting (< >) and ending (</ >) tags.

[1]  Marcelo Gattass,et al.  TerraLib: Technology in Support of GIS Innovation , 2000 .

[2]  Guy Engelen,et al.  Cellular Automata as the Basis of Integrated Dynamic Regional Modelling , 1997 .

[3]  Daniel A. Griffith,et al.  Integrating GIS components and spatial statistical analysis in DBMSs , 2000, Int. J. Geogr. Inf. Sci..

[4]  M. Sipper,et al.  The Emergence of Cellular Computing , 1999, Computer.

[5]  Jilles van Gurp,et al.  ON THE IMPLEMENTATION OF FINITE STATE MACHINES , 1999 .

[6]  James O. Coplien,et al.  Multi-paradigm design for C++ , 1998 .

[7]  Giandomenico Spezzano,et al.  CELLAR: a high level cellular programming language with regions , 2000, Proceedings 8th Euromicro Workshop on Parallel and Distributed Processing.

[8]  Wpa van Deursen,et al.  Geographical Information Systems and Dynamic Models , 2000 .

[9]  Stefano Ceri,et al.  Designing Database Applications with Objects and Rules: The IDEA Methodology , 1997 .

[10]  Michael Batty,et al.  Geocomputation using cellular automata , 2000 .

[11]  Thomas A. Henzinger,et al.  The theory of hybrid automata , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[12]  Matthew H. Austern Generic programming and the STL - using and extending the C++ standard template library , 1999, Addison-Wesley professional computing series.

[13]  Steve Wise,et al.  The Role of GIS in Environmental Modelling , 2000 .

[14]  Simon W. Houlding,et al.  XML---an opportunity for meaningful data standards in the geosciences , 2001 .