NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date...

73
NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1

Transcript of NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date...

Page 1: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

Introduction and Tool Demonstration

TRAINING

Presenter NameOrganizationDate

NIEM-UML PROFILE 2.1

Page 2: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 2

COURSE OBJECTIVES

DURATION

2 Hours

PREREQUISITES

NIEM 302

In addition to this, knowledge of UML is required..

Welcome to the NIEM-UML Profile 2.1 Technical Training course.

This course is designed to provide you with the technical knowledge necessary to enable you to build NIEM IEPDs using NIEM-UML and the NIEM Modeling Tool.

By the end of this course, you’ll be able to:

• Understand when to use the NIEM-UML Profile

• Model a NIEM exchange using UML

• Generate a NIEM IEPD from a UML model

Page 3: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 3

AGENDA

Concept Refresh

NIEM-UML Overview

NIEM-UML Platform Independent Model

NIEM-UML Platform Specific Model

Modeling NIEM Concepts

NIEM Modeling Tool Demonstration

Page 4: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 4NIEM-UML Profile 2.1

CONCEPT REFRESH

Page 5: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 5

THE IEPD LIFECYCLE

5

Review background, assess resource impact, understand business context, and identify information exchange business scenarios

Selected information exchange scenario is further elaborated to understand and document the business context and data requirements

Create an exchange content model based on information exchange requirements. The Exchange Content Model is then mapped to NIEM.

Create a set of exchange-specific NIEM conformant XML schemas that implement the data model created for the exchange

Prepare and package all related files for this IEPD into a single self‐contained, self-documented, portable archive file

Implement the IEPD into production as well as publish the IEPD for search, discovery, and reuse.

Page 6: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 66

THE IEPD ARTIFACTS

IEPDs contain both required, recommended, and optional artifacts

Required: Bold and Blue

Optional: Plain

Note: Best practices for most organizations include many of the artifacts listed here

•Business Processes Diagrams•Use Case Diagrams•Sequence Diagrams

•Business Rules•Business Requirements

•Exchange Content Model•Mapping Document

•Subset Schema•Exchange Schema•Wantlist

•Constraint Schema•Extension Schema•Reference Schema•XML Stylesheets

•Master Document•Catalog

• Change Log• Sample XML Instances

No required artifacts. Publish the IEPD to a repository and implement the exchange

The following includes the required and recommended artifacts associated with each phase of the IEPD Lifecycle.

Page 7: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 7

SYSTEMS DEVELOPMENT LIFE CYCLE

The Systems Development Life Cycle (SDLC) is a common methodology used for creating information systems

The IEPD Lifecycle aligns closely with the phases of the SDLC

Plan

Requirements

Design

Develop

Implement

Maintain

Develop high level scope and goals of intended system

Analyze goals and break them down into exact requirements

Transform requirements into detailed system capabilities

Develop system per design specifications

Test and deploy system and develop future plan

Sustain system per future plan and eventually move to disposition

The following includes the phases of the Systems Development Life Cycle as they align with the IEPD Lifecycle.

Page 8: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 8NIEM-UML Profile 2.1

NIEM-UML OVERVIEW

Page 9: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 9

COURSE MAP – MODULE

Concept Refresh

NIEM-UML Overview

NIEM-UML Platform Independent Model

NIEM-UML Platform Specific Model

Modeling NIEM Concepts

NIEM Modeling Tool Demonstration

Page 10: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 10

After this module, you should be able to…

Know when to use NIEM-UML.

Understand which versions of NIEM are support by NIEM-UML.

Describe the benefits of model driven architecture.

Find the relevant specifications for conformance with NIEM and the NIEM-UML Profile.

MODULE 1 – NIEM UML OVERVIEW

This module will introduce you to the NIEM-UML Profile.

Page 11: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

The National Information Exchange Model (NIEM) is a well established U.S. sponsored program and community for standardized information exchange information.

The NIEM Program Management Office is organized under the Department of Homeland Security, the sponsor of NIEM-UML.

The Object Management Group (OMG) is a leading industry consensus organization specifying many of the popular modeling and middleware standards.

