Bx Examples Repository
Title: OpenStreetMap
Version: 0.1
Type: Sketch
Overview
This example specifies a view on XML trees exported from openstreetmap (OSM).
As this is bidirectional, such views can be transformed (e.g. removing certain details, highlighting certain patterns, straightening streets as a form of abstraction, …) and then propagated back to the OSM XML file and viewed again as a map.
The potential of this example lies in the abundant source of (i) real models, and (ii) almost arbitrarily large models (just choose a large enough area in a map to export).
Models
The diagram below (click to enlarge) depicts the lovely Herrengarten in Darmstadt, Germany, which can be exported/imported to and from an XML file. This is the source model for the bidirectional transformation, which extracts a view. In the view, their are explicit types for relevant concepts such as an OSMMap, OSMNodes, and OSMWays that connect multiple OSMNodes. This is a very interconnected graph structure and is also an abstraction of the actual OSM map as many details are left out.
Consistency
Consistency Restoration
Properties [optional section]
Variants [optional section]
Discussion
Due to the size of the models (and of course information loss as usual), this example strongly favours incremental approaches.
References [optional section]
To the best of my knowledge, the idea for this example and its potential for measuring scalability of transformation approaches came from a discussion with Stephan Hildebrandt at the Dagstuhl BX meeting.
Author(s)
Anthony Anjorin.
Reviewer(s)
Comments
Artefacts [optional section]
A virtual machine hosted on Share is available with a workspace containing both (Ecore) metamodels, the concrete example used above, and a TGG formalizing the consistency relation as a set of rules: