Changes from UML 1.4 to UML 2.1.1
This page contains a list of the changes that were made to the UML specification between UML 1.4 and UML 2.1.1. UML 1.4 was the most widely implemented of the UML 1.x series and UML 1.5 was a pure functional superset that just added Action support. UML 2.1.1 was the first widely implemented (and implementable) version in the UML 2.x series.
What changed? Pretty much everything (goes to show that giving a specification committee too much time never amounts to any good)! About the only thing that didn't change was the very simple Use Case diagram related stuff.
The following list is updated as work is done on the Model subsystem API to accommodate differences between UML 1.4 and UML 2.1.1. As such, it only represents things which can't be accommodated without API changes and which we had actually implemented for UML 1.4.
Feature.ownerScope with type of enumeration ?ScopeKind (values = instance, classifier) replaced by boolean Feature.isStatic
- Feature.targetScope dropped
?StructuralFeature.changeability with type ?ChangeableKind (values = changeable, frozen, addOnly) replaced by boolean Property.isReadOnly (?StructuralFeature is a subtype of Property). The addOnly value (which never really had a defined meaning anyway) is dropped.
Permission changed to ?PackageImport
Generalization.discriminator removed. The new ?GeneralizationSet provides a superset of the capabilities.
Geneneralization.powerType moved to ?GeneralizationSet.powerType
- Generalization.child renamed Generalization.specific. Generalization.parent renamed Generalization.general. (gratuitous name change!)
- Generalizations no longer have names (they were never displayed on the diagram, but you could specify them)
Primitive renamed to ?PrimitiveType
In general the type structure is much more fine-grained for UML 2.x as compared to UML 1.4, so there are many new types.
Removed ?TaggedValue & ?TaggedDefinition classes and related structures. "Tagged values" are now the values of attributes of an applied Stereotype instead. The UML 1.3 concept of ?TaggedValues unowned by a Stereotype, which was still possible, but not recommended in UML 1.4, is no longer supported.