The Unified Modeling Language (UML®) is an established standard for modeling from the OMG.

NIEM-UML is a profile of UML for modeling NIEM at a logical and XML specific level that is in the final stages of adoption within the OMG.

NIEM-UML OVERVIEW

Page 12: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

In September 2013, the Object Management Group (OMG) Board of Directors officially finalized the Unified Modeling Language (UML) Profile for NIEM (or NIEM-UML) as an OMG specification.

NIEM-UML for Version 2.1 is now available.http://www.omg.org/spec/NIEM-UML/

NIEM-UML for Version 3.0 will be developed after the NIEM 3.0 NDR and MPD Specifications are released.

CURRENT STATUS

Page 13: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

Represent the semantics of NIEM while being agnostic of its structural representation

To leverage standards and standards based tools

To reduce complexity and lower the barrier for entry

To facilitate reuse of NIEM models and as a result schemas

To embrace accepted UML modeling styles and constructs

To enable use of NIEM-PIM models for use with other standards, technologies and layers

To support deterministic mapping to and from the NIEM technology layers based on NIEM rules

NIEM-UML GOALS

Clarity: Ensure that a UML representation of a NIEM model produced by one developer can be interpreted as expected by another.

Completeness: Ensure that a developer can produce a UML representation of any NIEM concept, including semantics, XML Schema structure, and metadata.

Practicality: With minimal effort, a developer can employ the profile in current UML development tools to develop a NIEM model.

Page 14: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

Models are easier for both business and technical stakeholders to understand.

MDA helps reduce the time and cost to develop and maintain information sharing solutions.

XML & NIEM Naming, design and packaging rules are automatically applied and validated.

Processes, services and information can be part of a coherent system and system of systems architecture across the full life-cycle of solutions.

Multiple technologies can be supported using different MDA generation patterns, such as JSON or the Semantic Web.

USING MODEL DRIVEN ARCHITECTURE

Page 15: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

1. Scope

2. Conformance

3. References

4. Terms and Definitions

5. Symbols

6. Additional Information

7. NIEM-UML Modeling Guide

8. NIEM-UML Profile Reference

9. Transformation Reference

Annex A – Example

Annex B- Structured English Mapping

Annex C- Machine readable Artifacts

NIEM-UML SPECIFICATION SECTIONS

Page 16: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM CONFORMANCE

Page 17: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM-UML LAYERED ARCHITECTURE

Model Packaging Perspective

Platform Specific Perspective

Platform Independent Perspective

PIM Conformance

Point

PSM Conformance

Point

PIMModel

CommonProfile

PSMModel

MPDModel

Specifies

MPD Conformance

Point

Specifies

Imports

Imports

References

References

PIMProfile

PSMProfile

MPDProfile

Applies

Applies

Applies

Specifies

Model Packaging Perspective

Platform Specific Perspective

Platform Independent Perspective

PIM Conformance

Point

PSM Conformance

Point

PIMModel

CommonProfile

PSMModel

MPDModel

Specifies

MPD Conformance

Point

Specifies

Imports

Imports

References

References

PIMProfile

PSMProfile

MPDProfile

Applies

Applies

Applies

Specifies

Page 18: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 18

Which of the following are intended goals of the NIEM UML Profile?

A. Leverage standards

B. Improve scalablity

C. Facilitate reuse

D. Reduce complexity

MODULE 1 – KNOWLEDGE CHECK

Page 19: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 19

MODULE 1 – SUMMARY

You have completed Module 1: NIEM-UML Overview.

You should now be able to…

Know when to use NIEM-UML.

Understand which versions of NIEM are support by NIEM-UML.

Describe the benefits of model driven architecture.

Find the relevant specifications for conformance with NIEM and the NIEM-UML Profile.

Page 20: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1NIEM-UML Profile 2.1

NIEM-UML PLATFORM INDEPENDENT MODEL

(PIM)

Page 21: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 21

COURSE MAP – MODULE

Concept Refresh

NIEM-UML Overview

NIEM-UML Platform Independent Model

