Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1."— Presentation transcript:

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

2 NIEM-UML Profile 2.1 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 2

3 NIEM-UML Profile 2.1 AGENDA Concept Refresh NIEM-UML Overview NIEM-UML Platform Independent Model NIEM-UML Platform Specific Model Modeling NIEM Concepts NIEM Modeling Tool Demonstration 3

4 NIEM-UML Profile 2.1 CONCEPT REFRESH 4

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

6 NIEM-UML Profile 2.1 6 6 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.

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

8 NIEM-UML Profile 2.1 NIEM-UML OVERVIEW 8

9 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

10 NIEM-UML Profile 2.1 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. 10 MODULE 1 – NIEM UML OVERVIEW This module will introduce you to the NIEM-UML Profile.

11 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

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

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

14 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

15 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

16 NIEM-UML Profile 2.1 NIEM CONFORMANCE

17 NIEM-UML Profile 2.1 NIEM-UML LAYERED ARCHITECTURE

18 NIEM-UML Profile 2.1 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 18

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

20 NIEM-UML Profile 2.1 NIEM-UML PLATFORM INDEPENDENT MODEL (PIM)

21 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

22 NIEM-UML Profile 2.1 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 22 MODULE 2 – PIM This module will introduce the NIEM Platform Independent Model (PIM).

23 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

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

25 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

26 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

27 NIEM-UML Profile 2.1 HIGH-LEVEL INFORMATION MODEL

28 NIEM-UML Profile 2.1 THIS IS NIEM - REUSE!

29 NIEM-UML Profile 2.1 MODEL REUSE OF NIEM CORE

30 NIEM-UML Profile 2.1 REPEAT AS REQUIRED

31 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

32 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?

33 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?

34 NIEM-UML Profile 2.1 NIEM ASSOCIATIONS Associations Connect Objects – in this case people and contact information

35 NIEM-UML Profile 2.1 AUGMENTATIONS – PHONE NUMBER ++

36 NIEM-UML Profile 2.1 COMPLETED HIGH-LEVEL MODEL

37 NIEM-UML Profile 2.1 ADDING THE IEPD METADATA

38 NIEM-UML Profile 2.1 CREATE THE IEPD FROM THE MODEL

39 NIEM-UML Profile 2.1 ALL THE IEPD ARTIFACTS ARE THEN CREATED BY THE MDA AUTOMATION

40 NIEM-UML Profile 2.1 MDA AUTOMATION ALSO CREATES NIEM CONFORMANT XML SCHEMA true

41 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

42 NIEM-UML Profile 2.1 NIEM Logical Concepts Not 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

43 NIEM-UML Profile 2.1 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 43

44 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

45 NIEM-UML Profile 2.1 NIEM-UML PLATFORM SPECIFIC MODEL (PSM)

46 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

47 NIEM-UML Profile 2.1 After this module, you should be able to… Understand the scope of the NIEM-UML Platform Specific Model. 47 MODULE 3 – PSM This module will introduce the NIEM-UML Platform Specific Model (PSM).

48 NIEM-UML Profile 2.1 NIEM-UML PROFILE MODELS

49 NIEM-UML Profile 2.1 PLATFORM INDEPENDENT MODEL

50 NIEM-UML Profile 2.1 50 COMMON MODEL

51 NIEM-UML Profile 2.1 PLATFORM SPECIFIC MODEL

52 NIEM-UML Profile 2.1 MODEL PACKAGE DESCRIPTION MODEL

53 NIEM-UML Profile 2.1 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 53

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

55 NIEM-UML Profile 2.1 MODELING NIEM CONCEPTS

56 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

57 NIEM-UML Profile 2.1 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 57 MODULE 4 – MODELING NIEM CONCEPTS This module will introduce the modeling of NIEM concepts using the NIEM-UML Profile.

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

59 NIEM-UML Profile 2.1 SUBSETTING A REFERENCE VOCABULARY

60 NIEM-UML Profile 2.1 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

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

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

63 NIEM-UML Profile 2.1 REPRESENTATION OF COMPLEX TYPES

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

65 NIEM-UML Profile 2.1 Which NIEM complex types are supported in NIEM-UML Profile 2.1? A. Objects B. Roles C. Metadata D. Adapters MODULE 4 – KNOWLEDGE CHECK 65

66 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

67 NIEM-UML Profile 2.1 NIEM MODELING TOOL DEMONSTRATION

68 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

69 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

70 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

71 NIEM-UML Profile 2.1 CONCLUSION 71

72 NIEM-UML Profile 2.1 72 For technical documentation: NIEM.gov/reference ADDITIONAL NIEM RESOURCES Docum entation and Standar ds Training and Technical Assistance Tools DOCUMENTATION AND STANDARDS TRAINING & TECHNICAL ASSISTANCE TOOLS For available resources that provide support and assistance: NIEM Training: NIEM.gov/training NIEM Webinars: NIEM.gov/webinars NIEM Helpdesk: NIEM.gov/contactusNIEM.gov/trainingNIEM.gov/webinarsNIEM.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

73 NIEM-UML Profile 2.1 END OF COURSE 73

74 NIEM-UML Profile 2.1 BACKUP SLIDES

75 NIEM-UML Profile 2.1 (PIM(COMMON)PSM) + MPD Common PIM PSM MPD

76 NIEM-UML Profile 2.1 76 Namespace (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. NAMESPACE STEREOTYPE

77 NIEM-UML Profile 2.1 77 DataType DataType represents a simple type, which is implemented in XML Schema as a simple type definition component. ValueRestriction, Union, and List stereotypes may be applied to DataType Restriction stereotype and Realization may relate DataTypes DATATYPE AND RELATED STEREOTYPES ValueRestriction (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. ValueRestriction includes the following attributes: fractionDigits, length, maxExclusive, maxInclusive, maxLength, minExclusive, minInclusive, minLength, pattern, and totalDigits.

78 NIEM-UML Profile 2.1 78 Union (DataType) Union represents a union simple type, represented in XML Schema as a simple type definition component for which the variety property is “union”. DATATYPE AND RELATED STEREOTYPES

79 NIEM-UML Profile 2.1 79 List (DataType) List represents a list simple type, represented in XML Schema as a simple type definition component for which the variety property is “list”. DATATYPE AND RELATED STEREOTYPES

80 NIEM-UML Profile 2.1 80 AdapterType (Class), AssociationType (Class), AugmentationType (Class), MetadataType (Class), ObjectType (Class) AdapterType, AssociationType, AugmentationType, MetadataType, and ObjectType represent the given class of type; these are implemented in XML Schema as complex type definition components. Restriction stereotype, Generalization may relate Classes XSDSimpleContent stereotype may relate Classes and Datatypes CLASS AND RELATED STEREOTYPES

81 NIEM-UML Profile 2.1 81 CLASS AND RELATED STEREOTYPES

82 NIEM-UML Profile 2.1 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

83 NIEM-UML Profile 2.1 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”. 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

84 NIEM-UML Profile 2.1 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.

85 NIEM-UML Profile 2.1 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. YOUR BASIC “THING”

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

87 NIEM-UML Profile 2.1 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 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.

88 NIEM-UML Profile 2.1 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.Metadata


Download ppt "NIEM-UML Profile 2.1 Introduction and Tool Demonstration TRAINING Presenter Name Organization Date NIEM-UML PROFILE 2.1."

Similar presentations


Ads by Google