CIM University: Enterprise Architect and the IEC CIM

CIM User’s Group Meeting October 23, 2017

Henry B. Dotson III, P.E. Mandla Solutions, Inc. [email protected] +1-626-429-8040 Instructor Introduction

Henry B. Dotson III, P.E. Principal Consultant

[email protected]

❖ 10 years experience with Enterprise Architect ❖ 12 years experience with CIM ❖ Member of IEC TC57 WG14 ❖ Co-Model Manager, WG14

Enterprise Architect and the CIM 2 Training Objectives Familiarize attendees with IEC CIM UML in Enterprise Architect (EA). Provide attendees with the information to start using Enterprise Architect efficiently. Familiarize attendees with Enterprise Architect features that facilitate working with the IEC CIM. Provide attendees with information on how to extend the IEC CIM in Enterprise Architect. Provide attendees with information on how to create IEC CIM Profiles in Enterprise Architect.

CIM University - Enterprise Architect and the CIM 3 Agenda

Start Topic Duration End 10:45 Introduction 00:10 10:55 10:55 Introduction to Enterprise Architect 00:20 11:15 11:15 Configuring Enterprise Architect 00:30 11:45 11:45 Getting Started with Enterprise Architect 00:30 12:15 12:15 LUNCH BREAK 01:00 13:15 13:15 Getting Started With the CIM in Enterprise Architect 00:45 14:00 14:00 Extending the CIM in Enterprise Architect 00:45 14:45 14:45 Creating CIM Profiles in Enterprise Architect 00:45 15:30 15:30 AFTERNOON BREAK 00:15 15:45 15:45 Working with Schema Composer 00:45 16:30 16:30 Track 3 Wrap-Up (Including Q&A) 00:15 16:45

CIM University - Enterprise Architect and the CIM 4 Attendee Poll…

How many IT attendees? How many T&D attendees? How many attendees have < 1 year CIM experience? How many attendees have Enterprise Architect? How many attendees have < 1 year EA experience? How many attendees have EA version 13 or higher?

Enterprise Architect and the CIM 5 Keys to Success

extension People Process Success

profiling

Technology

“It’s amazing what you can do with the right tool.” --Anonymous

Enterprise Architect and the CIM 6 Barrier to Success

Grady Booch, developer of the Unified Modeling Language in conjunction with Ivar Jacobs and James Rumbaugh

Enterprise Architect and the CIM 7 Strategy for Success

Most successful engagements do all three: Give, Teach, and Equip

CIM University - Enterprise Architect and the CIM 8 Introduction to Enterprise Architect

Enterprise Architect and the CIM 9 Downloading & Installing Enterprise Architect

Enterprise Architect and the CIM 10 Enterprise Architect User Interface

Enterprise Architect Ribbons Project Browser Window Diagram Window Element Properties Window Toolbars Keyboard Shortcuts

Enterprise Architect and the CIM 11 Start Ribbon Interface

The 'Start' ribbon provides a range of facilities for exploring, navigating and viewing the information in the repository. These include tools to navigate and search for items, to view the important events, messages, discussions and work that is relevant to a modeler on a given day, and to view and change your workspace settings, including styles and preferences. This ribbon also provides access to the Help facilities, including registering license keys and checking for updates.

Enterprise Architect and the CIM 12 Design Ribbon Interface

The 'Design' ribbon is used to develop and visualize a model by creating diagrams, matrices and lists of important aspects of the system. Requirements and other specifications can be created and viewed and, regardless of the technology or language of expression, compelling representations can be created, viewed and tied together to form either powerful blueprints of a system to be implemented or documentation of an existing system.

Enterprise Architect and the CIM 13 Layout Ribbon Interface

The 'Layout' ribbon can be used to create sophisticated views of a model alignment of elements and sections to create high-quality diagrams. Diagrams are one of the most powerful and compelling ways of visualizing information. The appearance of elements in diagrams can be completely changed by adding border, fill and text colors, creating meaning and appeal. Diagram Filters and Layout tools can be used to automatically change the appearance of diagrams, and Swimlanes and Roadmaps can be configured, adding rich presentations. A filter can be applied to hide elements that don't meet a specific condition, and a range of helpers can assist with element alignment.

Enterprise Architect and the CIM 14 Specialize Ribbon Interface

The 'Specialize' ribbon provides facilities to enable and access Add-Ins (extensions written in COM) and MDG Technologies that interact with the Enterprise Architect user interface to extend and specialize the product's capabilities.

Enterprise Architect and the CIM 15 Publish Ribbon Interface

The 'Publish' ribbon brings together all the tools for publishing, documenting and importing and exporting valuable model assets in a wide range of formats and styles, ranging from publications for corporate audiences to spreadsheets, XML schemas, Patterns, Reusable Assets and much more. The model is the repository of valuable organizational information and knowledge, and people who don't access the model directly can still get access to this knowledge through this panel of tools.

Enterprise Architect and the CIM 16 Configure Ribbon Interface

The 'Configure' ribbon is used for managing the way a repository is used, from the setup of reference data, security and version control to audits and integrity checks. Enterprise Architect is a powerful and flexible platform and can be configured to suit any enterprise, business or technical team.

Enterprise Architect and the CIM 17 Project Browser Window The Project Browser is a window that displays Packages, diagrams, elements and element features in a tree-like structure, reflecting the arrangement of elements and Packages within your model. The Project Browser is the primary mechanism for browsing and exploring your model and is the jumping off point for many of the most important features in Enterprise Architect. Ribbon Access: Start Ribbon Navigation: Explore > Browse > Project Browser Or Show > Portals > Window > Explore > Project Browser Keyboard Shortcut: Alt+0

Enterprise Architect and the CIM 18 Diagram Window

Enterprise Architect and the CIM 19 Element Properties Window

Enterprise Architect and the CIM 20 Toolbox Window

Ribbon Access: Design Ribbon Navigation: Diagram > Toolbox Keyboard Shortcut: Alt+5

Enterprise Architect and the CIM 21 Enterprise Architect Keyboard Shortcuts

Shortcut Operation Ctrl+N Create a new EA project Ctrl+O Open an EA project Ctrl+Z Undo a change Ctrl+Y Redo an undone change Ctrl+M Add a new element Ctrl+W Add a new package Ctrl+U Find element in diagrams Alt+Enter Open Properties window Alt+G Find element in Project Browser F2 Edit the selected property values

