Prev Next

UML Profile for NIEM

Enterprise Architect's MDG Technology for NIEM, provides a UML Profile for NIEM (supporting NIEM 3 and NIEM 4), along with a number of model Patterns to help you get started in modeling your NIEM project.

The profile defines a collection of stereotypes for use in building NIEM models. It also defines three different diagram types: Model Package Description (MPD) diagram, Platform Independent Model (PIM) diagram and Platform Specific Model (PSM) diagram. Each of these diagram types has a corresponding diagram toolbox, from which you can select items to add to your model, by dropping them onto a diagram.

Access

Use any of the methods outlined here to display the Diagram Toolbox, then click on to display the 'Find Toolbox Item' dialog and specify 'NIEM 3.0 MPD' (or 'PIM' or 'PSM').

The Diagram Toolbox that corresponds to a particular diagram type becomes active whenever you open a diagram of that type. However, you can also access any Diagram Toolbox at any time, using this method:

  • From the top of the Diagram Toolbox, click on to display the 'Find Toolbox Item' dialog and specify '<profile> <toolbox>'

To reset the Toolbox to the default type for the current diagram, simply close then reopen the diagram.

Ribbon

Design > Diagram > Toolbox

Keyboard Shortcuts

Alt+5

Other

Click the icon on the Diagram caption bar to display the Diagram Toolbox

Diagram Toolbox Pages

The NIEM Diagram Toolboxes provide quick access to the elements and connectors that you commonly use in a particular type of diagram.

The MPD Diagram Toolbox is grouped into a number of separate pages: Model Patterns, Relationships, File Type Usage and Schema Document Usage. The PIM and PSM diagrams share a common Toolbox page, as well as each having their own specific Toolbox page.

Common Toolbox Items

The NIEM Common Profile comprises stereotypes that are used in both the NIEM PIM Profile and the NIEM PSM Profile.

Icon

Description

AdapterType

A NIEM adapter type is a NIEM object type that adapts external components for use within NIEM.

AssociationType

A NIEM association type establishes a relationship between objects, along with the properties of that relationship.

AssociationType

A NIEM association type establishes a relationship between objects, along with the properties of that relationship.

AugmentationType

A NIEM augmentation type is a complex type that provides a reusable block of data that can be added to object types or association types.

Choice

A Choice Class groups a set of attributes whose values are mutually exclusive.

Documentation

A Documentation comment is the data definition of the Element that owns it.

Generalization

A UML Generalization

List

A List is a DataType whose values consist of a finite length (possibly empty) sequence of values of another DataType, which is the item type of the List.

LocalVocabulary

Local vocabulary defines a set of domain specific terms or abbreviations that then can be used in NIEM names and definitions.

LocalTerm

The LocalTerm stereotype defines a domain-specific word, phrase, acronym, or other string of characters used in a LocalVocabulary.

MetadataApplication

The «MetadataApplication» stereotype applies to a Usage between a «MetadataType» Class and either another «MetadataType» Class or a Property. It represents a constraint on a NIEM «MetadataType» that limits the application of the NIEM «MetadataType» to specific schema types or schema elements.

MetadataType

A NIEM metadata type describes data about data, that is, information that is not descriptive of objects and their relationships, but is descriptive of the data itself.

Namespace

A Namespace Package represents a NIEM namespace identified by a target namespace URI.

NIEMType

A NIEMType is a Class that represents one of the specific semantic kinds of NIEM complex types (that is, types that can have attributive structure). NIEMType is abstract.

ObjectType

A NIEM object type represents some kind of object: a thing with its own lifespan that has some existence.

PrimitiveType

The NIEM Primitive Type Library defines a predefined set of UML primitive types to be used in NIEM-UML models. To insure integrity and consistency of the type system used at the PIM level with the generation of NIEM compliant schema, the primitive types in this library are based on XML schema primitive types.

Property

PropertyHolder

A PropertyHolder is a Class holding global Properties that are not the subject of any specific NIEM type.

Property declarations of this kind define the object type of the property without restricting its use to a

specific type of subject.

References

The References stereotype applies to a Realization between Properties, Classes or Packages. It allows for Properties in one Class to be defined by reference to Properties in another class.

Representation

The NIEM Representation Pattern, allows for a type to contain a representation element, and the

various representations for that element type are in the substitution group for that representation element.

Restriction

A Restriction Realization represents a relationship between two type definitions: the first is derived by restriction from the second.

Union

A Union is a DataType whose value space is the union of one or more other DataTypes, which are the member types of the Union.

UnionOf

The UnionOf stereotype is applied to a Usage dependency, the client of which must be a Union DataType and the supplier of which must be a DataType that represents a legal union member type. A UnionOf dependency specifies that the supplier DataType is a member type of the client Union.

ValueRestriction

NIEM 3.0 MPD Toolbox

MPD Toolbox Items

The Model Package Description Profile comprises stereotypes and artifacts that are used to model NIEM MPDs.

Icon

Description

Relationships

Dependency

A UML Dependency relationship.

MPDRelationship

The ModelPackageDescriptionRelationship stereotype applies to a Dependency that represents a relationship between MPDs or between an MPD and another resource (such as a NIEM specification; as in the case of conforms-to).

Usage

A UML usage relationship

QualifiedName

The <<qualifiedName>> Usage connector is used to specify the Document Element of an IEP.

To identify a Document Element of an IEP in UML:

  • Add an instance of IEPConformanceTargetType to the IEPConformanceTarget slot of the ModelPackageDescription Artifact instance
  • Add a QualifiedNamesType instance to the ValidityConstraintWithContext slot of the new IEPConformanceTargetType instance
  • Add a Usage with applied Stereotype «qualifiedName» where the client is the new QualifedNamesType instance and the supplier is a Property representing an XSD Element

