mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data



Similar documents
SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

Towards a Common Metamodel for the Development of Web Applications

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data

A CityGML-based encoding for the INSPIRE Data Specification on Buildings

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Cadastre in the context of SDI and INSPIRE

The LADM Based on INTERLIS

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Model-Driven Data Warehousing

Business Model Interoperability using Enterprise Model Integration

Applying MDA in Developing Intermediary Service for Data Retrieval

Representing XML Schema in UML A Comparison of Approaches

Model-Driven Architecture: Vision, Standards And Emerging Technologies

A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource

Revel8or: Model Driven Capacity Planning Tool Suite

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Data interchange between Web client based task controllers and management information systems using ISO and OGC standards

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Clarifying a vision on certification of MDA tools

Model-Driven ERP Implementation

Java Metadata Interface and Data Warehousing

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

SDI Workshop ESDIN Best Practices INSPIRE conference, Edinburgh. Arnulf Christl, Metaspatial

Web Map Context Service for Adaptive Geospatial Data Visualization

Transforming Data with FME for Inspire

All you need are models Anneke Kleppe, Klasse Objecten

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)

Resource Oriented Architecture and REST

Foundations of Model-Driven Software Engineering

GetLOD - Linked Open Data and Spatial Data Infrastructures

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

The Virtual Database A Tool for Integrated Data Processing in a Distributed Environment

UML PROFILING AND DSL

Metamodels and Modeling Multiple Kinds of Information Systems

Creating visualizations through ontology mapping

A Web services solution for Work Management Operations. Venu Kanaparthy Dr. Charles O Hara, Ph. D. Abstract

Providing GRASS with a Web Processing Service Interface

Managing a Geographic Database From Mobile Devices Through OGC Web Services

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

Model-driven secure system development framework

A Pattern-driven Generation of Security Policies for Service-oriented Architectures

Testing Download Service for INSPIRE Compliance. Xin HE GeoTest, Future Position X Sweden

DEVELOPMENT OF THE INTEGRATING AND SHARING PLATFORM OF SPATIAL WEBSERVICES

Definition and Generation of Data Exchange Formats in AUTOSAR

What is a metamodel: the OMG s metamodeling infrastructure

Overview

GIS Data Models for INSPIRE and ELF

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling

A Common Metamodel for Code Generation

Design a medical application for Android platform using model-driven development approach

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

INSPIRE Compliant Provision of Metrological Sensor Data at the IMIDA Murcia, Spain

Designing Data Warehouses for Geographic OLAP querying by using MDA

Tool Support for Model Checking of Web application designs *

An architecture for open and scalable WebGIS

Mobile GIS for Cadastral Data Collection in Ghana

New Web Application Development Tool and Its MDA-Based Support Methodology

Unifying the Global Data Space using DDS and SQL

Rules and Business Rules

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Developing in the MDA Object Management Group Page 1

A Software Development Platform for SOA

Tool chain (BRIDE) delivered as BRICS software distribution

Requirements Exchange: From Specification Documents to Models

Ontologies for Software Engineering and Software Technology

Towards Integrating Modeling and Programming Languages: The Case of UML and Java

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

Development of Tool Extensions with MOFLON

INSPIRE Infrastructure for Spatial Information in Europe. D2.8.III.7 Data Specification on Environmental Monitoring Facilities Draft Guidelines

CIM to PIM Transformation: A criteria Based Evaluation

Mapping between Levels in the Metamodel Architecture

DISMAR implementing an OpenGIS compliant Marine Information Management System

Access to ESPON Database by third- party applications An expertise on the potentialities of web services for accessing the ESPON metadata and data

SDWM: An Enhanced Spatial Data Warehouse Metamodel

An MDA Approach for the Development of Web applications

Ontology-Driven Software Development in the Context of the Semantic Web: An Example Scenario with Protégé/OWL

BUILDING TURKISH NATIONAL GIS (TRGIS) and DEVELOPMENT OF GEO-DATA STANDARDS

INSPIRE Infrastructure for Spatial Information in Europe. D2.8.III.8 Data Specification on Production and Industrial Facilities Draft Guidelines

An Agent Based Etl System: Towards an Automatic Code Generation

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Secure your GIS. Protecting GIS applications suites. camptocamp / 9. septembre 2010 / / info@camptocamp.com

The Fast Guide to Model Driven Architecture

Transcription:

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data Tatjana Kutzner, Andreas Donaubauer Chair of Geoinformatics kutzner@tum.de INSPIRE KEN Schema Transformation Workshop, Marne la Vallée

Theoretical Foundations of the Schema Translation Approach 2