Enterprise Architect and the CIM 22 Configuring Enterprise Architect

Configure General Options Configure Window Behavior Configure Diagram Options Configure Visual Style Configure XML Specifications Configure Model-Specific Options Specify Required MDG Technologies Configure Customizations

Enterprise Architect and the CIM 23 Configure General Options

Ribbon Access: Start Ribbon Navigation: View > Preferences > General Keyboard Shortcut: Ctrl+F9 | General

Enterprise Architect and the CIM 25 Configure Window Behavior

Ribbon Access: Start Ribbon Navigation: View > Preferences > General > Window Behavior Keyboard Shortcut: Ctrl+F9 | General | Window Behavior

Enterprise Architect and the CIM 27 Configure Diagram Options

Ribbon Access: Start Ribbon Navigation: View > Preferences > General > Diagram Keyboard Shortcut: Ctrl+F9 | General | Diagram

Enterprise Architect and the CIM 29 Configure Visual Style

Ribbon Access: Start Ribbon Navigation: View > Visual Style > Visual Style

It is possible to change the overall style and color of the Enterprise Architect user interface to match the standard styles (or themes) of a number of Microsoft Office and Visual Studio product releases. The styles are applied uniformly across all displays, dialogs, windows, views and ribbons.

Enterprise Architect and the CIM 30 Configure XML Specifications

Ribbon Access: Start Ribbon Navigation: View > Preferences > XML Specifications Keyboard Shortcut: Ctrl+F9 | XML Specifications

Enterprise Architect and the CIM 32 Configure Model Specific Options

Ribbon Access: Configure Ribbon Navigation: Configure > Model > Options

Enterprise Architect and the CIM 34 Specify Required MDG Technologies

Ribbon Access: Configure Ribbon Navigation: Configure > Model > Options > MDG Technologies

Enterprise Architect and the CIM 36 Configure Customizations

It is possible to customize the Enterprise Architect toolbar and keyboard commands and how they are displayed and made available to you. You perform these tasks using the 'Customize' dialog. The following user interface customization are made using the ‘Customize’ dialog:

Customize Commands Customize Toolbars Add Custom Tools Customize Keyboard Shortcuts Customize Submenus Customize Options

Enterprise Architect and the CIM 37 Configure Customizations

Ribbon Access: Start Ribbon Ribbon Access: Start Ribbon Navigation: View > Visual Style > Customize… > Navigation: View > Visual Style > Customize… > Commands Toolbars

Enterprise Architect and the CIM 39 Configure Customizations

Ribbon Access: Start Ribbon Ribbon Access: Start Ribbon Navigation: View > Visual Style > Customize… > Navigation: View > Visual Style > Customize… > Tools Keyboard

Enterprise Architect and the CIM 41 Configure Customizations

Ribbon Access: Start Ribbon Ribbon Access: Start Ribbon Navigation: View > Visual Style > Customize… > Navigation: View > Visual Style > Customize… > Menu Options

Enterprise Architect and the CIM 43 Getting Started with Enterprise Architect

Enterprise Architect and the CIM 44 Project Creation and Model Organization

Find element in diagrams from Project Browser Find element in Project Browser from diagrams Find elements using the Search Facility Find elements using user-defined searches

Enterprise Architect and the CIM 45 Enterprise Architect Projects ❖ An EA Project is a repository for storing, manipulating and managing one or more Models. A single repository can contain many models, and a repository can be either file based, hosted in a larger DBMS system or based in the Cloud. ❖ For our example, we will create a single file based EA Project to contain the CIM and our CIM Profile generated by Schema Composer.

CIM University - Enterprise Architect and the CIM 46 Creating A New Enterprise Architect Project – New Select ‘File > New Project…’ from the Menu bar and the drop down menu. The ‘New Project’ dialog will display. Select a directory and enter a filename for your project. Click the ‘Save’ button.

CIM University - Enterprise Architect and the CIM 47 Creating A New Enterprise Architect Project - New Once the project has been saved, the Model Wizard displays, which makes a selection of Model Patterns available; select the Model Patterns to use.

Enterprise Architect adds a model containing the selected Model Packages to the Project Browser.

CIM University - Enterprise Architect and the CIM 48 Creating A New Enterprise Architect Project – Copy 1. Navigate to an existing EAP file containing your CIM compliant model from your file system. 2. Copy and paste the file in the directory of your choice. 3. Rename and save the file.

CIM University - Enterprise Architect and the CIM 49 Model Navigation in Enterprise Architect

Find element in diagrams from Project Browser Find element in Project Browser from diagrams Find elements using the Search Facility Find elements using user-defined searches

Enterprise Architect and the CIM 50 Find Element in Diagrams from Project Browser

Right click the element to bring up this pop-up window

Left click the element Click on to select it ‘Properties’ option to bring up this pop-up window

Shortcut key – 1.Left click the element to select it 2.Press Ctrl+U to trigger the search

Select ‘Find in all Diagrams…’ to trigger the search

Enterprise Architect and the CIM 51 Find Element in Diagrams from Project Browser

Enterprise Architect and the CIM 52 Find Element in Project Browser from Diagram Right click the element to bring up this pop-up window

Click on ‘Find’ option to bring up this pop-up window Left click the element to select it

Shortcut key – 1.Left click the element to select it 2.Press Alt+G to trigger the search

Click on ‘In Project Browser’ to trigger the search

Enterprise Architect and the CIM 53 Find Element in Project Browser from Diagram

Element is highlighted in Project Browser

Enterprise Architect and the CIM 54 Find Elements Using the Search Facility

Ribbon Access: Start Ribbon Navigation: Explore > Search > Model Ribbon Access: Design Ribbon Navigation: Element > Edit > Search > Model Keyboard Shortcuts: Ctrl+F or Ctrl+Alt+A

Element is Select ‘Common Enter the Left click Left click the highlighted Searches’ and element name the right Search icon and ‘Element Name’ to as the search arrow icon to bring up displayed in establish the type criteria to trigger the Search the Search of search the search Window Window

Enterprise Architect and the CIM 55 12:15 – 13:15 [60 minutes]

Enterprise Architect and the CIM 56 Getting Started with the CIM in Enterprise Architect

+

Enterprise Architect and the CIM 57 Enterprise Architect Relationship to the CIM

The CIM standard is hosted and maintained in an Enterprise Architect Project. Model migration from legacy tools was completed in 2008. Enterprise Architect provides editing capabilities for maintainers of the CIM model (Model Managers). Extension models can be defined from the CIM base product Sparx Systems is a UCAIug member.

