Model Driven Information Sharing (MDIS) Produced by and copyright © 2013, Data Access Technologies,...

99
Model Driven Information Sharing (MDIS) Produced by and copyright © 2013, Data Access Technologies, Inc. / Model Driven Soluti

Transcript of Model Driven Information Sharing (MDIS) Produced by and copyright © 2013, Data Access Technologies,...

Model Driven Information Sharing (MDIS)

Produced by and copyright © 2013, Data Access Technologies, Inc. / Model Driven Solutions

Model Driven Information Sharing with NIEM-UML 2

Introductions

Cory Casanave [cory-c at modeldriven dot com]

CEO, Model Driven SolutionsActionable Architectures & Agile Solutions

Information Federation, SOA, EA and MDA DevelopmentOpen Source Supporting a Model Driven Approach (ModelDriven.org)

Object Management GroupBoard of DirectorsStandards work: UML, SoaML, BPMN, EDOC, AESIG, SIMF, Etc.GovDTF: Chair – Open Government Workgroup

W3CGovernment Linked Data (GLD) Workgroup

GovernmentNIEM: Co-chair NIEM-UML PIM Submission TeamCIO Council/DAS: Open Government Vocabularies WorkgroupVarious government enterprise, information, SOA and systems

Model Driven Information Sharing with NIEM-UML 3

Agenda

• Introductions• OMG Model Driven Information Sharing at the OMG• Overview of NIEM-UML• Next Steps – Semantic Information Modeling for Federation

(SIMF)• Creating an IEPD with NIEM-UML (Demo)• Optional: NIEM-UML Specification Concepts in Detail

OMG Model Driven Information Sharing

Standards Coordination Workgroup

Information Sharing Roadmap

Implementation Frameworks

Standards & Framework Taxonomy

Content Service Policy*Process

RequirementsDefinition(Focus – Users)

Technical Standards

InteroperabilitySpecifications

ProcessDefinition

ProcessStandards

ProcessOrchestration

ContentDefinition

DataStandards

DataSchema

Services Definition

ServiceStandards

ServiceInterfaces

PoliciesDefinition

PolicyStandards

ExecutableRules

RepresentationStandards

ProcessRepresentation

ContentRepresentation

ServicesRepresentation

PolicyRepresentation

* Includes Security & Privacy Rules

Mission Context

ProcessOrchestration

Schema &Management

ServiceComponents

PolicyExecution

Inte

rop

era

bil

ity

Road

map

Sco

pe

Specification Layering

RequirementsDefinition(Focus – Users)

RepresentationStandards

InteroperabilitySpecifications

User relevant requirements and specifications of functionality from the users perspective

EG: Suspicious activity reporting requirements

Technical Standards

General technical capabilities and standards that may be used to provide user functionality

EG: WS-Encryption, NIEM-XML

Languages, notations and formats representing functional and technical specificationsEG: UML & NIEM-UML

Specifications for interoperability and information sharing that implement a functional specification using a set of technical

standardsEG: SAR Specification in NIEM-XML IEPD and Web Services

ImplementationFrameworks

Technologies and products that implement a set of technical standards in support of implementing interoperability

specificationsEG: .NET or JEE

Information Sharing Viewpoints

Content Service Policy*Process

What we can know

and communic

-ate structured in terms

of concepts, terms and symbols

we understan

d

What we do and

when we do it.

Processes use and produce

information, assets

and services

How we interact to exchange informatio

n, products

and services

for mutual benefit

Rules about

content, process

and services based on security, privacy

and other concerns

RequirementsDefinition(Focus – Users)

RepresentationStandards

InteroperabilitySpecifications

Technical Standards

Frameworks

Data Service PolicyProcess

Framework

Other Frameworks

Seve

ral

Frameworks are coherent and mutually supportive sets of capabilities that satisfy the needs of a stakeholder group across

the standards taxonomy

XML / Web Services Technical Capability Framework

Data Service PolicyProcess

XML / Web Services Framework

NIEM-XMLWS*GRA

GFIPMXACML

WS Security

EncryptionIEF

BPEL

What is agreed between technical systems sharing information

Other Frameworks

Seve

ral

Technical Standards

ProcessStandards

