niem-uml profile 2.1 introduction and tool demonstration training presenter name organization date...
TRANSCRIPT
![Page 1: NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/40.jpg)
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=""1""> <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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/60.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/61.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/62.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/63.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/64.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/65.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/66.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/67.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/68.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/69.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/70.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/71.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/72.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070409/56649e9a5503460f94b9ccde/html5/thumbnails/73.jpg)
NIEM-UML Profile 2.1 73NIEM-UML Profile 2.1
END OF COURSE