Orthogonale objecttypen

Pieter Wisse

Zelfs wie analyse vóór ontwerp stelt, moet toegeven dat het zgn vinden van objecten in de werkelijkheid vaak problematisch is. Dat blijkt bij vele auteurs echter niet uit hun geschriften. Helaas gaat de populaire literatuur eigenlijk allemaal over toepassing van objecttechnologie, dat wil zeggen over bouw van programmatuur. Over objectgerichtheid in de zin van ontwerp durft niemand zich wat fundamenteler uit te spreken. Het blijft daar bij voorbeelden van objectenmodellen en meestal zijn dat triviale voorbeelden. Vervolgens krijgt zo'n specifiek voorbeeld toch de status van methode toegedicht. Want een methode, die is immers gevraagd. Maar voor zijn eigen praktijk heeft de ontwerper er vrijwel zeker niets aan. Daar schiet zo'n zgn methode natuurlijk tekort.

Mijn opvatting maakt expliciet en radicaal duidelijk dat er geen algemene methode kàn bestaan waaruit dè optimale verzameling objecten volgt. Ik gebruik het woord methode hier overigens in de zin van strikte procedure, van gedetermineerdheid van de uitkomst onder aanname van concrete vóórwaarden. Dat is precies de steen der wijzen waarnaar menigeen nu voor objectgerichtheid nog op zoek is. Nogmaals, géén zodanige methode bestaat er dus.

Wat bij ontwerp (ipv analyse!) onbepaald is, noem ik subjectiviteit of soms creativiteit. De ontwerper veronderstelt objecten en aldus ziet hij de werkelijkheid in verleden, heden en/of toekomst. Voor hèt optimale model van die werkelijkheid valt geen rationeel bewijs te leveren.

Dit betekent echter allerminst dat een ontwerper maar wat moet aanmodderen. Vooral uit ervaring — en wat is ook goede opleiding anders dan geconcentreerde ervaring of, omgekeerd, intensieve ervaring anders dan opleiding? — volgen vuistregels. Zij vormen dus geen waarborg voor succes, want juist de onbepaaldheid is karakteristiek voor creativiteit, maar helpen geheide mislukking vermijden.

Wat ik onder vuistregels versta, gebruikt de ontwerper dus in omgekeerde richting. Dat wil zeggen, hij kan er geen modellen mee bouwen, maar ze er vervolgens wel mee toetsen. Indien een model niet voldoet aan bepaalde vuistregels annex criteria, dient de bruikbaarheid van dat model in kwestie gering geacht worden. Niet alleen theoretisch, maar vooral ook praktisch onbruikbaar. Onder de noemer van toetsing ben ik overigens geneigd de betrokkenheid van de ontwerper, of van wie ook maar zijn model interpreteert, analytisch te noemen. Daarmee, nota bene en zie ook mijn opstel 'Verwisseling,' is ontwerp echter nog geen analyse.

Een enigszins formele vuistregel ben ik als or­thogonaliteit gaan begrijpen. Alvorens ik dat begrip verder toepas op de objectgerich­theid van de ontwerper, verklaar ik waar ik het vandaan heb. Dat is uit de analytisch­e(!) of wel beschrijvende meetkunde. Daar heeft orthogonali­teit betrekking op zgn assen die samen een stelsel vormen. Via een waarde op elke as (lees ook: volgens elke dimensie) kan ieder punt in de overeenkomstige ruimte aangeduid worden. Van kritiek belang is de dimensionaliteit van de relevante ruimte.

Indien de ruimte één-dimensionaal is, volstaat één as die in dit geval meteen de ruimte zelf uitmaakt. Ieder punt in die ruimte ligt ergens òp die as. Meer assen zijn er overbodig; zij zouden elkaar slechts overlappen. Waarden op die extra assen voegen niets toe aan de beschrijving van de lokatie van het punt waarom het in die één-dimensionale ruimte gaat.

Met beschrijving van punten in een twee-dimensionale ruimte zijn vele mensen met enige schoolopleiding ook nog wel vertrouwd. Nodig en voldoende zijn nu twee assen, algemeen bekend als de x-as en de y-as. Kenmerkend is dat een waarde op de ene as per definitie overeenstemt met de nul-waarde op enige andere as in de onderhavige ruimte. Concreet voor de twee-dimensionale ruimte geldt bijvoorbeeld dat y=0 voor àlle punten op de x-as. Voorts maken deze twee assen in hun platte vlak doorgaans een rechte hoek. Met andere woorden, zij zijn orthogonaal. Het effect is symmetrie in beschrijvingen; de maat op de ene as komt overeen met die op de andere.

Enzovoort met dimensies. In een meetkundige drie-dimensionale ruimte zijn per definitie drie assen genoeg. Elk punt in zo'n ruimte kan met waarden op drie wil­lekeurige assen beschreven zijn, mits twee assen elkaar niet overlap­pen. Dat lukt omdat voor elke waarde op de ene as de nul-waarden op de andere assen vóórondersteld zijn.

