NIEM UML Profile Initial Submission. AGENDA NIEM Overview NIEM Technical Concepts NIEM UML Profile Introduction PIM Profile PSM Profile Next Steps and.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

1 Web Data Management XML Schema. 2 In this lecture XML Schemas Elements v. Types Regular expressions Expressive power Resources W3C Draft:
NIEM OVERVIEW 2 Support Framework Technical FrameworkCommunity Formal Governance Processes Online Repositories Mission-Oriented Domains Self-Managing.
NIEM Healthcare Domain FHIM/S&I Framework Strategy 4/7/2011.
Semantics and Information Exchanges Overview – Public Sector NIEM Team, June 2011 CAM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Sunday, June 28, 2015 Abdelali ZAHI : FALL 2003 : XML Schemas XML Schemas Presented By : Abdelali ZAHI Instructor : Dr H.Haddouti.
IRS XML Standards & Tax Return Data Strategy For External Discussion June 30, 2010.
XML Exchange Development CAM Technology Tutorial – Public Sector NIEM Team, June 2011 CAM Test Model Data Deploy Requirements Build Exchange Generate Dictionary.
1 1 Roadmap to an IEPD What do developers need to do?
Domain-Specific Software Engineering Alex Adamec.
NIEM-UML Profile Justin Stekervetz, NIEM PMO
Developing Enterprise Architecture
Technical Introduction to NIEM
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
1 CIM User Group Conference Call december 8th 2005 Using UN/CEFACT Core Component methodology for EIC/TC 57 works and CIM Jean-Luc SANSON Electrical Network.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
AGENDA 1.The NIEM Framework What common services, governance models, processes and tools are provided by NIEM? 2.NIEM Specifications & Processes What.
Interoperability Standards for Information Sharing and Safeguarding PM-ISE Slide 1 | Unclassified | Notional | DRAFT.
Dr. Azeddine Chikh IS446: Internet Software Development.
1 GJXDM/NIEM Presentation. Global Information Sharing Initiatives Executive Briefing Global Information Sharing Initiatives Executive Briefing 2 Background:
1 1 National Information Exchange Model (NIEM) OASIS Emergency Interoperability Summit: Roadmap to Emergency Data Standards Roundtable.
An Introduction to Software Architecture
Profiling Metadata Specifications David Massart, EUN Budapest, Hungary – Nov. 2, 2009.
Introduction to MDA (Model Driven Architecture) CYT.
Larry L. Johnson Federal Transition Framework.
NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1.
High Level Architecture Overview and Rules Thanks to: Dr. Judith Dahmann, and others from: Defense Modeling and Simulation Office phone: (703)
NIEM Domain Awareness June 2011 Establishing a Domain within NIEM.
September GJXDM User’s Conference – San Diego GJXDM Re-usable Schema Components (RSCs) Creating IEPDs using Re-usable Schema Components (RSCs)
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Interfacing Registry Systems December 2000.
SEARCH Membership Group Systems & Technology PAC Global Justice XML Data Model (GJXDM) Update January 29, 2005.
NIEM 101 -Technical Introduction to NIEM This course will introduce business and technical architects, program analysts and information exchange designers.
What is NIEM? 1 NIEM is a national program supported by the federal government to increase information sharing between organizations who share a common.
Federal XML Naming and Design Rules and Guidelines Mark Crawford.
NIEM-UML PROFILE Justin Stekervetz, NIEM PMO Cory Casanave, Model Driven Solutions Mark Kindl, Georgia Tech Research Institute March 2012 OMG Meeting.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Interoperability Framework Overview Health Information Technology (HIT) Standards Committee June 24, 2010 Presented by: Douglas Fridsma, MD, PhD Acting.
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
XML Schema. Why Schema? To define a class of XML documents Serve same purpose as DTD “Instance document" used for XML document conforming to schema.
NIEM Information Exchange Package Documentation (IEPD) Mini Kanwal NIEM Technical Advisor Department of Homeland Security September, 7 th 2006.
S&I Integration with NIEM (DRAFT) Standards Development Support June 8, 2011.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 ECCF Training 2.0 Implemental Perspective (IP) ECCF Training Working Group January 2011.
XML 2nd EDITION Tutorial 4 Working With Schemas. XP Schemas A schema is an XML document that defines the content and structure of one or more XML documents.
Tutorial 13 Validating Documents with Schemas
National Information Exchange Model (NIEM) Executive Introduction November 29, 2006 Thomas O’Reilly NIEM Program Management Office.
Common Terminology Services 2 CTS 2 Submission Team Status Update HL7 Vocabulary Working Group May 17, 2011.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Dictionary based interchanges for iSURF -An Interoperability Service Utility for Collaborative Supply Chain Planning across Multiple Domains David Webber.
Leveraging UBL for Developing Justice XML (GJXDM) Reference Documents John Ruegg County of Los Angeles Information Systems Advisory Body GJXDM User Conference.
United States Department of Justice Achieving Information Interoperability and Business Agility The Justice Reference Architecture:
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
DOT Implementing the Surface Transportation Domain Daniel Morgan 26 October 2015.
National Information Exchange Model (NIEM) October 24, 2006 Jeremy Warren Deputy Chief Technology Officer U.S. Dept. of Justice.
Armstrong Process Group, Inc. Copyright © Armstrong Process Group, Inc., All rights reserved National Information Exchange.
Architecture Ecosystem SIG March 2010 Update Jacksonville FL.
Of 24 lecture 11: ontology – mediation, merging & aligning.
Introduction: Databases and Database Systems Lecture # 1 June 19,2012 National University of Computer and Emerging Sciences.
COP Introduction to Database Structures
Implementing the Surface Transportation Domain
Object Management Group Information Management Metamodel
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
UML to XSD.
An Introduction to Software Architecture
NIEM Tool Strategy Next Steps for Movement
Presentation transcript:

