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

Similar documents
IMAGE DATA HANDLING IN SPATIAL DATABASES

TerraME GIMS - Graphical Interface for Modelling and Simulation

{lubia, gilberto, cartaxo, miro,

TerraLib: Technology in Support of GIS Innovation

TerraLib An Open Source Library for GIS Application Development

Improvements to Expectation-Maximization approach for unsupervised classification of remote sensing data

Yet Another Map Algebra

TerraME Observer: An extensible real-time visualization pipeline for dynamic spatial models

The Amazon Deforestation Monitoring System: A large environmental database developed on TerraLib and PostgreSQL

Specific Objectives Contents Teaching Hours 4 the basic concepts 1.1 Concepts of Relational Databases

G-GCS A Geographical Aware Graph Coupling Structure for GIS Water Flow Representation

A Modelling Framework Incorporating a Map Algebra Programming Language

Geodatabase over Taita Hills, Kenya

Fundamentals of. Database Systems. Shamkant B. Navathe. College of Computing Georgia Institute of Technology PEARSON.

A Transformation Tool for ODE Based Models

ArgoCASEGEO - an open source CASE tool for Geographic Information Systems modelling using the UML-GeoFrame model

Systems:;-'./'--'.; r. Ramez Elmasri Department of Computer Science and Engineering The University of Texas at Arlington

FUNDAMENTALS OF. Database S wctpmc. Shamkant B. Navathe College of Computing Georgia Institute of Technology. Addison-Wesley

Temporal GIS and Spatiotemporal Data Sources

What are Cellular Automata?

Chapter 1: Introduction

FUZZY CELLULAR AUTOMATA APPROACH FOR URBAN GROWTH MODELING INTRODUCTION

Module 10 Data-action models

Spatio-Temporal Databases: Contentions, Components and Consolidation

COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung

Robots & Cellular Automata

THE CONTOUR TREE - A POWERFUL CONCEPTUAL STRUCTURE FOR REPRESENTING THE RELATIONSHIPS AMONG CONTOUR LINES ON A TOPOGRAPHIC MAP

A SPATIAL AND TEMPORAL DATA INTEGRATION METHOD FOR HETEROGENEOUS DATABASE ENVIRONMENTS

Simulation of the Dynamic Behavior of One-Dimensional Cellular Automata Using Reconfigurable Computing

MIC 99. III Metaheuristics International Conference. PUC-Rio - Catholic University of Rio de Janeiro. Angra dos Reis, Brazil.

Fast Point-Feature Label Placement Algorithm for Real Time Screen Maps

History in Spatial Databases

Introduction to Geographic Information Science. Updates. Last Lecture. Geography 4103 / Database Management

AN OBJECT-ORIENTED VISUAL SIMULATION ENVIRONMENT FOR QUEUING NETWORKS

Database Refactoring to Increase/Retrieve Information From Precision Agriculture Information System

Welcome. to Pre-bid meeting. Karnataka State Spatial Data Infrastructure (KSSDI) Project, KSCST, Bangalore.

Cellular Automata Urban Growth Simulation and Evaluation - A Case Study of Indianapolis

DERIVING SPATIOTEMPORAL RELATIONS FROM SIMPLE DATA STRUCTURE

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

Design Patterns for Description-Driven Systems

Geodatabases. Dr. Zhang SPRING 2016 GISC /03/2016

Enabling Seamless Sharing of Data among Organizations Using the DaaS Model in a Cloud

Oracle 10g GeoSpatial Technologies. Eve Kleiman Asia/Pacific Spatial Product Manager Oracle Corporation

Normal Algorithmetic Implementation of Cellular Automata

Generalized Coordinates for Cellular Automata Grids

Open source implementation of the Multiplicatively Weighted Voronoi Diagram as a TerraView plugin

REMOTE MONITORING AND CONTROL OF MANUFACTURING SYSTEM

Resolving Schema and Value Heterogeneities for XML Web Querying

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

XML and Inter-Operability in Distributed GIS

TOPOLOGICAL CONSTRAINTS, ACTIONS AND REFLEXES FOR GENERALIZATION BY OPTIMIZATION

Extending Irregular Cellular Automata with Geometric Proportional Analogies

Fundarnentals of. Sharnkant B. Navathe College of Computing Georgia Institute of Technology

A NEW APPROACH FOR DEFORESTATION ASSESSMENT

Chapter 13 XML: Extensible Markup Language

El model SLEUTH. Un Automatisme Cel lular aplicat al creixement urbà. Conceptes Bàsics. Robert Colombo June 6th, 2005

SPATIAL OPTIMIZATION METHODS

Introduction to Trajectory Clustering. By YONGLI ZHANG

MASSiVE, Unità di Torino

Chapter 1. Types of Databases and Database Applications. Basic Definitions. Introduction to Databases

Lecture 6: GIS Spatial Analysis. GE 118: INTRODUCTION TO GIS Engr. Meriam M. Santillan Caraga State University

INCREASING CLASSIFICATION QUALITY BY USING FUZZY LOGIC

Creating an Area-level Extract

Composability Test of BOM based models using Petri Nets

INTEROPERABILITY OF STATISTICAL DATA AND METADATA AMONG BRAZILIAN GOVERNMENT INSTITUTIONS USING THE SDMX STANDARD. Submitted by IBGE, Brazil 1

CELLAR: A High Level Cellular Programming Language with Regions

Database Management System Implementation. Who am I? Who is the teaching assistant? TR, 10:00am-11:20am NTRP B 140 Instructor: Dr.

International Journal of Research in Advent Technology Available Online at:

Unit 2. Unit 3. Unit 4

RADX - Rapid development of web applications in XML

DESIGN AND IMPLEMENTATION OF THE VALID TIME FOR SPATIO-TEMPORAL DATABASES

Operator s Guide INPE / FUNCATE

FAdo: Interactive Tools for Learning Formal Computational Models

Getting started with psleuth

Information Management (IM)

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

IBM Research Report. Model-Driven Business Transformation and Semantic Web

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

Introduction: Databases and. Database Users

State Identification In The Hybrid Automata Description Of Dynamical Systems

InterImage 1.41 User Guide.

Drawdown Automata, Part 1: Basic Concepts

CS425 Fall 2016 Boris Glavic Chapter 1: Introduction

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 1-1

A GML SCHEMA MAPPING APPROACH TO OVERCOME SEMANTIC HETEROGENEITY IN GIS

Open XML Requirements Specifications, a Xylia based application

Adaptive edge detection via image statistic features and hybrid model of fuzzy cellular automata and cellular learning automata

Evolutionary design for the behaviour of cellular automaton-based complex systems

OPERATORS FOR CELL TUPLE-BASED SPATIOTEMPORAL DATA MODEL

Orccad Control Architecture

An adaptive package architecture for corporate GIS

Flight Systems are Cyber-Physical Systems

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

A component-centric UML based approach for modeling the architecture of web applications.

Conceptual Model for a Software Maintenance Environment

New Approach for Modifying Blowfish Algorithm by Using Multiple Keys

CMPUT 391 Database Management Systems. Fall Semester 2006, Section A1, Dr. Jörg Sander. Introduction

Developing A Semantic Web-based Framework for Executing the Clinical Quality Language Using FHIR

Developing a Geospatial Search Tool Using a Relational Database Implementation of the FGDC CSDGM Model

XML-based Event Notification System for Large Scale. Distributed Virtual Environment

Transcription:

TerraML A Cell-Based Modeling Language for an Open-Source GIS Library Bianca Pedrosa 1, Frederico Fonseca 2, Gilberto Camara 1, Ricardo Cartaxo 1 {bianca,gilberto, cartaxo}@dpi.inpe.br 1 Image Processing Division Brazilian National Institute for Space Research São José dos Campos, SP, Brazil ffonseca@ist.psu.edu 2 School of Information Sciences and Technology The Pennsylvania State University State College, PA, USA 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. 2. TerraML Schema TerraML is based on XML (extensible Markup Language), which is a meta-language, 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.

output, transition, constraint, and simulation. The input section is where data to be retrieved are declared. In the output section, the cellular space is configured. Transition is the section where the user specifies a set of rules upon which the cell states evolve. The constraint section contains restrictions that limit, avoid, or force the occurrence of a transition. Finally, the simulation section contains actions to be processed during model execution. Figure 1 The TerraML Schema In Figure 2, we present an overview of the language by using a simplified example of a deforestation process. In this example, two images, use99 and road99, are retrieved and assigned to the landuse and accessibility variables, respectively. The cellular space is initialized with the landuse variable and a von Neumann neighborhood [3] is specified. Three different transitions can happen in this simulation. Transitions from forest to deforested state occur if a cell is close to roads (accessibility) or if all

its neighbors are in the deforested state. A transition from in regeneration to regenerated happens after 10 years. Constraints are preconditions to limit, avoid, or force the occurrence of a transition in its spatial, temporal, or both contexts. In this example, constraints restricting the deforestation process to 10% over 20 years and fixing the preserved cells are also specified. The simulation is processed for 20 time-steps that are equivalent to 20 years. The results are stored and displayed on the screen one by one in a sequence giving an animation effect. <cellprocessor author="bianca" date="3/26/2002" case="amazon Forest" model="lucc" > <input> <layer name="use99" attribute="class">landuse</layer> <layer name="road99" attribute="distance">acessibility</layer> </input> <output <cellspace neighborhood="0,3,6" name="use" init="landuse" /> </output> <transition> <rule from="forest" to="deforested"> <event>condition="accessibility=51"</event> </rule> <rule from="forest" to="deforested"> <event>neighbor="all"</event> </rule> <rule from="in regeneration" to="regenerated"> <event>time="after 10"</event> </rule> </transition> </constraint> <restriction state="deforested" spatial="+10%" temporal="20 years"/> <restriction state="forest reserve" type="static"/> </constraint> <simulation> <timer init= 2000 end= 2020 timeunit= year /> <TRANSIT> <SAVE> <SHOW> </timer> </simulation> </cellprocessor> Figure 2 An example in TerraML showing changes in land use cover

3. TerraML Data Structures A TerraML program is mapped to a cell space, which is a generalized raster data structure where each cell holds more than one attribute value. Cell-spaces are extensions of cellular automata (CA) [4] to support non local actions [3]. In cell spaces each cell can be handled as an individual geographic object to which traditional visualization operations can then be applied. In terms of implementation, the cell space structure can be divided in two parts called (1) basic structure and (2) extended structure (Figure 3). The basic structure is defined a priori and contains attributes that are common to all types of simulation models: the georeferenced location for each cell, its location in cellular space, its state and latency. The extended structure is dynamic, i.e., defined during the simulation process (run time) to accommodate the data provided by the user in a TerraML program. Figure 3 - The Cell Data Structure

The extended structure contains the attributes specified in the input and output sections, which varies from program to program. For that reason, they are created and attached to the cell structure via dynamic memory allocation [5]. These attributes refer to the environmental and socio-economic characteristics of the cell and can be temporal or not. Temporal attributes are the ones that have multiple occurrences in the cell such as the different land uses in the simulation period. They are implemented with a database temporal support for handling their multiple versions. Event is associated with triggers State has a Transition has a State has a executes Action Figure 4 Structure of a transition rule extended from [6] Another important data structure present in TerraML is the transition (Figure 4). We decided to model changes using the transition concept found on finite state machines [6] and in active databases [7] theories, which assume that a transition (1) has a source and a target state, (2) is triggered by an event, and (3) can be associated to actions. Events can be expressed by means of relational conditions, neighborhood configurations, or mathematical operations. Actions are performed in order to manipulate cell attributes or to invoke an operation or any other application-dependent action [7]. This structure for transitions can be easily adapted to support continuous behavior, according to the hybrid automata theory. A hybrid automaton is a formal model for a dynamical system with

discrete and continuous components [8]. 4. TerraLib TerraLib is an open-source general-purpose GIS application development library under development at the Brazilian National Institute for Space Research (INPE). TerraLib provides, in its kernel (Figure 5), functionality for handling the different types of geographic data and facilities for data conversion, graphical output, and spatial database management [9]. Dynamic Modelling Spatial Analysis Database Suport Geographic Data Types TerraLib Visualization Algoritmhs Data Conversion Figure 5 The TerraLib Structure Algorithms that use the kernel structures, including spatial analysis, query and simulation languages, and data conversion procedures are also provided. In TerraLib, data structures and algorithms are independent following the computational trend of multi-paradigm software development [5, 10, 11]. TerraLib aims to enable the development of a new generation of GIS applications, based on the technological advances on spatial databases [9]. The basic idea behind TerraLib is that the current and expected advances in database technology will enable, in the next

few years, the complete integration of spatial data types in data base management systems (DBMS). 5. Conclusions and Future Work The advantages of TerraML over other dynamic modeling languages such as PCRaster[12], MapScript[13], CALANG [14] and CELLAR [15] are: TerraML supports different data formats and is fully integrated with general-use databases because of its integration with TerraLib. TerraML is an XML-based language, which is a global standard capable of generating human-readable and interoperable documents [1]. TerraML implements an integrated spatio-temporal framework, which incorporates processes and focuses on the underlying components of change at the conceptual and implementation levels. TerraML combines emerging and well-consolidate computational technologies, such as finite state machines, hybrid automata, cellular computing [16], components, and event programming in a multi-paradigm software development approach. The development of TerraML and the open source GIS software library is part of an ongoing work. Future efforts will focus on a more complete integration of space and time into the language, on modeling continuous behavior, and on proposing mechanisms to manage multiple scales in both spatial and temporal dimensions. 6. References [1] S. W. Houlding, "XML - an opportunity for <meaningful> data standards in the geosciences," Computers and Geosciences, vol. 27, pp. 839-849, 2001. [2] W3C, "World Wide Web Consortium," vol. 2002: www.w3.com, 2002. [3] M. Batty, "GeoComputation Using Cellular Automata," in GeoComputation, S. Openshaw and R. J. Abrahart, Eds.: Taylor&Francis, 2000, pp. 95-126. [4] R. White and G. Engelen, "Cellular Automata as the Basis of Integrated Dynamic Regional Modelling," Environment and Planning B: Planning and Design, vol. 24, pp. 165-174, 1997. [5] J. Coplien, Multi-paradigm Design for C++: Addison-Wesley, 1999. [6] J. Van Gurp and J. Bosch, "On the Implementation of Finite State Machines," Proceedings of 3rd Annual IASTED International Conference Software Engineering and Applications, pp., Scottsdale, Arizona, USA, 1999.

[7] S. Cerri and P. Fraternali, Designing Database Applications with Objects and Rules. The IDEA Methodology. Harlow, England: Addison Wesley Longman, 1997. [8] T. A. Henzinger, "The Theory of Hybrid Automata," Proceedings of Proceedings of the 11th Symposium on Logic in Computer Science (LICS'96), pp. 278-292, 1996. [9] G. Câmara, R. C. M. Souza, B. M. Pedrosa, L. Vinhas, A. M. V. Monteiro, J. A. Paiva, M. T. Carvalho, and M. Gatass, "TerraLib: Technology in Support of GIS Inovation," Proceedings of GeoInfo 2000 - II Workshop Brasileiro de Geoinformação, pp. 126-133, São Paulo, 2000. [10] M. H. Austern, Generic Programming and the STL: Using and Extending the C++ Standard Template Library: Addison-Wesley, 1999. [11] Z. Zhang and D. A. Griffith, "Integrating GIS components and spatial statistical analysis in DBMSs," International Journal of Geographical Information Science, vol. 14, pp. 543-566, 2002. [12] W. P. A. Van Deursen, "Geographical Information Systems and Dynamic Models," in Faculty of Spatial Sciences. Rotterdan, The Netherlands: University of Utrecht, 1995, pp. 126. [13] D. Pullar, "MapScript: A Map Algebra Programming Language Incorporating Neighborhood Analysis," GeoInformatica, vol. 5, pp. 145-163, 2001. [14] C. E. Stocks and S. Wise, "The role of GIS in Environmental Modelling," Geographical and Environmental Modelling, vol. 4, pp. 219-235, 2000. [15] G. Folino and G. Spezzano, "CELLAR: A High Level Cellular Programming Language with Regions," Proceedings of Proceedings of 8th Euromicro Workshop on Parallel and Distributed Processing, pp., Rhodes, Greece, 2000. [16] M. Sipper, "The emergence of Cellular Computing," IEEE Computer, vol. 32, pp. 18-26, 1999.