DataStandards

ServiceStandards

PolicyStandards

UML/MDA Framework

Content Service PolicyProcess

RepresentationStandards

ProcessRepresentatio

n

ContentRepresentatio

n

ServicesRepresentatio

n

PolicyRepresentatio

n

UML FrameworkNIEM-UML

UMLSoaMLGRA

TBD(IEPV?)

Activity Diagrams

UML-BPMN

RequirementsDefinition

ProcessSpecificatio

n

ContentSpecificatio

n

Services Specificatio

n

PoliciesSpecificatio

n

Requirements

Represents

Represents

Represents

Represents

XML / Web Services Framework

NIEM-XMLWS*GRA

GFIPMXACML

WS Security

EncryptionIEPV

BPEL

Generates

Generates

Generates

Generates

1 4 2 3Roadmap

Implementation Frameworks

Data Service PolicyProcess

Java/JEEFramework

Implements

Implements

Implements

Implements

JAXBJDOM

ServicesBeans

Java Security

JBPMBPELJ

ActiveBPEL

.NETFramework

NIEM-XML ASP.NET

ASP.NET

?Biztalk

Implementations of Sharing Specifications – Out of our scope for standards

Man

y

ImplementationFrameworks

ProcessOrchestrati

on

Schema &Manageme

nt

ServiceComponent

s

PolicyExecution

Model Driven Information Sharing with NIEM-UML 12

Information Sharing Architecture

Wide Scope of Information Sharing

Content

Process

ServicesSecurity/Privacy Policies

Back-end Stakeholders &

Systems(Consume and/or

supply information)

Adapters

InformationSharing

Specifications

Implement Adapt

• NIEM-XML / Other XML• RDF / JASON / EDI• WS*/REST/PubSub• XACML, GFIPM• Etc…

• Code• XSLT• OWL/Sparql• Brokers

• Anything

Enable the full life-cycle of information sharing

Across diverse technologies, standards, communities and systems

Model Driven Information Sharing

WithNIEM-UML

Produced by and copyright © 2012, Data Access Technologies, Inc. / Model Driven Solutions

Implementation Frameworks

NIEM in the Standards Taxonomy

Content Service Policy*Process

RequirementsDefinition(Focus – Users)

Technical Standards

InteroperabilitySpecifications

ProcessDefinition

ProcessStandards

ProcessOrchestration

ContentDefinition

DataStandards

DataSchema

Services Definition

ServiceStandards

ServiceInterfaces

PoliciesDefinition

PolicyStandards

ExecutableRules

RepresentationStandards

ProcessRepresentation

ContentRepresentation

ServicesRepresentation

PolicyRepresentation

* Includes Security & Privacy Rules

Mission Context

ProcessOrchestration

Schema &Management

ServiceComponents

PolicyExecution

NIEM-XML

NIEM-UML

NIEM-UML Players

• The National Information Exchange Model (NIEM) is a well established U.S. sponsored program and community for standardized information exchange. The NIEM Program is sponsored by the Department of Homeland Security (DHS), Department of Health and Human Services (HHS) and the Department of Justice (DOJ).

• The effort was co-sponsored by the NIEM-PMO (niem.gov) and the Information Sharing Environment (ise.gov)

• The Object Management Group (OMG) is a leading industry consensus organization specifying many of the popular modeling and middleware standards. OMG Experts brought modeling & OMG process expertise.

• The NIEM community and experts, such as Georgia Tech, Microsoft-Services, Search (nonprofit) and others contributed to the standard.

• Commercial organizations such as Nomagic (UML tool vendor), Model Driven Solutions, Tethersend and Everwere-CBDI

15

Model Driven Information Sharing with NIEM-UML 16

NIEM-UML Status

