Open Street Map

Bx Examples Repository

Title: OpenStreetMap

Version: 0.1

Type: Sketch


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).


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 Restoration

Properties [optional section]

Variants [optional section]


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.


Anthony Anjorin.



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:

Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.