600 likes | 853 Views
The Land Administration Domain Model 'Survey Package' and Model Driven Architecture Presentation of Master of Science Thesis. Jan van Bennekom-Minnema mail@janvanbennekom.nl MSc Programme GIMA http://www.msc-gima.nl. Research Topics. MDA Prototype. Conclusion. Introduction. Agenda.
E N D
The Land Administration Domain Model'Survey Package' and Model Driven ArchitecturePresentation of Master of Science Thesis Jan van Bennekom-Minnema mail@janvanbennekom.nl MSc Programme GIMA http://www.msc-gima.nl
Research Topics MDA Prototype Conclusion Introduction Agenda • Introduction • Highlight main topics and MSc thesis project • Details on Research Topics • Land Administration Domain Model, Model Driven Architecture, constraints in UML models, Kadaster survey measurements • Model Driven Architecture Prototype • Transformations from PIM to PSM • Analysis of quality/accuracy of Dutch cadastral map • Conclusion • Revisit research question, conclusions, recommendations The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Introduction INTRODUCTION • Land Administration Domain Model 'Survey Package' • Object Constraint Language • Model Driven Architecture • Kadaster Project "Registration Map Quality" • MSc Thesis Project • Objective • Research Question • Approach Abbreviations LADM = Land Administration Domain Model LADM SP = LADM's Survey Package MDA = Model Driven Architecture PIM = Platform Independent Model (e.g. LADM) PSM = Platform Specific Model (e.g. for PostGIS) OCL = Object Constraint Language EA = Enterprise Architect (-> UML/MDA tool) The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Introduction Land Administration Domain Model 'Survey Package' • Land Administration Domain Model (LADM) • UML class diagram [Lemmen and Van Oosterom, 2006] • ISO 19152 standard [ISO/TC211, 2008] • Goals • Extensible basis for IS development, based on Model Driven Architecture (MDA) • LADM packages • Core elements: Registered Object, RRR (Rights, Responsibilities, Restrictions) & Persons • 5 LADM packages around core elements • Focus on: Survey Package • Measurements of immovable objects • Representations of objects on the cadastral map The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Introduction Object Constraint Language • Object Constraint Language (OCL) [OMG, 2006b] • UML is not capable of modelling every kind of constraint • Extension of the UML diagrams to formally describe constraints • No support for spatial data types and operations • Example OCL constraint • Based on LADM Core Elements Written constraint: the sum of all shares of a certain right (RRR) on a specific RegisterObject should be 1 Rights, Responsibilities and Restrictions OCL invariant: context RegisterObject inv SumOfShares: self.RRR.share->sum()=1 or self.RRR->size()=0 The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Introduction Model Driven Architecture • Model Driven Architecture [OMG, 2003] • Generate information systems (semi) automatically • Based on platform independent models • Input: Platform Independent Model (PIM) • The LADM Survey Package UML Class Diagram (+ OCL) • Independent of implementation technology (e.g. PostGIS) • E.g. classes, attributes, associations • Output: Platform Specific Models (PSM) • The LADM 'Survey Package' PostgreSQL/PostGIS database • Specific for target platform (i.e. PostGIS) • E.g. tables, columns, primary key and check constraints, views, triggers The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Introduction Kadaster Project "Registration Map Quality" • Case Study: Project "Registration Map Quality" • NL: "Registratie Kaart Kwaliteit" • Survey Measurements • Differences between: • Measured coordinates of parcels & buildings • Adjusted (Transferred) coordinates of parcels & buildings to fit in the cadastral map (with existing objects) • Survey Measurements from Kadaster • April 2006 - December 2007 • Analysis of Quality / Accuracy of Cadastral Map • Graphical Precision: difference = max. 20 cm in urban area and 40 cm in rural area The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Introduction MSc Thesis ProjectObjectives and Research Question • Objectives • Investigate the possibilities and limitations of the Model Driven Architecture (MDA) approach • Establish an extension of the Land Administration Domain Model (LADM) with regard to its Survey Package • Research Question How can the Land Administration Domain Model 'Survey Package' be implemented and deployed based on Model Driven Architecture principles, and how can the Land Administration Domain Model 'Survey Package' be extended and improved? The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Introduction MSc Thesis ProjectSub-topics • Evaluation of LADM 'Survey Package' • Literature research • Evaluation of Model Driven Architecture • Literature research & MDA Prototype experiments • Evaluation of constraints in data modelling • Literature research and MDA Prototype experiments • Case Study • Literature research and analysis of processes, tools and data for survey measurements • Create MDA Prototype to implement Adapted LADM 'Survey Package' • MDA Prototype experiments Compliance with MDA concepts Degree of automatic MDA transformations Standard support and required custom development by MDA tool (i.e. EA) The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Introduction Research Topics Introduction - Summary • Prepare an Platform Independent Model (PIM) • Adapted LADM 'Survey Package' • Build a MDA Prototype • To Transform PIM into Platform Specific Model (PSM) • Target PSM = PostGIS • Based on Enterprise Architect (EA) • Create PostGIS database • Generate DDL scripts to automatically create database • Load Kadaster data • Analyse survey measurements -> quality/accuracy cadastral map • Next: Research Topics The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics DETAILS on RESEARCH TOPICS • LADM Survey Package • Adapted LADM Survey Package • Model Driven Architecture • Process • Constraints in Data Modelling • Object Constraint Language (OCL) • Implementation examples The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics LADM ‘Survey Package’ • Recommendations for extension • Minor errors reported • Preliminary recommendations, e.g. SurveyProject • Publications relevant for extension • Observations and Measurements [Open Geospatial Consortium, 2006b] • Survey Record Management System [Lee, 2005] • Adapted LADM ‘Survey Package’ • To serve as input PIM for MDA prototype • To be able to contain the Survey Measurement data (Kadaster) The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics Adapted LADM 'Survey Package'PIM / UML class diagram SurveyProject SurveyDocument SurveyPoint The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics Model Driven Architecture Process • ISO19107: • GM_Point • GM_Polygon • Etc. Adapted LADM 'Survey Package' Platform Independent Model (PIM) Platform Independent data types and operations • MDA Transformation Rules: • Class to Table • Generate Primary Key • Enumeration Class • Etc. Platform Specific Transformation Specification Platform Specific Model (PSM) Platform Specific data types and operations • PostGIS: • geometry • POINT • POLYGON • Etc. Platform Specific implementation code (e.g. DDL & DML) Target platform PostgreSQL/PostGIS The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics Object Constraint Language Implementation example (1) • Simple constraint for multiple attributes • "startDate" must be before "endDate" OCL invariant for multiple attribute: context SurveyProject inv startDateBeforeEndDate: self.startDate < self.endDate Implemented as table check constraint Table survey_project CHECK ( start_date < end_date ) The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics Object Constraint Language Implementation example (2) • Complex constraint for multiple classes • Sum of "share" must be equal to 1 • (Not in thesis report -> FIG WW Stockholm) OCL invariant for multiple classes: context RegisterObject inv SumOfShares: self.RRR.share->sum()=1 or self.RRR->size()=0 Implemented as OCL View used in database trigger(s) create view v_ocl_sum_of_shares as select self.oid from register_object self , right_responsibility_restriction rrr where self.oid = rrr.register_object.oid having sum(rrr.share) = 1 OCL View: returns records that violate the OCL invariant The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics MDA Prototype Research Topics - Summary • Adapted LADM 'Survey Package' defined (PIM) • MDA process from PIM to PSM • Platform Specific Transformation Rules • Set of MDA transformation rules, one for each PIM element • Constraint (OCL) implementation examples • Next: MDA Prototype The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype MDA PROTOTYPE • MDA Prototype Setup • Based on Enterprise Architect [Sparx Systems, 2007] • Transformations from PIM to PSM • Result: Platform Specific Model • For Adapted LADM 'Survey Package' • Analysis of Quality of Dutch Cadastral Map The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype MDA Prototype Setup • C# Windows Forms • 5800 lines of source code • 90% custom developed • demonstration The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Transformations from PIM to PSMMDA Prototype Functionality • First Transformation from PIM to PSM-1 • Transformation of PIM elements (UML class diagram) • based on EA functionality: Transformation Definitions • Second Transformation from PSM-1 to PSM-2 • Fine-tuning of PSM elements (UML class diagram) • based on MDA Prototype in C# / .NET (EA SDK) • Third Transformation from PIM OCL to PSM-2 • Initial experiments with OCL invariants • based on MDA Prototype in C# / .NET (EA SDK) • Generate database creation scripts • E.g. Tables, Geometry Columns, Primary, Unique and Foreign Key constraints, Check constraints, Indexes, Views The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Object Oriented UML (PIM) Class Attribute PIM data type GM_Point (ISO19107) GM_Polygon (ISO19107) Association Super & Sub Class Flattening of class hierarchy branch Enumeration Class CodeList Class Attribute with [0..*] bounds Relational DBMS (PSM) Table + Primary Key constraint Column PSM data type POINT (PostGIS) POLYGON (PostGIS) Foreign Key Constraint One Table Inherited columns for super class attributes Check constraint 'Look-up' table Child table with foreign key Research Topics Model Driven ArchitectureTransformation Rules MDA Transformation Rule for each PIM element The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Example MDA Transformation Rule: 1) Column Data type • PIM: String GM_Point GM_MultiSurface • PSM: varchar(100) POINT MULTIPOLYGON PIM PSM: PostGIS The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Super class SourceDocument Example MDA Transformation Rule: 2) Transformation of Super and Sub Classes • Super class SourceDocument • Inherited by table legal_document and survey_document Sub class LegalDocument Sub class SourceDocument PIM PSM: PostGIS The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Example MDA Transformation Rule: 3) Transformation of <<enumeration>> class • Enumeration class SurveyPointQuality • Implemented as check constraint check_survey_point_quality PIM PSM: PostGIS The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Result: Platform Specific Model (PSM) Adapted LADM 'Survey Package' in PostGIS Platform Independent Model (PIM) Platform Specific Model: PostGIS The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Population of PostGIS Survey Measurements • The Netherlands (April 2006 - Dec. 2007) • Connection Points • Of existing objects • Measured Coordinate • Transferred Coordinate • Used for analysis of quality/accuracy of cadastral map • Difference between measured and transferred coordinate • Max 20 cm in Urban area • Max. 40 cm in Rural area The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Analysis of provided dataCadastral Office • National level 20 cm • Difference between measured and transferred coordinate • Max 20 cm in Urban area • Max. 40 cm in Rural area The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Analysis of provided dataCadastral Section • Outside Kadaster Norm • Less than 95% of measurements within resp. 20 and 40 cm The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Conclusion MDA Prototype - Summary • Custom developed MDA prototype (C#) • Based on possibilities Enterprise Architect • Based on specified MDA transformation rules • Automatically generates PSM from PIM • Automatically generates DDL creation scripts • Analysis of cadastral map accuracy performed • Next: Demonstration MDA Prototype • Next: Conclusion The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Demonstration MDA Prototype • From PIM to PostGIS (database create scripts) • SurveyProject, SurveyDocument & SurveyPoint The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Conclusions • Research objective reviewed • Conclusions on MSc thesis project • Recommendations for Future The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Research objective reviewed • Focus on Model Driven Architecture • "to gain experience with Model Driven Architecture (MDA) by performing a literature study, and by creating a prototype of the (adapted) LADM Survey Package, based on MDA principles". • Performed partially • the analysis of the quality / accuracy of cadastral map • differences between measured and transferred coordinates of connection points • the involvement of OCL constraints in the MDA prototype • Limited amount of experiments • the extension and improvement of the LADM 'Survey Package' The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Conclusions (1) • MDA Prototype Automatically transforms PIM to PSM • PIM -> PSM -> PostGIS • complaint with MDA concept [OMG, 2003] • Based on Enterprise Architect • Solution for difference between O-O (PIM) and relational DBMS (PSM) • Based on Platform specific transformation specification • MDA transformation rules • Considerable custom development required The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Conclusions (2) • Transform and implement Geometric data types and operations • Transforming geometric data types • e.g. GM_Point, GM_LineString, GM_Polygon • No Topology -> future research • Constraints assessed and classified for implementation • Object Constraint Language (OCL) • extension of UML -> constraints that cannot be recorded in UML. • Implementation by row and statement level triggers • Custom development of a "transaction management mechanism" required The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Conclusions (3) • Analysis of quality of the cadastral map at different levels • required "graphical precision" (20/40 cm) is obtained at level of Cadastral Offices • individual cases exist at cadastral section level need analysis The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Recommendations (1) • Improve the standard MDA transformations in Enterprise Architect • Support more complex MDA transformation rules by EA • Not only the EA Software Developers Kit (~ custom development) • Support OCL • Enhance the current MDA Prototype • Aimed at changes to existing target databases • Support additional MDA transformation rules The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Recommendations (2) • Build MDA Transformation Tool based on XMI • Independent of commercially available tool • Based on XMI (input/output) [OMG, 2005] • Variation of MDA transformation rules for UML and OCL • Further research into combination of MDA, OCL, Geometry, and Topology • Other geometric data types and operations • Topological data types, structures and operations The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Recommendations (3) • Extend the OCL with spatial definitions • Spatial data types and operations • Platform independent level: e.g. ISO19107 • Platform specific level: e.g. ISO/IEC 13249 SQL/MM • Extend the LADM 'Survey Package' • Resolution of errors and improvements (from MSc thesis report) • Publications on survey measurement related areas [Ingvarsson, 2005, Lee, 2005, Open Geospatial Consortium, 2006b]. The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Recommendations (4) • Further analysis of quality of the Cadastral Map • Outliers in the data • Which sections are Urban and which are Rural? • Cadastral Sections with less than 95% within 40 cm range • Implement improvements with regard to Survey Measurement Handling • Currently based on different and separated applications • Not all data is preserved (digitally and centrally) • Recommended: Permanent storage in an integrated structured database with constraint validation and handling • Possible result: improving the (less accurate) cadastral map with (more accurate) measurements in stead of the reverse The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Conclusion Sources • MSc Thesis & MDA Prototype source • http://www.rgi-otb.nl/geoinfoned/mda • http://www.janvanbennekom.nl/mscthesis.html • FIG Working Week 2008, Stockholm • The Model Driven Architecture Approach Applied to the Land Administration Domain Model Version 1.1 - with Focus on Constraints Specified in the Object Constraint Language • http://www.fig.net/pub/fig2008/papers/ts01e/ts01e_01_hespanha_etal_2962.pdf • Future articles • Currently planning sub-sequent article MDA/OCL The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Introduction Conclusion MDA Prototype Research Topics Discussion • Thank you for your attention • Next: Discussion The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
BACKUP The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics OCL Example (1) • Constraint for one attribute • "name" must be in uppercase OCL invariant for attribute: context CadastralMunicipality inv nameUppercase: self.name = self.name.toUpper() Implemented as table check constraint Table cadastral_municipality CHECK ( name = upper(name) ) The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics Implementation of ConstraintsRow, Statement, Transaction level • Example Transaction • Group of insert, update, delete statements • SurveyProject, SurveyDocument, SurveyPoint The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics 1st phase free network adjustment • Various measurements of one (1) point • Local and/or Dutch RijksDriehoek spatial reference system • Create one (1) Measured coordinate • Input 2nd phase adjustment The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics 2nd phase control point constraint network adjustment • Convert measured coordinate to fit into the cadastral map • Result: Transferred coordinate • In cadastral map The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Example MDA Transformation Rule: 2) Column Cardinality • Column errors of type ProjectMessage • With cardinality [0..*] • Implemented as child table errors_survey_project PSM: PostGIS PIM The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype MDA Prototype SetupEnterprise Architect • Based on Enterprise Architect • EA = UML modelling tool • PIM: Adapted LADM 'Survey Package' • PSM: e.g. PostgreSQL/PostGIS • OCL support is limited in EA • Limited validation / no transformation & implementation • EA supports MDA transformation • EA Transformation Definitions • EA Software Developers Kit • Aimed at custom development The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
MDA Prototype Example MDA Transformation Rule: 5) Transformation of <<CodeList>> class • CodeList class SurveyDocumentType • Implemented as look-up table codelist_surveydocumenttype PIM PSM: PostGIS The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture
Research Topics Implementation of Constraints • SQL standard [ISO/IEC, 2003] • Assertions • Sub selects in base table check constraints • Suitable, but not possible/available SQL Assertion create assertion amount_of_survey_points Check (not exists (select * from v_ocl_amount_of_survey_points)); SQL sub select in base table check constraint ALTER TABLE survey_document ADD CONSTRAINT amount_of_survey_points CHECK (not exists (select count(spt.source_oid) from survey_point spt where oid = spt.source_oid having not (count(spt.source_oid) = 0 or count(spt.source_oid) > 2) ) ); The Land Aministration Domain Model 'Survey Package' and Model Driven Architecture