NIEM-UML Modeling Guide
Total Page:16
File Type:pdf, Size:1020Kb
Modeling Guide A guide to modeling for NIEM-UML with the Nomagic Cameo NIEM-UML plugin. Portions Copyright © 2012 Data Access Technologies (Model Driven Solutions) Portions Copyright © 2012 Georgia Tech Research Institute (GTRI) Portions Copyright © 2012 Microsoft Table of Contents 1 Introduction ........................................................................................................................................................ 2 1.1 Intent of this document ................................................................................................................................. 2 1.2 NIEM-UML Background ............................................................................................................................. 2 1.3 OMG NIEM-UML and Cameo NIEM-UML ............................................................................................... 2 1.4 Intended Users of NIEM-UML ..................................................................................................................... 3 1.5 Understanding NIEM-UML and Model Driven Architecture (MDA) .......................................................... 3 1.5.1 The NIEM Platform ............................................................................................................................... 3 1.5.2 Intent of the PIM .................................................................................................................................... 4 1.5.3 Intent of the PSM ................................................................................................................................... 4 1.5.4 The NIEM PIM and the NIEM PSM ..................................................................................................... 5 1.5.5 NIEM-UML Transformations ................................................................................................................ 5 1.5.6 NIEM-UML Libraries............................................................................................................................ 6 2 NIEM-UML Modeling Guide ............................................................................................................................ 7 2.1 Overview ...................................................................................................................................................... 7 2.1.1 Introduction............................................................................................................................................ 7 2.1.2 Platform Independent Perspective ......................................................................................................... 8 2.1.3 Platform Specific Perspective .............................................................................................................. 12 2.1.4 Model Packaging Perspective .............................................................................................................. 16 2.2 Modeling Namespaces ................................................................................................................................ 17 2.2.1 Namespaces ......................................................................................................................................... 17 2.2.2 NIEM Names ....................................................................................................................................... 19 2.3 Modeling Complex Types .......................................................................................................................... 21 2.3.1 Complex Types .................................................................................................................................... 21 2.3.2 Object Types ........................................................................................................................................ 23 2.3.3 Role Types ........................................................................................................................................... 26 2.3.4 Association Types ................................................................................................................................ 29 2.3.5 Metadata Types .................................................................................................................................... 33 2.3.6 Augmentation Types ............................................................................................................................ 35 2.3.7 Adapter Types ...................................................................................................................................... 39 2.4 Modeling Simple Types .............................................................................................................................. 41 2.4.1 Simple Types ....................................................................................................................................... 41 2.4.2 Primitive Types .................................................................................................................................... 43 2.4.3 Code Types .......................................................................................................................................... 46 2.4.4 Unions .................................................................................................................................................. 49 2.4.5 Lists ..................................................................................................................................................... 51 2.5 Modeling Properties .................................................................................................................................... 53 2.5.1 Properties ............................................................................................................................................. 53 2.5.2 Property Holders and Property References .......................................................................................... 57 2.5.3 Substitution Groups ............................................................................................................................. 61 2.5.4 Choice Groups ..................................................................................................................................... 64 2.6 Packaging Models ....................................................................................................................................... 65 2.6.1 Reference and Subset Models .............................................................................................................. 65 2.6.2 Model Package Descriptions................................................................................................................ 68 Annex A NIEM-UML PIM Example ....................................................................................................................... 72 Annex B Terms and Definitions ............................................................................................................................... 91 2.7 Definitions .................................................................................................................................................. 91 2.8 Acronyms .................................................................................................................................................... 95 June 2012 i NIEM-UML Modeling Guide 1 Introduction 1.1 Intent of this document The modeling guide for Cameo NIEM-UML provides modelers, information architects and developers with the information they need to develop, maintain and leverage UML for information sharing based on the National Exchange Model (NIEM). Cameo NIEM-UML is based on the NIEM-UML standard (in final stages of adoption) of the Object Management Group (OMG). This guide is intended to support modeling for NIEM, it is not a tutorial on either NIEM or UML. Background information can be found in the following resources: • NIEM: https://www.niem.gov/about/tech/Pages/technical-overview.aspx • NIEM-UML: http://www.niem-uml.org • UML Training: http://www.nomagic.com/services/training.html • UML Resources: http://www.uml.org/ • Magicdraw: http://www.magicdraw.com 1.2 NIEM-UML Background Grown out of a grassroots initiative, the National Information Exchange Model (NIEM) was born as a best practice developed by a handful of state and local practitioners and defined in NIEM’s predecessor, the Global Justice XML Data Model (GJXDM). Today, NIEM is a national program that empowers organizations to create and maintain meaningful data connections across their stove-piped IT systems, as well as their stakeholder base. NIEM provides data components and processes needed to create exchange specifications which support mission data sharing and exchange requirements. By providing a common vocabulary and mature framework to facilitate information exchange, NIEM enables communities to “speak the same language” as they share, exchange, accept, and translate information efficiently. Traditionaly NIEM has been defined in terms of the eXtensible Markup Language (XML), XML Schema (XSD) and the normative NIEM platform specifications which include the NIEM Naming and Design Rules (NDR) Version 1.3 and the NIEM Model Package Description (MPD) Specification Version 1.0. These platform specifications are utilized without change in NIEM-UML and the NIEM-UML specification