Class UML 2.5::Component
Description:
A Component represents a modular part of a system that encapsulates its
contents and whose manifestation is replaceable within its environment.
Direct Superclasses: ClassDirect Subclasses: Class Precedence List: Component,
Class,
BehavioredClassifier,
EncapsulatedClassifier,
StructuredClassifier,
Classifier,
Namespace,
Type,
PackageableElement,
ParameterableElement,
TemplateableElement,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png)
isIndirectlyInstantiated : Boolean (1 1); -- source
Component![](/se-interop/image/down-arrow.png)
packagedElement :
PackageableElement (0 *); -- source
Component![](/se-interop/image/down-arrow.png)
provided :
Interface (0 *); -- source
Component![](/se-interop/image/down-arrow.png)
realization :
ComponentRealization (0 *); -- source
Component![](/se-interop/image/right-arrow.png)
required :
Interface (0 *); -- source
ComponentThe Interfaces that the Component requires from other Components in its
environment in order to be able to offer its full set of provided functionality.
These Interfaces may be used by the Component or any of its realizingClassifiers,
or they may be the Interfaces that are required by its public Ports.
{
readonly,
derived}
![](/se-interop/image/down-arrow.png)
extension :
Extension (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
isAbstract : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png)
isActive : Boolean (1 1); -- source
Class![](/se-interop/image/down-arrow.png)
nestedClassifier :
Classifier (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
ownedAttribute :
Property (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
ownedOperation :
Operation (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
ownedReception :
Reception (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
superClass :
Class (0 *); -- source
Class![](/se-interop/image/down-arrow.png)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
ownedPort :
Port (0 *); -- source
EncapsulatedClassifier![](/se-interop/image/down-arrow.png)
ownedConnector :
Connector (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png)
part :
Property (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png)
role :
ConnectableElement (0 *); -- source
StructuredClassifier![](/se-interop/image/down-arrow.png)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/right-arrow.png)
collaborationUse :
CollaborationUse (0 *); -- source
ClassifierThe CollaborationUses owned by the Classifier.
{
composite}
Subsets: Element.ownedElement
![](/se-interop/image/down-arrow.png)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png)
visibility :
VisibilityKind (0 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png)
owner :
Element (0 1); -- source
ElementConstraints:
No additional constraints.
Operations:
Signature: required.1() : Interface;
Description: Derivation for Component::/required
Expression: result = (let uis : Set(Interface) = allUsedInterfaces(), realizingClassifiers : Set(Classifier) = self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(), allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(), realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allUsedInterfaces())), ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(), usedByPorts : Set(Interface) = ports.required->asSet() in uis->union(realizingClassifierInterfaces)->union(usedByPorts)->asSet() )
Signature: provided.1() : Interface;
Description: Derivation for Component::/provided
Expression: result = (let ris : Set(Interface) = allRealizedInterfaces(), realizingClassifiers : Set(Classifier) = self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(), allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(), realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allRealizedInterfaces())), ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(), providedByPorts : Set(Interface) = ports.provided->asSet() in ris->union(realizingClassifierInterfaces) ->union(providedByPorts)->asSet())
Send questions or comments to
[email protected].