Software Disclaimer

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: Property

Direct Subclasses:

Class Precedence List: Port, Property, ConnectableElement, DeploymentTarget, StructuralFeature, MultiplicityElement, TypedElement, Feature, RedefinableElement, NamedElement, ParameterableElement, Element

Properties:

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 Port
aggregation : AggregationKind (1 1); -- source Property
association : Association (0 1); -- source Property
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

In the case where the Property is one end of a binary association this gives the other end.
{derived}

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 NamedElement
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 Element

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 xmi-interop@omg.org.