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.
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.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 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.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 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 |
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