NIEM UML Profile Initial Submission

AGENDA NIEM Overview NIEM Technical Concepts NIEM UML Profile Introduction PIM Profile PSM Profile Next Steps and Way Forward

THE NIEM FORMULA FOR SUCCESS Identification of large scale, complex processes Creation of the standardized exchange Governance and adoption of the exchange Selection based on number of stakeholders and potential for reuse Complexity increases with numbers of entities involved Benefit increases with numbers of implementations

WHAT IS NIEM – THE NIEM FRAMEWORK AND PROCESS

NIEM connects communities of people who share a common need to exchange information in order to advance their missions, and provides a foundation for seamless information exchange between federal, state, local, and tribal agencies. Much more than a data model, NIEM offers an active user community as well as a technical and support framework. THE NIEM FRAMEWORK Formal Governance Processes Online Repositories Mission-Oriented Domains Self-Managing Domain Stewards Data Model XML Design Rules Development Methodology Predefined Deliverables (IEPD) Tools for Development and Discovery Established Training Program Implementation Support Help Desk & Knowledge Center

Translation Scope-of-NIEM NIEM intentionally does not address standardizing data inside legacy systems. NIEM serves as a translation layer (providing a common understanding) between and across disparate systems. STANDARDIZING DATA MOVING ACROSS SYSTEMS INTERFACE LEGACY DATABASES LEGACY DATABASES COMMONLY FORMATTED DATA INTERFACE

THE NIEM DATA MODEL Data elements are organized into core and domain-specific components Core components are used by multiple domains and can be described by structure, semantics, and definition universally Domain-specific components are continually updated by subject matter experts that are actual NIEM participants and industry experts for their particular domain NIEM Naming and Design Rules (NDR) specify how each of these components are defined and utilized NIEM’s data model is a set of common, controlled, and approved XML data structures and definitions vetted through the Federal, State, Local, Tribal and Private Sectors.

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

IEPD –Developed to provide the business, functional, and technical details of the information exchange through predefined artifacts –Created with a core set of artifacts in a prescribed format and organizational structure to allow for consistency –Designed to be shared and reused in the development of new information exchanges through publication in IEPD repositories

IEPD COMPONENTS & REQUIREMENTS IEPD IEM Main Document Catalog Change Log IEPD MPD NIEM Core Schema(s) Domain Schema(s) Sample XML Instance In order to be NIEM-conformant, the IEPD must adhere to: 1.NIEM Conformance Document 2.NIEM Naming and Design Rules (NDR) v1.3 3.NIEM Model Package Description (MPD) Specification v1.0

NIEM GOVERNANCE

NIEM GOVERNING STRUCTURE NIEM’s governing structure is comprised of Federal, State, Local, Tribal and private organizations NIEM is jointly managed at an executive level by the Department of Homeland Security (DHS), Department of Justice (DOJ), and Department of Health and Human Services (HHS) Executive Steering Council ESC Executive Director Deputy Director Executive Director Deputy Director NIEM PMO NIEM Technical Architecture Committee NTAC NIEM Business Architecture Committee NBAC NIEM Communications & Outreach Committee NC&OC

