Extending the iec common information model cim with enterprise architect
Sponsored Links
This presentation is the property of its rightful owner.
1 / 36

Extending the IEC Common Information Model (CIM) with Enterprise Architect PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on
  • Presentation posted in: General

Extending the IEC Common Information Model (CIM) with Enterprise Architect. Ben Constable Chief Operations Officer Sparx Systems. CIM Users Group Meeting, Genval 2009. Overview. Review of Concepts UML CIM Enterprise Architect Getting Started with CIM and Enterprise Architect

Download Presentation

Extending the IEC Common Information Model (CIM) with Enterprise Architect

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Extending the IEC Common Information Model (CIM) withEnterprise Architect

Ben Constable

Chief Operations Officer

Sparx Systems

CIM Users Group Meeting, Genval 2009


Overview

  • Review of Concepts

    • UML

    • CIM

    • Enterprise Architect

  • Getting Started with CIM and Enterprise Architect

    • Obtaining and Navigating the CIM model

    • Dealing with legacy: Can I reuse or import existing models?

  • Modeling with UML, CIM and Enterprise Architect:

    • Achieving Traceability

    • Creating CIM extension in Enterprise Architect

    • Sharing Model Information

  • Q & A


Review of Concepts: UML

  • UML: Unified Modeling Language

    • “…provide[s] system architects, software engineers, and software developers with tools for analysis, design, and implementation of software based systems as well as for modeling business and similar processes.” – UML Specification

  • Graphical language, not a methodology!

    • Has syntax rules

    • Profiles provide extensibility

  • Current version: 2.2

    • First UML spec in 1997

    • Object Management Group (OMG)

  • More Info

    • UML, OMG: http://www.uml.org, www.omg.org

    • Sparx Tutorials: http://www.sparxsystems.com/resources


Review of Concepts: Value of UML

  • Manage complexity

  • Plan and mitigate risk

  • Facilitate communication


Review of Concepts: UML

  • UML supports 13 diagrams to visualize:

    • Structure (Package, Class, Component etc.)

    • Behavior (Use Case, Activity, State Machine)

    • Interaction (Sequence, Timing etc.)

  • UML structural diagrams most relevant to CIM:

    ClassPackageComponent


Review of Concepts: CIM

  • Common Information Model (CIM) implemented in UML

  • As a standard reference model, CIM provides:

    • A foundation for business process integration

    • Enterprise-level, logical data model to reduce the need for point-to-point data translation and method mappings among applications.

    • “The most developed and widely accepted model for describing an electrical network.” - Scott Neumann, CIM Road Map Task Force.

  • CIM download and more info:http://cimug.ucaiug.org


Review of Concepts: Enterprise Architect

  • UML 2 modeling platform:

    • Supports standard 13 UML 2 diagrams

    • Customization framework for Domain Specific Modeling (UML profiles, patterns, templates)

    • XML Meta-data Interchange (XMI) for interoperability and model serialization

    • Supports large models, versioning, collaboration and sharing

      (requisites for CIM modeling)

  • Current Version: 7.5

  • Available from:http://www.sparxsystems.com


Review of Concepts: Enterprise Architect

Relationship to CIM:

  • CIM standard is now hosted in an Enterprise Architect project

  • In 2008, model migration from legacy tools was completed

  • Enterprise Architect provides editing capabilities for maintainers of CIM UML model

  • Extension models can be defined from CIM base project

  • Sparx Systems UCAIug member


Review of Concepts: Enterprise Architect


Overview

  • Review of Concepts

    • UML

    • CIM

    • Enterprise Architect

  • Getting Started with CIM and Enterprise Architect

    • Obtaining and Navigating the CIM model

    • Dealing with legacy: Can I reuse or import existing models?

  • Modeling with UML, CIM and Enterprise Architect:

    • Achieving Traceability

    • Creating CIM extension in Enterprise Architect

    • Sharing Model Information

  • Q & A


Getting started: Obtaining the CIM model

  • 1.Download CIM model from CIMug:

  • http://cimug.ucaiug.org/CIM Model Releases/Forms/AllItems.aspx

  • 2.Get Enterprise Architect:

  • http://www.sparxsystems.com

  • 3.Familiarize yourself with CIM

    • Project Browser to explore semantic

    • model hierarchy

    • Advanced meta-data search facility

    • to find elements of interest


