Title: The Land Administration Domain Model 'Survey Package' and Model Driven Architecture Presentation of
1The Land Administration Domain Model'Survey
Package' and Model Driven Architecture
Presentation of Master of Science Thesis
- Jan van Bennekom-Minnema
- mail_at_janvanbennekom.nl
- MSc Programme GIMA
- http//www.msc-gima.nl
2Agenda
- 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
3INTRODUCTION
- 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 (-gt UML/MDA
tool)
4Land 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
5Object 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-gtsum()1 or
self.RRR-gtsize()0
6Model 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
7Kadaster 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
8MSc 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?
9MSc 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)
10Introduction - 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 -gt quality/accuracy
cadastral map - Next Research Topics
11DETAILS on RESEARCH TOPICS
- LADM Survey Package
- Adapted LADM Survey Package
- Model Driven Architecture
- Process
- Constraints in Data Modelling
- Object Constraint Language (OCL)
- Implementation examples
12LADM 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)
13Adapted LADM 'Survey Package'PIM / UML class
diagram
SurveyProject
SurveyDocument
SurveyPoint
14Model 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
15Object 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 lt self.endDate
Implemented as table check constraint Table
survey_project CHECK ( start_date lt end_date )
16Object Constraint Language Implementation example
(2)
- Complex constraint for multiple classes
- Sum of "share" must
be equal to 1 - (Not in thesis report
-gt FIG WW Stockholm)
OCL invariant for multiple classes context
RegisterObject inv SumOfShares
self.RRR.share-gtsum()1 or self.RRR-gtsize()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
17Research 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
18MDA 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
19MDA Prototype Setup
- C Windows Forms
- 5800 lines of source code
- 90 custom developed
- demonstration
20Transformations 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
21Model Driven ArchitectureTransformation Rules
- 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
MDA Transformation Rule for each PIM element
22Example MDA Transformation Rule 1) Column Data
type
- PIM String GM_Point GM_MultiSurface
- PSM varchar(100) POINT MULTIPOLYGON
PIM
PSM PostGIS
23Example 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
24Example MDA Transformation Rule 3)
Transformation of ltltenumerationgtgt class
- Enumeration class SurveyPointQuality
- Implemented as check constraint
check_survey_point_quality
PIM
PSM PostGIS
25Result Platform Specific Model (PSM) Adapted
LADM 'Survey Package' in PostGIS
Platform Independent Model (PIM)
Platform Specific Model PostGIS
26Population 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
27Analysis of provided dataCadastral Office
- Difference between measured and transferred
coordinate - Max 20 cm in Urban area
- Max. 40 cm in Rural area
28Analysis of provided dataCadastral Section
- Outside Kadaster Norm
- Less than 95 of measurements within resp. 20 and
40 cm
29MDA 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
30Demonstration MDA Prototype
- From PIM to PostGIS (database create scripts)
- SurveyProject, SurveyDocument SurveyPoint
31Conclusions
- Research objective reviewed
- Conclusions on MSc thesis project
- Recommendations for Future
32Research 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'
33Conclusions (1)
- MDA Prototype Automatically transforms PIM to PSM
- PIM -gt PSM -gt 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
34Conclusions (2)
- Transform and implement Geometric data types and
operations - Transforming geometric data types
- e.g. GM_Point, GM_LineString, GM_Polygon
- No Topology -gt future research
- Constraints assessed and classified for
implementation - Object Constraint Language (OCL)
- extension of UML -gt constraints that cannot be
recorded in UML. - Implementation by row and statement level
triggers - Custom development of a "transaction management
mechanism" required
35Conclusions (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
36Recommendations (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
37Recommendations (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
38Recommendations (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.
39Recommendations (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
40Sources
- 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
41Discussion
- Thank you for your attention
- Next Discussion
42BACKUP
43OCL 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)
)
44Implementation of ConstraintsRow, Statement,
Transaction level
- Example Transaction
- Group of insert, update, delete statements
- SurveyProject, SurveyDocument, SurveyPoint
451st 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
462nd phase control point constraint network
adjustment
- Convert measured coordinate to fit into the
cadastral map - Result Transferred coordinate
- In cadastral map
47Example MDA Transformation Rule 2) Column
Cardinality
- Column errors of type ProjectMessage
- With cardinality 0..
- Implemented as child table errors_survey_project
PSM PostGIS
PIM
48MDA 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
49Example MDA Transformation Rule 5)
Transformation of ltltCodeListgtgt class
- CodeList class SurveyDocumentType
- Implemented as look-up table codelist_surveydocume
nttype
PIM
PSM PostGIS
50Implementation 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_po
ints 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) gt 2) ) )
51Open Source Tools
- PostgreSQL / PostGIS database
- http//www.postgresql.org http//postgis.refract
ions.net - uDig visualisation of the geographic information
- http//udig.refractions.net/
- 7.5 million records provided by Kadaster
52Kadaster Project "Registration Map Quality"
- Handling of Survey Measurements
- 1st phase free network adjustment
- Input various survey measurements of one point
- Output one Measured Coordinate
- 2nd phase control point constraint network
adjustment - Input Measured Coordinate
- Output Transferred Coordinates for Parcels and
buildings on cadastral map - Survey Measurements are "fitted in" the cadastral
map
53Quality of cadastral map
- Difference Measured and Transferred Coordinate
- i.e. before and after 2nd phase adjustments
- Graphical Precision max. 20 cm in urban 40 cm
in rural area - Kadaster Norm Graphical Precision valid for 95
of survey measurements
54Analysis of provided dataCadastral Municipality
- Difference between measured and transferred
coordinate - Max 20 cm. in Urban area
- Max. 40 cm. in Rural area
55Constraints in Data modellingImplementation
possibilities in target PSM
- RDBMS standard provided functionality, e.g.
- mandatory columns (i.e NOT NULL)
- primary key constraint
- unique key constraint
- foreign key constraint
- Base table Check constraints
56Constraints in Data modellingImplementation
possibilities in target PSM
- Alternative Table triggers using OCL Views
- Row level firing for each record
- Statement level firing for a group of records
for one table - Some (more complex) constraints require triggers
at Transaction Level - For example the "SumOfShares" constraint
- SQL standard
- SQL assertion
- Sub-select statements in check-constraints
- Transaction Management Mechanism
- Handling records for multiple tables
- Requires a custom development
Not available
57MDA Prototype Setup
- C Windows Forms
- 5800 lines of source code
- 90 custom developed
- Input
- Platform
- Independent Model
- Output PSM
- Platform
- Specific Model
PIM
PSM
Adapted LADM 'Survey Package'
Target platform PostgreSQL/PostGIS
58Population of PostGISParcels and Buildings
59Population of PostGISCadastral Office,
Municipalities, Sections
Section K
Municipality Houten
60(No Transcript)