Dit geldt voor alle meer-dimensionale (simpel meetkundige) ruimten. Vanaf twee, dus. Voor een n-dimensionale ruimte zijn n assen nodig en voldoende, mits geen enkel paar van die assen overlappend is. Voorts volstaat een symmetrische notatie indien de assen orthogonaal zijn. Ik zou zeggen dat, als gevolg van de overkoepelende symmetrie, de assen met hun orthogonaliteit de grootst mogelijke onderlinge ònafhankelijkheid verkrijgen. Maar vooral is orthogonaliteit de waarborg dat het minimum aantal dimensies, nodig en voldoende voor beschrijving van punten in de relevante ruimte, bereikt is.

Dit beeld uit de analytische meetkunde vind ik aantrekkelijk. Beschouw de relevante werkelijkheid eens als een n-dimensionale ruimte. Voor een beschrijving van een willekeurige toestand zijn dan n objecten of, liever gezegd, n objecttypen nodig en voldoende. Dit geldt, nogmaals, uiteraard indien ze elkaar niet overlappen. Via orthogonale objecttypen zijn zij tevens maximaal onafhankelijk van elkaar.

Het is natuurlijk de vraag of overdracht vanuit meetkundige ruimten naar ontwerp van informatievoorziening voor complexe organisaties en processen de relevante werkelijkheid geen geweld aandoet. In methodische zin ten behoeve van modellering heb ik het antwoord al gegeven. Ja, dat klopt niet. De methode als recept voor modellering door de ontwerper bestáát niet. Wat criterium voor toetsing van eenmaal ontworpen model betreft houd ik echter vol.

Wat houdt orthogonaliteit van objecttypen concreter in? Objecten van het ene type dienen zo onafhankelijk mogelijk te zijn van objecten van elk ànder type. Dit geldt hun toestand op enig moment en hun gedrag meer in het algemeen.

Uit orthogonaliteit volgt voorts het minimale aantal objecttypen. De analogie met een meetkundige ruimte suggereert dan dat een statische combinatie van objecten niet tot zelfstandig object, behorend bij een apart object­type, verklaard behoeft te worden. Die toestand kan immers steeds recht-toe-recht-aan uit reeds aanwezige, andere objecten gevormd worden. De vraag is dus of een object, dat aanvankelijk als zelfstandig bestaand verondersteld is, niet tot samenstellende objecten ontleed kan worden. Zo ja, dan is de ruimte oorspronkelijk waarschijnlijk over-gedimen­sioneerd voorgesteld. Reductie van het aantal objecttypen is dan mogelijk, zelfs noodzakelijk zeg ik als ontwerper.

Tussendoor kan ik trouwens aan de hand van orthogonaliteit de bijdragen van de ontwerper extra becommentariëren. De keuze van de assen, respectievelijk objecttypen staat immers niet a priori vast. In een twee-dimensionale ruimte, bijvoorbeeld, volgt de lokatie van de y-as pas nadat van buiten de ruimte een keuze voor de lokatie inclusief nul-punt van de x-as gemaakt is. Ontworpen is, dus. In een drie-dimensionale ruimte staat de lokatie van de derde as, de z-as, pas vast nádat zowel de x-as en de y-as bepaald (lees ook: ontworpen) zijn. Hun determinatie kan uiteraard ook in andere volgorde verlopen, maar dat was hopelijk direct duidelijk.

Omgekeerd geredeneerd is het echter zo, dat met de keuze voor de ene as de mogelijkheden voor lokatie van andere assen beperkt zijn. Zo is het ook met objecttypen. En daarom is het raadzaam ook zelfs de meest oorspron­kelijke keuze van objecttypen stelselmatig van vraagtekens te voorzien. Daardoor kan weleens pas de noodzakelijke ruimte ontstaan voor een àndere indeling tot objecttypen. Wie de meest traditionele indeling durft te onderzoeken, treft soms een verrassend vruchtbaar alternatief. Minder objecttypen voor de relevante werkelijkheid zijn de beloning. Met andere woorden, het model van de werkelijkheid is daarmee op hoofdlijnen compacter. Wat daaraan uiteraard telt, is dat de uiteindelijk gerealiseerde informatievoorziening eenvoudiger van opzet kan zijn.

Ik vermoed dat mijn terminologie, dat wil zeggen de uitleg hier met orthogonale objecttypen, nieuw is. Dat betekent echter niet dat ik als eerste een bepaald ontwerp­probleem aansnijd. Zeker niet. Wat ik presenteer, is mi. het aloude probleem van classificatie. Met andere woorden, hoe kiest een mens zijn begrippen voor maximale dekking van wat hij als zijn werkelijkheid ervaart? Tegelijk moet hij efficiënt proberen te zijn. Vandaar de behoefte aan het minimaal aantal begrippen. En natuurlijk bestaat er een spanning tussen wat maximaal, respectievelijk efficiënt is. En uit overgeleverde systemen voor classificatie blijkt tevens dat orthogonal­iteit vrijwel nooit consequent stand houdt. Neem het vogelbek­dier dat voor biologische uitzondering doorgaat. Dat is natuurlijk slechts een uitzondering ten opzichte van onze gekozen objecttypen, anders helemaal niet. Aangezien een exemplaar van het vogelbekdier — althans zolang het niet uitgeroeid is — afwijkende toestanden met karakteristiek gedrag vertoont, onstaat conform de eerdere keuzen de noodzaak voor een overeenkoms­tig, apart objecttype. Zodra de oorspronkelijke clas­sificatie wijzigt om het vogelbekdier in een grotere groep te kunnen plaatsen, klemt de indeling elders. Op dat probleem hebben stellig al vele taxologen hun tanden stukgebeten. Het probleem van optimale classificatie neemt nog toe, indien er ruimte moet zijn voor verdere evolutie. Daarvan zijn resultaten immers vooraf niet bekend.

