Software Disclaimer

Class UML 2.4.1::Substitution

Description:

A substitution is a relationship between two classifiers signifies that the substituting classifier complies with the contract specified by the contract classifier. This implies that instances of the substituting classifier are runtime substitutable where instances of the contract classifier are expected.

Direct Superclasses: Realization

Direct Subclasses:

Class Precedence List: Substitution, Realization, Abstraction, Dependency, PackageableElement, ParameterableElement, NamedElement, DirectedRelationship, Relationship, Element

Properties:

contract : Classifier (1 1); -- source Substitution
substitutingClassifier : Classifier (1 1); -- source Substitution
mapping : OpaqueExpression (0 1); -- source Abstraction

An composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and unidirectional; in other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified.
{composite}
Subsets: Element.ownedElement

client : NamedElement (1 *); -- source Dependency
supplier : NamedElement (1 *); -- source Dependency

The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific.
Subsets: DirectedRelationship.target

visibility : VisibilityKind (1 1); -- source PackageableElement
owningTemplateParameter : TemplateParameter (0 1); -- source ParameterableElement
templateParameter : TemplateParameter (0 1); -- source ParameterableElement
clientDependency : Dependency (0 *); -- source NamedElement
name : String (0 1); -- source NamedElement
nameExpression : StringExpression (0 1); -- source NamedElement
namespace : Namespace (0 1); -- source NamedElement
qualifiedName : String (0 1); -- source NamedElement
source : Element (1 *); -- source DirectedRelationship
target : Element (1 *); -- source DirectedRelationship
relatedElement : Element (1 *); -- source Relationship
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element

Constraints:

No additional constraints.

Operations:

No additional operations.



Send questions or comments to [email protected].