Data on your mind

Datacentric PLM betekent dat u als gebruiker baas bent over uw eigen PLM-data en dat de software een simpele, transparante en uitwisselbare ondersteuning biedt om die data te gebruiken en te onderhouden in plaats van een ondoorzichtige muur die u alleen toegang geeft als het de softwareleverancier behaagt. Om de baas te kunnen zijn over data, moet u wel een idee hebben van hoe die data in elkaar steekt. Bij papieren gegevens en spreadsheets is dat vanzelfsprekend. Het nadeel van papier, en in iets mindere mate van spreadsheets, is dat het lastig is om relaties tussen tabellen te leggen, te volgen en te onderhouden. Computerdatabases zijn daar juist erg goed in, maar zijn voor een leek weer niet te lezen.

Door Henk Jan Pels, gepensioneerd universitair hoofddocent bedrijfskundige informatica (TU Eindhoven), en onafhankelijk consultant, gespecialiseerd in Product Data Management. H.J.PELS@PHI-KPE.NL 

Ons brein is erg goed in het manipuleren en onderhouden van complexe relaties tussen gegevens. Het mechanisme dat ons brein gebruikt noemen we associatie. Door associaties kunnen we heel makkelijk van het ene gegeven naar het andere springen. Hoe doet ons brein dat? Kan een computer dat niet gewoon nadoen?

Ons geheugen en ons denken zijn gebaseerd op het herkennen van dingen. Als u een moer op tafel ziet liggen denkt u meteen: "een moer." Maar zit y toevallig met een Engelse collega aan tafel, dan denkt u: "a nut." ‘Moer’ en ‘nut’ zijn twee verschillende benamingen voor hetzelfde ding. In uw brein horen die twee namen geassocieerd met hetzelfde concept. Uw brein had al een concept voor de soort genaamd ‘moer’ en zodra u het voorwerp op tafel op uw netvlies krijgt herkent uw brein dat als een moer. Als die moer dan ook nog relevant blijkt voor de discussie, dan vormt het zich een apart concept voor die specifieke moer en associeert dat met het concept voor de soort moer. Als voor u materiaal een relevante eigenschap is en u ziet dat de moer van staal is, zal uw brein het concept voor die moer associëren met het concept voor het materiaal staal. Stel dat uit de discussie volgt dat in deze context een messing moer mogelijk beter op zijn plaats is, dan vormt zich direct een nieuw concept voor deze alternatieve moer, geassocieerd met het materiaal messing.

Er is een datamodel dat veel op ons mentale datamodel lijkt: het object-georiënteerde model (OOM). Om dat meer geschikt te maken voor het redeneren over product data heb ik daar ooit een uitbreiding op voorgesteld onder de naam Product Data Modeling Language (PDML). Dit model representeert elk relevant concept door een object in de database. Een object is hierbij een unieke bit-string zonder intrinsieke betekenis. Zo kunnen de twee moeren worden gerepresenteerd door twee verschillende objecten. Aan die objecten op zich heb je niets. Daarom vraagt PDML bij de creatie van een nieuw object om een objectnaam. Die moet herkenbaar en liefst kort zijn. Verder kunnen aan een object attributen met een zekere attribuutwaarde worden toegekend. Een object met zijn attributen kan worden voorgesteld als een kaart met de objectnaam als kop en voor elk attribuut een regel:

data - moer

Als we meerdere objecten van dezelfde soort willen weergeven dan doen we dat met een tabel:

data - moer2

Dit lijken gewone spreadsheettabellen, maar in het kader van PDML zijn er toch nog een paar bijzonderheden. In de eerste plaats specificeert de linkerbovenhoek van de tabel een objectklasse. Een objectklasse is de tegenhanger van wat hierboven het brein als soort hanteerde. De eerste tabel specificeert dus een objectklasse Moer die het concept ‘soort moer’ representeert. Moer-st101708 en Moer-me101710 zijn objectnamen van respectievelijk een stalen en een messing moer, allebei M10. Met de onderstreping geeft het model aan dat het gaat om objectnamen. Zodra een nieuwe regel aan de tabel Moer wordt toegevoegd creëert het model een nieuw object (uniek symbool) en koppelt daar de opgegeven objectnaam aan. Overal waar die objectnaam wordt gebruikt, interpreteert het model die als object (uniek symbool).

In de tabel Moer is de kolomnaam materiaal onderstreept. Dat betekent dat dit attribuut een zogenaamd linkattribuut is waarvan de waarde een objectnaam uit de tabel (objectklasse) Materiaal moet zijn. Deze klasse is gedefinieerd door de tweede tabel. Het woordje Staal in de eerste regel van de moertabel wijst daardoor eenduidig naar de eerste regel van de tabel Materiaal. Dankzij deze unieke verwijzing is het geen probleem om niet unieke objectnamen toe te staan.

Ik heb nu laten zien hoe we data kunnen voorstellen als vertrouwde worksheet-tabellen. Onder de oppervlakte is er echter iets toegevoegd. Elke regel hoort bij een object dat binnen de database uniek is. Sommige kolommen verwijzen naar een andere objectklasse en bevatten daarom objectnamen uit die klasse. Daarmee worden eenduidige relaties tussen de tabellen gelegd. In een volgende aflevering wil ik laten zien hoe makkelijk die te manipuleren en te onderhouden zijn.