Enterprise Architect and the CIM 58 CIM-Related Modeling Technologies

t e x t

Enterprise Architect and the CIM 59 CIM Modeling Technologies in Enterprise Architect

UML is used as the standardized language to describe the CIM. UML is not tied to any particular implementation technology and can be realized on multiple platforms.

ArchiMate is a modeling language used to describe enterprise architectures. It supports the description, analysis, and visualization of architecture within and across business domains in an unambiguous way.

RDF is an XML schema used to provide a framework for data in an XML format by allowing relationships to be defined between XML nodes.

XML is used to exchange information as messages between systems in a human and machine-readable, structured, extensible format.

Enterprise Architect and the CIM 60 Use Case Modeling

The core tenant of CIM development is to base its informational content on business use cases.

While use cases are not part of the CIM, CIM classes, attributes, and CIM profiles are based on actual utility interactions between business users and information systems.

Enterprise Architect and the CIM 61 Architecture Modeling

ArchiMate is used for architecture modeling. The CIM Interface Reference Model (IRM) is used to provide relevant context for business functions described in IEC TC57.

Enterprise Architect and the CIM 62 Data Modeling

The CIM is a UML data model with many packages whose focus is the electricity domain. The CIM covers transmission, distribution, markets, generation and related business processes.

Enterprise Architect and the CIM 63 Download the CIM

Enterprise Architect and the CIM 66 CIM Navigation

CIM Package Structure and Dependencies 61970 Package Structure and Dependencies 61968 Package Structure and Dependencies 62325 Package Structure and Dependencies

Enterprise Architect and the CIM 67 CIM Package Structure

Enterprise Architect and the CIM 68 CIM Package Dependencies

Enterprise Architect and the CIM 69 61970 Package Structure

Enterprise Architect and the CIM 70 61970 Package Dependencies

Enterprise Architect and the CIM 71 61968 Package Structure

Enterprise Architect and the CIM 72 61968 Package Dependencies

Enterprise Architect and the CIM 73 62325 Package Structure

Enterprise Architect and the CIM 74 62325 Package Dependencies

Enterprise Architect and the CIM 75 IRM - Motivation to Use ArchiMate

• Standard modeling language that can be leveraged by business stakeholders and commonly understood by IT • Directly tied to TOGAF to support architectural development • Make IRM readily useful for other IEC processes – Use Cases – Business Processes – Profile definition

CIM University - Enterprise Architect and the CIM 76 Interface Reference Model – Goals

• Common IRM for TC57 WG13, 14, and 16 • Cover domains like transmission, distribution, market, generation, consumer, and regional reliability operators • Tie to Smart Grid Architecture Model (SGAM) • Provide relevant context for business function in TC57

CIM University - Enterprise Architect and the CIM 77 Download the IRM

• Maintained in Sparx EA • Download site: – http://iectc57.ucaiug.org/WG14/Part1/Part%201 %20Drafts/IRM%20Model/IRM.zip

CIM University - Enterprise Architect and the CIM 78 http://iectc57.ucaiug.org/WG14/Part1/default.aspx

CIM University - Enterprise Architect and the CIM 79 http://iectc57.ucaiug.org/WG14/Part1/Lists/Part%201%20Issues/AllItems.aspx

CIM University - Enterprise Architect and the CIM 80 CIM Use of ArchiMate in Enterprise Architect CIM Interface Reference Model – ArchiMate Version

Enterprise Architect and the CIM 81 Interface Reference Model – Text Version

Enterprise Architect and the CIM 82 IRM Navigation

Asset Management (AM) Customer Management (CM) End Device Operation (EDO) Engineering Design Management (EDM) Emergency Simulation Training (EST) External to IEC Fault Management (FM)

Enterprise Architect and the CIM 83 IRM Navigation

Market Compliance Management (MCM) Market Operation (MO) Market Settlement (MS) Network Model Management (NMM) Network Operation (NO) Predictive Operation Planning (POP) Retail Market Operation (RMO) System Development Planning (SDP) Work Management (WM)

Enterprise Architect and the CIM 84 Extending the CIM in Enterprise Architect

Utility_XYZ CIM

+ + =

IEC CIM Utility_XYZ Extensions

Enterprise Architect and the CIM 85 CIM Extension Recommendations – Do’s

Use packages to create manageable and logical model pieces

Search for the intended package name before creating a new package

Search for the intended class name before creating a new class

Create new domain object classes by sub-classing an existing class

Create a diagram showing new sub-class and parent class and associations

Create a top level package for CIM extensions

Utilize existing data types and CIM class where possible

Enterprise Architect and the CIM 86 CIM Extension Recommendations – Don’ts

Avoid creating new primitive data types

Avoid creating domain objects that do not represent objects in the domain

Avoid creating links between objects owned by different Working Groups

Enterprise Architect and the CIM 87 Create an IEC CIM-Compliant Utility CIM

Enterprise Architect and the CIM 88 Utility CIM Model Creation

1. Create a Utility_XYZ instance of the CIM. 2. Create a Utility_XYZ CIM extension package structure. 3. Stereotype root Utility_XYZ CIM extension package. 4. Add nested CIM extension packages. 5. Add stereotyped classes to CIM extension packages. 6. Add stereotyped inheritances to new CIM classes. 7. Add stereotyped associations to new Class Diagrams. 8. Add stereotyped attributes to classes as required.

Enterprise Architect and the CIM 89 Creating CIM Profiles in Enterprise Architect

CIM XSD

CIM RDFS Model Transformation

Enterprise Architect and the CIM 90 What is a CIM Profile?

A CIM Profile is a proper subset of the CIM UML model. As a subset, it may not contain any classes, attributes or associations that are not already part of the CIM UML model. If extensions have been added to the CIM UML model, they may also be contained in a CIM Profile. A CIM Profile may be expressed in Word, HTML, RDFS, XSD, UML and may be provided in all the above formats. A CIM Profile defines the data and the structure of the data required to exchange information between two systems to execute a single interaction in a System Use Case.

Enterprise Architect and the CIM 91 Standardization of a CIM Profile

 If a CIM Profile is submitted to the IEC as a candidate standard, it must be in Word format using the IEC template.  A CIM Profile is often given a name (e.g. CPSM)  Each CIM Profile will have an assigned namespace  CIM Profiles are also known as ‘contextual models’