Geospatial Data Modelling Modelling Levels Modelling levels M3 Meta-metamodel MOF M2 Metamodel instantiates UML Metamodel/ UML Profile Conceptual Schema M1 Model instantiates INSPIRE Data Specifications M0 instantiates Transfer format Data about real world objects GML file 3

Use of Conceptual Schemas in Geospatial Data Modelling Schemas for Communication Purposes Support communication between people from different backgrounds Create common understanding e.g. INSPIRE Data Specifications Schemas have to be machine-readable Schemas for Controlling Run-time Systems Derive transfer format / database schema from conceptual schemas Transform between different schemas e.g. transformation from INSPIRE Data Specifications (PIM) to INSPIRE compliant GML (PM) Schemas have to be machine-interpretable 4

Model-driven Architecture (MDA) Software development through definition of formal schemas and transformation between them Separation of platform-independent from platform-specific aspects Types of schema levels in MDA Platform Independent Model (PIM) Platform Specific Model (PSM) Platform Model (PM) Relation to Geospatial Domain AFIS-ALKIS-ATKIS Reference Model (UML) AFIS-ALKIS-ATKIS Implementation Schema (UML) AFIS-ALKIS-ATKIS Transfer Format NAS (GML) Automatic execution of transformation between schemas (e.g. PIM PSM, PIM PIM) by transformation tools Relevant for web-based schema translation, e.g. INSPIRE Transformation Service Prerequisite: Machine-interpretable schemas 5

Conceptual Schemas and Semantic Transformation Transformation on Conceptual Schema Level (PIM PIM) Definition of mapping rules between source and destination schema Automatic execution of the defined rules Rules are defined just once, afterwards transformation into various formats through encoding rules Modelling expert doesn t need to be programming expert 6

Model-driven Schema Translation in the Lake Constance Region 7

Projects Using this Approach Model-driven Approach for Accessing Distributed Spatial Data Using Web Services Demonstrated for Cross-border GIS Applications (mdwfs), 2006-2011 Sponsors: Federal Agency for Cartography and Geodesy (BKG), Germany and Swiss Federal Office for Topography (swisstopo) Baden- Wuerttemberg Switzerland ESRI Bavaria Transformation to INSPIRE Data Specifications Annex I Austria Prototypical Transformation of Spatial Data to INSPIRE in the Crossborder Lake Constance Region (Geodatenpool Bodensee), 2010-2012 Sponsors: State Agency for Spatial Information And Rural Development Baden-Wuerttemberg (LGL BW), Bavarian Agency for Surveying and Geoinformation (LVG BY), Austrian Federal Office of Meterology and Surveying (BEV) and Swiss Federal Office for Topography (swisstopo). 8

Schemas from the Lake Constance Region Germany: AFIS-ALKIS-ATKIS Reference Model Modelling language: UML 1.4.2 + UML Profile from ISO 19103 Metamodel: General Feature Model ISO 19109 Transfer format: NAS, ISO 19136 Annex E / ISO 19139 encoding Switzerland: TLM Model, MOpublic Model Modelling language: INTERLIS 2 Metamodel: UML 1.4.2 Metamodel extension + INTERLIS Metamodel Transfer format: Interlis 1, Interlis 2 Austria: - Transfer format: Shape, ASCII Europe: INSPIRE Data Specifications Modelling language: UML 2.1 + UML Profile from ISO 19103 Heterogeneity: Data models, Model descriptions, Modelling languages Transfer formats Spatial reference systems, Accuracy, Metamodel: General Feature Model ISO 19109 Transfer format: GML, ISO 19136 Annex E / ISO 19139 encoding 9

mdwfs Model-driven Web Feature Service Goal: Translation of spatial data through defining the schema translation on the level of the conceptual schemas Embedding the model-driven translation of spatial data in a web-based environment Demonstrating the feasibility of this approach Realisation of this approach includes: Development of the transformation language UMLT for defining schema mappings Development of plugins for FME XMI Reader: Reads UML schemas in XMI format Transformer UMLTApplier: Parses UMLT mapping rules in XMI format and translates them into internal FME functions Definition and implementation of a web interface (transformation service) for executing schema translation 10

mdwfs General Concept 1. Request information on source schema [XMI] 2. Define transformation rules [XMI] DoTransform 3. (Source schema [URL], target schema [XMI], transformation rules [XMI]) mdwfs configure Schema translation execute 4. URL of the new WFS configure New WFS instance GetFeature (feature type) Spatial data conforming to target schema 11