WHO STEERS NIEM CURRENTLY? Founders and Voting Members Dept of Justice Dept of Homeland Security Dept of Health and Human Services Ex-Officio Members Global Justice Information Sharing Initiative Office of Management and Budget Program Manager, Information Sharing Environment NASCIO Partners Terrorist Screening Center Dept of Defense / Dept of Navy Dept of State, Consular Affairs (invited)

UML PROFILE FOR NIEM Standardized model representing NIEM packages Build upon the scope of the existing profile to include support for MPD development Support “model-driven” IEPD development The profile will reflect NIEM architectural concepts and restrictions as set forth in the NIEM Naming and Design Rules (NDR) v1.3 and Model Package Description Specification (i.e. we don’t want to accommodate all of XML schema, only what is allowed by the NDR) End Goal: A developer (using supporting tools) should be able to generate an equivalent conformant MPD from any UML model that applies the envisioned UML profile properly. Conversely, a developer should be able to create an equivalent profiled UML model from a conformant MPD.

NIEM TECHNICAL CONCEPTS

NIEM CONFORMANCE

NIEM MODEL PACKAGES

MPD Specification MPD/IEMIEPD Domain Update ReleaseEIEM/BIEC MPD: Model Package Description IEM: Information Exchange Model EIEM: Enterprise Information Exchange Model BIEC: Business Information Exchange Component

IEM VS. MPD Information Exchange Model (IEM) One or more NIEM-conforming XML schemas that specify the structure, semantics, and relationships of XML objects IEM Classes: –Release –Domain Update –Information Exchange Package Documentation (IEPD) –Enterprise Information Exchange Model (EIEM) Model Package Description (MPD) Compressed archive of files that contains: –One and only one of the four NIEM IEM classes –Supporting documentation –Other artifacts IEPD IEM IEPD IEM Main Document Catalog Change Log IEPD MPD

NIEM DOMAIN UPDATE SPECIFICATION Provides normative rules and non-normative guidance for the packaging, content, and publication of domain updates; dependent on the MPD Specification Domain updates that are conformant to the NIEM Domain Update Specification must also be conformant to the NIEM Model Package Description Specification

DOMAIN INDEPENDENCE AND SELF- SERVICE Domain Independence Specifications and processes that decouple a domain from other domains and from Core Allows: Domains to publish updated content (domain updates) on their own timeline IEPD developers to use that new content immediately, without waiting for the next major or minor release Domain Self-Service Development tools and collaboration areas that support domains in building and publishing their own content Allows: Domains to use tools that assist in content development and management NIEM to scale up more easily as the number of domains and the size of the model increase

DOMAIN UPDATE COMPONENTS & REQUIREMENTS Domain Update IEM Catalog Change Log Domain Update MPD Quality Assurance/Conformance Reports In order to be NIEM-conformant, the Domain Update must adhere to: 1.NIEM Conformance Document 2.NIEM Naming and Design Rules (NDR) v1.3 3.NIEM Domain Update Specification v1.0 4.NIEM Model Package Description (MPD) Specification v1.0

 Namespaces provide a mechanism to uniquely identify an item in a distributed environment –Used to prevent “collisions” of types and elements because they can only be used when referenced through a namespace –Needed when combining information from different sources –Elements with the same name could have different meanings –Abstract to more granular definitions WHY NAMESPACES? Namespaces allow for modification of parts of NIEM without impact on the rest of the model

 Prevent “collisions” of types and elements because they can only be used when referenced through a namespace  NIEM is organized by namespace –NIEM-Core –Individual domains (Emergency Management, Immigration, Intelligence, etc.) –Code table authorities (ATF, DEA, FBI, etc.) –External standards (ANSI/NIST, EDXL, TWPDES, etc.) –XSD proxy and constructs (niem-xsd, appinfo, structures) NAMESPACES IN NIEM

 Elements within NIEM are not allowed to be of an anonymous type and thus must be declared to be of a specific type; a defined structure for a data object  Specific types are derived from more generic types  Type declarations determine the elements that can be contained within a specific type and the order of those elements within the type  All elements contained within a type must refer to a globally defined element in the namespace  Declared types can be: TYPE DECLARATIONS IN NIEM Complex Types with Complex Content Child elements allowed, no character data Complex Types with Simple Content No child elements allowed, only character data Simple Types with Simple Content No child elements or attributes allowed There are no mixed types allowed in NIEM The attribute mixed cannot equal true (mixed ≠ true)

