Deze modelleerstap waarbij voor iedere schaal een UML-
klassediagram is vervaardigd op basis van huidige product
specificaties, was bedoeld om de inhoud per afzonderlijke
schaal weer te geven. Maar ook om aan te geven aan welke
eisen een specifieke schaal als generalisatie-output moet
voldoen. Deze eisen zijn in het huidige handmatige gene
ralisatieproces vastgelegd in generalisatiespecificaties [Ka
daster, 2005], bijvoorbeeld minimale dimensies van een
gebouw. Om inzicht te krijgen in het modelleren van het
gencralisatieproces, is een aantal van deze generalisatiespe
cificaties als geldigheidscondities in OCL-constraints (voor
waarden) gemodelleerd.
OCL-constraints kunnen aan een LlML-lclassediagram (of
toestandsdiagram) worden toegevoegd om extra semantiek
aan een informatiemodel te geven. Wat de OCL-constraints
voor de valide toestand van een dataset betreft hebben we
in ons onderzoek vier typen constraints onderscheiden:
1. constraints op ieder object van een bepaalde objectklasse
(bijvoorbeeld minimale oppervlak van een gebouw);
2. constraints op twee objecten van eenzelfde objectklasse
(bijvoorbeeld minimale afstand tussen twee gebouwen);
3. constraints op twee objecten van verschillende object
klassen (bijvoorbeeld minimale afstand tussen gebouw
en weg);
4. constraints op een groep van objecten van een bepaalde
objectklasse (bijvoorbeeld maximale bedekkingsgraad
voor gebouwen op terreinvlakken van type 'overig' op
schaal 1:50.000).
Fig. 2 laat zien hoe deze OCL-constraints er in een UML-klas
sediagram uitzien. Om deze constraints te modelleren zijn
conceptionele relaties (in UML 'associaties') nodig. In IMTOP
hebben we deze relatie 'ruimtelijke relatie' genoemd, in fig.
2a aangeduid met Al en A2.
Stap 2: Integreren van informatiemodellen op de
verschillende schalen
Het 'domweg' samenvoegen van de afzonderlijke UML-in-
formatiemodellen door relaties te leggen tussen dezelfde
objectklassen op verschillende schalen was geen optie voor
het vervaardigen van een overkoepelend UML-model, omdat
hierbij niet duidelijk wordt gemaakt wat er gebeurt met ob
jectklassen hij schaalovergangen. Soms gaat het hierbij zelfs
om introductie van nieuwe informatie, zoals 'rotonde', als
Fig. 2. Voorbeeld van
OCL-constraints in
UML-klassediagram
voor ohjectklassen
gebouw en weg
('building' en 'road').
mogelijke attribuutwaarde voor een
wegdeel (kruising) met als geometrie
'punt' op schaal 1:50.000. Voor de inte
gratie van de inlbrmatiemodellen op
de verschillende schalen hebben we in
ons onderzoek drie alternatieven na
der bekeken, waarvan er nu twee ver
der worden beschreven.
In het eerste alternatief (waarvan de
principes zijn uitgewerkt in fig. 3 voor
de objectklasse wegdeel) wordt voor
iedere objectklasse een abstracte su
perklasse gemodelleerd, die de attribu
ten en attribuutwaarden bevat die in
principe geldig zijn voor alle schalen
(overgenomen uit de grootste schaal;
TOP10NL in ons geval). Vervolgens
wordt er voor iedere schaal eenzelfde
objectklasse gedefinieerd die alle ei
genschappen overerft van de abstracte
objectklasse. Bovendien wordt tussen
objectklassen op de kleinere schalen
een 'is afgeleid van -relatie gelegd met
de objectklassc van de schaal erboven.
De schaalspecifieke objectklassen heb
ben drie soorten attributen:
a) afgeleide attributen (aangeduid met
in UML) om aan te geven dat het
attribuut is afgeleid van een grotere
schaal. Hoewel dit met expressies
mogelijk zou zijn, is op dit moment
nog niet aangegeven hoe deze aflei
ding plaatsvindt.
b) op een schaal nieuw ingevoerde at
tributen en attribuutwaarden, zoals
'afrit' in TOP50NL in fig. 3.
c) attributen uit de superklasse die
vanaf deze schaal niet meer voorko
men. Dit wordt aangeduid met de
notatie 'attribuutnaam: Type[0j', zo
als 'verhardingsBreedte' in TOP50N1.
en TOP100NL in fig. 3.
In het tweede alternatief is het onder
liggende meta-model van UML uitge
breid met het multi-schaal-concept
Een «MultiScale» stereotype is gede
finieerd om aan te geven dat een attri
buut verschillende representaties heeft
op verschillende schalen. Vervolgens
kan worden aangegeven welke repre
sentatie op welke schaal geldig is met
behulp van 'minScale' en 'maxScale'
tags op attribuutniveau (zie tig. 4).
In tig. 4 zijn alle attributen onder
«MultiScale» aangeduid als multi-
schaal-attribuut. Voor het attribuut
'geometrySurface' zijn de 'tagged'
waarden getoond. Dit alternatief heeft
nadelen. Ten eerste zijn de 'tagged'
waarden alleen zichtbaar in de GUI
class Imtop
«FeatureTyp...
+bd +rd
«FeatureTyp,.,
+bd1
top50nl::Building
top50nl::Road
h..* 1..*
+bd2
A2
ifi' Association Properties fSc|
Gtnoud C«wMir« f.
«pst Rota
CemtrroK.
TOK-X-01
T yt*.
MS v
coMwt iooW 8uW^j
;~Mininwdifl#K«betv«i«eotK^
j ObJ O
fliTl
a. UML-klassediagram voor objectklasse gebouw
(building) en weg (road)
b. Verschijningsvorm van OCL constraint
in UML-modelleersoftware
context top 50::Building
inv:
- - Minimum distance between buildings
- - is 0.2 mm in the map
Distance (self.Geometry,bd2.Geomctry)>-0.2
context top 50::Building
inv:
- - Building and Road should
- - be disjoint
Disj oint (self.Geometry,rd .Geometry)
c. Voorbeeld van OCL constraint op twee objecten
van dezelfde klasse (op associatie A2)
d. Voorbeeld van OCL constraint op
twee objecten van verschillende klasse
(op associatie Al)
GEO-INFO 2008-10