Getting started: Dealing with Legacy Models


Getting started: Dealing with Legacy Models

Q: Can I import existing models from another tool?

A:Probably. Many tools support model data exchange via XMI (XML Metadata Interchange).

Enterprise Architect has robust support for importing XMI in its various ‘flavors’ including XMI produced from other modeling tools.

The CIM standard models were migrated using XMI. See: CIM Model Manager Report to WG 13 and 14 June, 2008, Kendall Demaree


Dealing with Legacy Models: XMI Import

  • Generic XMI import process:

    • Use the legacy tool to export the entire model to XMI:

      • May require a plug-in and patches. For example, see: http://www.sparxsystems.com/support/faq/import_rose_model.html

      • Note available XMI and UML versions. Some may be better supported.

    • Import the XMI file into Enterprise Architect. Supports XMI 1.0, 1.1, 1.2 and 2.1 from numerous tools. (XMI version automatically detected)

    • Use validation tools to ensure completeness and consistency of import

  • Both IEC and ISO developed validation tools for step 3:

    • IEC TC 57: CIMinEA.exe

    • ISO TC 211: http://sparxsystems.com/securedownloads/HMMGPort/Compare-Files-20080313.zip


Dealing with Legacy Models: Diagrams

  • Tip on Diagram Export: XMI exported from many tools either:

    • Provides only partial diagram info or;

    • Doesn’t include diagrams at all

  • In Scenario 1, diagram layouts are likely to be lost. In scenario 2, diagrams need to be recreated from scratch.

  • In both cases, there are tools to help automate the process…


  • Dealing with Legacy Models: Diagrams

    If diagram info exported from your legacy tool is poor or incomplete, after import you might see…


    Dealing with Legacy Models: Diagrams

    What we'd like to see is more like…


    Dealing with Legacy Models: Diagrams

    • You can recover diagram layout ‘semi-automatically’

    • Apply the 80/20 rule:

      • Use Auto Layout tools to do most of the work

        • Start with a basic layout (eg. Digraph, Circle+Spring)

        • ‘Divide and Conquer’ by applying layouts on selected regions

      • Manually refine, if necessary:

        • Use “tree-style” connectors for inheritance hierarchy

    • If diagram info is actually missing from exported XMI :

      • Drop any element onto a new diagram

      • Select Element > Right-click > Add > Related Elements

      • Apply Auto Layouts as above


    Overview

    • Review of Concepts

      • UML

      • CIM

      • Enterprise Architect

    • Getting Started with CIM and Enterprise Architect

      • Obtaining and Navigating the CIM model

      • Dealing with legacy: Can I reuse or import existing models?

    • Modeling with UML, CIM and Enterprise Architect:

      • Achieving Traceability

      • Creating CIM extension in Enterprise Architect

      • Sharing Model Information

    • Q & A


    Extending the model with traceability

    • Why do we need to concern ourselves with traceability?

    • To answer questions like these:

      • As maintainer/contributor of the CIM base model, what impact will I have if I change Element X?

      • If my company extends the model, what relationships must we consider if we extend Element Y? What additional features are inherited via Element Y?

      • If the CIM specification changes in future, what will be the impact on my extension model?

      • If somebody else maintains my extension model in future, can they determine how it relates to the CIM standard?


    Traceability: Assessing the impact of change

    Use Enterprise Architect’s Hierarchy window

    Trace the selected Element’s relationships within the model.

    Filter relationships and restrict hierarchy depth

    Also: Relationships window, Relationship Matrix for V&V activity


    Creating custom extensions to the CIM

    • Extension goals:

      • Address vendor-specific concerns not included in the CIM standard

      • Avoid ‘reinventing the wheel’  Use CIM as reference model

      • Allow for future updates to CIM: Minimize manual rework of extension models and allow for merging versions

      • Maximize traceability to original CIM base model

    • See: Methodology for CIM Extensions, Neumann, DeVos et al, Jan 2007

      • Rationale behind CIM extensions

      • Alternative approaches to modeling extensions

      • Generating schema artifacts using CIMTool

    • We’ll recreate the Switch example extensions from the above presentation using the CIM base model …


    Creating custom extensions to the CIM

    • Proposed extension process:

      • Copy CIM Base Model, or import CIM XMI source into EAP

      • Create a separate UML Package for extension elements

      • Drag/Drop CIM standard elements onto extension diagrams

      • Use Generalization and Association relationships to extend and reuse CIM elements

    • Advantages of using a Base model:

      • Full traceability from extensions to CIM standard

      • Easier to merge popular extensions CIM standards

      • Future CIM versions importable directly to extension model


    Start with the CIM base model – Step 1


    Create extension model structure – Step 2

    • Create a new model structure to house our extension model:

      • Project Root node: “Vendor_X”

      • View: “CIM_Extensions”

      • Package: “SwitchX”

      • Diagram: “SwitchX”

    • Structure of extension model can be customized. Eg. separate project root node for extension packages or extension packages nested under CIM Base Model


    Drag n’ Drop CIM standard elements – Step 3

    • Drag the existing Switch class onto a new diagram.

      • Inheritance from Switch to ConductingEquipment abbreviated

      • Standard Switch class from the Wires package (namespace)

    • Add new attribute to Switch

    • New diagram, not a change to CIM semantic model. New attribute is a semantic change…


    Use Generalizations and Associations – Step 4

    Inherit from CIM model elements to build up extensions.

    Drag n’ Drop the standard Switch class onto the diagram

    Create the SwitchX class

    Generalize from Switch to SwitchX


    Use Generalizations and Associations – Step 4

    Association roles should be named at each end

    Multiplicities should be defined

    Use CIM naming conventions


    Creating custom extensions to the CIM

    Only one of our changes actually impacts the CIM standard model

    Track model changes by inspection…


    Creating custom extensions to the CIM

    …. or using Baseline compare

    Baselines stored in model as XMI ‘snapshots’ or external files

    Compare utility shows details of items added, removed or changed in the model

    Allows new CIM versions or CIM extensions to be selectively merged


    Sharing Model Information

    A fundamental value proposition behind modeling: Improves communication!

    Not everyone consumes models directly yet

    Models also realize value when used to generate useful artifacts.


    Sharing Models: XMI

    • XMI: XML Metadata Interchange

    • Primary mechanism for exchanging models:

      • Export occurs at the Package, View and Model levels

      • Round-trip Enterprise Architect models using XMI 1.1 – most stable version. (UML 2.1 model data included)

      • Ensure shared packages are ‘self-contained’ and set ‘round-trip’ options on export or;

      • Apply version control to help manage dependencies across distributed, shared packages

      • Forms basis for Enterprise Architect compare/merge

    • 3rd party tools consume, post-process XMI eg. CIMTool


    Sharing Models: HTML

    • Enterprise Architect HTML generation replicates model structure, diagrams and project info for online distribution (internet or secured intranet)

    • Model navigation via project explorer frame and diagram hot-spots

    • Doesn’t require Enterprise Architect client, browser only

    • Generation process can be automated using API to update online doco regularly (HTML model data not synched real-time)

    • Numerous orgs publish standards models in HTML form:

      • ISO/TC 211: http://www.isotc211.org/hmmg/HTML

      • GIEM/Govdex: https://www.govdex.gov.au/pub/

      • DMV: http://www.dmv.virginia.gov/csi/eahtml/index.htm

      • Datex II: http://www.datex2.eu/?q=node/23


    Sharing Models: RTF Reports

    Rich-Text Format (RTF) reports provide traditional means of delivering model info in document form

    RTF MS Word compatible

    Provides conversion path to obtain PDF documentation (MS Word  PDF)

    Template-driven  Customizable

    Apply meta-data filters to selectively include/exclude model elements and sub-element information


    Overview

    • Review of Concepts

      • UML

      • CIM

      • Enterprise Architect

    • Getting Started with CIM and Enterprise Architect

      • Obtaining and Navigating the CIM model

      • Dealing with legacy: Can I reuse or import existing models?

    • Modeling with UML, CIM and Enterprise Architect:

      • Achieving Traceability

      • Creating CIM extension in Enterprise Architect

      • Sharing Model Information

    • Q & A


    thank you for your attention!


  • Login