Code lists are used to limit the possible values for a data element CODE LISTS Code lists:  Can be created using NIEM software tools based on values entered into a spreadsheet template  Can be integrated into a NIEM domain if identified as highly reusable by domain stewards  Can provide value through an increased level of data integrity and a decreased burden for management of code values Possible Value Code List Data Element

Code lists are actively managed to make certain that they are accurate, current, and continue to follow the NIEM NDR CODE LIST MANAGEMENT Each code list has a governing body responsible for its content with authority over the timeline for updates and publication to the code list Updates to published code lists within NIEM domains are often published in NIEM micro releases Publication Namespaces have been established within NIEM to contain related code lists and to designate authority over these code lists (e.g. iso, fips, twpdes, fbi, usps, etc.) Namespace Multiple versions of a code list may exist within NIEM to guarantee backward- compatibility Version

Metadata types are used to provide descriptive information about data within an XML instance METADATA TYPES WITHIN NIEM nc:MetadataType contains several common elements used within exchange metadata. Some examples include: nc:LastUpdatedDate nc:ReportingPersonText nc:ExpirationDate  Often it is necessary to separate exchange data from auxiliary information that further describes the data; metadata types provide this level of separation  Metadata can be used for searching or categorizing data included within an exchange Data Metadata (e.g. Reported Date, Reporting Person)

WHY USE TYPE AUGMENTATION?  Why use Type Augmentation? –Each domain contains objects that other domains might need to use –Adding these to an object would typically require making a specialization –But, if objects are needed from multiple domains, then a specialization doesn’t work –Cannot extend from multiple base objects  Augmentation is meant to solve this problem by allowing objects from multiple domains to be attached to an object  Augmentation objects explicitly show that data is just attached to an object without making a specialized version of the object

Augmentation types allow elements from multiple domains to be used in the definition of a new type TYPE AUGMENTATION IN NIEM  Problem: XML Types are not allowed to extend from more than one base type –This limitation does not allow for elements from different domains to be included within a single object through extension  Problem Mitigation: Use augmentation types, each of which are specific to a domain, to include elements from different domains to a new declared type Intelligence Domain Elements Justice Domain Elements Immigration Domain Elements New Type NIEM uses augmentations rather than specializations to support domain- specific properties

WHY SUBSTITUTION GROUPS?  Some types of information can be represented in multiple ways, for example: ‒ Enumerated Values ‒ Date and Time ‒ Many entities can be either a Person or an Organization  NIEM uses XML Schema Substitution Groups to allow a single concept to be represented by multiple elements of different types

Substitution groups provide flexibility in the allowed data types for a particular element SUBSTITUTION GROUPS IN NIEM  The data type for an element may not be known until runtime –Substitution groups address this problem by allowing elements of differing data types to replace a declared element  Substitution groups provide for this flexibility in data representations  For example: –An entity can be represented by either a person or an organization –Criminal charges can be represented by either a number or a string value –Dates can be represented by either just the date or by date/time PersonOrganization Entity Replaces

 Explicit substitution forces substitution of an element for an abstract head element  Explicit substitution has the following characteristics: –Substitutable head elements are marked as abstract=true – Abstract head elements act as placeholders for substitute elements –Elements intended for substitution must identify the abstract head element as its substitution group –Abstract head elements are NOT allowed to appear within the XML instance EXPLICIT SUBSTITUTION

 Implied substitution provides flexibility in substitution by not requiring replacement of head element  Implied substitution has the following characteristics: –Substitutable head elements are NOT defined as abstract –May or may not be substituted –The element that is doing the substituting has to be of the same type or derived type of the substitutable element –Substitutable head elements are allowed to appear within the XML instance IMPLIED SUBSTITUTION

NIEM UML PROFILE INTRODUCTION

NIEM UML PROFILE COMPONENTS

PIM PROFILE

THE GOALS FOR THE NIEM PIM PROFILE To 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

