Designing and Performing Geographic Analysis Processes with GISCASE Cirano Iochpe, Guillermo N. Hess, Cláudio Ruschel, Alécio P. D. Binotto, Luciana V.

Slides:



Advertisements
Similar presentations
Apache Struts Technology
Advertisements

WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
.NET Mobile Application Development Remote Procedure Call.
CS565 Advanced Software Development Lecture 23, 2006 CASE.
Introduction to GIS. Watershed Discretization (model elements) + Land Cover Soil Rain Results Intersect model elements with Digital Elevation Model (DEM)
InternetApplications Division (IAD) 1 PowerDesigner7: Technical Presentation and Demonstration (Taipei - 12/09/99) Marc Chanliau, Senior Product Manager.
UNIT-V The MVC architecture and Struts Framework.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Systems Analysis and Design in a Changing World, Fifth Edition
DEV-07: Increasing Productivity with Tools for Business Logic Gikas Principal Software Engineer.
Xactium xDSLs Run Models Not Code Tony Clark
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
CIS Computer Programming Logic
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Programming for Geographical Information Analysis: Advanced Skills Lecture 1: Introduction Programming Arc Dr Andy Evans.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Introduction of Geoprocessing Topic 7a 4/10/2007.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Bringing “it” all Together !? Dean Djokic, ESRI David Maidment.
Selected Topics in Software Engineering - Distributed Software Development.
Generic API Test tool By Moshe Sapir Almog Masika.
Mid-term Presentation Validation of Architecture Rules & Design Patterns 25 th May Shravan Shetty &Vinod J Menezes Supervised by, Prof. Dr. M. v. d. Brand.
1 INTEROP WP1: Knowledge Map Michaël Petit (U. of Namur) January 19 th 2004 Updated description of tasks after INTEROP Kickoff Meeting, Bordeaux.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 © 1999 Microsoft Corp.. Microsoft Repository Phil Bernstein Microsoft Corp.
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
SIMO SIMulation and Optimization ”New generation forest planning system” Antti Mäkinen & Jussi Rasinmäki Dept. of Forest Resource Management.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Introduction of Geoprocessing Lecture 9. Geoprocessing  Geoprocessing is any GIS operation used to manipulate data. A typical geoprocessing operation.
07/10/2007 VDCT Status Update EPICS Collaboration, October 2007 Knoxville, Tennessee
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
1 Circuitscape Capstone Presentation Team Circuitscape Katie Rankin Mike Schulte Carl Reniker Sean Collins.
Introduction of Geoprocessing Lecture 9 3/24/2008.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
The ECOST Web-based platform for data providers and for data users.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
SIMULATION COMPONENT AND MODFLOW DATA MODEL. Simulation Component.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Databases (CS507) CHAPTER 2.
An Introduction to database system
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
CE-105 Spring 2007 Engr. Faisal ur Rehman
Phil Bernstein Microsoft Corp.
The Re3gistry software and the INSPIRE Registry
Lecture 1: Multi-tier Architecture Overview
Using JDeveloper.
Analysis models and design models
Software Design Lecture : 14.
Chapter 7 –Implementation Issues
Software Development Process Using UML Recap
Software Architecture & Design
Presentation transcript:

