Bounded contextmodel
Een register beweert binnen een afgebakend domein, in een gemeenschappelijke taal, over een beperkt aantal soorten dingen. Dat geheel heet het bounded contextmodel: het model van wat het register opneemt en hoe dat doorwerkt in wat het levert. Wat een bounded context is en waarom die afbakening ertoe doet, staat in De overheid verkaveld.
Het bounded contextmodel beschrijft geen dingen in het domein, maar wat het register daarover kan zeggen. Het bevat dus zelf geen beweringen. De andere onderdelen van het register gebruiken het als specificatie: commando's zijn gesteld in de taal ervan, gevolgen en projectie-elementen zijn beweringen van een soort die het definieert, en de specificaties voor vastleggen en projecteren werken de regels ervan uit.
Beweringssoort en gegevenssoort
De beweringssoort geeft aan welke soorten beweringen het register kan produceren en welke gegevenssoort daarbinnen kan voorkomen. Elke bewering is van één beweringssoort en elk gegeven binnen een bewering is van een gegevenssoort. De waardelijst begrenst het waardenbereik van een gegevenssoort.
Omdat een bewering als geheel staat of valt, is de keuze welke gegevenssoorten samen één beweringssoort vormen geen neutrale modelleerkeuze. Wat samen in één beweringssoort zit, wordt samen vastgelegd, samen betwist en samen onttrokken. Een beweringssoort die te veel samenneemt, dwingt het register later een hele bewering te betwijfelen of te onttrekken terwijl maar één gegeven onjuist is. Een beweringssoort die te weinig samenneemt, maakt beweringen die los van elkaar niet te begrijpen zijn.
Bij de beweringssoort hoort ook betekenis: uitleg van wat een beweringssoort inhoudt, bedoeld om beweringen van die soort te kunnen duiden. Hoe betekenis door het register heen doorwerkt, staat in het hoofdstuk Betekenis.
Entiteittype
Het entiteittype geeft aan over welke soorten dingen het register kan beweren en welke gegevenssoort een ding van dat type identificeert. Entiteittypen kunnen onderling relaties hebben, zoals een persoon die een adres bewoont of een WOZ-object waarbij een persoon belanghebbende is.
Het bounded contextmodel legt ook vast welke beweringssoorten iets veranderen aan entiteiten van een bepaald type. Daarmee is per entiteittype bekend welke soorten beweringen erover kunnen bestaan. Dat is de basis waarop een projectie later alle beweringen over één entiteit in een reeks samenbrengt.
Inwerkingsregel
De inwerkingsregel verbindt beweringssoort en entiteittype. Hij beschrijft of een bewering een entiteit doet ontstaan dan wel het bestaan daarvan veronderstelt, en hoe zo'n bewering doorwerkt in wat over die entiteit beweerd wordt. Een inschrijving doet een persoon ontstaan; een verhuizing veronderstelt een persoon die al bestaat.
De inwerkingsregel is een conceptuele regel. Twee specificaties werken hem uit, elk voor één kant van het register:
- De vormingsspecificatie doet dat voor wat wordt vastgelegd: welke gevolgen op basis van een commando worden geproduceerd en uit welke gevolgdelen die bestaan. Of een commando het bestaan van een entiteit veronderstelt, wordt getoetst tegen de opnametoestand.
- De projectiespecificatie doet dat voor hoe het vastgelegde in projecties doorwerkt: of een gevolg een reeks opent en welk projectie-element het oplevert.
Doordat beide specificaties dezelfde inwerkingsregel uitwerken, blijven vastleggen en projecteren met elkaar in lijn, ook al zijn het gescheiden processen met een eigen werkwijze.
Samenhang met de andere onderdelen
| Onderdeel | Wat het ontleent aan het bounded contextmodel |
|---|---|
| Commando's | Commando's zijn gesteld in de gemeenschappelijke taal; vertaalregels zetten externe bevindingen daarnaar om. |
| Gevolgen | Gevolgen zijn beweringen van een beweringssoort; de vormingsspecificatie werkt de inwerkingsregel uit. |
| Projecties | Projectie-elementen zijn beweringen van een beweringssoort; de projectiespecificatie werkt de inwerkingsregel uit; een reeks betreft één entiteit van een entiteittype. |
| Verstrekken | Betekenisvol notificeren steunt op de betekenis van de beweringssoort waarover wordt genotificeerd. |
Voorbeelden en verdieping
De casussen beschrijven elk hun eigen bounded context: zie de bounded context van de casus WOZ en die van de casus BRP. Een generieke technische vertaling van deze begrippen staat in de verdieping generiek technisch domeinmodel.
Open vraag: verandering van het bounded contextmodel zelf
Ook een bounded contextmodel verandert: beweringssoorten worden toegevoegd, gegevenssoorten krijgen een andere waardelijst, inwerkingsregels worden aangescherpt. Via de werkwijze is vast te leggen in welke versie van een specificatie een bewering tot stand kwam. Hoe het register omgaat met beweringen die onder een eerdere versie van het bounded contextmodel zijn vastgelegd, is nog niet uitgewerkt.