UML Transformations (UMLT) Mapping language for describing mappings between UML schemas Based on UML2 Activity Diagrams, developed as independent extension of the UML2 meta model at ETH Zürich A UMLT editor was developed at TUM for visual definition of the mappings and export as XMI transfer format for further processing Source:Staub, Gnägi, Morf (2008) Semantic Interoperability through the Definition of Conceptual Model Transformations. Transactions in GIS 12(2): 193-207. 12

UMLT Mapping Rules with UMLT Example: Transformation of DKM (Austrian cadastre) to INSPIRE Cadastral Parcels cp_1.geometry := gst_4.ausdehnung cp_1.inspireid.localid := StringConcatenator(StringConcatenator(StringConcatenator(gstdb_3.Katastralgemeindenummer. elements,gstdb_3.grundstueckspunkt.elements),gstdb_3.grundstuecksstammnummer. elements),gstdb_3.grundstuecksunterteilungsnummer.elements) cp_1.inspireid.namespace := "AT.0002.01.03" cp_1.label.elements := gst_4.gnr.elements cp_1.nationalcadastralreference.elements := StringConcatenator(StringConcatenator(StringConcatenator(gstdb_3.Katastralgemeindenummer. elements,gstdb_3.grundstueckspunkt.lements),gstdb_3.grundstuecksstammnummer. elements),gstdb_3.grundstuecksunterteilungsnummer.elements) cp_1.areavalue.area.value := gstdb_3.flaeche cp_1.areavalue.area.uom.uomsymbol.elements := "m2" cp_1.referencepoint.gm_point := gnr_1.position cp_1.beginlifespanversion.voidreason := "Unpopulated" 13

Implementation of the Schema Translation in FME Workspace Resource The target schema which has been read using the XMI Reader UMLTApplier Converts UMLT mapping rules [XMI] into internal FME functions Generic Writer Uses the target schema provided as Workspace Resource 14

Implementation of the mdwfs Web Interface mdwfs operations are provided as WPS processes mdwfs GetCapabilities GetCapabilities DescribeFeatureType DoTransform WPS GetCapabilities DescribeProcess Execute Implementation mdwfs GetCapabilities and DescribeFeatureType: Java DoTransform: mdwfs.fmw, provided via FME Server mdwfs Client HTTP FME deegree WPS add-on FME Server REST API FME Server mdwfs.fmw 15

Findings from the prototypical implementation 16

Problems arising from the state-of-the-art use of conceptual schemas (I) Discrepancy in visual and machine-interpretable representation of UML due to identical data type names with different semantics (e.g. ISO 19103 CharacterString EA CharacterString) disregarding the UML specification (e.g. code list with generalization relationship) different UML versions (e.g. UML 2.1 Boolean ISO 19103 Boolean) MDA cannot be applied consistently in modelling and in the automatic transformation process since UML models are not fully machine-interpretable More accuracy in defining schemas and UML profiles is required Kutzner T, Donaubauer A (2012) Critical Remarks on the Use of Conceptual Schemas in Geospatial Data Modelling A Schema Translation Perspective. In: Gensel J, Josselin D, Vandenbroucke D (eds), Bridging the Geographic Information Sciences, International AGILE 2012 Conference. Berlin Heidelberg: Springer, S. 43-60. 17

Discrepancy UML visual/machine-interpretable Semantics of Data types Type: EAJava_CharacterString Quelle: INSPIRE Protected Sites Type: CharacterString as complex type with the attributes size, characterset, elements, maxlength Visual representation is identical XMI representation is differing 18

Problems arising from the state-of-the-art use of conceptual schemas (II) Non-machine-interpretable schemas due to semantic modification of the UML specification (e.g. stereotypes «codelist», «union» and «voidable») Schemas are not compliant with the UML profile definition of the OMG Schemas are based on different UML profiles D: ISO-19103-based UML profile, UML version 1.4.2 CH: INTERLIS 2 UML profile, not ISO-based, but ISO conform INSPIRE: ISO-19103-based UML profile, UML version 2.1 Possible other profiles from administrations using geospatial base data In the mdwfs project transformation was only possible using a common profile, i.e. the UML schemas of AAA and INSPIRE had to be remodelled according to the INTERLIS profile 19

Semantic Modification of the UML Specification Stereotypes from ISO 19103 Source: INSPIRE and AAA schemas «Codelist»: extensible value range «Union»: exactly one of several alternative values during run-time These stereotypes represent a not allowed extension of the UML language ISO 19103 is not a real UML profile in the sense of the UML profile definition of the OMG 20

Semantic Modification of the UML Specification Stereotype «voidable» from INSPIRE According to UML: Exactly one value of type DateTime With «voidable»: Also unpopulated and unknown as value Source: INSPIRE Protected Sites Not conforming to the UML Specification 21

