Common Information Model

The International Electrotechnical Commission (IEC)’s Common Information Model (CIM) is frequently used to define the semantics of information exchanges between the systems used by electricity companies and market and network operators.

These information exchanges are often formatted using XML, where an XML or RDF schema is used to define the content of a specific information exchange.

The CIM model was developed by the Electric Power Research Institute (EPRI) and proposes a unique information model, common to all applications in charge of managing electrical networks. It is a semantic model for the description and organization of the components of an electrical system, which are necessary for the applications involved in the management of the electrical network. Later, the IEC adopted it as a standard model for the management of electrical systems.

The CIM model is described by UML class and package diagrams. These diagrams allow a general vision of the system, indicating what type of elements compose it and how they are related to each other, normalizing the way in which the data must be transmitted, re-transmitted and managed.

The previous figure shows the UML diagram representing the packages that were included in the first versions of IEC 61970-301. The packages that appear are briefly described below:

  • The Wires package contains the classes that represent the physical equipment that can be part of an electrical power system. An example of a class included in this package is Breaker, which represents switches.
  • The Topology package provides the necessary classes to be able to describe the connections between computers. Thus, it defines, among others, the ConnectivityNode class.
  • The core package Core includes a number of classes, such as IdentifiedObject, that will be parents (superclasses) of most of the other classes in the model.
  • Generation includes the necessary classes to represent the information regarding the generation of electrical energy, such as: GeneratingUnitHydroTurbine.
  • Meas comprises almost all the classes related to the representation of measurements in electrical systems such as Measurement and MeasurementType.
  • LoadModel includes the necessary classes to describe everything related to the consumption of electrical energy. It contains, among others, the EnergyConsumer class, which allows all types of electrical energy consumers to be represented.
  • Outage allows describing the planning programs for the operation and maintenance of electrical power systems for the prevention and action against blackouts. It includes, among others, the OutageSchedule class, which allows to describe information about the scheduled periods in which a given device is out of service.
  • Protection provides the necessary classes to represent protection equipment (ProtectionEquipment class) and automatic close sequences (RecloseSequence class).
  • SCADA includes, among others, the RemoteUnit class, which represents the electronic devices located in the electrical installation and which exchange information with the SCADA application located in the management system. It also allows you to describe the communication links with these remote units using the CommunicationLink class.
  • Domain is the package that includes the definitions of all the data types that map to the attribute values ​​described in the rest of the model: from primitive types like Float, to types like Temperature.

Nowadays, the CIM model is broader. Thus, in the IEC 61968-11 standard (for DMS systems), new packages are added to the original model. For example, the Assets package contains the information necessary to carry out asset management in an electrical power system. On the other hand, Consumers defines the classes that allow certain information about consumers to be described in greater detail, while Work covers all the information about any type of work in an electrical installation.

As the standard has been developed, different formats have been defined for the exchange of large amounts of information, such as CIM/XML or CIM/RDF.


As there are more and more teams collecting data, and those improve resolution, the amount of data generated increases, so it becomes an additional challenge for interoperability between applications to have to handle large volumes of data. For example, in the case of PMU (Phasor Measurement Units) meters, the sampling rate is 30 times per second, which increases the amount of information to be exchanged.

A newer, more lightweight technology than XML is JavaScript Object Notation (JSON). Today, many modeling and integration tools support JSON. In CIM, JSON support is currently defined by IETF RFC 7159 in CIM/JSON.

Header image: Fré Sonneveld en Unsplash.


Leave a Reply

Your email address will not be published. Required fields are marked *