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:

isIndirectlyInstantiated : Boolean (1 1); -- source
Component
packagedElement :
PackageableElement (0 *); -- source
Component
provided :
Interface (0 *); -- source
Component
realization :
ComponentRealization (0 *); -- source
Component
required :
Interface (0 *); -- source
Component
extension :
Extension (0 *); -- source
Class
isAbstract : Boolean (1 1); -- source
Class
isActive : Boolean (1 1); -- source
Class
nestedClassifier :
Classifier (0 *); -- source
Class
ownedAttribute :
Property (0 *); -- source
Class
ownedOperation :
Operation (0 *); -- source
Class
ownedReception :
Reception (0 *); -- source
Class
superClass :
Class (0 *); -- source
Class
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier
ownedPort :
Port (0 *); -- source
EncapsulatedClassifier
ownedConnector :
Connector (0 *); -- source
StructuredClassifier
part :
Property (0 *); -- source
StructuredClassifier
role :
ConnectableElement (0 *); -- source
StructuredClassifier
attribute :
Property (0 *); -- source
Classifier
collaborationUse :
CollaborationUse (0 *); -- source
Classifier
feature :
Feature (0 *); -- source
Classifier
generalization :
Generalization (0 *); -- source
Classifier
inheritedMember :
NamedElement (0 *); -- source
Classifier
isFinalSpecialization : Boolean (1 1); -- source
Classifier
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier
ownedUseCase :
UseCase (0 *); -- source
Classifier
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier
redefinedClassifier :
Classifier (0 *); -- source
Classifier
representation :
CollaborationUse (0 1); -- source
Classifier
substitution :
Substitution (0 *); -- source
Classifier
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier
useCase :
UseCase (0 *); -- source
Classifier
elementImport :
ElementImport (0 *); -- source
Namespace
importedMember :
PackageableElement (0 *); -- source
Namespace
member :
NamedElement (0 *); -- source
Namespace
ownedMember :
NamedElement (0 *); -- source
Namespace
ownedRule :
Constraint (0 *); -- source
Namespace
packageImport :
PackageImport (0 *); -- source
Namespace
package :
Package (0 1); -- source
Type
visibility :
VisibilityKind (0 1); -- source
PackageableElement
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement
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
ownedComment :
Comment (0 *); -- source
Element
ownedElement :
Element (0 *); -- source
Element
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].