Enterprise Architect and the CIM 92 Contextual Modeling Concepts

A CIM Profile may restrict the CIM but not expand it: For example, multiplicity can be changed from 1..n to 1..1 but not the other way. The complete set of attributes in a class in the CIM do not have to be contained in a CIM Profile; that is, if a class has 10 attributes but you only need 4 of those attributes to satisfy your goal, you only need to include those 4 attributes in a CIM Profile. Not all classes in the CIM must be included in a CIM Profile. Not all class associations must be included in a CIM Profile.

Enterprise Architect and the CIM 93 Schema Modeling in Enterprise Architect

Enterprise Architect and the CIM 94 Modeling XSD in Enterprise Architect

You can model XML schemas at two levels, using UML Class Diagrams that:

Have no XML schema-specific implementation details, to be generated directly by Enterprise Architect's Schema Generator; the generator applies a set of default mappings to convert the abstract model Package to a W3C XML Schema (XSD) file.

Are refined with XML schema-specific definitions using the 'XML Schema' pages of the Diagram Toolbox, which provides the structures of the UML profile for XSD.

Enterprise Architect and the CIM 95 Introduction to Schema Composer

Enterprise Architect and the CIM 96 What Is Schema Composer? Schema Composer is a built-in tool in Enterprise Architect (EA) for quickly and easily defining a variety of formal schema from a UML model. Due to the unique nature of the Schema Composer, it is not necessary to use a UML profile* or stereotyped elements when building the definition of an XSD, RDF, or other schema documents.

* A UML profile is used to extend the UML language. This should not be confused with a CIM Profile

Enterprise Architect and the CIM 97 What Standards Does Schema Composer Support?

IEC Core Common Component Information Technical Model Specification (UN/CEFACT)

National Universal Information Business Exchange Language Model

CIM University - Enterprise Architect and the CIM 98 Why Use Schema Composer? Schema Composer greatly simplifies the process of creating CIM compliant schema in a re-usable and accessible manner. Schema Composer operates directly on CIM compliant data models to produce CIM compliant schema documents (CIM Profiles) There is no need for another external tool to create schemas from your CIM compliant data model maintained in Enterprise Architect.

CIM University - Enterprise Architect and the CIM 99 Schema Composer Key Concepts

Schema Composition – A schema composition refers to a restricted set of elements taken from a model that together describe a unique entity that has no equivalent in the model. Schema Profile – A Schema Composer profile is a configuration file that describes the elements and restrictions that will make up a particular schema. Schema Generation – The process of generating a schema based on a Schema Composer profile and a schema composition.

Enterprise Architect and the CIM 100 Schema Composer Key Concepts (cont’d)

Schema Importation – The process of importing schemas compatible with Schema Composer. Schema Analysis – Analysis of each Class as it is added to the schema, and whenever the Class is selected Schema Validation – Validation of a schema as it is being imported into Schema Composer based on the selected Schema Profile.

Enterprise Architect and the CIM 101 15:30 – 15:45 [15 minutes]

Enterprise Architect and the CIM 102 Working With Schema Composer

Enterprise Architect and the CIM 103 How To Create A Schema Composer Model 1. Open an EA project file containing your CIM compliant model from your file system. 2. Create a package structure for CIM Profiles. 3. Create a class diagram containing the CIM Classes that will be used in the CIM Profile. 4. Display the Schema Composer tool. 5. Create a new Schema. 6. Drag the required CIM Classes into the Class window. 7. Select root elements. 8. Use the checkboxes on the attributes of each class to define the set of properties that will describe this message. 9. Apply restrictions to schema elements. 10. Save the schema model.

CIM University - Enterprise Architect and the CIM 104 Creating A Schema Composer Model ❖ Open an EA project file containing your CIM compliant model from your file system. ❖ Use the Model Wizard to create a Logical View Model. Name the model ‘CIM Profiles’. ➢ Highlight the top level of the model by clicking on its name (‘Schema Composer Example Project’). ➢ Enter ‘Ctrl+Shift+M’ to open the ‘Model Wizard’ dialog. ➢ Scroll down to the ‘Logical View’ model, check the box, and click the ‘OK’ button. Creating A Schema Composer Model (cont’d)

❖ Change the name of the model package to ‘CIM Profiles’. ❖ Create a package named ‘61968-3’ under the ‘CIM Profiles’ model package. ➢ Select the ‘CIM Profiles’ model package by clicking on the name of the package in the Project Browser. ➢ Enter ‘Ctrl+W’ to bring up the ‘New Package’ dialog. ➢ Change the name to ‘61968-3’; make sure the ‘Package Only’ radio button is selected; and click the ‘OK’ button. Creating A Schema Composer Model (cont’d)

❖ Create a package and diagram named ‘Planned Outages’ under the ‘61968-3’ package. ➢ Select the ‘61968-3’ package by clicking on the name of the package in the Project Browser. ➢ Enter ‘Ctrl+W’ to bring up the ‘New Package’ dialog. ➢ Change the name to ‘Planned Outages’; make sure the ‘Create Diagram’ radio button is selected; and click the ‘OK’ button. Creating A Schema Composer Model (cont’d)

➢ The ‘New Diagram’ dialog will appear with the diagram already named ‘Planned Outages’ and the Diagram Type ‘Class’ already selected. Click the ‘OK’ button. Creating A Schema Composer Model – (cont’d)

❖ The Project Browser will have the following model structure: Editing A Schema Composer Model Create A Schema Profile ❖ A schema profile identifies the name, technology and content of the schema as a precursor to defining how the schema is generated. ❖ You can create and edit as many schema profiles as you need. Schema profiles are bound to a single technology and will either map to a generated schema or a sub-setting transform. Create A Schema Profile (cont’d) Editing A Schema Composer Model ❖Populate the ‘Planned Outages’ diagram with classes from the CIM compliant data model that contain the desired attributes for the ‘Planned Outages’ CIM Profile. ➢ The purpose of this diagram is: 1) to assist in designing the ‘Planned outages’ CIM Profile; and 2) to provide a diagram that can be included in the documentation of the profile. ➢ The design of a CIM Profile is an iterative process that is facilitated by iteratively updating the diagram whilst designing the profile. Editing A Schema Composer Model (cont’d) ❖The detailed steps of editing a Schema Composer Model can be found in the EA Users Guide online at: http://sparxsystems.com/enterprise_architect_user_guide/13.0/model_domain s/create_a_schema_profile.html ❖The process involves three iterative steps: 1. Drag CIM compliant data model classes into Schema Composer; 2. Select the attributes and associations to be incorporated into the CIM Profile; 3. Add restrictions to the CIM Profile as required. Generating A CIM Profile Generating A CIM Profile ❖ Having designed a profile, at any stage, with a minimum of definitions and customizations, schema or sub-models can quickly and easily be generated. Importing and Validating A CIM Profile

