What is New in UML 2.5

From Training Material
Jump to navigation Jump to search

UML 2.5 spec

6.1 Specification Simplification

This specification has been extensively re-written from its previous version to make it easier to read by removing redundancy and increasing clarity. In particular, the following major changes have been made since UML 2.4.1:

  • The UML Infrastructure no longer forms part of the UML specification. The entire UML specification is constituted in this document.
  • Package Merge is not used within the specification. Every metaclass is specified completely in one clause.
  • The specification is organized to reduce forward references as much as possible. This means that topics such as Templates which are pervasive in their effects appear early in the specification.
  • Every clause has a section of documentation generated from the metamodel that contains all of the metaclasses with their properties, and all of the metaassociations with their properties. All cross-references in this generated documentation include hyperlinks to their targets.
  • The compliance levels L0, L1, L2, and L3 have been eliminated, because they were not found to be useful in practice. A tool either complies with the whole of UML or it does not. A tool may partially comply with UML by implementing a subset of its metamodel, notation, and semantics, in which case the vendor should declare which subset it implements.

However, the metamodel itself remains unchanged from UML 2.4.1 superstructure, with a few exceptions:

  • The metamodel has been partitioned into packages, corresponding to the clause structure of this specification. All of these packages are owned by a top-level package named UML; they are also imported into UML so that metaclasses may be referred to by their unqualified name in UML.
  • Many OCL constraints have been corrected or added where they were absent. In order to do this, some names of association-owned properties and the corresponding associations have been changed in order to avoid ambiguity in OCL expressions.
  • A small number of lower multiplicities have been relaxed from 1 to 0, in order to represent default values that cannot be formally represented using MOF. In these cases the absence of a value signifies the presence of a default value. These cases could not be represented at all in earlier versions of UML. They all occur in Clause 15: Activities and are made explicit in the text there.
  • The property LoopNode::loopVariable has been made composite, in order to enable interchange of loop variables, which was not possible in a standard way in UML 2.4.1.
  • NamedElement::clientDependency has been made derived.
  • {ordered} has been added to or removed from some properties in order to make the semantics consistent.

Michael's issues

Issue

Spec

Type

Description

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.5

Notation

Inherited properties and connectors

^

       
 

2.5

Notation

Inherited properties

greying

       
 

2.5

Conceptual

dropping package merge from UML definition

   
                   

9617

2.4

Conceptual

XOR

not predefined in UML

     

10087

2.4

Notation

Association-like notation for attributes --- this was also done previously in 2.x

10831

2.4

Conceptual

Packageable elements in a Package are now visible by default

12583

2.4

Notation

Real Primitive and Literal Real values

     

13477

2.4

Notation

default multiplicity = 1

       

13993

2.4

Conceptual

new Primitive Types Package

       

14092

2.4

Notation

change in capitalization of built-in stereotypes (now generally with leading cap)

14629

2.4

conceptual

Some events are dropped. For example, ExecutionEvent, CreationEvent, SendOperationEvent, SendSignalEvent, ReceiveOperatonEvent, 
ReservedSignalEvent

14931

2.4

conceptual

removed ownedtrigger

       

14964

2.4

conceptual

Context of some behaviors redefined

     

15369

2.4

notation

Added isID property to attributes

         

15370

2.4

notation

Package URI Field

         
                   
                   
 

?

Notation

Dot notation for association end ownership (not arrow)

 
 

?

Notation

isConjugated Port notation ~

       

Filp's issues

Class diagram

  • notation for an inherited property and connector (^ symbol)
<inherited-property> ::= ’^’ <property>
<inherited-connector> ::= ’^’ <connector>

Sequence diagram

  • A reply Message (messageSort equals reply) has a dashed line with either an open or filled arrow head.

Package diagram

  • PackageableElement
    • Attributes
      • visibility : VisibilityKind [0..1] = public A PackageableElement must have a visibility specified if it is owned by a Namespace. The default visibility is public.