NIEM-UML Platform Specific Model

Modeling NIEM Concepts

NIEM Modeling Tool Demonstration

Page 22: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 22

After this module, you should be able to…

Understand the scope of the NIEM Platform Independent Model

Model NIEM subsets in UML

Model NIEM extensions (associations, augmentations, etc.) in UML

Define NIEM IEPD Metadata

MODULE 2 – PIM

This module will introduce the NIEM Platform Independent Model (PIM).

Page 23: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

A simplified subset of the Unified Modeling Language (UML)

A set of UML constructs and stereotypes

Extends UML to represent NIEM business concepts

Business concepts are augmented with NIEM-Platform mapping information

Enforces NIEM rules by leveraging OCL – a valid NIEM-UML model will produce a valid MPD

Representations correspond to commonly used UML patterns with well defined mapping to NIEM platform

Provides a generalized information modeling environment not specific to NIEM schema

Supports mapping to and from the NIEM platform, supporting and enforcing the NDR and MPD

E.g. name prefix and suffixes are added as specified by NIEM rules

WHAT IS THE NIEM PIM PROFILE

Page 24: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM-UMLProfiles and Transforms

NIEM-UML PIM Models

PIM Profile

Model Package Description Profile

PIM Model For One or More Exchanges

Model of a Specific MPD

NIEM Core Model

NIEM Domain Model

Platform Specific Model of a Specific MPD

A NIEM MPD

PSM Profile

Existing NIEM NDR and MPD Platform Specifications

Extends &References

Uses

Uses

Includes

Transforms Between

Transforms Between

XML Primitive Types

Uses

Conforms to

User’s UML

NIEM Models

Generated

Based onNIEM-UML

NIEM-UML

Model Libraries

Transform Specification

Transform SpecificationConforms to

Conforms to

Page 25: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

Data Exchange of adoptions by pet rescue centers

This is a very high-level example, intended to provide a general idea of what a PIM looks like and what it provides.

PET ADOPTION EXAMPLE

Page 26: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

Pet Adoptions

Pets (Being adopted)

People (Adopting)

Pet Adoption Centers (Facilitating Adoptions)

Addresses (Of people and adoption centers)

Contact information (For people and adoption centers)

Associations for contact information related to people

INFORMATION TO EXCHANGE

Page 27: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

HIGH-LEVEL INFORMATION MODEL

Page 28: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

THIS IS NIEM - REUSE!

Find what you want to reuse in the reference

namespaces

Find what you want to reuse in the reference

namespaces

All the reference

namespaces are already in

UML

NIEMCore

Page 29: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

Find what you want from the reference namespaces – can

copy/paste

Create subsets of these in a subset

namespace package –

reference the reference classes

MODEL REUSE OF NIEM CORE

Page 30: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

REPEAT AS REQUIRED

Page 31: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

What is an “Adoption Center”?

It is a kind of organization

But perhaps more properly a “role” an organization plays, as they could play other roles as well

This is one representation of NIEM roles

In the NIEM PSM, this becomes a property prefixed by “RoleOf”

ROLES OF ORGANIZATIONS

Page 32: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

An adoption is a kind of activity

We can reuse this from NIEM-Core as well

WHAT IS AN ADOPTION?

Page 33: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

PetKind is a NIEM “Code List”

This can be a used in a property of a pet as well as other places

WHAT KINDS OF PETS ARE ADOPTED?

This is a NIEM code

list

Property using the code list

Page 34: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM ASSOCIATIONS

Associations Connect Objects – in this case people and contact information

This is a NIEM association between Person and Contact

Information

Page 35: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

AUGMENTATIONS – PHONE NUMBER ++

Inheriting an augmentation

results in a NIEM augmentation

property, not XSD extension

Optionally, an augmentation can

be restricted to what it “applies to”

This is direct extension –

not an augmentation

Page 36: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

COMPLETED HIGH-LEVEL MODEL

Page 37: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

ADDING THE IEPD METADATA

This models the IEPD to be produced

The packages it uses become XML

Schema