File Type Usage

FileType

The <<FileType>> Usage connector is a data type for describing an MPD file artifact. It is also the base type from which many other <<FileType>> Usage connectors are derived.

ApplicationInfo

The <<ApplicationInfo>> connector extends the <<FileType>> usage connector. It is used to specify an MPD artifact that is used by a software tool (for example, import, export, input and output).

BusinessRulesArtifact

The <<BusinessRulesArtifact>> connector extends the <<FileType>> usage connector. It is used to specify an MPD artifact that contains business rules and constraints on exchange content.

ConformanceAssertion

The <<ConformanceAssertion>> connector extends the <<FileType>> usage connector. It is used to specify an MPD artifact that represents a declaration that a NIEM IEPD or EIEM is NIEM-conformant.

ConformanceReport

The <<ConformanceReport>> connector extends the <<FileType>> usage connector. It is used to specify an MPD artifact either auto-generated by a NIEM-aware software tool or manually prepared that checks NIEM conformance and/or quality and renders a detailed report of results.

Documentation

The <<Documentation>> connector extends the <<FileType>> usage connector. It is used to specify an MPD artifact that is a form of explanatory documentation.

File

The <<File>> connector extends the <<FileType>> usage connector. It is used to specify a generic electronic file artifact in an MPD; a file stored on a computer system.

IEPSampleXMLDocument

The <<IEPSampleXMLDocument>> connector extends the <<FileType>> usage connector. It is used to specify an example MPD instance XML document or IEP artifact.

MPDChangeLog

The <<MPDChangeLog>> connector extends the <<FileType>> usage connector. It is used to specify an MPD artifact that contains a record of the MPD changes.

ReadMe

The <<ReadMe>> connector extends the <<FileType>> usage connector. It is used to specify an MPD read-me artifact.

RelaxNGSchema

The <<RelaxNG>> connector extends the <<FileType>> usage connector. It is used to specify a RelaxNG schema.

RequiredFile

The <<RequiredFile>> connector extends the <<FileType>> usage connector. It is used to specify an MPD file artifact that another artifact depends on and should not be separated from.

SchematronSchema

The <<SchematronSchema>> connector extends the <<FileType>> usage connector. It is used to specify a Schematron schema document.

WantList

The <<WantList>> connector extends the <<FileType>> usage connector. It is used to specify an MPD artifact that represents a NIEM schema subset and is used as an import or export for the NIEM SSGT.

XMLCatalog

The <<XMLCatalog>> connector extends the <<FileType>> usage connector. It is used to specify an MPD artifact that is an OASIS XML catalog.

Schema Document Usage

XMLSchemaDocument

The <<XMLSchemaDocument>> connector extends the <<FileType>> usage connector. It is used to specify an MPD artifact that is an XML schema document (that is, an XSD that is not necessarily a NIEM subset, extension, or reference schema).

ExtensionSchemaDocument

The <<ExtensionSchemaDocument>> connector extends the <<XMLSchemaDocument>> usage connector. It is used to specify an MPD artifact that is a NIEM extension schema document.

ExternalSchemaDocument

The <<ExternalSchemaDocument>> connector extends the <<XMLSchemaDocument>> usage connector. It is used to specify an MPD artifact that is a schema document external to NIEM.

ReferenceSchemaDocument

The <<ReferenceSchemaDocument>> connector extends the <<XMLSchemaDocument>> usage connector. It is used to specify an MPD artifact that is a reference schema document (from a release, domain update, or core update).

SubsetSchemaDocument

The <<SubsetSchemaDocument>> connector extends the <<XMLSchemaDocument>> usage connector. It is used to specify an MPD artifact that is a subset schema document.

NIEM 3.0 PIM Toolbox

PIM Toolbox Items

The NIEM PIM Profile comprises stereotypes that are used in NIEM PIMs but not NIEM PSMs.

Icon

Description

Association

A UML Association.

AssociationClass

A UML Association Class.

Augments

A stereotyped Realization connector, used to specify that one class (the supplier) Augments another class (the client).

InformationModel

InformationModel is a stereotyped Package that provides a platform-independent perspective on the structure of information to be exchanged in NIEM messages. It represents a NIEM namespace, but can also specify a default purpose, such as subset, exchange or extension.

RoleOf

The RoleOf stereotype is applied to an AssociationEnd to specify the type of the role of the associated property.

RolePlayedBy

A stereotyped Generalization connector specifying that the role played by instances of the general class shall be the type of the special class.

Subsets

The Subsets connector is a stereotyped realization that specifies a subset relationship between a subset client (the derived element) and its reference supplier (the base element).

PSM Toolbox Items

The NIEM PSM Profile comprises stereotypes that are used in NIEM PSMs. These stereotypes need not be used with a NIEM PIM, but they can be in order to provide additional platform-specific markup.

Icon

Description

XSDAnyProperty

XSDAnyProperty stereotype represents a property that is unrestricted with respect to its type, which is implemented in XML Schema as the xs:any particle.

XSDDeclaration

The XSDDeclaration stereotype is a specialization of the common References stereotype.

XSDProperty

An XSDProperty Property represents a NIEM property, which is implemented in XML Schema as either an attribute declaration and use or an element declaration and particle

XSDRepresentationRestriction

XSDRepresentationRestriction specifies a restriction on the representation in an XML schema of the values of a base DataType.

XSDSimpleContent

The «XSDSimpleContent» stereotype represents a relationship between two type definitions: the first is a complex type definition with simple content, the second is a simple type.

NIEM 3.0 PSM Toolbox