Profile Importing And Validating A CIM Profile ❖ You can import Schemas compatible with the Schema Composer, into Enterprise Architect using the Schema Importer. ❖ The Schema Importer validates the Schema and creates a Schema type Schema Composer Profile upon successful validation, that can be viewed directly in the Schema Composer. Importing And Validating A CIM Profile (cont’d) ❖ Currently, you can use the Schema Importer to import these Schemas: ➢ Common Information Model (CIM) specific XML Schema ➢ Common Information Model (CIM) specific RDFS XML CIM University Track 3 – CIM Tools

Enterprise Architect and the CIM 120 Track 3 Session Wrap Up

121 Track 3 Session Wrap Up CIM University Track 3 – CIM Tools Backup Slides

Enterprise Architect and the CIM 124 User Guide Reference Pages

= https://sparxsystems.com/enterprise_architect_user_guide

User Interface User Guide Reference Pages The Start Page: /14.0/user_interface/thestartpage140.html EA Ribbons: /14.0/user_interface/ribbons.html Start Ribbon: /14.0/user_interface/overview_start_ribbon.html Design Ribbon: /14.0/ user_interface/overview_design_ribbon.html Layout Ribbon: /14.0/user_interface/overview_layout_ribbon.html Specialize Ribbon: /14.0/user_interface/overview_extend_ribbon.html Publish Ribbon: /14.0/user_interface/overview_publish_ribbon.html Construct Ribbon: /14.0/user_interface/overview_construct_ribbon.html Simulate Ribbon: /14.0/user_interface/overview_simulate_ribbon.html Code Ribbon: /14.0/user_interface/overview_code_ribbon.html Execute Ribbon: /14.0/user_interface/overview_execute_ribbon.html Configure Ribbon: /14.0/user_interface/overview_configure_ribbon.html Specification – Specify Ribbon: /14.0/user_interface/specification_specify_ribbon.html Document Edit Ribbon: /14.0/user_interface/overview_edit_ribbon.html Keyboard Shortcuts: /14.0/user_interface/keyboardshortcuts.html Diagram Shortcuts: /14.0/user_interface/quick_keys.html

CIM University - Enterprise Architect and the CIM 125 User Guide Reference Pages

= https://sparxsystems.com/enterprise_architect_user_guide

Customization User Guide Reference Pages Customization: /14.0/user_interface/defaultandusersettings.html Visual Styles: /14.0/user_interface/visualstyles.html Customize Dialog: /14.0/user_interface/thecustomizewindow.html Workspace Layouts: /14.0/ user_interface/manage_workspace_layout.html Workspace Layouts Toolbar: /14.0/user_interface/workspaceviews.html Customizing Ribbon Sets: /14.0/user_interface/ribbon_menus.html Local Options: /14.0/user_interface/configurelocaloptions.html

Schema Composer User Guide Reference Pages Generate Schema File: /14.0/model_domains/generate_a_schema_file.html CIM Schema Guide: /14.0/model_domains/sc_cim_schema_guide.html Create a Schema Profile: /14.0/model_domains/create_a_schema_profile.html Schema Compositions: /14.0/model_domains/schema_compositions.html Schema Analysis: /14.0/model_domains/sc_schema_analysis.html

CIM University - Enterprise Architect and the CIM 126 User Guide Reference Pages

= https://sparxsystems.com/enterprise_architect_user_guide

Model Navigation User Guide Reference Pages Model Navigation: /14.0/model_navigation/model_navigation.html Exploring Your Model: /14.0/model_navigation/navigate_exploring_your_model.html The Project Browser: /14.0/model_navigation/projectexplorer.html Model Views: /14.0/model_navigation/model_views.html Package Browser: /14.0/model_navigation/reportview.html Finding Information: /14.0/model_navigation/search_finding_information.html Model Search: /14.0/model_navigation/search_view.html Traceability: /14.0/model_navigation/traceability.html

CIM University - Enterprise Architect and the CIM 127 User Guide Reference Pages

= https://sparxsystems.com/enterprise_architect_user_guide

Modeling User Guide Reference Pages Perspectives: /14.0/modeling_tools/what_perspectives.html Views: /14.0/modeling_tools/manageviews.html Packages: /14.0/modeling_tools/packagetasks.html Model Wizard: /14.0/modeling_tools/model_wizard.html Diagrams: /14.0/modeling_tools/umldiagram.html Elements: /14.0/modeling_tools/workingwithumlelements.html Properties Window: /14.0/modeling_tools/proptab.html Notes: /14.0/modeling_tools/notetab.html Model Glossary: /14.0/modeling_tools/modelglossaryoverview.html Bookmarks: /14.0/modeling_tools/managebookmarks.html Editing Documents /14.0/modeling_tools/editing_documents_and_templates.html and Templates:

CIM University - Enterprise Architect and the CIM 128 EA 13 – EA 14 User Interface Comparison Version Enterprise Architect Feature Enterprise Architect 13.x Enterprise Architect 14.x Start Project Browser (Alt + 0) Start | Browser Start | Browse | Project Browser Preferences / Settings (Ctrl + F9) Start | Preferences Start | Preferences Menu Customize Start | Preferences | Customize Start | Visual Style | Customize Summary Start | Summary Start | Properties | Summary Resources (Alt + 6) Start | Resources Start |Browse | Resources Notes (Ctrl + Shift + 1) Start | Notes Start | Properties | Notes Tagged Values (Ctrl + Shift + 6) Start | Tagged Values Start | Properties | Tagged Values Element Browser (Alt + 9) Start | Element Browser Start | Browse | Element Browser Relationships (Ctrl + Shift + 2) Start | Relationships Start | Trace | Relationships Element Properties (Alt + 1) Start | Properties Start | Properties Find in Project (Ctrl + F) Start | Search | Search In Model Start | Search | Model Workspace Start | Perspectives Start | Workspace Visual Style Start | Visual Style Start | Visual Style Perspective Start | Perspective Start | Perspective

