Skip to content

Commit

Permalink
Merge pull request #29 from GRIDAPPSD/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
poorva1209 committed Mar 4, 2020
2 parents 96438d3 + 06c60d6 commit e619f58
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 19 deletions.
56 changes: 37 additions & 19 deletions docs/source/developer_resources/CIM_Validation.rst
Expand Up @@ -15,12 +15,32 @@ data structures, message payloads, and information exchanges between
applications.

To represent the model, CIM is written using the Unified Modeling
Language (UML) using Sparx Enterprise Architect. The model is stored
in a project file (*.eap extension file).
Language (UML) using Sparx Enterprise Architect. The model is stored
in a project file (*.eap extension file). GridAPPS-D extends the CIM
to meet its application specific needs. UML (Object Management Group
UML 2.5 Specification) profiles are secondary models, derived from
the primary information model. Profiles represent a portion of the
model to support GridAPPS-D application-specific structures and
exchanges. A profile operates within the scope of the information
model and is formed by extracting selected elements of the information
model. These extracted elements are filtered or constrained by
providing value ranges, reducing cardinality, and filtering structures.
UML profiles use stereotype notation <<>> to annotate information model
elements such as classes, associations, and attributes in a target domain
or technology. Stereotypes are either used to impose domain-specific
criteria (for example, <<CIM:Datatype>>) or technical criteria (for example,
<<table>>, <<primarykey>>) on UML elements. UML profiles are generated in a
variety of ways including use of tools such as Enterprise Architect (EA)
Schema Composer, CIMContextor, or CIMTool to define structural requirements.
The W3C Shape Constraint Language (SHACL) will be used as extensions to
further specify value constraints.

Currently GridAPPS-D is using UML diagrams as a human-readable intuitive profile
description of application-specific uses of the extended CIM. Future profiles
will be produced by CIMTool and SHACL to provide a more comprehensive blueprint
for application development that is machine readable to compliment the diagrams.

UML Profiles are domain or technology specific representations
of the original model. UML profiles are generated in a variety of ways:
including: by hand, using a tool such as CIMContextor/CIMTool.

Extending CIM
^^^^^^^^^^^^^
Expand All @@ -33,11 +53,11 @@ the extentions comply with the rules and organization of the existing
model. Otherwise an uncompliant application risks losing the advantage
of using the standard, particularly for information exchanges.

Techniques for extending the CIM will not be discussed here, however
the IEC TC 57 61970 part 301 document provides excellent guidance on
best practices when extending the CIM. The 61970 part 600
series developed for use by ENTSO-E provides an excellent end-to-end
series of extension use cases for the European power grid.
Techniques for extending the CIM will not be discussed here, however the
IEC TC 57 61970 part 301 document and the CIM Model Manager Guide (being
released Spring 2020 by the TC57 CIM Model Managers) provides excellent
guidance on best practices when extending the CIM.


Validation Techniques
^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -56,19 +76,17 @@ any problematic areas. In addition the JCimClean tool original log
report for CIM100 can be compared against the GridAPPS-D CIMv100.


Well-Formed Profile
Well-Formed and Valid Profile
^^^^^^^^^^^^^^^^^^^
Two external tools have been developed to create CIM profiles based on
the UML. Both CIMTool and CIMContextor can create Resource Description
Framework Schema (RDFS) profiles from CIM to validate how CIMv100 classes
and associations are transposed into message payload objects. In addition,
CIMTool does have a means to validate example payloads against payloads to
flag any formatting or structural errors.

CIMTool can not only create Resource Description Framework Schema (RDFS)
profiles from the CIM100 UML, it can also validate the generated profiles
or created RDF datasets against CIM100 schema. GridAPPS-D has plans to
extend the CIMTool Validation using SHACL to specify and constrain
value ranges or check regular expression patterns

Final Thoughts
^^^^^^^^^^^^^^
This section is expected to evolve in the spring/summer of 2019 with the
This section is expected to evolve in 2020 with the
advancement of CIM Model Manager tools that were previously only accessible
to the model managers or based on advancements of validation techniques
in the profile development communities.
Expand Down
31 changes: 31 additions & 0 deletions docs/source/overview/version_history.rst
Expand Up @@ -581,5 +581,36 @@ Version 2020.01.0
- gridappsd-docker-build - https://github.com/GRIDAPPSD/gridappsd-docker-build/tree/releases/2020.01.0
- gridlab-d - https://github.com/GRIDAPPSD/gridlab-d/tree/develop
- sample-app - https://github.com/GRIDAPPSD/gridappsd-sample-app/tree/releases/2020.01.0

Version 2020.02.0
^^^^^^^^^^^^^^^^^

1. New Features

- Alarms status is published is Open/Close instead of 0/1.
- Added resume/pause-at API for simulation.
- Added the EnergyConsumer.p attribute as a writable property in the FNCS GOSS Bridge
- Fixed floating switches issue on Viz app.
- Added units on the plots.
- Viz allow user to go to nodes by clicking on plots.
- Labels added for overlapping line on Viz plots.
- Operator login issue resolved.
- First integration test added in gridappsd-testing repo.


2. Source Code

- goss-gridapps-d - https://github.com/GRIDAPPSD/GOSS-GridAPPS-D/tree/releases/2020.02.0
- gridappsd-viz - https://github.com/GRIDAPPSD/gridappsd-viz/tree/releases/2020.02.0
- gridappsd-python - https://github.com/GRIDAPPSD/gridappsd-python/tree/releases/2020.02.0
- cim2glm - https://github.com/GRIDAPPSD/Powergrid-Models/tree/releases/2020.02.0
- proven-cluster - https://github.com/pnnl/proven-cluster/releases/tag/v1.3.5.7
- proven-client - https://github.com/pnnl/proven-client/releases/tag/v1.3.6
- proven-message - https://github.com/pnnl/proven-message/releases/tag/v1.3.5.4
- proven-docker - https://github.com/GRIDAPPSD/proven-docker/tree/releases/2020.02.0
- fncs - https://github.com/GRIDAPPSD/fncs/tree/develop
- gridappsd-docker-build - https://github.com/GRIDAPPSD/gridappsd-docker-build/tree/releases/2020.02.0
- gridlab-d - https://github.com/GRIDAPPSD/gridlab-d/tree/develop
- sample-app - https://github.com/GRIDAPPSD/gridappsd-sample-app/tree/releases/2020.02.0


0 comments on commit e619f58

Please sign in to comment.