Toestandsovergang
Consistentie
Efficiënt
Flexibiliteit
Dit begrip vraagt enige verduidelijking. ,,De term auto
maat bezigen we voor een mechaniek dat autonoom, dat
wil zeggen zonder ingrijpen onzerzijds, desgewenst iets
voor ons kan doen. Een algoritme is een handelingsvoor
schrift dat, mits getrouwelijk uitgevoerd, in een eindig
aantal stappen tot het gewenste resultaat voert". Met
deze opmerking geeft prof. E. W. Dijkstra een goede in
leiding op het begrip toestandsovergang.
Een computer reageert op signalen die door de gebruiker
worden ingegeven. Na verwerking van deze signalen
geeft de computer in het algemeen weer signalen af, bij
voorbeeld het resultaat van een bewerking. Met andere
woorden: een computer doet een ruimte (toestand a)
overgaan in een andere samenstelling van diezelfde
ruimte (toestand b). We spreken in dit geval over toe
standsveranderingen (fig. 1).
De functionele specificatie van een programma impliceert
het aangeven hoe begin- en eindtoestand samenhangen.
Een dergelijke specificatie moet daarbij zeer gedetail
leerd en correct worden opgesteld. Het correctheids-
bewijs geeft aan dat de overgangsfunctie daadwerkelijk
zijn doel zal bereiken. Bij het oplossen van de proble
matiek van .under- en overshoots" gaat het er in eerste
instantie niet om dat alle geometrische primitieven (lijn-
stukken) in een bestand worden gecontroleerd en gecor
rigeerd. Het is van belang dat de functie waarin twee
lijnstukken met elkaar worden vergeleken, correct werkt.
Een correcte werking impliceert:
corrigeren volgens de gegeven regels indien de toe
stand voldoet aan de gestelde criteria;
melden dat een bepaalde toestand niet voldoet en
zorgdragen dat een gerichte operatie dit verder af
handelt.
Wanneer één of meerdere bestanden in een achtergrond
verwerking (batch) worden geplaatst, ontstaan hierdoor
extra randvoorwaarden voor de afwikkeling van toestan
den die niet voldoen. Zo kan bij het doorrekenen van
Fig. 3. Afhankelijkheid van efficiency, flexibiliteit en consistentie.
A volledig uitgeprogrammeerd
B een systeem zonder beperkingsregels;
M: onmogelijk!
maximaal kwaliteitsniveau.
262
rechthoekigheid van gebouwen een lijst worden opge
bouwd met objecten die niet zijn geslaagd. Uitgangspunt
is dat een consistente toestand wordt aangeboden voor
de verwerking. Bij interactieve verwerking wordt dit nog
complexer, omdat naast de feitelijke mutatie ook moet
worden gecontroleerd wat, wellicht ten onrechte, is ver
anderd. De reden hiervoor is dat mutaties van objecten
veelal niet met een simpele handeling worden afgesloten
(isolatie).
In de discussie over objectgerichte en objectgeoriën
teerde systemen wordt nu duidelijk dat er sprake is van
respectievelijk een toestandsruimte met geometrische
primitieven en een toestandsruimte met ruimtelijke ob
jecten. Mede hierdoor zal de implementatie van een ge
gevensstructuur met de bijbehorende regels sterk ver
schillen.
Een CAD-pakket heeft een vast aantal gegevenstypen
met ieder een vooraf gedefinieerde structuur. Functies
die een toestandsovergang beschrijven, zijn hierdoor
redelijk eenvoudig. De sequentiële bestandsstructuur
zou in dit geval enige beperkingen met zich kunnen mee
brengen. Bij een semantische gegevensbank daaren
tegen wordt geprobeerd om alle beperkingsregels in het
gegevensmodel vast te leggen (model-inherent). De com
plexiteit van het gegevensmodel zal hierdoor toenemen.
Dit geldt ook voor functies die een toestandsovergang
beschrijven. Dit kan zodanige vormen aannemen, dat een
systeem niet meer tot aanvaardbare prestaties komt.
Bij objectgeoriënteerde gegevensmodellen [19] kan de
gebruiker zelf gegevenstypen definiëren (ADT abstract
datatype). De traditionele elementaire gegevensbankope
raties verliezen hierdoor hun werking. Om dit te onder
vangen, worden door de gebruiker operaties ontwikkeld,
die deze ADT's benaderen.
Bij ADT's komen geen beperkingsregels voor zoals hier
voor gedefinieerd. De classificatieproblemen van dit soort
regels verschuiven naar de correcte formulering van
objectmethoden. Door de gegevensstructuur zijn wel alle
regels model-inherent geworden (zie artikel over GEO+
op p. 274 in dit nummer).
Andere benadering
Consistentieregels worden in drie hoofdcategorieën on
derscheiden. De categorieën komen overeen met de
stappen in de technologische ontwikkelingen van ge-
gevensbank(beheer)systemen (fig. 4). Een gegevensge-
oriënteerde benadering van beperkingsregels vindt zijn
toepassing in de traditionele gegevensbankvormen (rela
tioneel, netwerk en hiërarchisch), maar ook in de alom
bekende sequentiële bestanden. Ondanks dat ontwer
pers de problematiek van beperkingsregels wel onder
kennen, worden er tot op heden bijzonder weinig hulp
middelen aangeboden om er goed mee te kunnen om
gaan in ruimtelijk georiënteerde toepassingen.
De laatste jaren wordt vanuit de gebruiker aangestuurd
op verandering, ten einde de kwaliteit van gegevensver
zamelingen te kunnen garanderen. Dit heeft mede geleid
tot de toepassing van andersoortige programmeertalen
en dito gegevensbankvormen.
De eerste verandering vinden we in de meer functionele
benadering. Hierbij worden gegevens in een bepaalde
context via een strakke gebruikersinterface aangeboden
en kunnen vervolgens gerichte functies worden gestart.
In de gebruikersinterface worden ten behoeve van de
context en kwaliteit van de gegevens regels ingebouwd
en getoetst [16] [17].
NGT GEODESIA 93 - 6