THE SCOPE OF THE NIEM PIM PROFILE UML Profiles for NIEM. A set of UML Profiles which provide a complete characterization of the semantics and information content embodied in NIEM. This is divided into two parts: –The NIEM Vocabulary PIM – a profile for describing a business vocabulary in terms of NIEM concepts –The NIEM MPD PIM – a profile for describing a MPD (i.e. an IEPD) that uses a NIEM vocabulary augmented with additional metadata to represent an MPD.

AUXILIARY TYPES AND MODEL LIBRARIES NIEM Core Model Library – an isomorphic representation of the NIEM reference namespaces NIEM Primitive Types Model Library – represents the NIEM primitive types leveraging the UML Library for XML Primitive Types Primitive Type Restrictions – uses a subset of the IMM-XSD profile to express constraints on primitive types

NIEM-UML Profiles 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 Includes Maps Between Transforms Between XML Primitive Types Uses Conforms to User’s UML NIEM Models Generated Based on NIEM-UML Model Libraries Transform Specification Mapping Specification Conforms to

NIEM-UML Profiles 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 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 Specification Conforms to Transforms Between Generated Based on NIEM-UML

WHAT IS THE NIEM PIM PROFILE A simplified subset of 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 NEIM-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

UML SUBSET FOR THE NIEM PIM PROFILE Metaclass Packages Classes, including their names (extended using NIEM stereotypes) Associations and association classes (extended using NIEM stereotypes) Association end, names, aggregation kind and cardinality (extended using NIEM stereotypes) Properties (extended using NIEM stereotypes) Data Types Primitive Types Realizations (extended using NIEM stereotypes) Generalizations (extended using NIEM stereotypes) Enumerations Owned Comments Dependencies (extended using NIEM stereotypes)

THE NIEM PIM VOCABULARY PROFILE

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

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 > 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 >. Property holders are a NIEM-PIM Stereotype specificity to hold properties not owned by a class in the namespace.ReferencesPropertyHolder

SUBSETTING A REFERENCE VOCABULARY

NIEM SUBSTITUTION GROUPS NIEM 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 > since the containing class is not consequential, it is simple a holder for the group of substitutable properties.PropertyHolder

NIEM PRIMITIVE TYPES NIEM Primitive Types Primitive types are represented as a UML >. There is a library of XSD data types included as part of the NIEM-PIM, this package is called “XMLPrimitiveTypes” (See Also: ). Specialized primitive types may subclass this library to enable automatic mapping of the domain types to XML. The NIEM-Core provides a set of these types ready-made. XSD facets may be applied to primitive types to further constrain a representation. The PIM profile includes a set of stereotypes to represent these facets

REPRESENTATION OF COMPLEX TYPES

NIEM OBJECT TYPES NIEM Object Types An object type is represented as a UML class, no stereotype is required. Alternative: A UML data type may also represent an Object Type.

YOUR BASIC “THING” A data type for a human being. A date a person was born. A combination of names and/or titles by which a person is known. A unique reference to a living person; assigned by the United States Social Security Administration.

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 ASSOCIATIONS NIEM Associations A UML Class stereotyped as an > 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.Association

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

NIEM CODE LISTS NIEM Code Types Code types are represented as UML enumerations. Each code value is one value of the enumeration.

NIEM AUGMENTATIONS Alternative 1: A UML Data type may also represent an Augmentation Type Alternative 2: Generalizations marked as > will be mapped to a property with a cardinality of 1 to simulate multiple inheritance in the XSD. NIEM Augmentations An Augmentation type is represented as a UML class with the > Stereotype. A property typed by an augmentation type may have an > 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 > may be properties of any NIEM object.

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

THE NIEM PIM MPD PROFILE

EXAMPLE MPD

Overlap with PSM Further abstracting some concepts to be more platform independent –Augmentations would be modeled differently in RDF –AppliesTo may overlap existing UML capabilities –Can substitution groups use regular subclassing? Better layering –Separation of true platform independent concepts from those that are for support of mapping to/from MPDs ISSUES TO BE ADDRESSED

PSM PROFILE

GOALS OF THE NIEM PSM PROFILE 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. 64

UML SUBSET FOR NIEM SCHEMA Metaclass Package DataType Enumeration EnumerationLiteral Class Property Generalization Dependency A UML Profile consists of a subset of UML and a set of extensions to UML. The subset of UML used in the NIEM PSM Profile to represent NIEM-conforming XML Schemas consists of the above metaclasses. 65

