-
Notifications
You must be signed in to change notification settings - Fork 0
CIM++ #74
Description
Name
CIM++
Screenshots
Focus Topic
Deserialiser library for C++ objects from XML/RDF documents based on CIM standards
Primary Purpose
CIM++ is a software project around a deserialiser library (libcimpp) for C++ objects from XML/RDF documents based on the Common Information Model (CIM) standards (i.e. IEC61970/61968/62325) for the energy sector.
Description
The increasing complexity of ICT systems in smart grids requires a standardized data model to improve interoperability. To this aim, IEC 61970/61968/62235 specify the CIM, which defines data structures for many power system components and the relations between them. This means that CIM based software such as the CIM-to-X translators must be kept up-to date as well. First, the CIM-to-X translator has to deserialize the CIM data in the form of RDF/XML documents and present it in the form of objects, C++ objects in our specific case. To enable this with our toolchain, a CIM based data model, specified by a visual Unified Modeling Language (UML) editor, can be mapped to a compilable CIM C++ codebase. This codebase is used for the automated generation of a C++ objects deserializer library for RDF/XML documents following the UML specification. The toolchain and deserializer are implemented in the open-source project called CIM++. The deserialized C++ objects can be processed directly by another C++ program or they can be used as input to a serializer, which converts them into another data format.
It includes a toolchain for an automated generation of the CIM++ Deserializer from ontologies specified by CIM UML. Currently the CIM++ Deserializer is distributed via GitHub and the generation toolchain will follow.
Mathematical Description
No response
Website
https://www.fein-aachen.org/en/projects/cimpp/
Documentation
https://github.com/sogno-platform/libcimpp
Source
https://github.com/sogno-platform/libcimpp.git
Year
2017
Institution
Institute for Automation of Complex Power Systems (ACS)
Funding Source
No response
Publications
2
Publication List
- L. Razik, M. Mirz, D. Knibbe, S. Lankes, and A. Monti, “Automated deserializer generation from CIM ontologies: CIM++–an easy-to-use and automated adaptable open-source library for object deserialization in C++ from documents based on user-specified UML models following the Common Information Model (CIM) standards for the energy sector,” Computer Science-Research and Development, pp. 1–11, 2017.
- M. Mirz, L. Razik, J. Dinkelbach, H. A. Tokel, G. Alirezaeiz, R. Mathar and A. Monti, “A Co-Simulation Architecture for Power System, Communication and Market in the Smart Grid”
Use Cases
No response
Infrastructure Sector
- Atmospheric dispersion
- Agriculture
- Biomass
- Buildings
- Communications
- Cooling
- Ecosystems
- Electric
- District heating
- Forestry
- Health
- Hydrogen
- Individual heating
- Land use
- Liquid fuels
- Natural Gas
- Transportation
- Water
Represented Behavior
- Earth Systems
- Employment
- Built Infrastructure
- Financial
- Macro-economy
- Micro-economy
- Policy
- Social
Modeling Paradigm
- Analytics
- Data
- Discrete Simulation
- Dynamic Simulation
- Equilibrium
- Engineering/Design
- Optimization
- Visualization
Capabilities
No response
Programming Language
- C – ISO/IEC 9899
- C++ (C plus plus) – ISO/IEC 14882
- C# (C sharp) – ISO/IEC 23270
- Delphi
- GAMS (General Algebraic Modeling System)
- Go
- Haskell
- Java
- JavaScript(Scripting language)
- Julia
- Kotlin
- LabVIEW
- Lua
- MATLAB
- Modelica
- Nim
- Object Pascal
- Octave
- Pascal Script
- Python
- R
- Rust
- Simulink
- Swift (Apple programming language)
- WebAssembly
- Zig
Required Dependencies
No response
What is the software tool's license?
None
Operating System Support
- Windows
- Mac OSX
- Linux
- iOS
- Android
User Interface
- Programmatic
- Command line
- Web based
- Graphical user
- Menu driven
- Form based
- Natural language
Parallel Computing Paradigm
- Multi-threaded computing
- Multi-core computing
- Distributed computing
- Cluster computing
- Massively parallel computing
- Grid computing
- Reconfigurable computing with field-programmable gate arrays (FPGA)
- General-purpose computing on graphics processing units
- Application-specific integrated circuits
- Vector processors
What is the highest temporal resolution supported by the tool?
Not Applicable
What is the typical temporal resolution supported by the tool?
None
What is the largest temporal scope supported by the tool?
Not Applicable
What is the typical temporal scope supported by the tool?
None
What is the highest spatial resolution supported by the tool?
Not Applicable
What is the typical spatial resolution supported by the tool?
None
What is the largest spatial scope supported by the tool?
Not Applicable
What is the typical spatial scope supported by the tool?
None
Input Data Format
XML, CSV
Input Data Description
No response
Output Data Format
XML
Output Data Description
No response
Contact Details
Lukas Razik (lrazik@eonerc.rwth-aachen.de)
Interface, Integration, and Linkage
No response