CIM University - Enterprise Architect and the CIM 129 EA 13 – EA 14 User Interface Comparison

Version Enterprise Architect Feature Enterprise Architect 13.x Enterprise Architect 14.x Design Traceability (Ctrl + Shift + 4) Design | Traceability Start | Trace | Traceability Relationship Matrix Design | Matrix Start | Trace | Relationship Matrix Gap Analysis Matrix Design | Gap Analysis Start | Trace | Gap Analysis Matrix Toolbox (Alt + 5) Design | Toolbox Design | Toolbox Change Diagram Type Design | Diagram | Manage | Change Type Design |Diagram | Edit | Change Type Specification View Design| Specification View Design | Specification List View Design | List View Design| List Gantt View Design | Gantt View Design | Gantt Change Element Type Design | Element | Manage | Change Type Design | Element | Edit | Change Type Layout Diagram Layout Layout | Diagram Layout Layout | Diagram Layout Pan and Zoom Layout | Pan and Zoom Layout | Pan and Zoom Diagram Filter Layout | Diagram Filters Layout | Diagram Filters

CIM University - Enterprise Architect and the CIM 130 EA 13 – EA 14 User Interface Comparison

Version Enterprise Architect Feature Enterprise Architect 13.x Enterprise Architect 14.x Publish Glossary (Alt + 2) Publish | Glossary Publish | Glossary Import MDG Technology Publish | Technology | Publish | Import MDG Technology Specialize | Technologies | Publish | Import MDG Technology Generate MDG Technology Publish | Technology | Publish | Generate MDG Technology Specialize | Technologies | Publish | Generate MDG Technology Configure Project Options Configure |Options Configure |Options UML Types Configure | UML Types Configure | UML Types Project Types Configure | Project Types Configure | Project Types Database Datatypes Configure | Settings | Database Datatypes Configure | Settings | Database Datatypes Namespace Roots Configure | Settings | Namespace Roots Configure | Settings | Namespace Roots Preprocessor Macros Configure | Settings | Preprocessor Macros Configure | Settings | Preprocessor Macros Manage Technology Configure | Technology | Manage Configure | Technologies | Manage Manage Security Configure | Security | Manage Configure | Administer Project Transfer Configure | Transfer | Project Transfer Configure | Transfer | Project Transfer

CIM University - Enterprise Architect and the CIM 131 EA 13 – EA 14 User Interface Comparison

Version Enterprise Architect Feature Enterprise Architect 13.x Enterprise Architect 14.x Configure Export Reference Data Configure | Transfer | Export Reference Data Publish | Glossary Import Reference Data Configure | Transfer | Import Reference Data Configure | Transfer | Import Reference Data Enable Audit Configure | Audit Configure | Audit Project Integrity Configure | Check Integrity | Project Integrity Configure | Check Integrity | Project Integrity Reset ID Configure | Check Integrity | Reset ID Configure | Check Integrity | Reset ID Repair .EAP File Configure | Check Integrity | Manage .EAP file | Repair Configure | Check Integrity | Manage .EAPX/.EAP file | .EAP file Repair .EAPX/.EAP file Compact .EAP File Configure | Check Integrity | Manage .EAP file | Configure | Check Integrity | Manage .EAPX/.EAP file | Compact .EAP file Compact .EAPX/.EAP file Update .EAP File Indexes Configure | Check Integrity | Manage .EAP file | Update Configure | Check Integrity | Manage .EAPX/.EAP file | .EAP file Update .EAPX/.EAP file

CIM University - Enterprise Architect and the CIM 132 EA 13 – EA 14 User Interface Comparison

Version Enterprise Architect Feature Enterprise Architect 13.x Enterprise Architect 14.x Construct Discussion Construct | Discussion Start | Discussions Team Review Construct | Team Review Start | Reviews Resource Allocation Construct | Resources Allocation Construct | Resources Code Code Templates Code | Configure |Code Template Editor Code | Options |Edit Code Templates Code Engineering Datatypes Code | Configure | Code Engineering Datatypes Code | Options |Configure Code Engineering Datatypes Code Engineering Datatypes Configure | Settings | Code Engineering Datatypes Configure | Settings | Database Datatypes Import Source Code Code | Import | Code Code | File | Import Directory Import Source Code Package Context Menu | Code Engineering | Import Source Directory Scripting Code | Scripting Specialize | Scripting Extend Manage Add-Ins Extend | Manage Add-Ins Specialize | Add-Ins | Manage

CIM University - Enterprise Architect and the CIM 133 EA 13 – EA 14 User Interface Comparison

Version Enterprise Architect Feature Enterprise Architect 13.x Enterprise Architect 14.x Others Linked Document Element Context Menu | Linked Document Start | Properties | Linked Document Export XMI Package Context Menu | Import/Export| Export package to Publish | Export XMI XMI file Import XMI Package Context Menu | Import/Export| Import package to Publish | Import XMI XMI file Apply Auto Naming to Package Context Menu | Advanced | Apply Auto Naming to Design | Edit | Advanced | Apply Auto Naming Elements Elements Turn on Level Numbering Package Context Menu | Advanced | Turn on Level Design | Edit | Advanced | Toggle Level Numbering Numbering Package Baseline - New Package Context Menu | Package Control | Package Baseline Design | Edit | Manage Baselines | Manage Baselines Package Control Package Context Menu | Package Control | Configure Publish | Package Control | Configure Package Control Publish | Package Control | Configure Generate Source Code Package Context Menu | Code Engineering | Generate Code | Generate Source Code Project Browser Search Project Browser | Drop Down | Find in Project Project Browser | Drop Down | Find in Project

CIM University - Enterprise Architect and the CIM 134 EA 13 – EA 14 User Interface Comparison

Version Enterprise Architect Feature Enterprise Architect 13.x Enterprise Architect 14.x Others Diagram Properties Dock NA Start | Properties Context Browser (Alt + 0) NA Start | Browse | Context Browser Dynamic Document NA Start | Properties | Dynamic Document Inline Specification NA Design | View As | Toggle Inline Specification View Rename Model Project Browser | Right Click | Rename F2

CIM University - Enterprise Architect and the CIM 135 How To Create A Schema Composer Model 1. Open an EA project file containing your CIM compliant model from your file system.