Page 38: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

CREATE THE IEPD FROM THE MODEL

You tell your UML and/or MDA tool to

make the IEPD

Page 39: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

ALL THE IEPD ARTIFACTS ARE THEN CREATED BY THE MDA AUTOMATION

Given a model that satisfies the NIEM-UML

profile a valid and complete IEPD is

guaranteed to come out.

Page 40: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

MDA AUTOMATION ALSO CREATES NIEM CONFORMANT XML SCHEMA

<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:Q1="http://www.modeldriven.org/niem/examples/PetAdoptionExtension" xmlns:i="http://niem.gov/niem/appinfo/2.0" xmlns:nc="http://niem.gov/niem/niem-core/2.0" xmlns:niem-xsd="http://niem.gov/niem/proxy/xsd/2.0" xmlns:s="http://niem.gov/niem/structures/2.0" xmlns:tns="http://www.modeldriven.org/niem/examples/PetAdoptionExchange" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://www.modeldriven.org/niem/examples/PetAdoptionExchange" version="&quot;1&quot;"> <xsd:import namespace="http://niem.gov/niem/appinfo/2.1" schemaLocation="../../../.././niem/appinfo/2.1/appinfo.xsd"/> <xsd:import namespace="http://niem.gov/niem/structures/2.0" schemaLocation="../../../.././niem/structures/2.0/structures.xsd"/> <xsd:import namespace="http://www.modeldriven.org/niem/examples/PetAdoptionExtension" schemaLocation="../../../.././XMLschemas/niem/examples/PetAdoptionExtension/examples.xsd"/> <xsd:import namespace="http://www.modeldriven.org/niem/examples/PetAdoptionExchange" schemaLocation="../../../.././XMLschemas/niem/examples/PetAdoptionExchange/examples.xsd"/> <xsd:import namespace="http://niem.gov/niem/appinfo/2.0" schemaLocation="../../../.././niem/appinfo/2.0/appinfo.xsd"/> <xsd:import namespace="http://niem.gov/niem/proxy/xsd/2.0" schemaLocation="../../../.././niem/proxy/xsd/2.0/xsd.xsd"/> <xsd:import namespace="http://niem.gov/niem/niem-core/2.0" schemaLocation="../../../.././XMLschemas/niem/niem-core/2.0/niem-core.xsd"/> <xsd:complexType abstract="false" name="PetAdoptionExchangeType"> <xsd:annotation> <xsd:appinfo> <i:Base i:name="Object" i:namespace="http://niem.gov/niem/structures/2.0"/> </xsd:appinfo> </xsd:annotation> <xsd:complexContent> <xsd:extension base="s:ComplexObjectType"> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:People"/> <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:Pets"/> <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:PetAdoptions"/> <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:PetAdoptionCenters"/> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:Addresses"/> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:ContactInformation"/> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:PersonContactInformationAssociations"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element abstract="false" name="People" nillable="false" type="nc:PersonType"/> <xsd:element abstract="false" name="Pets" nillable="false" type="Q1:PetType"/> <xsd:element abstract="false" name="PetAdoptions" nillable="false" type="Q1:PetAdoptionType"/> <xsd:element abstract="false" name="PetAdoptionCenters" nillable="false"/> <xsd:element abstract="false" name="Addresses" nillable="false" type="nc:AddressType"/> <xsd:element abstract="false" name="ContactInformation" nillable="false" type="nc:ContactInformationType"/> <xsd:element abstract="false" name="PersonContactInformationAssociations" nillable="false" type="nc:PersonContactInformationAssociationType"/> <xsd:annotation> <xsd:appinfo> <i:ConformantIndicator>true</i:ConformantIndicator> </xsd:appinfo> </xsd:annotation></xsd:schema>

Not Intended to Be

Read

Page 41: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

The model is fully validated with “OCL Constraints” for NIEM Rules

The produced PSM is also validated

Many NIEM rules are taken care of automatically in the transformation rules such as Naming and Global elements

The resulting IEPD is either valid or any problems noted (how being tool dependent)