Enhanced prototypical implementation: Multi-level schema translation 22

Approach for solving the UML profile problem Use of a Core UML Profile Represents an intersection of the elements of the individual profiles; a comprehensive UML profile, which contains elements not common to each profile, could constrain extensive use of spatial data beyond the GI domain. the concepts of the core UML profile have to compliant to the UML specification for profiles Multi-level semantic translation The individual profiles are mapped to the common Core UML Profile as intermediate step in transforming source into destination schemas Schema x Profile INTERLIS Profile The Core UML Profile acts as pivot at the meta model level (star converter approach). Core Profile AAA Profile INSPIRE Profile Schema y Profile Advantage: The mapping rules have to be defined only once for each UML profile. Each UML schema which is based on a certain UML profile can then be mapped to a schema based on the Core UML profile 23

Formal Definition of the Core UML Profile class CoreUMLProfile «metaclass» Package + URI :String «metaclass» Class + isactive :Boolean «metaclass» Enumeration «extends» «extends» «extends» «extends» «extends» ApplicationSchema Leaf FeatureType Union CodeList constraints {Leaf} constraints {Union} context Leaf inv: base_package.nestedpackage->size()=0 context Union inv: base_class.ownedattribute->select(p p.association->notempty())->size()>=2 and base_class.ownedrule->notempty() 24

Mapping of «CodeList» to Core UML Profile (I) Use of «CodeList» according to ISO 19103 results in the following XMI: <packagedelement xmi:type="uml:class" xmi:id="12" name="administrativehierarchylevel" visibility="public"> <ownedattribute xmi:type="uml:property" xmi:id=" " name="1storder" visibility="public"> <lowervalue xmi:type="uml:literalinteger" xmi:id=" " value="1"/> <uppervalue xmi:type="uml:literalinteger" xmi:id=" " value="1"/> </ownedattribute> <ownedattribute xmi:type="uml:property" xmi:id=" " name="2ndorder" visibility="public"> <lowervalue xmi:type="uml:literalinteger" xmi:id=" " value="1"/> <uppervalue xmi:type="uml:literalinteger" xmi:id=" " value="1"/> </ownedattribute> <ownedattribute xmi:type="uml:property" xmi:id=" " name="3rdorder" visibility="public"> <lowervalue xmi:type="uml:literalinteger" xmi:id=" " value="1"/> <uppervalue xmi:type="uml:literalinteger" xmi:id=" " value="1"/> </ownedattribute> </packagedelement> <thecustomprofile:codelist base_class="12" /> 25

Mapping of «CodeList» to Core UML Profile (II) Modelling of «CodeList» as extension of Enumeration results in the following XMI: <packagedelement xmi:type="uml:enumeration" xmi:id="12" name="administrativehierarchylevel" visibility="public"> <ownedliteral xmi:type="uml:enumerationliteral" xmi:id=" " name="1storder" visibility="public"/> <ownedliteral xmi:type="uml:enumerationliteral" xmi:id=" " name="2ndorder" visibility="public"/> <ownedliteral xmi:type="uml:enumerationliteral" xmi:id=" name="3rdorder" visibility="public"/> </packagedelement> <thecustomprofile:codelist base_enumeration="12" /> 26

Multi-level semantic transformation UML Profile S compliant to 1 1 Metamodel Core Metamodel Mapping Rules UML Profile Mapping Rules executes ATL compliant to executes 2 Metamodel Metamodel 2 Transformation Eclipse / ATL-Plugin Transformation Tool Tool UML Profile D compliant to Schema S Schema S Schema D Schema D compliant to reads and displays the user 3 Editor reads and displays the user UMLT Editor compliant to Encoding Rules S Format S compliant to FME / XMI Reader Mapping 5 refer to generates Schema Translation Rules TR refer to compliant to executes Encoding Encoding Mapping Rules S Rules D 6 5 reads Schema writes Format S Translation Format D Tool T. Kutzner, A. Donaubauer: mdwfs Model-driven FME Schema / UMLTApplier Translation for 4 Encoding Rules D Format D 27

Conclusions The mdwfs approach can be applied successfully for defining the schema translation on the conceptual schema level deriving concrete transformations between different transfer formats Multi-level schema translation provides a solution to the problem of UML profiles not conforming to the UML specification Future work Developing a more automatic solution for the encoding of the data, which is currently done manually by FME workspaces due to missing machine-interpretable encoding rules Testing the approach with further UML schemas to analyse the mapping of UML schemas to the core UML profile for a wider range of UML constructs 28