Double-click EA icon on desktop or Right-click EA icon in taskbar and left-click ‘Enterprise Architect’. Enterprise Architect will open. Press Ctrl + O to open a project file. The ‘Manage Projects’ dialog box will open (Figure 1-1). If the desired file appears in the ‘Recent Projects’ window, left-click the Project Name and left-click the ‘Open’ button. The file will open in Enterprise Architect. Proceed to Step 2. Else, left-click the down arrow in the ‘Local File’ field. A drop-down menu will appear. Select the ‘Browse’ option in the drop-down menu. A ‘Select Enterprise Architect Project to Open’ dialog box will open. Navigate to the EA project file you want to open. Left-click on the filename in the dialog window and click the ‘Open’ button. The file will open in Enterprise Figure 1-1 Architect.

CIM University - Enterprise Architect and the CIM 144 How To Create A Schema Composer Model 2. Create a package structure for CIM Profiles.

Create Profile Root Model Nodes Right-click the ‘XYZ Information Model’ icon. A menu window will open. Left-click the ‘Add Root Node…’ option. A ‘Create Root Node’ dialog box will open (Figure 2-1). Enter ‘CIM Standard Profiles’ in the Model Name field Figure 2-1 and left-click the ‘OK’ button. A root node will be added to the project with the name ‘CIM Standard Profiles’. Repeat the prior 3 steps to create a root node named ‘XYZ CIM-Based Profiles’. The EA Project Browser should look like Figure 2-2.

Figure 2-2

CIM University - Enterprise Architect and the CIM 145 How To Create A Schema Composer Model 2. Create a package structure for CIM Profiles.

Create Profile Package Hierarchies Left-click the ‘CIM Standard Profiles’ icon to select the root model. Enter Ctrl + w. The ‘New Package’ dialog box will appear (Figure 2-3). Enter ‘61968 Profiles’ in the Name field and left-click the ‘OK’ button. A package with that name will be Figure 2-4 added in the ‘CIM Standard Profiles’ model. Repeat the prior 3 steps to create the package structure shown in Figure 2- 4. Repeat the prior 4 steps for the ‘XYZ CIM-Based Profiles’ root model to create the package structure shown Figure 2-3 in Figure 2-5.

Figure 2-5

CIM University - Enterprise Architect and the CIM 146 How To Create A Schema Composer Model 2. Create a package structure for CIM Profiles. CIM Standard Profiles Package Structure The complete ‘CIM Standard Profiles’ package structure is shown in the figures below.

CIM University - Enterprise Architect and the CIM 147 How To Create A Schema Composer Model 3. Create a class diagram containing the CIM Classes that will be used in the CIM Profile.

Navigate to the ‘CIM Standard Profiles > 61968 Profiles > 61968-9 Meter Reading and Control Profiles’ package. Left-click on the ‘61968-9 Meter Reading and Control Profiles’ package icon to select the package. Left-click on the ‘Ribbon > Design > Diagram > Insert’ icon (Figure 3-1). A ‘New Diagram’ dialog box will appear (Figure 3-2, next slide).

Left-click this icon Figure 3-1

CIM University - Enterprise Architect and the CIM 148 How To Create A Schema Composer Model 3. Create a class diagram containing the CIM Classes that will be used in the CIM Profile.

Enter ‘GetMeterConfigProfile Model’ in ‘Diagram’ field and left-click the ‘OK’ button. A new diagram will be created and opened in the diagram section of the EA workspace.

Figure 3-2

CIM University - Enterprise Architect and the CIM 149 How To Create A Schema Composer Model 3. Create a class diagram containing the CIM Classes that will be used in the CIM Profile.

Drag the following classes onto the diagram from the Project Browser: Core::IdentifiedObject Core::Name Core::NameType Core::NameTypeAuthority Common::OrganisationRole Customers::Customer Customers::CustomerAgreement Customers::CustomerAccount Customers::ServiceLocation Metering::EndDevice Metering::Meter Metering::UsagePoint Metering::UsagePointGroup Arrange the classes on the diagram so the diagram is easy to read. An example of a diagram layout is shown in Figure 3-3.

Figure 3-2

CIM University - Enterprise Architect and the CIM 150 How To Create A Schema Composer Model 3. Create a class diagram containing the CIM Classes that will be used in the CIM Profile.

Figure 3-3

CIM University - Enterprise Architect and the CIM 151 How To Create A Schema Composer Model 4. Display the Schema Composer tool.

Left-click on the down-arrow on the ‘Ribbon > Specialize > Tools > Schema Composer’ icon (Figure 4-1). A drop-down menu will appear. Left-click on the ‘Open Schema Composer’ menu item. The Schema Composer tool will appear (Figure 4-2, next slide).

Left-click this down-arrow

Figure 4-1

CIM University - Enterprise Architect and the CIM 152 How To Create A Schema Composer Model 4. Display the Schema Composer tool.

Figure 4-2

CIM University - Enterprise Architect and the CIM 153 How To Create A Schema Composer Model 5. Create a new Schema.

Left-click the ‘New’ button in the ‘Schema Composer’ dialog box. A menu window will pop-up. Left-click the ‘Schema’ option and the ‘New Schema Definition’ dialog box will appear. Enter ‘GetMeterConfig’ in the Name field (Figure 5-1).

Figure 5-1

CIM University - Enterprise Architect and the CIM 154 How To Create A Schema Composer Model 5. Create a new Schema.

Left-click the folder icon in the ‘Save Profile To’ section of the dialog box. A ‘Navigator’ window will pop-up. Navigate to the ‘61968-9 Meter Reading and Control Profiles’ package in the Navigator. Left-click the icon to select the package (Figure 5-2).

Figure 5-2

CIM University - Enterprise Architect and the CIM 155 How To Create A Schema Composer Model 5. Create a new Schema.

Left-click the ‘OK’ button in the ‘Navigator’ dialog box. An artifact named ‘GetMeterConfig’ will be created in the ‘61968-9 Meter Reading and Control Profiles’ package (Figure 5-3).

Schema Composer artifact

Figure 5-3

CIM University - Enterprise Architect and the CIM 156 How To Create A Schema Composer Model 6. Drag the required CIM Classes into the Schema Classes window.

Drag the following classes into the Schema Classes window from the Project Browser: Core::Name Core::NameType Core::NameTypeAuthority Customers::Customer Customers::CustomerAgreement Customers::CustomerAccount Customers::CustomerKind Customers::ServiceLocation Metering::EndDevice Metering::Meter Metering::UsagePoint Metering::UsagePointGroup The Schema Composer window will appear as shown in Figure 6-1 (next slide).