Designing and Performing Geographic Analysis Processes with GISCASE Cirano Iochpe, Guillermo N. Hess, Cláudio Ruschel, Alécio P. D. Binotto, Luciana V. da Rocha UFRGS – Instituto de Informática { ciochpe, hess, claudior, abinotto, vargas

Introduction GeoFrame-A Framework GISCASE’S Architecture Implementation Conclusions and Future Work Main Topics

Introduction Each GIS tool supports its own logical model for both data and process design. A need: Models and tools that help the definition / design of geographic data and analysis processes. Tools used in GDB design could be candidates (ex: MADS, GeoOOA, GeoFrame), if they also supported process definition. GeoFrame-A: an extension to the GeoFrame Framework that aims to support the design of geographic analysis processes. Our proposal: GISCASE: software tool that implements GeoFrame-A concepts. It generates programs that can perform geographic analysis processes.

The GeoFrame Framework: GeoFrame is an object oriented conceptual framework on the basis of the Unified Modeling Language (UML) (Lisboa, 2000). It supports geographic database design by providing a set of classes that can be instatiated as well as specialized, and extended. GeoFrame-A: Extension that supports the design of geographic analysis processes (Ruschel, 2003). The GeoFrame-A Framework

GeoFrame-A uses UML 2 diagrams to specify processes: -Class Diagram: external specification Each geographic process type is represented as an Activity Class. The GeoFrame-A Framework

-Activity Diagram: internal specification Data represented as object nodes; Operations modeled as activity nodes; Both data and control flow possible. A set of basic geoprocessing operations {DS (Dissolve) ; OV (Overlay) ; SS (Spatial Selection) ; BF (Buffer)...} The GeoFrame-A Framework

The GISCASE Tool GISCASE is a free software developed at UFRGS that generates source code in a programming language which, when compiled and executed, performs geographic analysis processes. The specification uses UML activity diagrams including GeoFrame-A concepts. Spatial classes are represented through spatial tables in a GDB. Operations must be implemented on a GIS software API. First implementation relies upon TerraLib.

GISCASE’s Architecture

GisCase Main Window: Manages GISCASE’s workflow. Elements: navigation panel, text editor, message window GISCASE’s Architecture

Graphical Editor Activity diagrams: CASE tool Poseidon UML (Community Edition) GISCASE’s Architecture

GPtoXML Parser Reads the XMI file and performs a semantic analysis. Result: a clean XML file, from which code generation is possible. GISCASE’s Architecture

Elements from the XMI file are coded into a new XML file, based on a XML-Schema (the XML encode for GeoFrame-A). GPtoXML Parser GisCase_DS_1 polygon GisCase_DS_1 XMI File XML-Schema Generated XML File GISCASE’s Architecture

Object nodes serve as either input or output for Action nodes. Each action node can have one or more input nodes but only one output. Actions are verified within GP Rules database: Number of inputs for each action; Data types of the inputs and outputs. GPtoXML Parser GISCASE’s Architecture

XMLtoGIS Generator Generates source code from the XML specification. GISCASE’s Architecture

For each GIS software an API is needed in order to map GeoFrame-A operations onto the logical model of the GIS software. XMLtoGIS Generator bool GcBuffer(string inLayerName, TeGeomRep inRepName, string outLayerName, double dist, TeAdo* db) {TeLayer* inLayer = new TeLayer(inLayerName); db->loadLayer(inLayer); TeProjection* proj = inLayer->projection ();... TePolygonSet bufferPol; TeLayer* outLayer = new TeLayer(outLayerName, db, inLayer->box(), inLayer->projection()); int layerId = outLayer->id(); db->Buffer(tableRep, inRepName,objsIn, bufferPol, dist); outLayer->addPolygons(bufferPol); } This module generates the source code that accesses the GIS operations through its API, passing respective parameters when needed. The source code generated must be compiled and linked with the required GIS libraries, or interpreted within the GIS software environment. Mapping the buffer operation to TerraLib GISCASE’s Architecture

Implementation ComponentRequisitesAdopted Graphical Editor must implement an actitivy diagram and generate a XML- like output Gentleware's Poseidon (Community Edition) GIS API must manage a GDB and functions of geographic analysisTerraLib from INPE Interface platform with interface components Eclipse Platform As a free software project sponsored by CNPq, all the external components adopted are free software. Interface and parsers built in Java: free software, platform independent, easy to parse XML files GISCASE’s exclusive Library to access TerraLib API developed in C++

Implementation The XMLtoGIS module generates a main procedure and appends the source code for the operations used in the process from the library GcGeoOperations for TerraLib. int main(){ string dbname = "C:\GeoDB\Geoinfo.mdb"; TeAdo* db = new TeAdo(); db->connect("localhost","","",dbname,0)) cout errorMessage() << endl; TeAdoPortal* dbPortal = new TeAdoPortal(db); TeDatabasePortal* portal = dbPortal; TeInitQuerierStrategies(); val = GcDissolve("Municipality","GisCase_DS_1","IDADMREGION",db, portal); if (!val) cout << "Erro na função GcDissolve!" << endl; val = GcOverlay("GisCase_DS_1","River_Basin","Region_by_Basin","AND",db, portal); if (!val) cout << "Erro na função GcOverlay!" << endl; portal->freeResult(); db->close(); return 0; }

Implementation GcGeoOperations Library for TerraLib Source code that maps the main procedure to TerraLib library and TerraView functions. Operations implemented in the first version: GcSelection: selects objects by attributes GcRegionSelection: selects objects inside a polygon GcSpatialSelection: selects objects through a spatial predicate GcBuffer: creates a polygon with a specified distance GcOverlay: does the overlay of two sets of spatial objects GcDissolve: generalizes the input objects through an attribute GcCentroid: finds the centroid of a polygon GcAlgebra: updates attributes in one layer (SQL Update) GcDistance: mesures the distance of two geometries

Prepare a GDB, compatible to the GIS API, with the input data In the GISCASE tool: - Design the process in the graphical editor - Verify semantics and generate source code Compile and execute (for TerraLib, with Visual Studio) Verify the results in a map viewer (ex: TerraView) Workflow to perform a geographic analysis process with GISCASE:

Contributions: a XML schema able to define a geographic process complements a set of applications developed with TerraLib a modular and extendable architecture to design geographic process a learning tool to programmers Future work: to implement other geographic analysis operations still using TerraLib code generation for other GIS platforms allow the use of a script language as an alternative to the graphical editor