Class UML 2.4.1::Connector
Description:
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.Specifies a link that enables communication between
two or more instances. This link may be an instance of an association,
or it may represent the possibility of the instances being able to communicate
because their identities are known by virtue of being passed in as parameters,
held in variables or slots, or because the communicating instances are
the same instance. The link may be realized by something as simple as a
pointer or by something as complex as a network connection. In contrast
to associations, which specify links between any instance of the associated
classifiers, connectors specify links between instances playing the connected
parts only.
Direct Superclasses: FeatureDirect Subclasses: Class Precedence List: Connector,
Feature,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
contract :
Behavior (0 *); -- source
Connector![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
end :
ConnectorEnd (2 *); -- source
Connector![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
kind :
ConnectorKind (1 1); -- source
Connector![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
redefinedConnector :
Connector (0 *); -- source
Connector![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
type :
Association (0 1); -- source
Connector![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
featuringClassifier :
Classifier (0 *); -- source
Feature![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
isStatic : Boolean (1 1); -- source
Feature![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
visibility :
VisibilityKind (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=19550%3A09C669C633723916E8002C71D437DC3F)
owner :
Element (0 1); -- source
ElementConstraints:
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
Operations:
Signature: kind.1() : ConnectorKind;
Description: Missing derivation for Connector::/kind : 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].