• The final NIEM-UML specification was recommended for adoption by the Object Management Group Government Domain Task Force (http://gov.omg.org/) and architecture board June 2012 and adopted by the Board of Directors.

• Implementations of the specification are already available and pilot projects have started– the PMO is seeking additional pilot projects.

• The specification and associated resources are available at: http://www.niem-uml.org

Recorded webinar:http://niem-uml.org/wpniem/niem-uml-recorded-webinar/

Model Driven Information Sharing with NIEM-UML 17

The Foundation of NIEM

Repeatable, Reusable Process

(Exchange Specification Lifecycle)

Common Language(Data Model Lifecycle)

Built and governed by the business users at Federal, State, Local, Tribal and Private Sectors

Model Driven Information Sharing with NIEM-UML 18

People & Organizations Sharing Information

Technology

Model Driven Information Sharing with NIEM-UML 19

Information Exchange using technologies requires that the structure, format and semantics of the data

as it is “in motion” “on the wire” be precisely understood and specified

Information Exchange Based On NIEM

XML data “on the wire”

Specifies

Rules

XML Schema Part 1: Structures Second Edition

W3C Recommendation 28 October 2004

Model Driven Information Sharing with NIEM-UML 20

Information sharing bits & bytes XML Data-In-Motion “on the wire”

ManualProductio

n

XML data “on the wire”

Model Driven Information Sharing with NIEM-UML 21

NIEM-UML

Information sharing based on NIEM-UML

Automatic

Generation

w/ NIEM UML

XML data “on the wire”

Model Driven Information Sharing with NIEM-UML 22

Using Model Driven Architecture for NIEM

Using Model Driven

Architecture (MDA) for

NIEM Information Exchange

has multiple advantages

• 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

• 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

Model Driven Information Sharing with NIEM-UML 23

OMG-MDA standards you probably already know about

Unified Modeling LanguageUML®, a standardized modeling language

Business Process Modeling NotationBPMNTM , allows businesses understanding of their internal business procedures

Common Warehouse MetamodelCWMTM, the integration of the last two data warehousing initiatives

Meta-Object FacilityMOFTM, a repository standard

XML Metadata InterchangeXMI®, a XML-UML standard

SoaMLService Oriented Modeling Language

For example, a few include:

NIEM-UML becomes part of this family of

standards

Model Driven Information Sharing with NIEM-UML 24

MODELS

From UML to NIEM Exchanges

NIEM-UML extends and tailors the unified

modeling language (OMG standard)

NIEM-UMLProfile

NIEM Domain Concepts

NIEM ExchangeNIEM-UMLTransforms

Model Driven Information Sharing with NIEM-UML 25

The NIEM “Core” and domain reference vocabularies provide the basis for the reuse that is central to NIEM.

Reuse is the key to NIEM

These vocabularies are now available as NIEM-UML models

Model Driven Information Sharing with NIEM-UML 26

Modeling reuse via subsetting

This is the subset of person for our

particular exchange need

The is the reference model for person from “NIEM-Core”

Model Driven Information Sharing with NIEM-UML 27

Using NIEM-UML to ModelInformation Exchanges

NIEM-UMLProfile Design and Model

NIEM-UML InformationExchange Model

XML data “on the wire”

Model Driven Information Sharing with NIEM-UML 28

Using NIEM-UML to define new NIEM domains

NIEM-UMLProfile Design and Model

Model Driven Information Sharing with NIEM-UML 29

Supporting Multiple Technologies

Potential standards and/or implementations to support RDF, JSON and Other Exchange Technologies

Model Driven Architecture

NIEM-UMLProfiles and Transforms

NIEM-UML Vocabularies

NIEM Vocabulary PIM Profile

NIEM MPD PIM Profile

Vocabulary Model For One or More Exchanges

Platform Independent Model of a Specific MPD

NIEM Core Vocabulary

NIEM Domain Vocabularies

Platform Specific Model of a Specific MPD

A NIEM MPD

NIEM PSM Profile

Existing NIEM NDR and MPD Platform Specifications

Extends &References

Uses

Uses

Includes

Maps Between

Transforms Between

XML Primitive Types

Uses

Conforms to

User’s UML

NIEM Models

Generated

Based onNIEM-UML

NIEM-UML

Model Libraries

Transform Specification

Mapping SpecificationConforms to

Conforms to

NIEM-UMLProfiles and Transforms

NIEM-UML Vocabularies

NIEM Vocabulary PIM Profile

NIEM MPD PIM Profile

Vocabulary Model For One or More Exchanges

Platform Independent Model of a Specific MPD

NIEM Core Vocabulary

NIEM Domain Vocabularies

Extends &References

Uses

Uses

Includes

XML Primitive Types

User’s UML

NIEM Models

NIEM-UML

Model Libraries

Platform Specific Model a NIEM Model in RDF

A NIEM RDF Schema

RDF Metamodel (ODM)

RDF/S

Maps Between

Uses

Conforms to

Transform Specification

Mapping SpecificationConforms to

Conforms toTransforms Between

Generated

Based onNIEM-UML

IntroduceRDF

Support

Model Driven Information Sharing with NIEM-UML 32

NIEM-UML Summary

• NIEM-UML is a new NIEM specification that provides for modeling NIEM in UML and producing or reverse engineering information exchange technical specifications

• This reduces the time, cost and learning curve of information exchange using NIEM

• MDA also provides for other aspects of the information sharing solution, such as: business processes, SOA services and back-end system integration

• Since NIEM-UML generates 100% NIEM conformant technical specifications, NIEM-UML Architects and Developers don’t need to worry about as much about the technology details

• NIEM-UML can be extended to support other technologies, such as JSON and the semantic web

• NIEM-UML has been adopted by the OMG, tools are available now and more are being built

Model Driven Information Sharing with NIEM-UML 33

More information

Information on NIEMhttp://www.niem.gov

Information on NIEM-UMLhttp://niem-uml.org

Contact Ushttp://modeldriven.com/mdis.shtml

Model Driven Information Sharing with NIEM-UML 34

What's Next?Semantic Information Modeling for Federation

A current OMG standards effort

SIMF

35

SIMF ArchitectureC

on

cep

tua

l D

om

ain

M

od

els

Log

ical

Info

rmati

on

Mod

els

Ph

ysic

al

Data

S

chem

a

Kernel

Subject focused conceptual models define the concepts, predicates, integrity rules and terms of a domain that can be related to each other

SIM

F Sc

ope

Solution focused logical information elements represent information structures and integrity rules that can use and extend other information

Technology focused physical data schema are grounded in logical data models which define their context and semantics

Model Bridging Relations

• Combining multiple independently conceived data sources and/or systems and using them together for analytics and other purposes. Example: A sales department may want to combine public, internal and external information about prospect companies as part of their CRM system

Key term: Independently conceivedo Different systems may use different structures, technologies,

vocabularies, identifiers or theories when expressing information about the same things.

• Sharing information between potentially independent organizations (and their independently conceived systems).

• Example: U.S. Government Information Sharing Environment (ise.gov) initiative to combat terrorism and other threats to the U.S.

What is Federation?

36

Copyright (c) ModelDriven Solutions 37

SIMF Language Definition

SIMF Conceptual Model

SIMF NotationGraphical +

Textual

SIMF Metamodel

OMG MOF/SMOF

OMG Diagram Definition

SemanticBridge

SemanticBridge

KernelOntology

Formal Logic

Conceptual Domain Concepts

Model Bridging Concepts

Logical Information Concepts

SIMFKernel

LIM CDM DefinedUsing

DefinedUsing

DefinedUsing

DefinedUsing

For

DefinedUsing

Grounds

RepresentedIn

RDF

Optional

XML

Defines

38

OWLMetamodel

SIMF Language Federation

SIMF Conceptual Model

SemanticBridge

SemanticBridge

Conceptual Domain Concepts

Model Bridging Concepts

Logical Information Concepts

XSDMetamodel

SQL DDLMetamodel

SemanticBridge

SemanticBridge

SemanticBridge

SemanticBridge

UMLMetamodel

SemanticBridge

SemanticBridge

E/RMetamodel

SemanticBridge

SemanticBridge

SIMFMetamodel

SemanticBridge

SemanticBridge

Abstraction of information

modeling concepts found in more than

one reference language

<PersonType><NameText>Cory Casanave</NameText><Weight-LBS>240</Weight-LBS>

</PersonType>

ExcelUML

XML

• There is an actual “Person”, Cory Casanave

• There is a concept of this person shared in this meeting, right now

• Here is one representation of him• “Person” is a shared concept,

independent of data structures• There may also be shared agreement

that Cory is a person and some other “facts”

o “Cory Casanave” is a name for this person

o He weighs 240 LBS• There are multiple data

representations about Cory Casanave which may or may not agree

• Those representations can be grounded in concepts (semantics), assisting federation

Example of “Pivoting” through a conceptual model

Concept of“Cory

Casanave”

Concept of a

“Person”

.Representation

s

39

• As a federation capability, “overlap” with other views of information, semantics and conceptual models is required and intended.

• So if your saying : We can do that with {OWL, Rules, UML, XSLT, CL, My Product…} we want to listen.

• It is expected that other standards will be proposed by submitters to fulfill requirements as part of the SIMF specification

• Since there are multiple choices for what to reuse and how these existing standards should be integrated into the SIMF solution, the choice of standards to leverage for the SIMF domain specific language is the purview of the submitter and not prescribed by the RFP. It is intended that SIMF build on existing languages!

How does SIMF relate to…

40

• Conceptual Model of SIMF expressed in SIMF notation• Conceptual Domain Model• Logical Information Model• Model Bridging Relations• Grounding in formal logic (Common Logic Default)• Textual and graphical notations• Bridging to common information modeling languages• ER, SQL DDL, XSD, UML, SBVR, OWL, RDFS• Metamodel and exchange format for OMG-MOF and

(Optionally) RDF

Summary of SIMF Requirements

Copyright (c) ModelDriven Solutions 41

Model Driven Information Sharing with NIEM-UML 42

Quick Demo – Creating an IEPD with NIEM-UML

Context• Health Care Information

Exchange• Based on design done by

Tony Mallia• Presented to OMG’s

Healthcare Interoperability Workshop

• Subject is exchange of healthcare medical condition involving a client (patient) and Healthcare Service Provider

Model Driven Information Sharing with NIEM-UML 43

Information to be shared

• Client – a healthcare consumer• Service Provider – a person in an organization providing

healthcare• Service Provided – associates clients and service providers• A Healthcare Organization • Information about and identifiers for the people (clients and

service providers)• Medical condition information

o Includes diagnosis, problem, etc.

• Various code lists for medical problems• All the above “packaged” for a healthcare information

exchange

Model Driven Information Sharing with NIEM-UML 44

Lets Build (most of) This In

NIEM-UMLSwitching to UML tool

Demonstration

Model Driven Information Sharing with NIEM-UML 45

NIEM-UML Specification

The remainder of this presentation is backup material going into more detail on the NIEM-UML specification, should questions come up. Translation is not required.

Model Driven Information Sharing with NIEM-UML 46

NIEM Conformance

Model Driven Information Sharing with NIEM-UML 47

Support for PIM & PSM Perspectives

Model Driven Information Sharing with NIEM-UML 48

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

Model Driven Information Sharing with NIEM-UML 49

What is the NIEM PIM Profile?• A simplified subset of the Unified Modeling Language (UML)

• A set of UML constructs and stereotypes

o Extends UML to represent NIEM business concepts

o Business concepts are augmented with NIEM-Platform mapping information

o 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

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

Model Driven Information Sharing with NIEM-UML 50

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 Specification

Conforms to

Conforms to

Model Driven Information Sharing with NIEM-UML 51

NIEM-UML ProfilesGetting Down to Detail

Model Driven Information Sharing with NIEM-UML 52

NIEM-UML Profile Structure

Model Driven Information Sharing with NIEM-UML

Common Profile

53

Model Driven Information Sharing with NIEM-UML 54

Platform Independent Profile

Model Driven Information Sharing with NIEM-UML 55

Platform Specific Profile

Model Driven Information Sharing with NIEM-UML 56

NamespacesNamespace (Package)

• Namespace represents a namespace, which is implemented in XML Schema as a “schema” schema component.

• Namespace includes the following attributes: isConformant, namespace, and version.

Example

Model Driven Information Sharing with NIEM-UML 57

Information Models (PIM Only)InformationModel (Package)

• Extends Namespace for the PIM• Adds “default purpose”

Model Driven Information Sharing with NIEM-UML 58

Relations between namespaces (PIM Only)InformationModel (Package)

• Packages can “use” other packages

• Packages can <<Reference>> and subset reference packages

• Supports MPD/IEPD packaging

Model Driven Information Sharing with NIEM-UML 59

Representation of Complex TypesNIEM Complex Type Representation in the NIEM-PIM

Object Type

 Class – no stereotype is required, Object Type is the default.

Role Type

 

Use of <<RoleOf>> association and or <<RolePlayedBy>> generalization referencing the complex signifies that type is a role.

Association Type

 

<<AssociationType>> stereotype applied to the complex type or a UML association class.

Metadata Type

 

<<MetadataType>> stereotype applied to the complex type.

Augmentation Type

 

<<Augmentation>> stereotype applied to the complex type.

Adapter Type

 

<<AdapterType>> 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.

Model Driven Information Sharing with NIEM-UML 60

NIEM Object Types

NIEM Object Types

An object type is represented as a UML class, no stereotype is required. (PIM Only). In a PSM an object type must be stereotyped an <<ObjectType>>

PIM Only

Equivalent

Model Driven Information Sharing with NIEM-UML 61

Your basic “thing” in XML

<xsd:complexType name="PersonType"><xsd:annotation><xsd:appinfo><i:Base i:name="Object" i:namespace="http://niem.gov/niem/structures/2.0"/></xsd:appinfo><xsd:documentation>A data type for a human being.</xsd:documentation></xsd:annotation><xsd:complexContent><xsd:extension base="s:ComplexObjectType"><xsd:sequence><xsd:element maxOccurs="1" minOccurs="1" ref="nc:PersonBirthDate"/><xsd:element maxOccurs="1" minOccurs="1" ref="nc:PersonName"/><xsd:element maxOccurs="1" minOccurs="1" ref="nc:PersonSSNIdentification"/></xsd:sequence></xsd:extension></xsd:complexContent></xsd:complexType>

<xsd:element name="PersonBirthDate" nillable="false" type="nc:DateType"><xsd:annotation><xsd:documentation>A date a person was born.</xsd:documentation></xsd:annotation></xsd:element>

<xsd:element name="PersonName" nillable="false" type="nc:PersonNameType"><xsd:annotation><xsd:documentation>A combination of names and/or titles by which a person is known.</xsd:documentation></xsd:annotation></xsd:element>

<xsd:element name="PersonSSNIdentification" nillable="false" type="nc:IdentificationType"><xsd:annotation><xsd:documentation>A unique reference to a living person; assigned by the United States Social Security Administration.</xsd:documentation></xsd:annotation></xsd:element>

Every element becomes global for

reuse (

Elements are used in XSD

data structures

Model Driven Information Sharing with NIEM-UML 62

NIEM Roles

RolePlayedBy

Where a role represents an optional extension to an object type a <<RolePlayedBy>> stereotype of generalization may be used – maps to a NIEM RoleOf property.

Model Driven Information Sharing with NIEM-UML 63

NIEM RolesNIEM 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

Model Driven Information Sharing with NIEM-UML 64

NIEM & UML AssociationsNIEM Associations (PIM Only)

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 <<AssociationType>> stereotype.

Model Driven Information Sharing with NIEM-UML 65

NIEM AssociationsNIEM Associations

A UML Class stereotyped as an <<AssociationType>> 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.

Model Driven Information Sharing with NIEM-UML 66

NIEM AugmentationsNIEM Augmentations

An Augmentation type is represented as a UML class with the <<AugmentationType>> Stereotype. A property typed by an augmentation type may have an <<AugmentationApplication>> dependency which restricts the class of objects that may contain a property typed by an augmentation (this is sometimes called the properties “domain”). Properties without an <<AugmentationApplication>> may be properties of any NIEM object.

Model Driven Information Sharing with NIEM-UML 67

NIEM Augmentations

NIEM Augmentations (PIM Only)

A generalization can be marked to <<Augments>> an <<AugmentationType>>.Inheriting an augmentation creates an augmentation property.

Subclassing an augmentation turns into

a augmentation property.

<<Augments>> restricts what an augmentation

can augment

Model Driven Information Sharing with NIEM-UML 68

NIEM MetadataNIEM Metadata

A Metadata type is represented as a UML class with the <<MetaDataType>> Stereotype. A Metadata type may have a <<MetadataApplication>> dependency which restricts the class of objects the metadata may be applied to. Metadata without a <<MetadataApplication>> may be applied to any NIEM object.

Model Driven Information Sharing with NIEM-UML 69

Adapter Types

Adapter Types

An adapter type is a NIEM object type that adapts external models for use within NIEM. An adapter type creates a new class of object that embodies a single concept composed of external elements. [NIEM-NDR 7.7]

Model Driven Information Sharing with NIEM-UML 70

Modeling Simple Types

Model Driven Information Sharing with NIEM-UML 71

DataType and Related ElementsDataType (UML)

• DataTypes represents a simple type, which is implemented in XML Schema as a simple type definition component.

• PrimitiveType and Enumeration are kinds of DataTypes• ValueRestriction, Union, and List stereotypes may be applied to

DataType• Realization or Generalization may relate DataTypes

Model Driven Information Sharing with NIEM-UML 72

DataType and Related ElementsPrimitiveType (UML)

• Represents XML types and subtypes of them.

Model Driven Information Sharing with NIEM-UML 73

NIEM CODE Lists

NIEM Code Types

Code types are represented as UML enumerations. Each code value is one value of the enumeration. An enumeration may <<Realize>> another DataType to indicate restriction.

Model Driven Information Sharing with NIEM-UML 74

DataType and Related ElementsValueRestriction (DataType)

• ValueRestriction represents the facets of a simple type, which are implemented in XML Schema as the facets property of a simple type definition component.

Model Driven Information Sharing with NIEM-UML 75

DataType and Related StereotypesUnion (DataType)

• Union represents a union simple type, represented in XML Schema as a simple type definition component for which the variety property is “union”. A dependency marked as <<UnionOf>> references each member of the union.

Model Driven Information Sharing with NIEM-UML 76

DataType and Related StereotypesList (DataType)

• List represents a list simple type, represented in XML Schema as a simple type definition component for which the variety property is “list”.

• A single property with an arbitrary name indicates the type of the list

PIM Only

Model Driven Information Sharing with NIEM-UML 77

Modeling NIEM Properties

Model Driven Information Sharing with NIEM-UML 78

NIEM PropertiesNIEM Properties

Non-reference properties:Properties are represented as properties of UML classes or as ends of associations. Information from the UML property or association end definition includes the name, type and cardinality. Associations are only used in a PIM..

PIM Only

Model Driven Information Sharing with NIEM-UML 79

NIEM Property ReuseNIEM 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 (top level properties).

Model Driven Information Sharing with NIEM-UML 80

Subsetting a Reference Vocabulary (PIM Only)

Subset for a

particular exchange

Reference Vocabulary

<<Reference>>

NIEM Property Reuse and Subset Schema

Classes and packages may subset NIEM reference vocabularies.

Model Driven Information Sharing with NIEM-UML 81

NIEM Substitution GroupsNIEM Properties

A substitution group is represented by UML property subsetting. A property that subsets another will be substitutable for the base property. All subset properties within a name space are normally grouped together into a single class with the name of the base property combined with the suffix “SubstitutionGroup” (Current implementation is generating “PropertyHolder”). Substitution groups are also declared as a <<PropertyHolder>> since the containing class is not consequential, it is simple a holder for the group of substitutable properties.

Model Driven Information Sharing with NIEM-UML 82

Platform Specific Profile

Model Driven Information Sharing with NIEM-UML 83

Platform Specific Profile

Model Driven Information Sharing with NIEM-UML 84

XSD Property(Property)

Indicates the implementation of a NIEM property: whether it is an element or attribute declaration, its value constraint property, and its nillable property.• kind attribute: whether an element or attribute declaration.• fixed attribute: the value of the value constraint property.• nillable: the value of the nillable property.

Model Driven Information Sharing with NIEM-UML 85

XSD AnyProperty(Property)

Indicates a XML Schema wildcard.• processContents attribute: the value

of the process contents property.• valueNamespace attribute: the value

of the namespace constraint property.

Model Driven Information Sharing with NIEM-UML 86

SequenceID(Property)

Indicates an attribute use for which the attribute declaration is structures:sequenceID.

Model Driven Information Sharing with NIEM-UML 87

XSD Representation Restriction (DataType)

Indicates that the facets property of the XML Schema simple type definition includes a whiteSpace component.• whiteSpace attribute: value of the whiteSpace component.

Model Driven Information Sharing with NIEM-UML 88

XSD Declaration (Realization)

• Indicates the element or attribute declaration of an element or attribute use.

• client: the element or attribute use• supplier: the element or attribute declaration

Model Driven Information Sharing with NIEM-UML 89

XSD SimpleContent(Realization)

Indicates the content type of a complex type definition.• client: the complex type definition• supplier: the content type of the complex type definition, a

simple type definition

Model Driven Information Sharing with NIEM-UML 90

Model Package Description Profile

Model Driven Information Sharing with NIEM-UML 91

Model Package Description Model

Model Driven Information Sharing with NIEM-UML 92

IEPD Example• A MPD <<imports>> one or more information models that

it requires.• Information models may <<use>> other models, these will

be included in the IEPD

Model Driven Information Sharing with NIEM-UML 93

Model Package Description

• Models the MPD (IEPD) Artifact and metadata• Drives the generation of the MPD

Model Driven Information Sharing with NIEM-UML 94

Overriding defaults• <<ModelPackageDescriptionFile>> may provide

additional information on the information models or other artifacts used in the MPD.

• <<ModelPackageDescriptionRelationship>> models the relationship between MPDs, for example, between revisions

Model Driven Information Sharing with NIEM-UML 95

NIEM Reference VocabulariesCore (NIEM Core)Reference (Combined)common.ansi_d20common.apcocommon.atfcommon.cbrnclcommon.censuscommon.deacommon.dod_jcs-pub2.0-misccommon.edxl-capcommon.edxl-decommon.edxl-havecommon.edxlcommon.fbicommon.fips_10-4common.fips_5-2common.fips_6-4

common.geospatialcommon.have-codescommon.hazmatcommon.icismcommon.iso_3166common.iso_4217common.iso_639-3common.itiscommon.lasdcommon.mmucc_2common.mn_offensecommon.ngacommon.nletscommon.nonauthoritative-codecommon.post-canadacommon.sarcommon.twpdes

common.ucrcommon.unece_rec20-misccommon.usps_statescommon.ut_offender-tracking-misccoredomains.emergencyManagementdomains.familyServicesdomains.infrastructureProtectiondomains.intelligencedomains.jxdmdomains.maritimedomains.screeningexternal.capexternal.deexternal.haveexternal.ogc

Model Driven Information Sharing with NIEM-UML 96

NIEM-UML Vendors

Model Driven Information Sharing with NIEM-UML 97

Model Driven Solutions• Developed the NIEM-UML PIM and First Implementation• Model Driven Solutions (MDS) is the services division of Data Access

Technologies, Inc., a small business headquartered in North Virginia, founded in 1996. Our primary customers are government and large corporations.

• MDS provides a Model Driven approach to business and information systems solutions.

• Perhaps we can provide you with a 2 or 4 day “quick start” on NIEM-UML?

Using• Semantic Technologies• Unified Modeling

Language• NIEM-UML• Business Process

Modeling Notation• Service Oriented

Architecture• Model Driven

Architecture• Industry Standards• Open Source &

Commercial Products

Providing• Enterprise Architecture• Business Architecture • Information Architecture• Information Sharing• Services Architecture• Systems Architecture• Executable Systems• Automated Federation• Open Source Tooling

http://modeldriven.com/mdis.shtml

No Magic Inc.• Founded in 1995

– Privately owned• No Magic’s Cameo Suite

– Fully integrated solution suite

• No Magic included in the

2011 Magic Quadrant for

Business Process Analysis

Tools

• OMG® standards-compliant products for– UML 2– Teamwork Collaboration– Enterprise Architecture– Systems Engineering– Simulation– Parametrics– NIEM– SOA– Ontology– BPMN 2.0– Data Modeling– Requirements

Management– Model Driven Development– Interoperability– And many other 3rd party

and open source 98

Cameo NIEM-UML Plugin

Requirements:

– MagicDraw 17.0.1

(or later) - Standard through

Enterprise Editions

– QVT Plugin

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