Deze nieuwe opvatting van het begrip architec
tuur die gericht is op het behoud van het sa
menstel, dat is de integriteit van het systeem
onder wisselende omstandigheden, is tevens van
direct belang voor de systeemanalyse. Ook op
dit terrein is te lange tijd toegewerkt op het
systematisch uitdetailleren ten behoeve van een
vrij statisch proces om de oplossing te constru
eren. De nieuwe architectuur in de bouwwereld
geeft thans een richting aan die uitermate veel
belovend is.
7. Architectuur van de programmatuur
Vele technieken die tot ontwikkeling zijn geko
men in de bouwwereld zijn tevens bruikbaar
voor programmatuur. Toch heeft de program
matuur ook een eigensoortige problematiek.
Ware dit niet het geval geweest dan had de
reeds ontwikkelde methodiek in de bouwwereld
direct overgedragen kunnen worden naar de
wereld van de programmatuur, en de proble
men van de zestiger jaren hadden ons bespaard
kunnen worden. Het belangrijkste verschil is
wel dat de samenhang tussen de programma
tuur en het probleem dat opgelost dient te
worden tamelijk indirect is. Vaak laten zich
zo'n twaalf abstractieniveau's aanwijzen; d.w.z.
een probleem wordt verdeeld in subproblemen;
etc. Het resultaat is dat de verbindingsschakels
hoofdzakelijk vastgesteld zijn als inzicht bij de
ontwerpers, en door anderen niet dan met de
grootste moeite kunnen worden nagespeurd.
In de bouwarchitectuur is de situatie weliswaar
niet wezenlijk anders, doch enerzijds is het aan
tal abstractieniveau's geringer (5 a 6), en ander
zijds zijn reeds standaard-subsystemen beschik
baar voor vele functies. Voor iedereen is het
AA,
relatief gemakkelijk in te denken hoe een nieuw
huis zal functioneren omdat men:
reeds eigen ervaring heeft met huizen
bekend is met standaard subsystemen.
De afstand tussen het oorspronkelijke pro
bleem en het uiteindelijke programmatische
systeem heeft twee belangrijke gevolgen:
het is voor de ontwerper van programma
tuur zeer moeilijk om de eigenschappen van
een systeem te voorspellen
het is voor de toekomstige gebruikers zeer
lastig om de systeemeisen te formuleren.
Zoals bekend: eisen worden gewoonlijk ge
steld in termen van te verwachten moeilijkhe
den. Hoe kan een gebruiker zijn eisen echter
formuleren als hij zich geen goed beeld kan
vormen van hoe het systeem zal functioneren?
Pas door het beschikbaar komen van stan
daard-subsystemen voor programmatuur zal
aan deze problemen tegemoet gekomen kunnen
worden.
8. Tendensen in de architectuur van
programmatuur
Een van de belangrijkste ontwikkelingen die
zich in recente tijd heeft voorgedaan is het zgn.
gestructureerd programmeren. De inhoud van
deze nieuwe werkwijze is vast te leggen in een
aantal eenvoudige regels die voor het schrijven
van programma's in acht genomen dienen te
worden. Het primaire effect is dat programma's
worden georganiseerd in een hiërarchie van
programmamodules waarbij de machinale be
sturing van de uitvoering zich slechts opwaarts
en neerwaarts in de hiërarchie mag verplaatsen,
en nimmer zijwaarts. Het gevolg is dat men
overzicht houdt over de wijze waarop de bestu
ring zich door een programma kan verplaatsen.
Gevolgen zijn:
dat men de gevolgen van een verandering
duidelijk kan lokaliseren
dat programma's leesbaarder worden.
De praktische toepassing van het virtuele ge
heugen-principe is eveneens een interessante
stap voorwaarts. Volgens dit principe kan men
onbekommerd programmeren voor een schijn
bare computer met een direct geheugen; de
reële computer beschikt over mechanismen om
een aldus opgezet programma via kunstgrepen
te doen uitvoeren binnen de eigen, in feite
sterk gelimiteerde, faciliteiten. Dit voordeel kan
uiteraard niet voor niets in de wacht gesleept
worden: het gemak van de programmeur wordt
betaald met extra tijdverbruik gedurende de
uitvoering van berekeningen op de computer.
Hogere talen toveren in feite aan de systeem-
281
lut U
So what