OVERVIEW OF MAPPING TO NIEM SCHEMA MetaclassRepresentation in NIEM-conforming XML Schema Packageschema document DataTypesimple type definition Enumerationsimple type definition EnumerationLiter al enumeration facet Classcomplex type definition Propertyelement or attribute declaration and use Generalizationderived type definition – base type definition relationship Dependencyother schema component relationship The extensions to UML consist of a set of stereotypes that derive from this subset. In general, stereotypes extended from the metaclasses at left represent NIEM concepts implemented in XML Schema as specified at right. 66

CATEGORIZATION OF MAPPINGS TO NIEM SCHEMA Stereotype (Metaclass) NIEMNamespace (Package) Stereotype NIEMNamespace NIEMSimpleType (DataType, Enumeration) and Related Stereotypes NIEMSimpleTypeNIEMCodeValueNIEMRestriction NIEMListItemTypeNIEMUnionMemberType NIEMComplexType (Class) and Related Stereotypes NIEMComplexTypeNIEMAdapterTypeNIEMAssociationType NIEMAugmentationTypeNIEMMetadataTypeNIEMObjectType NIEMSimpleContentNIEMMetadataApplication NIEMProperty (Property) and Related Stereotypes NIEMPropertyNIEMExternalPropertyNIEMAnyProperty NIEMTopLevelNIEMAugmentationApplication NIEMChoiceNIEMChoiceMemberProperty 67

NIEMNAMESPACE STEREOTYPE NIEMNamespace (Package) NIEMNamespace represents a namespace, which is implemented in XML Schema as an XML schema document. NIEMNamespace includes the following attributes: definition, isConformant, namespace, and version. 68

NIEMSIMPLETYPE AND RELATED STEREOTYPES NIEMSimpleType (DataType) (can also be applied to Enumeration – next slide) NIEMSimpleType represents a NIEM type which is implemented in XML Schema as a simple type definition. NIEMSimpleType includes the following attributes: definition, fractionDigits, length, maxExclusive, maxInclusive, maxLength, minExclusive, minInclusive, minLength, pattern, totalDigits, and whiteSpace. 69

NIEMSIMPLETYPE AND RELATED STEREOTYPES NIEMCodeValue (EnumerationLiteral) NIEMCodeValue represents a NIEM code value, which is implemented in XML Schema by an enumeration facet. NIEMCodeValue includes the following attributes: definition. 70

NIEMSIMPLETYPE AND RELATED STEREOTYPES Stereotype (Generalization)Relationship NIEMRestriction (Generalization)from a derived (by restriction) type to its base type definition NIEMListItemType (Dependency)from a list simple type definition to its item type definition NIEMUnionMemberType (Dependency) from a union simple type definition to one of its member type definitions 71

NIEMCOMPLEXTYPE AND RELATED STEREOTYPES NIEMComplexType (Class), NIEMAdapterType (NIEMComplexType), NIEMAssociationType (NIEMComplexType), NIEMAugmentationType (NIEMComplexType), NIEMMetadataType (NIEMComplexType), NIEMObjectType (NIEMComplexType) NIEMComplexType is the generalization of the other stereotypes. NIEMAdapterType, NIEMAssociationType, NIEMAugmentationType, NIEMMetadataType, and NIEMObjectType represent the given class of NIEM type; these are implemented in XML Schema as complex type definitions. Stereotypes include the following attributes: definition. 72

NIEMCOMPLEXTYPE AND RELATED STEREOTYPES Stereotype (Generalization)Relationship Generalizationfrom an derived (by extension) type to its base complex type definition NIEMSimpleContent (Dependency)from a complex type definition to its simple content type NIEMMetadataApplication (Dependency) from a metadata type definition to the type definition it applies to 73

NIEMPROPERTY AND RELATED STEREOTYPES NIEMProperty (Property) NIEMProperty represents a NIEM property, which is implemented in XML Schema as an element or attribute declaration and use. NIEMProperty includes the following attributes: definition, kind, nillable, namespace, substitutionGroupName, substitutionGroupNamespace, value. 74

NIEMPROPERTY AND RELATED STEREOTYPES NIEMExternalProperty (Property) NIEMExternalProperty represents an external component, which is implemented in XML Schema as an element or attribute use. NIEMExternalProperty includes the following attributes: kind, namespace. 75