There are still a few subjective NDR Rules that can’t be tested by the automation

AS PART OF THIS PROCESS

Page 42: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM Logical ConceptsNot the XSD and NDR Details

The PIM and Common Profile

The Model Package Description Profile

A UML Tool

HOW MUCH IS THERE TO LEARN?

Note: A Forester report estimated that 71% of software development teams already use UML

Page 43: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 43

Which NIEM components are “baked into” the Platform Independent Model?

A. XML Primitive Types

B. NIEM Core Data Model

C. NIEM Domain Models

D. NIEM Schemas

MODULE 2 – KNOWLEDGE CHECK

Page 44: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 44

MODULE 2 – PIM

You have completed Module 2: NIEM Platform Independent Model (PIM).You should now be able to…

Understand the scope of the NIEM Platform Independent Model

Model NIEM subsets in UML

Model NIEM extensions (associations, augmentations, etc.) in UML

Define NIEM IEPD Metadata

Page 45: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1NIEM-UML Profile 2.1

NIEM-UML PLATFORM SPECIFIC MODEL (PSM)

Page 46: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 46

COURSE MAP – MODULE

Concept Refresh

NIEM-UML Overview

NIEM-UML Platform Independent Model

NIEM-UML Platform Specific Model

Modeling NIEM Concepts

NIEM Modeling Tool Demonstration

Page 47: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 47

After this module, you should be able to…

Understand the scope of the NIEM-UML Platform Specific Model.

MODULE 3 – PSM

This module will introduce the NIEM-UML Platform Specific Model (PSM).

Page 48: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM-UML PROFILE MODELS

Page 49: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

PLATFORM INDEPENDENT MODEL

Page 50: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 50

COMMON MODEL

Page 51: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

PLATFORM SPECIFIC MODEL

Page 52: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

MODEL PACKAGE DESCRIPTION MODEL

Page 53: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 53

Which NIEM-UML Profiles Do IEPD Developers Need to Understand?

A. Platform Independent Model (PIM)

B. Platform Specific Model (PSM)

C. Common Model

D. Model Package Description (MPD) Model

MODULE 3 – KNOWLEDGE CHECK

Page 54: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 54

MODULE 4 – SUMMARY

You have completed Module 3: NIEM-UML Platform Specific Model (PSM).You should now be able to…

Understand the scope of the NIEM-UML Platform Specific Model.

Page 55: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1NIEM-UML Profile 2.1

MODELING NIEM CONCEPTS

Page 56: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 56

COURSE MAP – MODULE

Concept Refresh

NIEM-UML Overview

NIEM-UML Platform Independent Model

NIEM-UML Platform Specific Model

Modeling NIEM Concepts

NIEM Modeling Tool Demonstration

Page 57: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 57

After this module, you should be able to…

Model NIEM properties in UML

Model NIEM roles and associations in UML

Model NIEM metadata in UML

Model NIEM exchanges in UML

MODULE 4 – MODELING NIEM CONCEPTS

This module will introduce the modeling of NIEM concepts using the NIEM-UML Profile.

Page 58: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM PROPERTIES

NIEM Properties

Non-reference properties:Properties are represented as properties of UML classes or data types or as ends of associations. Information from the UML property or association end definition includes the name, type and cardinality..

Page 59: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

SUBSETTING A REFERENCE VOCABULARY

Subset for a particular exchange

Reference Vocabulary

Page 60: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM ASSOCIATIONS

NIEM Associations

A UML Class stereotyped as an <<Association>> represents a NIEM association using the rules of complex types. Each end of the NIEM association is represented as an independent UML association (an association line in a class diagram). The end is named on the related object side of the UML association and the cardinality of this relation will be the number of such objects that can participate in each association, this cardinality is usually one.

Page 61: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM & UML ASSOCIATIONS

NIEM Associations

Alternative:As UML includes a first-class concept of association classes, A NIEM association may also be represented as a UML association class (Line with a class attached by a dotted line), optionally having the <<Association>> stereotype.

Page 62: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM ROLES

NIEM Roles

