Software Disclaimer

Class UML 2.3::Connector


A delegation connector is a connector that links the external contract of a component (as specified by its ports) to the realization of that behavior. It represents the forwarding of events (operation requests and events): a signal that arrives at a port that has a delegation connector to one or more parts or ports on parts will be passed on to those targets for handling. An assembly connector is a connector between two or more parts or ports on parts that defines that one or more parts provide the services that other parts use.

Direct Superclasses: Feature

Direct Subclasses:

Class Precedence List: Connector, Feature, RedefinableElement, NamedElement, Element


contract : Behavior (0 *); -- source Connector
end : ConnectorEnd (2 *); -- source Connector
kind : ConnectorKind (1 1); -- source Connector
redefinedConnector : Connector (0 *); -- source Connector
type : Association (0 1); -- source Connector
featuringClassifier : Classifier (0 *); -- source Feature
isStatic : Boolean (1 1); -- source Feature
isLeaf : Boolean (1 1); -- source RedefinableElement
redefinedElement : RedefinableElement (0 *); -- source RedefinableElement
redefinitionContext : Classifier (0 *); -- source RedefinableElement
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
visibility : VisibilityKind (0 1); -- source NamedElement
ownedComment : Comment (0 *); -- source Element
ownedElement : Element (0 *); -- source Element
owner : Element (0 1); -- source Element


Signature: types() : Boolean;
Description: The types of the connectable elements that the ends of a connector are attached to must conform to the types of the association ends of the association that types the connector, if any.
Expression: true

Signature: roles() : Boolean;
Description: The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles.
Expression: true

Signature: compatible() : Boolean;
Description: The connectable elements attached to the ends of a connector must be compatible.
Expression: true

Signature: between_interfaces_ports() : Boolean;
Description: Each feature of each of the required interfaces of each Port or Part at the end of a connector must have at least one compatible feature among the features of the provided interfaces of Ports or Parts at the other ends, where the required set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's provided interfaces, and the provided set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's required interfaces.
Expression: true


Signature: kind.1() : ConnectorKind;
Expression: result = if end->exists( role.oclIsKindOf(Port) and partWithPort->isEmpty() and not role.oclAsType(Port).isBehavior) then ConnectorKind::delegation else ConnectorKind::assembly endif

Send questions or comments to [email protected].