UML 2.4 RTF Avatar
  1. OMG Issue

UML24 — UML 2.4: Add package:URI

  • Key: UML24-68
  • Legacy Issue Number: 15370
  • Status: closed  
  • Source: Adaptive ( Mr. Pete Rivett)
  • Summary:

    This is one of two structural extensions added to UML by MOF, which if incorporated into UML would allow (constrained) Superstructure models to be used as MOF metamodels.

    Regardless of MOF, it has been requested that UML have ability to uniquely reference external elements in order to support:

    Federated models

    References to libraries of datatypes

    Profiles

    At the moment, although XMI does support such references, there is no way in the model itself, to specify the URI that should be used.

    This has been a specific problem for Profile definition where there is no standard way in UML to specify the URI to be used for XMI interchange.

    Proposed Resolution:

    Superstructure

    Add the following to the Attributes section of 7.3.77, Package:

    URI: String [0..1]

    {id} Provides an identifier for the package that can be used for many purposes. A URI is the universally unique

    identification of the package following the IETF URI specification, RFC 2396 http://www.ietf.org/rfc/rfc2396.txt and it must comply with those syntax rules.

    .

    Add the following to the end of the Semantics section of 7.3.77, Package:

    The URI can be specified to provide a unique identifier for a Package. Within UML there is no predetermined usage for this, with the exception of profiles (see Using XMI to exchange Profiles in section 18.3.6). It may, for example, be used by model management facilities for model identification. The URI should hence be unique and unchanged once assigned. There is no requirement that the URI be dereferenceable (though this is of course permitted) .



    Add the following to the end of the Notation section of 7.3.77, Package:

    The URI for a Package may be indicated with the text {uri=<uri>} following the package name.



    Update Figure 7.63 to add the following under the word Types in the middle package example:

    {uri=http://www.abc.com/models/Types}



    Update Figure 7.14 to include URI: String {id}

    in class Package

    Update subsection Using XMI to exchange profiles in section 18.3.6, Profile as follows:

    Replace:

    The Profile to CMOF mapping should also include values for CMOF Tags on the CMOF package corresponding to

    Profile in order to control the XMI generation. The exact specification of these tags is a semantic variation point. A

    recommended convention is:

    nsURI = http://<profileParentQualifiedName>/schemas/<profileName>.xmi

    where:

    • <profileParentQualifiedName> is the qualified name of the package containing the Profile (if any) with

    (dot) substituted for ::, and all other illegal XML QName characters removed, and

    • <profileName> is the name of the Profile,

    • nsPrefix = <profileName>,

    • all others use the XMI defaults.

    With:

    For a Profile the URI attribute (inherited from package) is used to determine the nsURI to be used to identify instances of the profile in XMI. The name attribute of the Profile is used for the nsPrefix in XMI.

    Infrastructure

    Add the following to the Attributes section of 11.9.2, Package:

    URI: String [0..1]

    {id} Provides an identifier for the package that can be used for many purposes. A URI is the universally unique

    identification of the package following the IETF URI specification, RFC 2396 http://www.ietf.org/rfc/rfc2396.txt and it must comply with those syntax rules.

    .

    Add the following to the end of the Semantics section of 11.9.2, Package:

    The URI can be specified to provide a unique identifier for a Package. Within UML there is no predetermined usage for this, with the exception of profiles (see Using XMI to exchange Profiles in section 18.3.6). It may, for example, be used by model management facilities for model identification. The URI should hence be unique and unchanged once assigned. There is no requirement that the URI be dereferenceable (though this is of course permitted) .



    Add the following to the end of the Notation section of 11.9.2, Package:

    The URI for a Package may be indicated with the text {uri=<uri>} following the package name.



    Update Figure 11.27 to add the following under the word Types in the middle package example:

    {uri=http://www.abc.com/models/Types}



    Update Figure 11.26 to include URI: String {id}

    in class Package

    Update subsection Using XMI to exchange profiles in section 13.1.6, Profile as follows:

    Replace:

    The Profile to CMOF mapping should also include values for CMOF Tags on the CMOF package corresponding to

    Profile in order to control the XMI generation. The exact specification of these tags is a semantic variation point. A

    recommended convention is:

    nsURI = http://<profileParentQualifiedName>/schemas/<profileName>.xmi

    where:

    • <profileParentQualifiedName> is the qualified name of the package containing the Profile (if any) with

    (dot) substituted for ::, and all other illegal XML QName characters removed, and

    • <profileName> is the name of the Profile,

    • nsPrefix = <profileName>,

    • all others use the XMI defaults.

    With:

    For a Profile the URI attribute (inherited from package) is used to determine the nsURI to be used to identify instances of the profile in XMI. The name attribute of the Profile is used for the nsPrefix in XMI.

  • Reported: UML 2.3 — Tue, 13 Jul 2010 04:00 GMT
  • Disposition: Resolved — UML 2.4
  • Disposition Summary:

    Add the proposed property.

  • Updated: Fri, 6 Mar 2015 20:58 GMT