UML also has the capability to represent roles in their simpler form as UML association ends (The names on the ends of lines in a class diagram) or properties. To represent roles that are complex types a class or data type is used.

NIEM Role Concept

Page 63: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

REPRESENTATION OF COMPLEX TYPES

NIEM Complex Type

Representation in the NIEM-PIM

Object Type

 Class or Data Type – no stereotype is required, Object Type is the default. See also: Representing NIEM Object Types

Role Type

 

Use of <<RoleOf>> association and or generalization referencing the complex signifies that type is a role. See Also:Representing NIEM Roles

Association Type

 

<<Association>> stereotype applied to the complex type or a UML association class. See Also: Representing NIEM Associations

Metadata Type

 

<<Metadata>> stereotype applied to the complex type. See Also: Representing NIEM Metadata

Augmentation Type

 

<<Augmentation>> stereotype applied to the complex type. See Also: Representing NIEM Augmentations

Adapter Type

 

<<Adapter>> stereotype applied to the complex type. The initial version of the PIM does not include adapter types, these will be added in the final specification.

Page 64: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

NIEM PROPERTY REUSE

NIEM Property Reuse and Subset Schema

UML has no notion of properties independent of any class and the normal way to handle this in UML is to define classes, perhaps abstract, that are inherited. To be consistent with UML all properties are defined within a class (or data type). The <<References>> stereotype of realization is used to import properties from one class to another (perhaps in another name-space) to provide for the property reuse that is a principle of NIEM. The defining class can be complex type, an abstract type or a <<PropertyHolder>>. Property holders are a NIEM-PIM Stereotype specificity to hold properties not owned by a class in the namespace.

Page 65: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 65

Which NIEM complex types are supported in NIEM-UML Profile 2.1?

A. Objects

B. Roles

C. Metadata

D. Adapters

MODULE 4 – KNOWLEDGE CHECK

Page 66: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 66

MODULE 4 – SUMMARY

You have completed Module 4: Modeling NIEM concepts.

You should now be able to…

Model NIEM properties in UML

Model NIEM roles and associations in UML

Model NIEM metadata in UML

Model NIEM exchanges in UML

Page 67: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1NIEM-UML Profile 2.1

NIEM MODELING TOOL DEMONSTRATION

Page 68: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 68

COURSE MAP – MODULE

Concept Refresh

NIEM-UML Overview

NIEM-UML Platform Independent Model

NIEM-UML Platform Specific Model

Modeling NIEM Concepts

NIEM Modeling Tool Demonstration

Page 69: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1

No Magic Magic Draw + Cameo NIEM Plugin (licensed)

http://www.nomagic.com/products/magicdraw.html

http://www.nomagic.com/products/magicdraw-addons/cameo-niem-plugin.html

NIEM Modeling Tool (free, open-source)

https://github.com/info-sharing-environment/NIEM-Modeling-Tool

NIEM-UML MODELING TOOLS

Page 70: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 70

You have completed the NIEM-UML 2.1 Profile Technical Training course.

You should now be able to:

• Understand when to use the NIEM-UML Profile

• Model a NIEM exchange using UML

• Generate a NIEM IEPD from a UML model

LEARNING RECAP

Page 71: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 71NIEM-UML Profile 2.1

CONCLUSION

Page 72: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 72

For technical documentation:

NIEM.gov/reference

ADDITIONAL NIEM RESOURCES

Documentation and Standards

Training and Technical Assistance

Tools

DOCUMENTATION AND STANDARDS

TRAINING & TECHNICAL ASSISTANCE

TOOLS

For available resources that provide support and assistance:

NIEM Training: NIEM.gov/trainingNIEM Webinars: NIEM.gov/webinarsNIEM Helpdesk: NIEM.gov/contactus

Available tools for developers: Visit the NIEM Tools Catalog today!

NIEM.gov/tools

For all things NIEM:

NIEM.gov

For info on NIEM Engagement Process:

NIEM.gov/roadmaptoadoption

Page 73: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.

NIEM-UML Profile 2.1 73NIEM-UML Profile 2.1

END OF COURSE