uk.ac.ucl.cs.uml.jmi.Foundation.Core
Interface Component

All Superinterfaces:
Classifier, Element, ExtObject, GeneralizableElement, ModelElement, Namespace, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefFeatured, javax.jmi.reflect.RefObject
All Known Implementing Classes:
Component_Impl

public interface Component
extends Classifier

A component represents a modular, deployable, and replaceable part of a system that encapsulates implementation and exposes a set of interfaces. A component is typically specified by one or more classifiers that reside on the component. A subset of these classifiers explicitly define the component’s external interfaces. A component conforms to the interfaces that it exposes, where the interfaces represent services provided by elements that reside on the component. A component may be implemented by one or more artifacts, such as binary, executable, or script files. A component may be deployed on a node. Components may be specified in both design models (e.g., using static structure diagrams) and in implementation models (e.g., using implementation diagrams). When they are specified as part of a design model components need not be allocated to nodes, nor do they need to have any associated implementation artifacts. In the metamodel, a Component is a child of Classifier. It does not have its own Features, but instead acts as a container for other Classifiers that have Features. A Component is specified by the Interfaces is exposes and the Classifiers that reside on it. The visibility attribute of the ElementResidence association defines whether a resident element is visible outside the Component: an external Interface of a Component has visibility value 'public'. A Component may be implemented by one or more Artifacts, and may be deployed on a Node.


Method Summary
 Collection getDeploymentLocation()
          The set of Nodes the Component is residing on.
 Collection getImplementation()
          The set of Artifacts that implement the Component.
 Collection getResident()
          (Association class ElementResidence) The set of model elements that specify the component.
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.Foundation.Core.Classifier
allAssociations, allAttributes, allFeatures, allMethods, allOperations, associations, getAssociation, getFeature, getPowertypeRange, getSpecifiedEnd, getTypedFeature, getTypedParameter, oppositeAssociationEnds
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.Foundation.Core.GeneralizableElement
getGeneralization, getIsAbstract, getIsLeaf, getIsRoot, getSpecialization, setIsAbstract, setIsLeaf, setIsRoot
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.Foundation.Core.ModelElement
getAsArgument, getBehavior, getClientDependency, getComment, getConstraint, getContainer, getDefaultElement, getIsSpecification, getName, getNamespace, getPackage, getPresentation, getReferenceTag, getSourceFlow, getStereotype, getSupplierDependency, getTaggedValue, getTargetFlow, getTemplate, getTemplateArgument, getTemplateParameter, getVisibility, setDefaultElement, setIsSpecification, setName, setNamespace, setTemplate, setVisibility
 
Methods inherited from interface uk.ac.ucl.cs.emofocl.jmi.reflect.extended.ExtObject
extAddObjectListener, extDeepCopy, extDeepCopy, extEquals, extRemoveObjectListener, extValueHash, extVisit
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.Foundation.Core.Namespace
allContents, getAllSurroundingNamespaces, getAllVisibleElements, getContents, getOwnedElement
 
Methods inherited from interface uk.ac.ucl.cs.uml.jmi.Foundation.Core.ModelElement
getAsArgument, getBehavior, getClientDependency, getComment, getConstraint, getContainer, getDefaultElement, getIsSpecification, getName, getNamespace, getPackage, getPresentation, getReferenceTag, getSourceFlow, getStereotype, getSupplierDependency, getTaggedValue, getTargetFlow, getTemplate, getTemplateArgument, getTemplateParameter, getVisibility, setDefaultElement, setIsSpecification, setName, setNamespace, setTemplate, setVisibility
 
Methods inherited from interface uk.ac.ucl.cs.emofocl.jmi.reflect.extended.ExtObject
extAddObjectListener, extDeepCopy, extDeepCopy, extEquals, extRemoveObjectListener, extValueHash, extVisit
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Method Detail

getDeploymentLocation

Collection getDeploymentLocation()
                                 throws javax.jmi.reflect.JmiException
The set of Nodes the Component is residing on.

Throws:
javax.jmi.reflect.JmiException

getResident

Collection getResident()
                       throws javax.jmi.reflect.JmiException
(Association class ElementResidence) The set of model elements that specify the component. The visibility attribute shows the external visibility of the element outside the component: an external Interface of a Component has visibility = ‘public’ for its ElementResidence association.

Throws:
javax.jmi.reflect.JmiException

getImplementation

Collection getImplementation()
                             throws javax.jmi.reflect.JmiException
The set of Artifacts that implement the Component. For a Component, these Artifacts are generally «executable».

Throws:
javax.jmi.reflect.JmiException