Previous Table of Contents   Next  


III - Annexes

   Annexes include: A - XMI Serialization and Schema B - Support for Model Driven Architecture

   Annex A

   (normative)

   XMI Serialization and Schema

   UML 2.0 models are serialized in XMI according to the rules specified by the MOF 2.0: XMI Mapping Specification.

   XMI allows the use of tags to tailor the schemas that are produced and the documents that are produced using XMI. The following are the tag settings that appear in the UML2 Infrastructure Model for the XMI interchange of UML2 models:

   Annex B

   (informative)

   Support for Model Driven Architecture

   The OMG’s Model Driven Architecture (MDA) initiative is an evolving conceptual architecture for a set of industry-wide technology specifications that will support a model-driven approach to software development. Although MDA is not itself a technology specification, it represents an approach and a plan to achieve a set of cohesive set of model-driven technology specifications.

   The MDA initiative was initiated after the UML 2.0 RFPs were issued. However, as noted in the OMG’s Executive Overview of MDA (www.omg.org/mda/executive_overview.htm): “[MDA] is built on the solid foundation of well-established OMG standards, including: Unified Modeling Language™ (UML™), the ubiquitous modeling notation used and supported by every major company in the software industry; XML Metadata Interchange (XMI™), the standard for storing and exchanging models using XML; and CORBA™, the most popular open middleware standard.? Consequently, it is expected that this proposed major revision to UML will play an important role in furthering the goals of MDA.

   The OMG Object Reference Model Subcommittee has produced MDA Guide (the latest version of which is referenced from www.omg.org/mda) which is the official, commonly agreed upon, definition of MDA. This MDA Guide draft characterizes MDA as follows:

   “MDA provides an approach for and enables tools to be provided for:

   -transforming the system specification into one for the chosen particular platform.?

   In addition, this MDA Guide draft and many other MDA documents commonly refer to a “UML family of languages,? which is described in the MDA Guide as: “Extensions to the UML language [that] will be standardized for specific purposes. Many of these will be designed specifically for use in MDA.?

   The following sections explain how UML 2.0 supports the most prominent concepts in the evolving MDA vision.

   A

    Abstract syntax compliance 3 abstract syntax compliance 3 access 146 acyclic graph 112 acyclical 82 addOnly 34 adorn 56 adorned 112 aggregation 113 alias 140, 142, 144 allFeatures 36 allNamespaces 71 allOwnedElements 74 allOwningPackages 185 allParents 51 ancestor 83 annotatedElement 38, 90, 104 appliedProfile 184 argument 95 arrow 96, 112, 142, 160

   solid

    for navigation 113 arrow notation 96 arrowhead 112, 142, 146, 165 arrrowhead 165 association 112 association ends 64 association notation 121 association specialization 112 asterisk 26, 63, 66, 172 attribute 96, 117 attribute compartment 96, 120, 136 attributes 64

   B

    Bag 125 behavioral compatibility 24, 77 BehavioralFeature 30, 31, 32 bestVisibility 88 bidirectionally navigable associations 96 binary association 110, 111, 123 BNF 112 bodyCondition 150, 151, 152 boldface 117, 120 Boolean 60, 99, 138 booleanValue 49, 60 bound 64, 65, 123, 125 braces 42, 112

   C

    cardinality 65, 180 Changeabilities 33 ChangeabilityKind 34 character set 63, 118, 171 Class 16, 17, 22, 25, 93, 94, 95, 96, 97, 116, 117, 122, 175, 178,

    179 Classifier 35, 51, 55, 56, 77, 83 Classifier (as specialized) 50, 82 Classifiers package 35 colon 56 color 113, 158 comma 56, 112, 193 comment 38, 193 Comments package 37 common superclass 44, 91 Common Warehouse Metamodel (CWM) 16 compartment 117, 136 compartment name 36, 120 compliance 3 compliance level 1 composite 112, 123 composite aggregation 113, 116 composite name 73 concrete 83, 182 Concrete syntax compliance 3 conform 85 Conformance 1 conformsTo 85 constant 60, 61 constrainedElement 41, 42 constraint 41, 66, 83, 86, 125, 150 constraint language 22, 24 constraints 117 context 41, 46 contravariance 151, 152 Core 12, 29, 89, 101, 169 Core package 12, 28 covariance 152

   D

    dashed arrow 142, 146 dashed line 39, 165 DataType 89, 97 default 117, 125, 154 definingFeature 55, 58 derived 125 derived union 32, 36, 71, 76 diagram interchange 3 diamond 112, 113 digit 60, 63 dimmed 158 direct instance 94 DirectedRelationship 79, 104, 141 direction 154 distinguishable 32, 71 double quotes 63, 172

   E

    Element 38, 39, 91 Element (as specialized) 39 element access 142 element import 142 ElementImport 140, 144 empty name 72 endType 110 Enumeration 133, 135, 136, 137, 162 enumeration 136 Enumeration rules 164 EnumerationLiteral 137, 162 equal sign 56 exception 152 exceptions 95 excludeCollisions 145 expression 23, 41, 46 Expressions package 45 extension 169, 175, 178, 179, 180, 181 ExtensionEnd 182

   F

    false 60 feature 31, 128 featuringClassifier 37, 128 formalism 21

   G

    Generalization 51, 88 generalization arrow 112 generalization hierarchy 51, 82 Generalizations between associations 112, 113 Generalizations package 49 getName 141 getNamesOfMember 73, 144 guillemets 36, 117, 120, 193

   H

    hasVisibilityOf 83 hidden 144 hierarchy 71 hollow triangle 52, 83

   I

    icon 192 identity 138 image 183 import 88, 142, 146 importedElement 141 importedMember 144 importedPackage 146 importedProfile 191 importingNamespace 141, 146 importMembers 145 includesCardinality 65 infinity 172 inherit 83, 117 inheritableMembers 83 initial 117, 125 initialization 96 inout 154 Instance specification 54 Instance value 57 Instances package 53 instantiated 117, 125 instantiation 64 integer 65, 99, 121, 138, 142 IntegerValue 49, 60, 183 isAbstract 82, 93 isComposite 96 isComputable 49, 59, 60, 61, 62, 63 isConsistentWith 77, 124, 151 isDerived 96, 110 isDistinguishableFrom 32, 71, 73 isMultivalued 65 isNavigable 124 isNull 49, 61 isOrdered 65, 66, 150 isQuery 150 isReadOnly 35, 96, 123, 124 isRedefinitionContextValid 124 isRequired 180 isUnique 65, 110, 125, 150 italics 118

   J

    Java 41, 175, 176, 190, 191

   K

    keyword 26, 117, 120

   L

    language 21, 40 Language Architecture 11 language units 1 line width 113 link 109 literal 49, 97 literalBoolean 59 literalInteger 60 literalNull 61 Literals package 58 literalSpecification 61 literalString 62 literalUnlimitedNatural 63 lowerBound 65, 69 lowerValue 69

   M

    M2 16 makesVisible 157 maySpecializeType 82 MDA 12, 211 member 72 memberEnd 110 membersAreDistinguishable 72 mergedPackage 159 metaclass 179, 180 metamodelReference 185 Model Driven Architecture 211 MOF 11, 12, 13, 14, 16, 89, 175, 185, 186 multiple inheritance 94 multiplicities 114, 172, 181 Multiplicities package 64 multiplicity 64, 66, 95, 111, 130 MultiplicityElement 64, 66 MultiplicityElement (specialized) 68 MultiplicityExpressions package 67 multivalued 64 mustBeOwned 74, 157 mutually constrained 96

   N

    name 33, 71, 83, 92, 125 NamedElement 71, 72, 83, 87 NamedElement (as specialized) 87 namespace 70, 143 Namespace (as specialized) 43

   UML Infrastructure Specification, v2.0

    Namespaces 70 Namespaces diagram 139 Namespaces package 70 natural language 25, 47 navigable 115, 123, 124, 164, 182 navigableOwnedEnd 110 navigation arrows 56, 113 nested namespaces 71 nestedPackage 99 nestingPackage 99 nonprintable characters 172 nonunique 66 note symbol 39, 42 null 61

   O

    OCL 23, 41, 47, 48, 69, 169, 171 onstraint language 9, 24 opaqueExpression 47, 106, 107 operand 46 operation 42, 117, 150, 154 operation compartment 120 opposite 96, 123 ordered 110, 111, 126, 136, 152 OrderedSet 125 out 154 overriding 72 ownedAttribute 93, 116, 134 ownedComment 39, 105 ownedElement 74 ownedEnd 110 ownedLiteral 98, 136 ownedMember 144, 156 ownedOperation 93, 117, 134 ownedParameter 95, 149 ownedRule 44, 133 ownedStereotype 185 ownedType 156 owner 74 Ownerships package 73 owningAssociation 123 owningInstance 58

   P

    package 99, 177, 179, 184 package import 141, 145 PackageableElement 132, 141, 144, 156 PackageImport 144, 145 PackageMerge 102, 154, 156, 158, 165 Packages diagram 99, 154 parameter 32, 95, 153, 160 parameter list 153 ParameterDirectionKind 154 parameters 117 plus sign 157 postcondition 42, 150 precondition 150 predefined 41, 169 primitive type 98 PrimitiveTypes 28, 98 printable characters 172 private 88, 157 profile 185 ProfileApplication 190 Profiles 13 Profiles package 175, 177 Property 93, 96, 116 property string 66, 112, 119 public 88, 157

   Q

    qualified 141 qualifiedName 142, 144, 157 query 151, 152, 164

   R

    raisedException 95, 149, 150 readOnly 34, 125, 126 rectangle 36, 39, 121, 136, 157 RedefinableElement 117, 122, 123, 127 redefine 125, 126 RedefineableElement 129 redefined 150, 152 redefinedElement 76, 129 redefinedOperation 150 redefinedProperty 123 redefines 111, 119, 126, 152 redefinitionContext 76, 129 redefinitions 75, 119 Redefinitions package 75 reference metamodel 175 relatedElement 79, 105 relationship 79, 103 relationship (directed) 78 Relationships package 78 removeOnly 34 returnResult 151 Root diagram 103 round parentheses 47 run-time extension 137

   S

    segments 112, 113 self 24, 41 semicircular jog 113 separate target style 52 separator 71 sequence 125 Set 125 shared target style 52, 84 side effect 69 slash 112 slot 55, 57, 81, 94 snapshot 55 solid line 112 solid path 56 solid-outline rectangle 36 source 79, 104 specialized 111 specific 52 specification 41, 54, 55, 132 square brackets 26, 66, 166 state 152 static operation 151 stereotype 179, 192 String 62, 99, 138 stringValue 49, 62 structural compatibility 77 structuralFeature 130 StructuralFeature (as specialized) 34 StructuralFeatures package 80 subset 111, 125 subsettedProperty 123 subsetting 123, 124 subsettingContext 123, 124 substitutable 77, 152 Super package 81 superClass 93 Superstructure 89 symbol 46

   T

    tab 157 target 79, 104 ternary association 114 tree 113 true 60 tuple 109 Type 100 type 83, 85, 119, 130, 162 type conformance 51 typedElement 86, 127, 131 TypedElements package 84

   U

    UML 11 underlined name 56 union 126 unique 64, 66, 111, 126 unlimited 63 UnlimitedNatural 49, 99, 138, 172 unlimitedValue 49, 63 unordered 66 unrestricted 34 upper 65, 68, 150 upperBound 65, 69 upperValue 69

   V

    value 58 ValueSpecification 41, 48, 69 visibilities 86 visibility 86, 87, 125, 141, 156 visibility keyword 117 Visibility package 86 visibility symbol 113 visibilityKind 88

   X

    XMI 11, 28, 67, 161, 175, 186 XML Metadata Interchange (XMI) 14

   UML Infrastructure Specification, v2.0