Releases: cimug-org/CIMTool
Release 2.2.0
Release 2.2.0 [01-Oct-2024]
CIMTool 2.2.0 is a minor release with both enhancements and important defect fixes.
Enhancement Issue #116:
With the recent introduction of UUID and URI in CIM18 CIMTool was updated to support the new domain types.
Enhancement Issue #141:
CIMTool was updated to support Sparx EA IDs within the intermediary internal XML representation that it generates and makes available for use by custom XSLT transform builders. This update is related to R&D work being done within the standards community as part of potential use of LinkML as a semantic representation. As a result the LinkML builder introduced in CIMTool 2.1.0 has been updated to include ea_guid in its generated output. This can be used for more direct traceability to the UML elements (classes, attributes, associations, etc.) as natively identified within a Sparx EA UML model. Note that ongoing work on the IEC 61970-501 Ed 2.0 draft standard is currently exploring LinkML as a semantics representation for the CIM.
Enhancement Issue #142:
An alpha of a new CIMTool builder is introduced that generates IEC 61970-501 Ed 2.0 draft spec RDFS. This is for experimentation purposes only and will be updated across releases to reflect the latest development of Ed 2.0 of the 501 standard.
Enhancement Issue #143:
Introduced in this release is support for the generation of UML class diagrams for graphical representation of your profiles in CIMTool. PlantUML is used as the internal representation due to its ability to meet a wide variety of requirements within the CIM and IEC standards community. Amongst these requirements has included research into leveraging AsciiDoc for DevOps based standards publication generation. In addition, PlantUML diagrams can be included in Draw.io (newly named Diagrams.net) diagrams. PlantUML can easily be integrated into AsciiDoc, Markdown, or in online contexts that leverage PlantML plugins to integrate diagrams.. This initial release includes PNG and SVG export capabilities of PlantUML diagrams along with real-time visualization of invalid or incomplete elements in your profile as you build it. Visit the CIMTool website for forthcoming instructional videos on how to utilize new features. The use of PlantUML class diagrams for validating a profile will be included.
Defect Issue #154:
The CIMTool RDFS2020 builder made available in the 2.0.0 release required additional development to both fix areas not in proper alignment with that generated by CimConteXtor. It should be noted that the builder currently generates RDFS2020 schema's with "flattened" CIMDatatypes (i.e. value, unit, multplier attributes note defined within the generated RDFS). The final development for generating the "unflattened" CIMDatatypes (i.e. that explicitly define value, unit, multiplier, etc.) will be in a future release.
Defect Issue #156:
A post CIMTool 2.1.0 release task was to extensively test and address known issues related to profiling custom extensions using the newly supported 64-bit EA 16.x .qea, .qeax, and '.feap' project file types introduced in 2.1.0. This was decided to allow for 2.1.0 to be released to end users that only needed to profile using normative CIM without extensions. The outcome of this effort allows for profiling using a single EA project file (e.g. .qea
or .eap
) as your schema via the use of the baseuri
tagged value for specifying the namespaces for your extensions with the .eap
/.qea
project file. The resulting behavior when profiling using these new schema formats is designed to mirror the same behavior observed when using baseuri
with multiple .xmi
files to model extensions.
Enhancement Issue #155:
An new radio button has been added to the namespace list on the "Import Schema" dialog. The option allows selection of the existing namespace schema to be selected when re-importing a new version of the same named schema. When selected the namespace field auto-populate with the existing namespace. This solves a usability issue for end users who are working against base CIM with custom extensions and who need iteratively to re-import schema changes as their model evolves. It eliminates end users exiting the dialog in order to copy the namespace in the preferences screen to be able to paste a custom namespace into the field.
NOTE: This release does not yet address the issues as reported in the 2.0.1 release notes. Fixes for custom extensions in RDFS XSLT builders is now targeted for the 2.3.0 release.
Release 2.1.0
Release 2.1.0 [09-Aug-2024]
CIMTool 2.1.0 is a minor release with some useful enhancements and an important defect fix.
Enhancement Issue #108:
CIMTool did not yet support the new .qea and .qeax (64-bit) EA project file format introduced in the 64-bit Sparx EA 16.x releases. This enhancement allows these EA project file types to be imported directly as your CIM schema.
Enhancement Issue #114:
CIMTool did not yet support the .eapx and .feap (32-bit) EA project file formats available in the 32-bit Sparx EA 15.x releases. The .feap format is an embedded Firebird database that works across both EA 15.x 32-bit and EA 16.x 64-bit release of the product. This specific type of EA project file is the only file format that can be opened in both 32-bit Sparx EA 15.x and 64-bit EA 16.x releases without conversion. Note that this enhancement intersects the work identified in Issue #108.
Enhancement Issue #118:
This enhancement introduces a new builder to generate a LinkML representation of a CIMTool profile. The output from this builder can leverage LinkML's downstream python toolchain that includes generators to convert schemas to other modeling languages and data converters and validators for working with data that conforms to LinkML (including RDF, JSON, SHACL and TSV). The following links offer some useful background as to what LinkML is and how it can be leveraged: LinkML FAQ and LinkML Documentation
Enhancement Issue #133:
PNNL has contributed two new XSLT custom builders (see: cimantic-graphs) that generate python-based code for working with semantic graphs. These have been added as OOTB builders. Thanks to Alex Anderson for his contribution to the CIM community.
Defect Issue #131:
Aggregation relationships between classes were not appearing in either the "Project Model" view or the "Add/Remove" tab in CIMTool (only associations and generalizations were visible). Thanks to Walter Concert for catching and reporting the issue.
NOTE: This release does not yet address the issues as reported in the 2.0.1 release notes. Fixes for custom extensions in RDFS XSLT builders are now targeted for the 2.2.0 release.
Release 2.0.1
Release 2.0.1 [12-May-2024]
CIMTool 2.0.1 is a patch release and should be utilized in place of CIMTool 2.0.0 until release 2.1.0 is finalized and made public.
Defect Issue #115:
During development of the CIMTool 2.1.0 release, issues in the generated output of the RDFS XSLT builders introduced in CIMTool 2.0.0 have been identified. Specifically, during the testing of the modeling of extensions for new .qea and .feap EA project files support. In the short term a 2.0.1 patch release must be issued that re-introduces the original builders until the fix is addressed in CIMTool 2.1.0.
Release 2.0.0
Release 2.0.0 [06-Mar-2024]
CIMTool 2.0.0 is a major release and establishes a new 2.x release line for the next generation of features and functionality within CIMTool.
Enhancement Issue #91:
Migration of CIM Tool from the Eclipse 3.x to the Eclipse 4.x platform (e4) was done. This migration introduces no new functionality but instead addresses the need to re-baseline CIMTool to e4. This new 2.x release line of CIMTool will serve as the basis for future functionality, enhancements, and roadmap planning. Initial benefits of this release include:
- CIMTool can now execute using the latest version of Java - i.e. Java 20
- UI rendering and responsiveness is much faster in the e4 platform when executing large profiling tasks
- Much more significant heap space - 4GB max configured OOTB
- Rebranding (i.e. new icons and splash screen have been introduced to reflect the new 2.0.0 release line)
Defect Issue #75:
This fix addresses a Java memory error when importing and display large .xmi
files.
Special Thanks To
@OwenForrestOpenGrid for his contributions in the migration of CIMTool to e4 (#73 and #76)
Release 1.12.0
Release 1.12.0 [21-Feb-2024]
CIMTool 1.12.0 is a minor release with some UI enhancements in usability and select defect fixes.
Defect Issue #26:
CIMTool's *.legacy-rdfs-augmented
profile builder does not correctly generate the multiplicity of the secondary (i.e. inverse association) within the profile that it produces. This was discovered as part of the IEC 61970-452 published profiles whereby the multiplicity for the Terminal.TieFlow inverse association 0..2 should have been generated as 0..2 but instead was generated as 0..n.
Defect Issue #77:
This fix addresses a regression issue introduced in the 1.11.0 release of CIMTool. In that release the modifications to the XSLT builder for generating XSDs the CIMTool feature for allowing multiple profiles per class no longer properly generated two distinct ComplexType(s) in the XSD.
Enhancement Issue #78:
A new builder was introduced to bring CIMTool RDFS-based profiles into alignment with the latest agreed upon RDFS2020 extensions/changes.
Defect Issue #79:
CIMTool's Stereotypes tab and UI does not correctly display all stereotypes imported from XMI/EAP schemas.
Enhancement Issue #80:
CIMTool currently only supports the generation of the older RDFS profile format (e.g. *.legacy-rdfs
& *.legacy-rdfs-augmented
) and is not current with regard to the latest extensions/additions that were agreed upon and implemented within CimConteXtor / CimSyntaxGen tooling as the new "RDFS2020" profile format. A *.legacy-cimcontextor.rdfs
RDFS is introduced here that produces a variant that is a cross between CIMTool's existing *.legacy-rdfs-augmented
builder and the new *.rdfs-2020.rdfs
builder associated with Issue #78.
Enhancement Issue #81:
CIMTool requires enhancements to support specifying when a top-level concrete class is to utilize an rdf:ID (local) or rdf:about (global) identifier within the profile. The introduction of the <<Description>>
stereotype on a concrete class is used to flags this distinction in CimConteXtor. To represent the equivalent within CIMTool a new http://langdale.com.au/2005/UML#description stereotype has been introduced that can be assigned by an end user via one of the following methods:
Enhancement Issue #82:
Currently, when the "Add" buttons are used to add selected class(s) or properties of a class to the profiles CIMTool defaults the cardinality on all member attributes to 1. Additionally, when selecting/adding a class to the profile that is intended to be concrete extra navigation to the "Restriction" tab is required to set it to "concrete". To provide enhanced usability and save time, the following updates have been made to the "Add/Remove" tab:
- A new checkbox labeled: "Set selected classes to concrete when added to the profile" was introduced. When the checkbox is in the checked state then the group of selected classes added to the profile will automatically be set as "concrete" in the profile.
- A new checkbox labeled: "Set selected properties to required when added to the profile" was introduced. When the checkbox is in the unchecked state then all attributes within a selected class or all attributes directly selected will default to a min cardinality of 0.
Release 1.11.1
Release 1.11.1 [14-Feb-2023]
For instructions on installation and setup visit the Getting Started instructions.
This release is also made available in the CIMug tools download folder on the UCAIug website.
Defect [Issue #58]:
The CIMTool builders were updated to produce target artifacts (RDFS, OWL, etc.) that now have RDF/XML elements ordered in a consistent and deterministic manner. This was needed so that ** CIMTool** projects hosted in a GitHub repository could have file-based comparisons performed using GitHub's built in features.
Enhancement [Issue #57]:
Based on user feedback the "Import Copyright Templates" wizard needed to be enhanced to allow an end user to select an option for using the default UCAIug copyright headers for an existing project. This without having to import them from the file system. This feature already existed within the "New Project" wizard but needed to be added to the copyright templates wizard.
The enhancements made to the existing "Import Copyright Templates" wizard screen are shown in the below table (click on the images to present a larger view):
Import Copyright Templates (OLD) | Import Copyright Templates (NEW) |
---|---|
Release 1.11.0
Release 1.11.0 [28-Sep-2022]
For instructions on installation and setup visit the Getting Started instructions.
This release is also made available in the CIMug tools download folder on the UCAIug website.
Defect [Issue #47]:
Custom copyrights were not being imported properly on the New Project Wizard for the custom copyright template option.
Defect [Issue #48]:
Copyright headers fail to update in OWL profiles on import of new headers in the Import Wizard.
Enhancement [Issue #49]:
Screens introduced in release 1.10.0 to the "Import" and "New CIMTool Project" wizards have been redesigned.
On the "New CIMTool Project" screen the previous Steps 2 and 3 have been consolidated into a single screen. This removes ambiguity and improves usability for end users when creating projects. Below provides an overview of the Wizard (click on the images to present a larger view).
Step 1 | Step 2 (NEW) | Step 3 |
---|---|---|
On the "Import" wizard previously there were two separate import copyright template options; one for muiltline and another for single-line. This has been consolidated into a single screen.
Updated CIMTool Import Options | Import Copyright Templates |
---|---|
Full Changelog: 1.10.1...1.11.0
Release 1.10.1
Release 1.10.1 [02-Sep-2022]
This is a patch release for CIMTool 1.10.0
For instructions on installation and setup visit the Getting Started instructions.
Defect [Issue #39]:
During preparation for the new CIMTool-XSLT-Builders repository it was discovered that the new profile-doc-rtf.xsl builder entry in the .builders
file that was introduced in the 1.10.0 release was incorrectly defined. This has been corrected.
Defect [Issue #40]:
Within the CIMCheck sub project it was discovered that when the upgrade to ICU4J-71.1 occurred during the 1.10.0.RC2 release that the .xml
build script and html files for the project were not updated to reflect the needed changes for the classpath for CIMCheck. This has been corrected as part of this 1.10.1 patch release.
Full Changelog: 1.10.0...1.10.1
Release 1.10.0
Release 1.10.0 [26-Aug-2022]
This is the official release of CIMTool 1.10.0
For instructions on installation and setup visit the Getting Started instructions.
Enhancement [Issue #3]:
As of release 1.10.0.RC1 CIMTool's internal XSLT transform builders "engine" has been made public to end users with new screens added to import custom profile builders. The internal XSLT processor in CIMTool was the Apache Xalan project. However, Apache Xalan is a W3C XSLT 1.0 compliant XSLT processor. To support the much richer feature set defined in the XSLT 3.0 specification the XSLT engine has been replaced by Saxon HE 10.8. Saxon is XSLT 1.0, 2.0, and 3.0 compliant.
Enhancement [Issue #27]:
A new builder for auto-generation of profile documentation has been added to the standard set shipped OOTB. This builder produces a Microsoft Word compatible RTF (Rich Text Format) document when selected in the Profile Summary Tab. Click on the images to present a larger view.
Profile Summary Tab | Example RTF Word Document |
---|---|
Enhancement [Issue #30]:
The new copyright templates are now also applied to the headers of the profile definitions themselves (i.e. *.owl files).
Enhancement [Issue #28]:
Additional screens have been added to the "New CIMTool Project" wizard used when creating a new CIMTool project. These screens now appear as Steps 2 and 3 in the create project process. Below provides an overview of the Wizard (click on the images to present a larger view).
Step 1 | Step 2 (NEW) | Step 3 (NEW) | Step 4 |
---|---|---|---|
Release 1.10.0.RC3
Release 1.10.0.RC3 [28-Jul-2022]
This is the third release candidate for CIMTool 1.10.0
For instructions on installation and setup visit the Getting Started instructions.
Fix [Issue #21]: Eliminated superfluous namespaces that are being generated by the IEC 62361-100 compliant XSD schema builder that ships with CIMTool.
Enhancement [Issue #23]: CIMTool's internal message model definition has been extended with the addition of two new attributes for Choice elements that can be used by CIMTool builders. The purpose of the new attributes is to make easily available to XSLT-based builders the topmost class in a type hierarchy for a union defined in a profile.
Enhancement [Issue #20]: All builders that generate RDFS and OWL profiles were updated to utilize the new custom copyright template capabilities.
Enhancement [Issue #22]: Custom copyright templates are now supported in CIMTool. A copyright template is defined as an external file containing the text of either a multi-line or single-line copyright to be used by builders for inclusion in the artifacts that they generate (e.g. XSD schema, RDFS, or JSON schema profiles). A template must include a ${year} substitution variable which is recognized by CIMTool and substituted with the current year at the time a builder is executed. A UCAIug Apache 2.0 copyright template is bundled out-of-the-box with CIMTool and used as the default copyright template if an alternate is not set after a project is created. Both multi-line and single-line copyright templates are supported and can be imported/assigned using new import screens introduced in this release as shown below.
New CIMTool Import Options | Copyright Template Import |
---|---|
Full Changelog: 1.10.0.RC2...1.10.0.RC3