CIM++ ist ein Softwareproject um eine Deserialisierungsbibliothek (libcimpp) für C++ Objekte von XML/RDF Dokumenten basierend auf den Common Information Model (CIM) Standards (z.B. IEC61970/61968/62325) für den Energiesektor.
Die zunehmende Komplexität von ICT Systemen in Smart Grids erfordert ein standardisiertes Datenmodell um Interoperabilität zu gewährleisten. Zu diesem Ziel spezifizieren IEC61970/61968/62325 das CIM, welches Datenstrukturen für viele Stromversorgungssystemkomponenten und die Verhältnisse dazwischen definiert. Das bedeutet, dass CIM basierte Software wie die Cim-zu-X Übersetzter ebenfalls aktuell gehalten werden müssen. Zuerst muss der CIM-zu-X Übersetzter die CIM Daten in die Form von RDF/XML Dokumenten deserialisieren und sie in Form von Objekten präsentieren; C++ Objekte in unserem speziellen Fall. Um dies mit unseren Werkzeugen zu ermöglichen kann ein CIM basiertes Datenmodell, spezifiziert durch einen visuellen Unified Modeling Language (UML) Editor, an eine kompatible CIM C++ Codebasis gemapped werden. Diese Codebasis wird zur automatischen Generierung einer C++ Objekt Deserialisierungsbibliothek für RDF/XML Dokumente nach UML Spezifikation genutzt. Werkzeuge und Deserialisierer sind im Open Source Projekt CIM++ implementiert. Die deserialisierten C++ Objekte können direkt von anderen C++ Programmen verarbeitet werden, oder sie können als Input zu einem Serialisierer verwendet werden, welcher sie in ein anderes Datenformat konvertiert.
Es enthält Werkzeuge für eine automatisierte Generierung des CIM++ Deserialisierers von Ontologien spezifiziert von CIM UML. Zurzeit wird der CIM++ Deserialisierer über GitHub verteilt und die Generierung der Werkzeuge wird folgen.
Mehr über die Idee hinter CIM++ kann hier gefunden werden.
Bitte klicken Sie auf die obigen Links, um Doxygen Dokumentation des CIM++ Codes zu finden.
Für weitere Fragen treten Sie bitte unserem Slack Channel bei: FEIN Aachen e.V. Slack.
Institute for Automation of Complex Power Systems (ACS) EON Energy Research Center (EONERC) RWTH University Aachen, Germany