Dergelijke praktijk wijst erop dat absolute orthogonaliteit van objecttyp­en, althans in ruimten die afwijken van a priori ideële keuzen zoals in theoretische wiskunde, een illusie moet blijven. Dit neemt niet weg dat orthogonaliteit als criterium voor de analyserende ontwerper uitstekend dienst kan doen. Dan blijft het een ideaal waarvan de minst overblijvende afwijking aanbeveling verdient. Daarbij moet popperiaans, dat wil zeggen falsificerend beoordeeld worden wat als minste afwijking geldt (zie van K.R. Popper: Conjectures and Refutations, Routledge & Kegan Paul, vierde editie, derde druk, 1976, oorspronkelijke editie 1963). Ik herhaal dat er geen methode bestaat die deterministisch tot optimaal resultaat leidt. De ontwerper kan hoogstens proberen zijn ene model te vergelijken met àndere modellen. Wat er als meest orthogonale indeling van objecttypen uitkomt, geldt vooralsnog als het beste ontwerp.

In verband met dimensies en orthogonaliteit vermeld ik tenslotte de vuistregel van de recursiviteit. Of, in gewoon nederlands, herhaling. Neem de indeling van een bedrijf in een holdingmaatschappij, enkele divisies en daarbinnen op hun beurt allerlei werkmaatschappijen enzovoort. Stel dat het gedrag van dergelijke organisatorische eenheden op hoofdlijnen niet of nauwelijks van elkaar verschilt. Wat zij bijvoorbeeld gemeen hebben, is hun onderverdeling in eenheden. Dan is één objecttype, bijvoorbeeld dat van organisatie, genoeg. Dankzij de mogelijkheid van recursieve relaties kan het ene organisatie-object eventueel andere organisatie-objecten bevatten. De bijzondere positie in de totale hiërarchie kan vervolgens als kenmerk verschijnen. In plaats van apart objecttype is, bijvoorbeeld, holdingmaatschappij een rol binnen een algemener getypeerd object. Gevolg van toepassing van recursiviteit is in elk geval een aanmerkelijke reductie van objecttypen.

In de praktijk van informatievoo­rziening zijn organisatie en activiteit voor de hand liggende algemenere objecttypen. Onder de noemer van het algemenere begrip organisatie kan via recursiviteit elke gewenste statische hiërarchie van organisatorische eenheden beschreven worden, van grootste onderneming tot en met kleinste afdeling. Hetzelfde geldt voor het dynamische aspect van bedrijfsvoering onder de noemer van activiteit of proces of van welke aanduiding danook. Al dan niet extern gerichte dienstver­lening past meestal goed onder zo'n dynamische noemer. Voor eventuele produkten is vrijwel altijd nog een ànder objecttype nodig, naar behoefte eveneens recursief toegepast. Voorts zijn persoon en lokatie (lees voor lokatie ook, maar dan in de ruimste betekenis van het woord: adres) vaak onmisbaar als objecttypen.

Met persoon, activiteit, produkt, organisatie en lokatie staan voor vele organisatori­sche werkelijkheden vijf belangrijke, in die praktijk vaak redelijk orthogonale objecttypen vast. Zij omsluiten de ruimte ofwel het zgn taalspel. Slechts voor — natuurlijke — persoon lijkt recursiviteit bij voorbaat onzinnig.

Verbijzonderingen van enig object van die vijf primaire typen moet de ontwerper vaak eerder in toegevoegde rollen en/of kenmerken dan aparte, extra objecttypen zoeken. Extra bedoel ik hier trouwens ten opzichte van de werkelijkheid die omspannen moet zijn. Voor rollen, kenmerken en dergelijke zijn uiteraard eveneens objecttypen nodig. Dat beschouw ik als aanvullende typen want zij definiëren vaak geen objecten met die mate van zelfstandigheid van gedrag die de ontwerper voor de zgn primaire objecten wenst. Maar ook dit allemaal is natuurlijk alweer geen absoluut geldige aanwijzing. Immers, objecten bestaan niet a priori, laat staan objecttypen. De ontwerper moet ze altijd actief veronderstellen. Dat is de kunst.

 

 

© 1994, webeditie 2002.
Eerder verschenen als onderdeel van mijn artikel 'Aspecten van objecttechnologie' in: OT Magazine, jaargang 1, 1994, nr 9/10 en Informatiekundige ontwerpleer (Ten Hagen Stam, 1999).