CIMTool is an open source tool that supports the Common Information Model (CIM) standards used in the electric power industry. It is potentially useful for other semantic applications too.
The original CIMTool wiki, though not actively maintained with new content, is a great resource for information. The download page hosts releases <= 1.9.7 and the CIMTool Topics page provides a wealth of articles on topics that may be of interest.
The are two avenues for discussion for CIMTool. Though not as active as it once was you can join the CIMTool Google Group by registering here. Alternatively, you can post direct to the new discussions section of this repository.
Both past and current releases of the CIM Enterprise Architect (EA) project files used for the purposes of CIMTool are made publicly available for download from the UCAIug (CIM Users Group). Current releases can be found at Current CIM Model Drafts. Older releases are available at Past CIM Model Releases. Generally, access to CIM EA project files does not require a UCAIug account. For content restricted to registered users you may create a UCAIug registered account for free.
Current versions of the CIM are maintained with the Sparx Systems UML design tool, Enterprise Architect (EA). Creating a profile requires that the CIM first be imported into CIMTool. The CIM can be imported in one of two possible formats as outlined next.
The standard way is to export the CIM as an XMI file (i.e. a schema) and to do this from within EA. The exported XMI file can then be imported into CIMTool. The following export options within Enterprise Architect will export the version of XMI that can be imported into CIMTool:
- XMI Type = UML 1.4 (XMI1.2)
- Unisys/Rose Format = checked
- Export diagrams = unchecked
- stylesheet = blank
- Format XMI Output = checked
- Write log file = checked
- Generate Diagram Images = unchecked
Exporting XMI can be slow. An alternative is to directly import an Enterprise Architect project file (.eap
or .eapx
) into CIMTool. This eliminates the need to export anything from EA before importing to CIMTool.
To import an .eap
or .eapx
file into a CIMTool project, use the CIMTool Schema Import wizard and select a file type of either .eap
or .eapx
respectively when browsing for the file. You must close the project in EA before importing it to CIMTool.
Note that as of the EA 16.x release,
.eap
and.eapx
files are no longer supported. CIMTool does not currently support the new EA 16.x project file format and instead the XMI schema option should be utilized if using the new release. For further information refer to EA's EAP/EAPX File to QEA File Format page for a better understanding of changes in 16.x.
The following table highlights the various tradeoffs of utilizing one format over another:
Format | Description | Pros | Cons |
---|---|---|---|
.eap / .eapx |
Native EA project files. Standard in EA 15.x releases and earlier the internal format is based on the MS Access. Specifically, .eap files are based on Jet3.5 engine and .eapx on Jet4.0 (see Access Database Engine History) with both stored as binaries. The .eapx file format is still supported in EA 16.x but requires special runtimes to be installed. Support for .eap files in 16.x has been discontinued. |
Both file formats can be imported directly into CIMTool without the overhead of having to export as an .xmi file. Multi-language support via unicode is available with an .eapx file. |
If hosting a CIMTool project on Github it is not recommended that an EA project file format be used (see: About large files on GitHub and Git LFS). Instead the .xmi file format is recommended. The .eap file format do not support unicode and therefore is not ideal for profiles derived from CIM classes or attributes with descriptions and/or notes containing non-ASCII characters. NOTE: To convert an .eap file to an .eapx format see Use Languages Other Than English which has the link to the EABase JET4 file that can be used for this purpose. Visit the Project Data Transfers page for further information on this process. If choosing to migrate to Jet4 then EA must also be configured to use Jet4. Refer to the General Options page for details. |
.qea / .qeax |
Native EA project files. Introduced in EA 16.x the internal format of these files is based on the SQLLite open source database and is stored as binaries. Both file types support basic replication with the .qeax extension indicating that file sharing is enabled. A .qeax file can simply be renamed back to .qea to disable file sharing. |
These formats are not yet supported in CIMTool. These native project file formats will be able to be imported directly into CIMTool without the overhead of having to export an .xmi file. |
|
.xmi |
.xmi |
Exporting the CIM as an .xmi schema file has added flexibility not available when using a native EA project file. Specifically, a subset of the CIM can be exported by simply selecting a specific package for export. This approach can be used to reduce the size of the schema file in a CIMTool project. Given that profiles are commonly defined for a particular domain (e.g. Transmission, Distribution, Market-related profiles) just a subset of the CIM can be exported and used within CIMTool. This is more suitable when hosting a CIMTool project in Github. CIMTool supports the ability to import multiple .xmi schema files and for a user to assign a distinct namespace to each. This is useful when defining and exporting custom extensions as a separate .xmi file that coexists alongside an .xmi for the CIM model. |
Exporting .xmi files can be time consuming and therefore inconvenient if quick iterative changes are needed to the CIM with a reimport into a CIMTool project. In this scenario it is suggested to use one of the native EA project files. The direct use of a project file eliminates the roundtrip time needed for the "make changes to the UML, export to XMI, import XMI into CIMTool" cycle. |
The CIMTool Tutorial PDF provides a detailed overview on how to use CIMTool to create and edit profiles based on the Common Information Model. Additionally, it highlights many of CIMTool's core features. The PDF is an extract from a publicly available resource on the UCAIug website (here).
Note that some content is dated:
- pp. 9-10: The information on this slide is no longer relevant. See CIMTool Installation & Setup for the latest information.
- pp. 22-23: The EA screenshots are from a much older release.
- p. 55: CIMTool's output options have been greatly expanded.
- p. 56: CIMTool also generates MS Word compatible RTF documents.
- p. 86: This GitHub repository is now the official site for CIMTool development.
Once you get acquainted with CIMTool visit the CIMTool-Builders-Library companion repository that provides information on building your own CIMTool builders using XSLT transforms.
For developers interested in contributing to the CIMTool Project detailed instructions on installing and setting up an Eclipse 3.7 (Indigo) Plug-ins Development Environment can be found at CIMTool Development Environment Setup
Instructions on packaging and deployment of CIMTool as an Eclipse Product can be found at CIMTool Packaging & Deployment Guide
Note that these instructions are purely for those interested in participating in the development of CIMTool. They do not describe standard use of the tool for creating profiles.
-
1.11.1
- The latest release is available here on GitHub at CIMTool-1.11.1 and is delivered as a ZIP file. Releases are also made available in the CIMug tools download folder on the UCAIug website.
- Information on features and fixes for the release can be found here.
For instructions on installation and setup of CIMTool see CIMTool Installation & Setup.
Distributed under the LGPL-2.1 license. See LICENSE for more information.