De conferentie was erg leerzaam- er waren presentaties over CIM specifieke software zoals CIMTool, hoe organisaties als TenneT omgaan met het CIM datamodel, en een “CIM University”. De CIM University op de eerste dag had een programmaboekje langer dan de andere twee dagen, dus mocht je er ook over denken om naar de CIMug te gaan- de CIM University is zeker een aanrader, al is het alleen maar om te zien waarin de CIM community voor loopt én achterloopt”. Een hoogtepunt voor van de CIMug voor mij was hoe diep de presentaties ingingen op het integreren van CIM in een organisatie, en hoe goed beheerde datamodellen bij kunnen dragen tot geïntegreerde dataflows in een netbeheerder: oftewel Network Model Management.
In de rest van deze post zal ik kort toelichten waar de presentatie van Niels en mij op in ging. (Mocht je me al gezien hebben bij de CIMug conferentie of bij het NAVARA kennisfestival, dan ken je dit al 🙂)


Wat is het CIM eigenlijk?
CIM is een conceptueel datamodel. Dit betekent dat het een soort woordenboek is: het legt de betekenis vast voor begrippen en objecten. De CIM wordt beheerd als een internationale standaard binnen het IEC, en het wordt gebruikt door netbeheerders (e.g. Alliander, Steden, Enexis , TenneT), maar ook door partijen zoals EDSN. Vaak wordt de CIM als basis gebruikt voor een verder datamodel die striktere regels er bovenop stellen. Een zo’n standaard is CGMES (Common Grid Model Exchange Standard), die door ENTSO-e beheerd wordt voor datauitwisseling tussen hoogspannings netbeheerders zoals TenneT. Specifieke applicaties kunnen hier verder op bouwen, zoals we binnen team UNO LS (Alliander) ook doen.

Hoe gebruiken wij CIM
Binnen team UNO vormt CIM de basislaag of fundament van onze output. Van de bijna 2000 classes in het CIM UML standaard hebben we maar een kleine subset van 40 classes geselecteerd.Dit is waarom de bovenste laag van de taart illustratie hierboven een stuk kleiner is. Een ander principe wat je hier uit af kan lezen is dat je verder bouwt op het fundament onder je- het datamodel van UNO moet zich houden aan de restricties van CGMES en CIM. Door het CGMES te gebruiken als tussen laag kunnen we verder bouwen op de regels en validatie regels die door ENTSO-e al gebouwd zijn.
Het UNO datamodel houden we bij in LinkML. LinkML is een datamodel taal in yaml files waar code uit gegenereerd kan worden. Dit betekent dat de output van UNO LS en UNO MS inzichtelijk is voor alle teams binnen Alliander, compleet met documentatie en validatie. Hierin volgen we de modellen zoals ze door Netbeheer Nederland gepubliceerd zijn voor zowel CIM als CGMES.

Door de datamodellen van beide UNO teams te koppelen, zorgen we ook dat UNO MS en UNO LS congruent blijven: een aanpassing in het datamodel van UNO MS zorgt er ook voor dat UNO LS moet controleren of we daar mee om kunnen gaan. Zo kunnen we gezamenlijk tooling beheren, zoals een converter van onze output naar Power Grid Model , een rekenkern die berekeningen aan het net kan uitvoeren zoals loadflow of kortsluitberekeningen.
indruk van de conferentie
De conferentie in Köln was de grootste CIMug conferentie tot nu toe, en het liet zien dat er een bruisende community rondom CIM is, met zowel een sterk aanbod van commerciële software als open source tooling. De visie van geïntegreerde software en vereenvoudigde data-uitwisseling is hard nodig voor communicatie tussen de netbeheerders, maar misschien nog wel harder nodig voor integratie van teams en organisatiedelen binnen netbeheerders.