Class UML 2.5::Port
Description:
A Port is a property of an EncapsulatedClassifier that specifies a distinct
interaction point between that EncapsulatedClassifier and its environment
or between the (behavior of the) EncapsulatedClassifier and its internal
parts. Ports are connected to Properties of the EncapsulatedClassifier
by Connectors through which requests can be made to invoke BehavioralFeatures.
A Port may specify the services an EncapsulatedClassifier provides (offers)
to its environment as well as the services that an EncapsulatedClassifier
expects (requires) of its environment. A Port may have an associated ProtocolStateMachine.
Direct Superclasses: PropertyDirect Subclasses: Class Precedence List: Port,
Property,
ConnectableElement,
DeploymentTarget,
StructuralFeature,
MultiplicityElement,
TypedElement,
Feature,
RedefinableElement,
NamedElement,
ParameterableElement,
ElementProperties:
isBehavior : Boolean (1 1); -- source
Port isConjugated : Boolean (1 1); -- source
Port isService : Boolean (1 1); -- source
Port protocol :
ProtocolStateMachine (0 1); -- source
Port provided :
Interface (0 *); -- source
Port redefinedPort :
Port (0 *); -- source
Port required :
Interface (0 *); -- source
PortThe Interfaces specifying the set of Operations and Receptions that the
EncapsulatedCassifier expects its environment to handle via this port.
This association is derived according to the value of isConjugated. If
isConjugated is false, required is derived as the union of the sets of
Interfaces used by the type of the Port and its supertypes. If isConjugated
is true, it is derived as the union of the sets of Interfaces realized
by the type of the Port and its supertypes, or directly from the type of
the Port if the Port is typed by an Interface.
{
readonly,
derived}
aggregation :
AggregationKind (1 1); -- source
Property association :
Association (0 1); -- source
PropertyThe Association of which this Property is a member, if any.
Opposite: Association.memberEnd
associationEnd :
Property (0 1); -- source
Property class :
Class (0 1); -- source
Property datatype :
DataType (0 1); -- source
Property defaultValue :
ValueSpecification (0 1); -- source
Property interface :
Interface (0 1); -- source
Property isComposite : Boolean (1 1); -- source
Property isDerived : Boolean (1 1); -- source
Property isDerivedUnion : Boolean (1 1); -- source
Property isID : Boolean (1 1); -- source
Property opposite :
Property (0 1); -- source
Property owningAssociation :
Association (0 1); -- source
Property qualifier :
Property (0 *); -- source
Property redefinedProperty :
Property (0 *); -- source
Property subsettedProperty :
Property (0 *); -- source
Property end :
ConnectorEnd (0 *); -- source
ConnectableElement templateParameter :
ConnectableElementTemplateParameter (0 1); -- source
ConnectableElement deployedElement :
PackageableElement (0 *); -- source
DeploymentTarget deployment :
Deployment (0 *); -- source
DeploymentTarget isReadOnly : Boolean (1 1); -- source
StructuralFeature isOrdered : Boolean (1 1); -- source
MultiplicityElement isUnique : Boolean (1 1); -- source
MultiplicityElement lower : Integer (1 1); -- source
MultiplicityElement lowerValue :
ValueSpecification (0 1); -- source
MultiplicityElement upper : UnlimitedNatural (1 1); -- source
MultiplicityElement upperValue :
ValueSpecification (0 1); -- source
MultiplicityElement type :
Type (0 1); -- source
TypedElement featuringClassifier :
Classifier (0 1); -- 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
NamedElementThe StringExpression used to define the name of this NamedElement.
{
composite}
Subsets: Element.ownedElement
namespace :
Namespace (0 1); -- source
NamedElement qualifiedName : String (0 1); -- source
NamedElement visibility :
VisibilityKind (0 1); -- source
NamedElement owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementThe Element that owns this Element.
{
readonly}
Derived union with sources: (owningTemplateParameter, namespace, owningAssociation, interface, datatype, class, associationEnd)
Opposite: Element.ownedElement
Constraints:
No additional constraints.
Operations:
Signature: required.1() : Interface;
Description: Derivation for Port::/required
Expression: result = (if isConjugated then basicProvided() else basicRequired() endif)
Signature: provided.1() : Interface;
Description: Derivation for Port::/provided
Expression: result = (if isConjugated then basicRequired() else basicProvided() endif)
Signature: basicRequired() : Interface;
Description: The union of the sets of Interfaces used by the type of the Port and its
supertypes.
Expression: result = ( type.oclAsType(Classifier).allUsedInterfaces() )
Signature: basicProvided() : Interface;
Description: The union of the sets of Interfaces realized by the type of the Port and
its supertypes, or directly the type of the Port if the Port is typed by
an Interface.
Expression: result = (if type.oclIsKindOf(Interface) then type.oclAsType(Interface)->asSet() else type.oclAsType(Classifier).allRealizedInterfaces() endif)
Send questions or comments to
[email protected].