Tusnen (wm pinten voor, gtlijk, m
Tussen twee Mervallen:
disjunct
rakon
overlappen
bevallen
get jfc
Fig. 2. Tijdstopologie teit in verhouding tot de tijd is. Hieronder vier 'granulari-
en het bi-temporele
model
Bi-temporEei model
'i,d
systeamtijd
we r e Ld
■systeem
tal voorbeelden van verschillende rele
vante tijden die vastgelegd zouden
kunnen worden:
wanneer iets in de echte wereld
plaatsvond;
wanneer iets is waargenomen
(datum van foto);
wanneer het in de database is opge
nomen;
wanneer het voor het laatst is
gecontroleerd;
het tijdstip van handtekening post
stempel registratie;
wanneer het voor het laatst getoond
is aan gebruiker (op scherm of
kaart), enz.
Zo onderscheidt het bekende 'bi-tem
porele model' voor elk object een
wereldtijdinterval (bestaan in werke
lijkheid) en een systeemtijdinterval
(bestaan in database). Het resultaat is
een 2D-rechthoelc die rechtsonder dia
gonaal ligt (de gestippelde lijn in fig.
2b). Het is logisch dat de systeemtijd
achterloopt bij de wereldtijd (zowel
begin als eindtijdstip) in geval van een
systeem dat de werkelijkheid regi
streert. Hierdoor liggen linkeronder
en rechterbovenhoek van de rechthoek
onder de diagonaal (en daardoor ook
het grootste deel van de rechthoek).
Systeemaspecten
Na de meer conceptuele basisprincipes
rondom tijd komt er bij het bouwen
van een systeem nog een aantal prakti
sche en technologische aspecten aan
bod. Een van de eerste vragen is hoe
fijn of hoe grof de gegevensgranulari-
2a.
2b.
teiten' van grof naar steeds fijner waaruit in de praktijk een
keuze zal moeten worden gemaakt:
per (gehele) gegevensverzameling: bijv. traditionele topo
grafische kaarten en luchtfoto's die elke zes jaar ververst
worden;
per objectklasse: bijv. de toekomstige topografische kaar
ten waarin wegen elke twee jaar ververst zullen worden;
per objectinstantie: bijv. bij de huidige kadastrale kaart
waarbij elk object individueel kan worden ververst of
per attribuut: bijv. wanneer delen van een objectinstantie
gelijk blijven maar een attribuut apart lean worden ver
verst (actuele grondwaterstand op bepaalde meetlocatie).
Er is geen 'optimale' oplossing voor alle situaties. Dit hangt
af van het soort gegevens (discrete objecten door de mens
gemaakt of meer continue natuurlijke fenomenen) en de
behoefte aan verschillende tijdsfuncties. Naast de keuze
voor een bepaalde granulariteit moet er ook worden nage
dacht over de twee verschillende aanpakken voor het
modelleren van dynamische systemen Dit zijn:
gebeurtenisgericht modelleren: de transacties of veran
deringen worden als aparte entiteit binnen het systeem
gemodelleerd, dus met een eigen identiteit en eigen
attributen. Wanneer de begintoestand en alle gebeurte
nissen bekend zijn dan is het mogelijk om elke toestand
van het systeem te reconstrueren door het doorlopen van
de ketting van gebeurtenissen. Het is ook mogelijk om
niet de begintoestand maar de huidige toestand te repre
senteren en dan terug te gaan in de tijd door het 'onge
daan' maken van de gebeurtenissen;
toestandsgericht modelleren: alleen de toestanden, dus
de resultaten van de gebeurtenissen, worden expliciet
gemodelleerd. Elk object krijgt tenminste twee tijdsattri-
buten die aangeven op welk interval de objectversie gel
dig is. Door twee opeenvolgende versies te vergelijken, is
het mogelijk te reconstrueren wat er bij een specifieke
transactie is gebeurd. Het is eenvoudig om de toestand
op elk gewenst moment in de tijd op te vragen door de
juiste objectversies te selecteren op basis van hun tijdsin
terval.
In de praktijk worden gebeurtenis- en toestandsgericht
modelleren ook vaak gecombineerd. In het Core Cadastral
Domain Model [Lemmen en Van Oosterom, 2006] worden
zowel de gebeurtenissen (binnenkomst brondocumenten
zoals akten en metingen) als de resulterende toestanden
(aangepaste rechten en percelen) opgeslagen. Een oplossing
die een redelijke balans biedt tussen mogelijkheden en
complexiteit is het implementeren van tijd op objectinstan
tie (record)niveau in een toestandsgerichte aanpak. Ieder
object is hiervoor uitgebreid met twee extra attributen,
tmin en tmax, die het geldige tijdsinterval van deze object
versie weergeven [Stonebralcer en Rowe, 1986]. Nieuwe
objecten krijgen naast hun gewone attributen ook de huidi
ge tijd ingevuld bij tmin. Objecten die momenteel nog
steeds geldig zijn, hebben voor tmax de speciale waarde
TMAX_VALUE. Bij een verandering van een bestaand object
wordt er een kopie gemaakt van het gehele record en bij de
oude versie de tmax ingevuld met de huidige tijd. Bij de
nieuwe versie wordt dezelfde tijdwaarde bij tmin ingevoerd
(zodat versies aansluiten) en de nieuwe attribuutwaarden
worden in deze versie ingevoerd. Bij het verwijderen van
een object wordt alleen de tmax-waarde ingevuld met de
GEO-INFO 2006-11
•p