Www.sparxsystems.com Extending the IEC Common Information Model (CIM) with Enterprise Architect Ben Constable Chief Operations Officer Sparx Systems CIM.

Slides:



Advertisements
Similar presentations
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
Advertisements

1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
NGT Information Technology Technical Discussion Bob DeHoff Info Tech, Inc.
Karolina Muszyńska Based on:
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
Visual Studio Team System (VSTS). Richard Hundhausen Author of software development books Microsoft Regional Director Microsoft MVP (VSTS) MCT, MCSD,
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Collaborative Modeling for Interoperability Standards Ben Constable Chief Operations Officer Sparx Systems CIM Users Group Meeting,
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems.
Prepared by: Gerald R. Gray, Guiding Principle Consulting.
XML Exchange Development CAM Technology Tutorial – Public Sector NIEM Team, June 2011 CAM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
Framework for Model Creation and Generation of Representations DDI Lifecycle Moving Forward.
MTEI Methods & Tools for Enterprise Integration
Roles and Responsibilities Jahangheer Shaik. Service Specification Specification requires development of three inter-related documents CIM, PIM and PSM.
Collaborative Modeling Best Practices for Distributed Teams Ben Constable Chief Operations Officer Sparx Systems ISO/TC 211: 31st.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
The Design Discipline.
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
Free Mini Course: Applying SysML with MagicDraw
Classroom User Training June 29, 2005 Presented by:
1 ECCF Training 2.0 Platform Specific Model (PSM) ECCF Training Working Group January 2011.
Rational Unified Process Fundamentals Module 4: Disciplines II.
CIM and UML Overview Terry Saxton Xtensible Solutions
Introduction to XML. XML - Connectivity is Key Need for customized page layout – e.g. filter to display only recent data Downloadable product comparisons.
Metadata IN Smart Grid Group Name: REQ
Introduction to MDA (Model Driven Architecture) CYT.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
© 2008 IBM Corporation ® IBM Cognos Business Viewpoint Miguel Garcia - Solutions Architect.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Collaborative Modeling Best Practices for Distributed Teams Ben Constable Chief Operations Officer Sparx Systems CIM Users Group Meeting,
Selected Topics in Software Engineering - Distributed Software Development.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Systems Analysis and Design in a Changing World, 3rd Edition
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Actors and Use Case Diagrams Month Day, Year. Agenda Training Plan Overview Review Detailing Requirements with Requisite Pro Concepts Setting Up XDE Integration.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
1 ECCF Training 2.0 Implemental Perspective (IP) ECCF Training Working Group January 2011.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Achieving Semantic Interoperability at the World Bank Designing the Information Architecture and Programmatically Processing Information Denise Bedford.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Viewpoint Modeling and Model-Based Media Generation for Systems Engineers Automatic View and Document Generation for Scalable Model- Based Engineering.
CTMS Coordination Team CTMS Coordination Team: Model and Documentation Management John Koisch Paul Boyes
Building Enterprise Applications Using Visual Studio®
UML Modeling using Enterprise Architect
Evaluating Compuware OptimalJ as an MDA tool
Analysis models and design models
EHR System Function and Information Model (EHR-S FIM) Release 2
Software Development Process Using UML Recap
Kendall Demaree AREVA T&D Inc. CIMug – Tools Breakout June 12, 2008
Presentation transcript:

Extending the IEC Common Information Model (CIM) with Enterprise Architect Ben Constable Chief Operations Officer Sparx Systems CIM Users Group Meeting, Milan 2010

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 extensions 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.3 First UML spec in 1997 Object Management Group (OMG) More Info UML, OMG: Sparx Tutorials:

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:

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: 8 Available from:

Review of Concepts: Enterprise Architect Relationship to CIM: CIM standard hosted and maintained 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: Model Releases/Forms/AllItems.aspx 2.Get Enterprise Architect: 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: 1.Use the legacy tool to export the entire model to XMI: May require a plug-in and patches. For example, see: Note available XMI and UML versions. Some may be better supported. 2.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) 3.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:

Dealing with Legacy Models: Diagrams Tip on Diagram Export: XMI exported from many tools either: 1.Provides only partial diagram info or; 2.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 : 1.Drop any element onto a new diagram 2.Select Element > Right-click > Add > Related Elements 3.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 Traceability 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: 1.Copy CIM Base Model, or import CIM XMI source into EAP 2.Create a separate UML Package for extension elements 3.Drag/Drop CIM standard elements onto extension diagrams 4.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 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 Create extension model structure – Step 2

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… Drag n’ Drop CIM standard elements – Step 3

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

Use Generalizations and Associations – Step 4 Association roles should be named at each end Multiplicities should be defined Use CIM naming conventions

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 Creating custom extensions to the CIM 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 3 rd party tools consume, post-process XMI eg. CIMTool

Sharing Models: HTML Output Includes model structure, diagrams and project info for online distribution (only requires a browser not Enterprise Architect client) Model navigation via project explorer frame and diagram hot-spots Automate generation process via API to update online doco regularly (HTML output not synched with model data in real-time) Numerous organizations publish standards models in HTML form: ISO/TC 211: GIEM/Govdex: DMV: Datex II:

Sharing Models: RTF Reports Rich-Text Format (RTF) reports provide traditional delivery of model info in document form RTF MS Word compatible Provides conversion path to obtain PDF document (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

What are we going to talk about? 1.Extending the CIM with Enterprise Architect Modeling 101 Introduction to CIM Model and Enterprise Architect Editing models based on CIM 2.Enterprise Architect 8 – What’s new for a CIM modeler? Enhanced modeling, diagramming and traceability Structured Use Case Scenarios 3.Collaborative Modeling Achieving Traceability Creating CIM extension in Enterprise Architect Sharing Model Information

thank you for your attention!