Software Disclaimer

Class UML 2.3::InstanceSpecification


An instance specification has the capability of being a deployment target in a deployment relationship, in the case that it is an instance of a node. It is also has the capability of being a deployed artifact, if it is an instance of an artifact.

Direct Superclasses: DeployedArtifact, DeploymentTarget, PackageableElement

Direct Subclasses: EnumerationLiteral

Class Precedence List: InstanceSpecification, DeployedArtifact, DeploymentTarget, PackageableElement, ParameterableElement, NamedElement, Element


classifier : Classifier (0 *); -- source InstanceSpecification
slot : Slot (0 *); -- source InstanceSpecification

A slot giving the value or values of a structural feature of the instance. An instance specification can have one slot per structural feature of its classifiers, including inherited features. It is not necessary to model a slot for each structural feature, in which case the instance specification is a partial description.
Subsets: Element.ownedElement
Opposite: Slot.owningInstance

specification : ValueSpecification (0 1); -- source InstanceSpecification
deployedElement : PackageableElement (0 *); -- source DeploymentTarget
deployment : Deployment (0 *); -- source DeploymentTarget
visibility : VisibilityKind (1 1); -- source PackageableElement
owningTemplateParameter : TemplateParameter (0 1); -- source ParameterableElement
templateParameter : TemplateParameter (0 1); -- source ParameterableElement
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 Element


Signature: structural_feature() : Boolean;
Description: One structural feature (including the same feature inherited from multiple classifiers) is the defining feature of at most one slot in an instance specification.
Expression: classifier->forAll(c | (c.allFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() <= 1)))

Signature: deployment_target() : Boolean;
Description: An InstanceSpecification can be a DeploymentTarget if it is the instance specification of a Node and functions as a part in the internal structure of an encompassing Node.
Expression: true

Signature: deployment_artifact() : Boolean;
Description: An InstanceSpecification can be a DeployedArtifact if it is the instance specification of an Artifact.
Expression: true

Signature: defining_feature() : Boolean;
Description: The defining feature of each slot is a structural feature (directly or inherited) of a classifier of the instance specification.
Expression: slot->forAll(s | classifier->exists (c | c.allFeatures()->includes (s.definingFeature)))


No additional operations.

Send questions or comments to