Previous | Table of Contents | Next |
The term semantic variation point is used throughout this document to denote a part of the UML specification whose purpose
in the overall specification is known but whose form or semantics may be varied in some way. The objective of a semantic variation
point is to enable specialization of that part of UML for a particular situation or domain.
There are several forms in which semantic variation points appear in the standard:
• Changeable default — in this case, a single default specification for the semantic variation point is provided in the standard but it may be replaced. For example, the standard provides a default set of rules for specializing state machines, but this default can be overridden (e.g., in a profile) by a different set of rules (the choice typically depends on which definition of behavioral compatibility is used).
• Multiple choice — in this case, the standard explicitly specifies a number of possible mutually exclusive choices, one of which may be marked as the default. Language designers may either select one of those alternatives or define a new one. An example of this type of variation point can be found in the handling of unexpected events in state machines; the choices include (a) ignoring the event (the default), (b) explicitly rejecting it, or (c) deferring it.
• Undefined — in this case, the standard does not provide any pre-defined specifications for the semantic variation point. For instance, the rules for selecting the method to be executed when a polymorphic operation is invoked are not defined in the standard.