NIEMPROPERTY AND RELATED STEREOTYPES NIEMAnyProperty (Property) NIEMAnyProperty represents the use of a wildcard, which is implemented in XML Schema as the xsd:any particle. Stereotype includes the following attributes: definition, namespace, processContents. 76

NIEMPROPERTY AND RELATED STEREOTYPES NIEMTopLevel (Class) NIEMTopLevel does not represent any NIEM concept; it exists to permit the user to define a NIEM property that is not the subject of any NIEM type. 77

NIEMPROPERTY AND RELATED STEREOTYPES NIEMChoice (Property) NIEMChoice represents the use of a choice model group in XML Schema. NIEMChoice includes the following attributes: definition. 78

NIEMPROPERTY AND RELATED STEREOTYPES Stereotype (Generalization)Relationship NIEMAugmentationApplication (Dependency) from an augmentation element to the type definition it applies to NIEMChoiceMemberProperty (Dependency) from a choice group to its member element 79

NIEM NUMBERED RELEASES REFERENCE SCHEMAS Reference Schemas

INFORMATION EXCHANGE PACKAGE DOCUMENTATION (IEPD) Subset (of 2.1) nc fb i cbr n md a it at f hazma t appinf o structur es Extension Set ext 1 ext 2 ext 4 ext 3 Exchange Schema my_iep d Constraint Set (of 2.1 ss) nc fb i cbr n md a it at f hazma t appinf o structur es catalog.xml changelog.x ml master- document.doc derived-from derived--from imports my_iepd.xml

UML SUBSET FOR MPD Metaclass Package Dependency A UML Profile consists of a subset of UML and a set of extensions to UML. The subset of UML used in the NIEM PSM Profile to represent MPDs consists of the above metaclasses. 82

OVERVIEW OF MAPPING TO MPDS UML MetaclassMPD PackageMPD or XML schema DependencyMPD-MPD, MPD-XML schema relationships The extensions to UML consist of a set of stereotypes that derive from this subset. In general, stereotypes extended from the metaclasses at left represent NIEM concepts implemented in MPDs as specified at right. 83

MODELPACKAGEDESCRIPTION AND RELATED STEREOTYPES ModelPackageDescription (Package) ModelPackageDescription represents a Model Package Description (MPD). Specifically, it represents the information in the catalog. Stereotype (Generalization)Relationship ModelPackageDescriptionRelationship (Dependency) from an MPD to the MPD to which it is related ModelPackageDescriptionFile (Dependency) from an MPD to the NIEMNamespace it includes 84

MODELPACKAGEDESCRIPTION AND RELATED STEREOTYPES 85

ADDITIONAL EXAMPLE (NIEMSIMPLETYPE) 86

ADDITIONAL EXAMPLE (NIEMLISTITEMTYPE) 87

ADDITIONAL EXAMPLE (NIEMUNIONMEMBERTYPE) 88

ADDITIONAL EXAMPLE (NIEMCODEVALUE) 89

ADDITIONAL EXAMPLE (NIEMOBJECTTYPE) 90

ADDITIONAL EXAMPLE (NIEMSIMPLECONTENT) 91

ADDITIONAL EXAMPLE (NIEMMETADATAAPPLICATION) 92

NEXT STEPS AND WAY FORWARD

Significant overlap between the PIM and the PSM due to similar goals Profile complexity due to the two similar models Lack of a profile which is an isomorphic representation of an NIEM IEPD Potential challenges with transformations between the PIM and the PSM and between the PSM and an IEPD Challenges with Current Approach

Candidate Profile Architecture for Validation UML Profile For NIEM UML subset and NIEM semantic stereotypes NIEM representational stereotypes MPD XSD Artifacts Isomorphic mapping XSD representational stereotypes The profile presents a continuum from a level of abstraction perspective

Validate the proposed submission architecture: –Perform gap analysis between the overlapping PIM and PSM concepts –Work together on defining a representation for the overlapping constructs which defer in representation –Identify where in the profile each of the current PIM and PSM concepts belongs As soon as consensus is reached, work together to implement and document each concept. Assemble the final submission Next Steps

OBJECTIVES OF COMBINED PROFILE Standards Based: To leverage standards and standards based tools Simplicity: To reduce complexity and lower the barrier for entry Reuse: To facilitate reuse of NIEM models and as a result schemas Agility: To enable the NIEM profile to be used with other standards, technologies and layers Audience: Two entry points for tools and modelers – business and schema 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.

QUESTIONS ???