CIM University - Enterprise Architect and the CIM 157 How To Create A Schema Composer Model 6. Drag the required CIM Classes into the Schema Classes window.

Figure 6-1

CIM University - Enterprise Architect and the CIM 158 How To Create A Schema Composer Model 7. Select root elements.

On each of the classes listed below in the Schema Classes window, do the following: Right-click on the icon. A menu will pop up. Left-click on the ‘Set element as root’ option. The menu will disappear and the the class icon will change to have a red bar across the top. Customers::Customer Customers::CustomerAgreement Customers::CustomerAccount Customers::ServiceLocation Metering::Meter Metering::UsagePoint Metering::UsagePointGroup The Schema Composer window will appear as shown in Figure 7-1 (next slide).

CIM University - Enterprise Architect and the CIM 159 How To Create A Schema Composer Model 7. Select root elements.

Root elements

Figure 7-1

CIM University - Enterprise Architect and the CIM 160 How To Create A Schema Composer Model 8. Use the checkboxes on the attributes of each class to define the set of properties that will describe this message.

For each class in the ‘Classes’ window of Schema Composer: Left-click on the class to select the class. The attributes for the class will appear in the ‘Attributes’ window of Schema Composer. Place a check in the checkboxes of the attributes that will be part of the message (see tables on the next slide). For each of the checked attributes of each class: Right-click on the attribute in the ‘Attributes’ window of Schema Composer. A menu will pop up. Left-click the ‘Restrict this property’ option on the menu. A ‘Property Restrictions’ dialog box will appear (Figure 8-1). Restrict the cardinality of the property as indicated in the tables on the next slide.

Figure 8-1

CIM University - Enterprise Architect and the CIM 161 How To Create A Schema Composer Model 8. Use the checkboxes on the attributes of each class to define the set of properties that will describe this message.

Class Name Attribute Cardinality Class Name Attribute Cardinality Class Name Attribute Cardinality

Name mRID 0..1 Customer mRID 0..1 CustomerKind commercialIndustrial 1..1

Name NameType 0..1 Customer kind 0..1 CustomerKind energyServiceScheduler 1..1

NameTypeAuthority description 0..1 Customer Names 0..* CustomerKind energyServiceSupplier 1..1

NameTypeAuthority name 1..1 CustomerAccount mRID 0..1 CustomerKind internalUse 1..1

ServiceLocation Names 0..* CustomerAccount Names 0..* CustomerKind other 1..1

ServiceLocation mRID 0..1 CustomerAgreement mRID 0..1 CustomerKind pumpingLoad 1..1

UsagePoint Names 0..* CustomerAgreement Names 0..* CustomerKind residential 1..1

UsagePoint mRID 0..1 EndDeviceGroup mRID 0..1 CustomerKind residentialAndCommercial 1..1

UsagePointGroup Names 0..* EndDeviceGroup Names 0..* CustomerKind residentialAndStreetlight 1..1

UsagePointGroup mRID 0..1 Meter mRID 0..1 CustomerKind residentialStreetlightOthers 1..1

Meter amrSystem 0..1 CustomerKind windMachine 1..1

Meter Names 0..* NameType description 0..1

NameType name 1..1

NameType NameTypeAuthority 0..1

CIM University - Enterprise Architect and the CIM 162 How To Create A Schema Composer Model 9. Apply restrictions to schema elements.

For each root class in the ‘Classes’ window of Schema Composer: Right-click on the class. A menu will pop up. Left-click the ‘Edit root element cardinality’ option on the menu. A ‘Restrictions’ dialog box will appear (Figure 9-1). Restrict the cardinality of the class as indicated in the table below (Table 9-1).

Class Cardinality Customer 0..* CustomerAccount 0..* CustomerAgreement 0..* Meter 0..* Figure 9-1 ServiceLocation 0..* UsagePoint 0..* UsagePointGroup 0..* Table 9-1

CIM University - Enterprise Architect and the CIM 163 How To Create A Schema Composer Model 10. Save the schema model.

Left-click the ‘Update’ button in the ‘Profile’ section of the Schema Composer tool (Figure 10-1). The schema artifact will be updated with the edits entered in the Schema Composer Tool.

Left-click this button

Figure 10-1

CIM University - Enterprise Architect and the CIM 164 Backup Slides

Enterprise Architect and the CIM 165 Enterprise Architect Support

Sparx Support Links: Sparx System Website: www.sparxsystems.com Sparx Systems Forum: www.sparxsystems.com/forums/smf/index.php Technical Support FAQ: www.sparxsystems.com/support/faq Sales Support FAQ: www.sparxsystems.com/support/sales_faq.html Company Details: www.sparxsystems.com/about.html Bug Report: www.sparxsystems.com/support/forms/bug_report.html Feature Request: www.sparxsystems.com/support/forms/feature_request.html Update Email Address: www.sparxsystems.com/support/forms/change_email.html

Sparx Contact Information General Enquiries: [email protected] Support Enquiries: [email protected] Sales and Purchase Enquiries: [email protected] Postal Address: Sparx Systems Pty Ltd, PO Box 12, Creswick, Victoria, 3363, Phone Number: +61 3 53 451140

CIM University - Enterprise Architect and the CIM 166 Enterprise Architect Support Sparx Partner Services: : https://sparxsystems.us/ 1-800-882-6051 Australia: http://sparxservices.com.au/ +61 3 9132 8080 Central : [email protected] +43 (0)662 90 600 2041 United Kingdom: http://sparxservices.co.uk/ +44 (0)1506 202164 Sparx Sister Companies: Argentina: www.sparxsystems.com.ar [email protected] China: https://sparxsystems.cn : https://www.sparxsystems.in/contact-us [email protected] Japan: https://www.sparxsystems.jp/en/index.htm [email protected] Trainers, Consultants, and Mentors: Africa: https://www.sparxsystems.com/partners/Africa.html North America: https://www.sparxsystems.com/partners/north_america.html : https://www.sparxsystems.com/partners/south_america.html Asia: https://www.sparxsystems.com/partners/asia.html Europe: https://www.sparxsystems.com/partners/europe.html Oceania: https://www.sparxsystems.com/partners/oceania.html Middle East: https://www.sparxsystems.com/partners/middle_east.html Online: https://www.sparxsystems.com/partners/online_training.html

CIM University - Enterprise Architect and the CIM 167