Starion Group

OMG SysML® Version 2 Ecore based Meta Model Documentation

Release 2024-12

Powered By Starion Group, 2022-2025

1. Enumeration Types

FeatureDirectionKind

FeatureDirectionKind enumerates the possible kinds of direction that a Feature may be given as a member of a Type.

Name Description
in

Values of the Feature on each instance of its domain are determined externally to that instance and used internally.

inout

Values of the Feature on each instance are determined either as in or out directions, or both.

out

Values of the Feature on each instance of its domain are determined internally to that instance and used externally.

PortionKind

PortionKind is an enumeration of the specific kinds of Occurrence portions that can be represented by an OccurrenceUsage.

Name Description
timeslice

A time slice of an Occurrence (a portion over time).

snapshot

A snapshot of an Occurrence (a time slice with zero duration).

RequirementConstraintKind

A RequirementConstraintKind indicates whether a ConstraintUsage is an assumption or a requirement in a RequirementDefinition or RequirementUsage.

Name Description
assumption

Indicates that a member ConstraintUsage of a RequirementDefinition or RequirementUsage represents an assumption.

requirement

Indicates that a member ConstraintUsage of a RequirementDefinition or RequirementUsagerepresents an requirement.

StateSubactionKind

A StateSubactionKind indicates whether the action of a StateSubactionMembership is an entry, do or exit action.

Name Description
entry

Indicates that the action of a StateSubactionMembership is an entryAction.

do

Indicates that the action of a StateSubactionMembership is a doAction.

exit

Indicates that the action of a StateSubactionMembership is an exitAction.

TransitionFeatureKind

A TransitionActionKind indicates whether the transitionFeature of a TransitionFeatureMembership is a trigger, guard or effect.

Name Description
trigger

Indicates that the transitionFeature of a TransitionFeatureMembership is a triggerAction.

guard

Indicates that the transitionFeature of a TransitionFeatureMembership is a guardExpression.

effect

Indicates that the transitionFeature of a TransitionFeatureMembership is an effectAction.

TriggerKind

TriggerKind enumerates the kinds of triggers that can be represented by a TriggerInvocationExpression.

Name Description
when

Indicates a change trigger, corresponding to the TriggerWhen Function from the Triggers model in the Kernel Semantic Library.

at

Indicates an absolute time trigger, corresponding to the TriggerAt Function from the Triggers model in the Kernel Semantic Library.

after

Indicates a relative time trigger, corresponding to the TriggerAfter Function from the Triggers model in the Kernel Semantic Library.

VisibilityKind

VisibilityKind is an enumeration whose literals specify the visibility of a Membership of an Element in a Namespace outside of that Namespace. Note that "visibility" specifically restricts whether an Element in a Namespace may be referenced by name from outside the Namespace and only otherwise restricts access to an Element as provided by specific constraints in the abstract syntax (e.g., preventing the import or inheritance of private Elements).

Name Description
private

Indicates a Membership is not visible outside its owning Namespace.

protected

An intermediate level of visibility between public and private. By default, it is equivalent to private for the purposes of normal access to and import of Elements from a Namespace. However, other Relationships may be specified to include Memberships with protected visibility in the list of memberships for a Namespace (e.g., Specialization).

public

Indicates that a Membership is publicly visible outside its owning Namespace.

2. Classes

AcceptActionUsage

Definition

An AcceptActionUsage is an ActionUsage that specifies the acceptance of an incomingTransfer from the Occurrence given by the result of its receiverArgument Expression. (If no receiverArgument is provided, the default is the this context of the AcceptActionUsage.) The payload of the accepted Transfer is output on its payloadParameter. Which Transfers may be accepted is determined by conformance to the typing and (potentially) binding of the payloadParameter.inputParameters()->size() >= 2receiverArgument = argument(2)payloadArgument = argument(1)payloadParameter = if parameter->isEmpty() then null else parameter->first() endifnot isTriggerAction() implies specializesFromLibrary('Actions::acceptActions')isSubactionUsage() and not isTriggerAction() implies specializesFromLibrary('Actions::Action::acceptSubactions')isTriggerAction() implies specializesFromLibrary('Actions::TransitionAction::accepter')payloadArgument <> null andpayloadArgument.oclIsKindOf(TriggerInvocationExpression) implies let invocation : Expression = payloadArgument.oclAsType(Expression) in parameter->size() >= 2 and invocation.parameter->size() >= 2 and ownedFeature->selectByKind(BindingConnector)->exists(b | b.relatedFeatures->includes(parameter->at(2)) and b.relatedFeatures->includes(invocation.parameter->at(2)))

Features

Name Description
Is Abstract FALSE
Generalizations ActionUsage

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
payloadArgument Expression [0..1] {derived} An Expression whose result is bound to the payload parameter of this AcceptActionUsage. If provided, the AcceptActionUsage will only accept a Transfer with exactly this payload. AcceptActionUsage
payloadParameter ReferenceUsage [1..1] {derived} The nestedReference of this AcceptActionUsage that redefines the payload output parameter of the base AcceptActionUsage AcceptAction from the Systems Model Library. AcceptActionUsage
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
receiverArgument Expression [0..1] {derived} An Expression whose result is bound to the receiver input parameter of this AcceptActionUsage. AcceptActionUsage
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

ActionDefinition

Definition

An ActionDefinition is a Definition that is also a Behavior that defines an Action performed by a system or part of a system.specializesFromLibrary('Actions::Action')action = usage->selectByKind(ActionUsage)

Features

Name Description
Is Abstract FALSE
Generalizations OccurrenceDefinition Behavior

Properties

Name Type Default Description Inheritance
action ActionUsage [0..-1] {derived} The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition. ActionDefinition
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

ActionUsage

Definition

An ActionUsage is a Usage that is also a Step, and, so, is typed by a Behavior. Nominally, if the type is an ActionDefinition, an ActionUsage is a Usage of that ActionDefinition within a system. However, other kinds of kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries.isSubactionUsage() implies specializesFromLibrary('Actions::Action::subactions')specializesFromLibrary('Actions::actions')isComposite and owningType <> null and(owningType.oclIsKindOf(PartDefinition) or owningType.oclIsKindOf(PartUsage)) implies specializesFromLibrary('Parts::Part::ownedActions')owningFeatureMembership <> null andowningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies let kind : StateSubactionKind = owningFeatureMembership.oclAsType(StateSubactionMembership).kind in if kind = StateSubactionKind::entry then redefinesFromLibrary('States::StateAction::entryAction') else if kind = StateSubactionKind::do then redefinesFromLibrary('States::StateAction::doAction') else redefinesFromLibrary('States::StateAction::exitAction') endif endif

Features

Name Description
Is Abstract FALSE
Generalizations OccurrenceUsage Step

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

ActorMembership

Definition

An ActorMembership is a ParameterMembership that identifies a PartUsage as an actor parameter, which specifies a role played by an external entity in interaction with the owningType of the ActorMembership.owningType.oclIsKindOf(RequirementUsage) orowningType.oclIsKindOf(RequirementDefinition) orowningType.oclIsKindOf(CaseDefinition) orowningType.oclIsKindOf(CaseUsage)

Features

Name Description
Is Abstract FALSE
Generalizations ParameterMembership

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
feature Feature [1..1] The Feature that is featured by the featuringType. Featuring
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
memberElement Element [1..1] The Element that becomes a member of the membershipOwningNamespace due to this Membership. Membership
memberElementId string [1..1] {derived} The elementId of the memberElement. Membership
memberName string [0..1] The name of the memberElement relative to the membershipOwningNamespace. Membership
membershipOwningNamespace Namespace [1..1] {derived} The Namespace of which the memberElement becomes a member due to this Membership. Membership
memberShortName string [0..1] The short name of the memberElement relative to the membershipOwningNamespace. Membership
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedActorParameter PartUsage [1..1] {derived} The PartUsage specifying the actor. ActorMembership
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedMemberElement Element [1..1] {derived} The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership. OwningMembership
ownedMemberElementId string [1..1] {derived} The elementId of the ownedMemberElement. OwningMembership
ownedMemberFeature Feature [1..1] {derived} The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType. FeatureMembership
ownedMemberName string [0..1] {derived} The name of the ownedMemberElement. OwningMembership
ownedMemberParameter Feature [1..1] {derived} The Feature that is identified as a parameter by this ParameterMembership. ParameterMembership
ownedMemberShortName string [0..1] {derived} The shortName of the ownedMemberElement. OwningMembership
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [1..1] {derived} The Type that owns this FeatureMembership. FeatureMembership
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [1..1] The Type that features the featureOfType. Featuring
visibility VisibilityKind [1..1] public Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace. Membership

AllocationDefinition

Definition

An AllocationDefinition is a ConnectionDefinition that specifies that some or all of the responsibility to realize the intent of the source is allocated to the target instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An AllocationDefinition can itself be refined using nested allocations that give a finer-grained decomposition of the containing allocation mapping.allocation = usage->selectAsKind(AllocationUsage)specializesFromLibrary('Allocations::Allocation')

Features

Name Description
Is Abstract FALSE
Generalizations ConnectionDefinition

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
allocation AllocationUsage [0..-1] {derived} The AllocationUsages that refine the allocation mapping defined by this AllocationDefinition. AllocationDefinition
associationEnd Feature [0..-1] {derived} The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association. Association
connectionEnd Usage [0..-1] {derived} The Usages that define the things related by the ConnectionDefinition. ConnectionDefinition
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedType Type [0..-1] {derived} The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship. Association
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceType Type [0..1] {derived} The source relatedType for this Association. It is the first relatedType of the Association. Association
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetType Type [0..-1] {derived} The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType. Association
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

AllocationUsage

Definition

An AllocationUsage is a usage of an AllocationDefinition asserting the allocation of the source feature to the target feature.specializesFromLibrary('Allocations::allocations')

Features

Name Description
Is Abstract FALSE
Generalizations ConnectionUsage

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
allocationDefinition AllocationDefinition [0..-1] {derived} The AllocationDefinitions that are the types of this AllocationUsage. AllocationUsage
association Association [0..-1] {derived} The Associations that type the Connector. Connector
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
connectionDefinition AssociationStructure [0..-1] {derived} The AssociationStructures that are the types of this ConnectionUsage. Nominally, these are , but other kinds of Kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries ConnectionUsage
connectorEnd Feature [0..-1] {derived} The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector. Connector
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
itemDefinition Structure [0..-1] {derived} The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library. ItemUsage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
partDefinition PartDefinition [0..-1] {derived} The itemDefinitions of this PartUsage that are PartDefinitions. PartUsage
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedFeature Feature [0..-1] {derived} The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector. Connector
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceFeature Feature [0..1] {derived} The source relatedFeature for this Connector. It is the first relatedFeature. Connector
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetFeature Feature [0..-1] {derived} The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature. Connector
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

AnalysisCaseDefinition

Definition

An AnalysisCaseDefinition is a CaseDefinition for the case of carrying out an analysis.resultExpression = let results : OrderedSet(ResultExpressionMembership) = featureMembersip-> selectByKind(ResultExpressionMembership) in if results->isEmpty() then null else results->first().ownedResultExpression endifspecializesFromLibrary('AnalysisCases::AnalysisCase')

Features

Name Description
Is Abstract FALSE
Generalizations CaseDefinition

Properties

Name Type Default Description Inheritance
action ActionUsage [0..-1] {derived} The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition. ActionDefinition
actorParameter PartUsage [0..-1] {derived} The parameters of this CaseDefinition that represent actors involved in the case. CaseDefinition
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
calculation CalculationUsage [0..-1] {derived} The actions of this CalculationDefinition that are CalculationUsages. CalculationDefinition
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
expression Expression [0..-1] {derived} The Expressions that are steps in the calculation of the result of this Function.The set of expressions that represent computational steps or parts of a system of equations within the Function. Function
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable. Function
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
objectiveRequirement RequirementUsage [0..1] {derived} The RequirementUsage representing the objective of this CaseDefinition. CaseDefinition
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} The object or value that is the result of evaluating the Function.The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership. Function
resultExpression Expression [0..1] {derived} An Expression used to compute the result of the AnalysisCaseDefinition, owned via a ResultExpressionMembership. AnalysisCaseDefinition
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
subjectParameter Usage [1..1] {derived} The parameter of this CaseDefinition that represents its subject. CaseDefinition
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

AnalysisCaseUsage

Definition

An AnalysisCaseUsage is a Usage of an AnalysisCaseDefinition.resultExpression = let results : OrderedSet(ResultExpressionMembership) = featureMembersip-> selectByKind(ResultExpressionMembership) in if results->isEmpty() then null else results->first().ownedResultExpression endifspecializesFromLibrary('AnalysisCases::analysisCases')isComposite and owningType <> null and (owningType.oclIsKindOf(AnalysisCaseDefinition) or owningType.oclIsKindOf(AnalysisCaseUsage)) implies specializesFromLibrary('AnalysisCases::AnalysisCase::subAnalysisCases')

Features

Name Description
Is Abstract FALSE
Generalizations CaseUsage

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
actorParameter PartUsage [0..-1] {derived} The parameters of this CaseUsage that represent actors involved in the case. CaseUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
analysisCaseDefinition AnalysisCaseDefinition [0..1] {derived} The AnalysisCaseDefinition that is the definition of this AnalysisCaseUsage. AnalysisCaseUsage
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
calculationDefinition Function [0..1] {derived} The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries. CalculationUsage
caseDefinition CaseDefinition [0..1] {derived} The CaseDefinition that is the type of this CaseUsage. CaseUsage
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
objectiveRequirement RequirementUsage [0..1] {derived} The RequirementUsage representing the objective of this CaseUsage. CaseUsage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
resultExpression Expression [0..1] {derived} An Expression used to compute the result of the AnalysisCaseUsage, owned via a ResultExpressionMembership. AnalysisCaseUsage
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
subjectParameter Usage [1..1] {derived} The parameter of this CaseUsage that represents its subject. CaseUsage
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

AnnotatingElement

Definition

An AnnotatingElement is an Element that provides additional description of or metadata on some other Element. An AnnotatingElement is either attached to its annotatedElements by Annotation Relationships, or it implicitly annotates its owningNamespace.annotatedElement = if annotation->notEmpty() then annotation.annotatedElement else Sequence{owningNamespace} endifownedAnnotatingRelationship = ownedRelationship-> selectByKind(Annotation)-> select(a | a.annotatingElement = self)annotation = if owningAnnotatingRelationship = null then ownedAnnotatingRelationship else owningAnnotatingRelationship->prepend(owningAnnotatingRelationship) endif

Features

Name Description
Is Abstract FALSE
Generalizations Element

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
annotatedElement Element [1..-1] {derived} The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotatedElements of the annotations. If annotation is empty, then it is the owningNamespace of the AnnotatingElement. AnnotatingElement
annotation Annotation [0..-1] {derived} The Annotations that relate this AnnotatingElement to its annotatedElements. This includes the owningAnnotatingRelationship (if any) followed by all the ownedAnnotatingRelationshps. AnnotatingElement
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotatingRelationship Annotation [0..-1] {derived} The ownedRelationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotatingElement. AnnotatingElement
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningAnnotatingRelationship Annotation [0..1] {derived} The owningRelationship of this AnnotatingRelationship, if it is an Annotation AnnotatingElement
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

Annotation

Definition

An Annotation is a Relationship between an AnnotatingElement and the Element that is annotated by that AnnotatingElement.(owningAnnotatedElement <> null) = (ownedAnnotatingElement <> null)ownedAnnotatingElement <> null xor owningAnnotatingElement <> nullownedAnnotatingElement = let ownedAnnotatingElements : Sequence(AnnotatingElement) = ownedRelatedElement->selectByKind(AnnotatingElement) in if ownedAnnotatingElements->isEmpty() then null else ownedAnnotatingElements->first() endifannotatingElement = if ownedAnnotatingElement <> null then ownedAnnotatingElement else owningAnnotatingElement endif

Features

Name Description
Is Abstract FALSE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
annotatedElement Element [1..1] The Element that is annotated by the annotatingElement of this Annotation. Annotation
annotatingElement AnnotatingElement [1..1] {derived} The AnnotatingElement that annotates the annotatedElement of this Annotation. This is always either the ownedAnnotatingElement or the owningAnnotatingElement. Annotation
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotatingElement AnnotatingElement [0..1] {derived} The annotatingElement of this Annotation, when it is an ownedRelatedElement. Annotation
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningAnnotatedElement Element [0..1] {derived} The annotatedElement of this Annotation, when it is also the owningRelatedElement. Annotation
owningAnnotatingElement AnnotatingElement [0..1] {derived} The annotatingElement of this Annotation, when it is the owningRelatedElement. Annotation
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

AssertConstraintUsage

Definition

An AssertConstraintUsage is a ConstraintUsage that is also an Invariant and, so, is asserted to be true (by default). Unless it is the AssertConstraintUsage itself, the asserted ConstraintUsage is related to the AssertConstraintUsage by a ReferenceSubsetting Relationship.assertedConstraint = if referencedFeatureTarget() = null then self else if referencedFeatureTarget().oclIsKindOf(ConstraintUsage) then referencedFeatureTarget().oclAsType(ConstraintUsage) else null endif endifif isNegated then specializesFromLibrary('Constraints::negatedConstraintChecks')else specializesFromLibrary('Constraints::assertedConstraintChecks')endifownedReferenceSubsetting <> null implies ownedReferenceSubsetting.referencedFeature.oclIsKindOf(ConstraintUsage)

Features

Name Description
Is Abstract FALSE
Generalizations ConstraintUsage Invariant

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
assertedConstraint ConstraintUsage [1..1] {derived} The ConstraintUsage to be performed by the AssertConstraintUsage. It is the referenceFeature of the ownedReferenceSubsetting for the AssertConstraintUsage, if there is one, and, otherwise, the AssertConstraintUsage itself. AssertConstraintUsage
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
constraintDefinition Predicate [0..1] {derived} The (single) Predicate that is the type of this ConstraintUsage. Nominally, this will be a ConstraintDefinition, but other kinds of Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries. ConstraintUsage
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNegated bool [1..1] false Whether this Invariant is asserted to be false rather than true. Invariant
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
predicate Predicate [0..1] {derived} The Predicate that types the Expression.The Predicate that types this BooleanExpression. BooleanExpression
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

AssignmentActionUsage

Definition

An AssignmentActionUsage is an ActionUsage that is defined, directly or indirectly, by the ActionDefinition AssignmentAction from the Systems Model Library. It specifies that the value of the referent Feature, relative to the target given by the result of the targetArgument Expression, should be set to the result of the valueExpression.specializesFromLibrary('Actions::assignmentActions')let targetParameter : Feature = inputParameter(1) intargetParameter <> null andtargetParameter.ownedFeature->notEmpty() andtargetParameter.ownedFeature->first(). redefines('AssignmentAction::target::startingAt')valueExpression = argument(2)targetArgument = argument(1)isSubactionUsage() implies specializesFromLibrary('Actions::Action::assignments')let targetParameter : Feature = inputParameter(1) intargetParameter <> null andtargetParameter.ownedFeature->notEmpty() andtargetParameter->first().ownedFeature->notEmpty() andtargetParameter->first().ownedFeature->first(). redefines('AssigmentAction::target::startingAt::accessedFeature')let targetParameter : Feature = inputParameter(1) intargetParameter <> null andtargetParameter.ownedFeature->notEmpty() andtargetParameter->first().ownedFeature->notEmpty() andtargetParameter->first().ownedFeature->first().redefines(referent)referent = let unownedFeatures : Sequence(Feature) = ownedMembership-> reject(oclIsKindOf(FeatureMembership)).memberElement-> selectByKind(Feature) in if unownedFeatures->isEmpty() then null else unownedFeatures->first().oclAsType(Feature) endifownedMembership->exists( not oclIsKindOf(OwningMembership) and memberElement.oclIsKindOf(Feature))

Features

Name Description
Is Abstract FALSE
Generalizations ActionUsage

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
referent Feature [1..1] {derived} The Feature whose value is to be set. AssignmentActionUsage
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
targetArgument Expression [0..1] {derived} The Expression whose value is an occurrence in the domain of the referent Feature, for which the value of the referent will be set to the result of the valueExpression by this AssignmentActionUsage. AssignmentActionUsage
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
valueExpression Expression [0..1] {derived} The Expression whose result is to be assigned to the referent Feature. AssignmentActionUsage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

Association

Definition

An Association is a Relationship and a Classifier to enable classification of links between things (in the universe). The co-domains (types) of the associationEnd Features are the relatedTypes, as co-domain and participants (linked things) of an Association identify each other.relatedType = associationEnd.typespecializesFromLibrary('Links::Link')oclIsKindOf(Structure) = oclIsKindOf(AssociationStructure)associationEnd->size() = 2 implies specializesFromLibrary('Links::BinaryLink')not isAbstract implies relatedType->size() >= 2associationEnds->size() > 2 implies not specializesFromLibrary('Links::BinaryLink')sourceType = if relatedType->isEmpty() then null else relatedType->first() endiftargetType = if relatedType->size() < 2 then OrderedSet{} else relatedType-> subSequence(2, relatedType->size())-> asOrderedSet() endifownedEndFeature->forAll(type->size() = 1)

Features

Name Description
Is Abstract FALSE
Generalizations Classifier Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
associationEnd Feature [0..-1] {derived} The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association. Association
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedType Type [0..-1] {derived} The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship. Association
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceType Type [0..1] {derived} The source relatedType for this Association. It is the first relatedType of the Association. Association
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetType Type [0..-1] {derived} The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType. Association
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

AssociationStructure

Definition

An AssociationStructure is an Association that is also a Structure, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end Features can change over time. However, the values of the end Features of a link object are fixed and cannot change over its lifetime.specializesFromLibrary('Objects::LinkObject')endFeature->size() = 2 implies specializesFromLibrary('Objects::BinaryLinkObject')

Features

Name Description
Is Abstract FALSE
Generalizations Association Structure

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
associationEnd Feature [0..-1] {derived} The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association. Association
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedType Type [0..-1] {derived} The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship. Association
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceType Type [0..1] {derived} The source relatedType for this Association. It is the first relatedType of the Association. Association
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetType Type [0..-1] {derived} The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType. Association
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

AttributeDefinition

Definition

An AttributeDefinition is a Definition and a DataType of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All features of an AttributeDefinition must be referential (non-composite).As a DataType, an AttributeDefinition must specialize, directly or indirectly, the base DataType Base::DataValue from the Kernel Semantic Library.feature->forAll(not isComposite)

Features

Name Description
Is Abstract FALSE
Generalizations Definition DataType

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

AttributeUsage

Definition

An AttributeUsage is a Usage whose type is a DataType. Nominally, if the type is an AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its nested features must be referential (non-composite).An AttributeUsage must specialize, directly or indirectly, the base Feature Base::dataValues from the Kernel Semantic Library.isReferencefeature->forAll(not isComposite)specializesFromLibrary('Base::dataValues')

Features

Name Description
Is Abstract FALSE
Generalizations Usage

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
attributeDefinition DataType [0..-1] {derived} The DataTypes that are the types of this AttributeUsage. Nominally, these are AttributeDefinitions, but other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries. AttributeUsage
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

Behavior

Definition

A Behavior coordinates occurrences of other Behaviors, as well as changes in objects. Behaviors can be decomposed into Steps and be characterized by parameters.ownedSpecialization.general->forAll(not oclIsKindOf(Structure))specializesFromLibrary('Performances::Performance')step = feature->selectByKind(Step)

Features

Name Description
Is Abstract FALSE
Generalizations Class

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

BindingConnector

Definition

A BindingConnector is a binary Connector that requires its relatedFeatures to identify the same things (have the same values).relatedFeature->size() = 2specializesFromLibrary('Links::selfLinks')

Features

Name Description
Is Abstract FALSE
Generalizations Connector

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
association Association [0..-1] {derived} The Associations that type the Connector. Connector
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
connectorEnd Feature [0..-1] {derived} The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector. Connector
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedFeature Feature [0..-1] {derived} The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector. Connector
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceFeature Feature [0..1] {derived} The source relatedFeature for this Connector. It is the first relatedFeature. Connector
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetFeature Feature [0..-1] {derived} The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature. Connector
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

BindingConnectorAsUsage

Definition

A BindingConnectorAsUsage is both a BindingConnector and a ConnectorAsUsage.

Features

Name Description
Is Abstract FALSE
Generalizations ConnectorAsUsage BindingConnector

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
association Association [0..-1] {derived} The Associations that type the Connector. Connector
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
connectorEnd Feature [0..-1] {derived} The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector. Connector
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedFeature Feature [0..-1] {derived} The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector. Connector
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceFeature Feature [0..1] {derived} The source relatedFeature for this Connector. It is the first relatedFeature. Connector
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetFeature Feature [0..-1] {derived} The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature. Connector
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

BooleanExpression

Definition

A BooleanExpression is a Boolean-valued Expression whose type is a Predicate. It represents a logical condition resulting from the evaluation of the Predicate.specializesFromLibrary('Performances::booleanEvaluations')

Features

Name Description
Is Abstract FALSE
Generalizations Expression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
predicate Predicate [0..1] {derived} The Predicate that types the Expression.The Predicate that types this BooleanExpression. BooleanExpression
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

CalculationDefinition

Definition

A CalculationDefinition is an ActionDefinition that also defines a Function producing a result.specializesFromLibrary('Calculations::Calculation')calculation = action->selectByKind(CalculationUsage)

Features

Name Description
Is Abstract FALSE
Generalizations ActionDefinition Function

Properties

Name Type Default Description Inheritance
action ActionUsage [0..-1] {derived} The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition. ActionDefinition
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
calculation CalculationUsage [0..-1] {derived} The actions of this CalculationDefinition that are CalculationUsages. CalculationDefinition
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
expression Expression [0..-1] {derived} The Expressions that are steps in the calculation of the result of this Function.The set of expressions that represent computational steps or parts of a system of equations within the Function. Function
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable. Function
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} The object or value that is the result of evaluating the Function.The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership. Function
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

CalculationUsage

Definition

A CalculationUsage is an ActionUsage that is also an Expression, and, so, is typed by a Function. Nominally, if the type is a CalculationDefinition, a CalculationUsage is a Usage of that CalculationDefinition within a system. However, other kinds of kernel Functions are also allowed, to permit use of Functions from the Kernel Model Libraries.specializesFromLibrary('Calculations::calculations')owningType <> null and(owningType.oclIsKindOf(CalculationDefinition) or owningType.oclIsKindOf(CalculationUsage)) implies specializesFromLibrary('Calculations::Calculation::subcalculations')

Features

Name Description
Is Abstract FALSE
Generalizations ActionUsage Expression

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
calculationDefinition Function [0..1] {derived} The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries. CalculationUsage
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

CaseDefinition

Definition

A CaseDefinition is a CalculationDefinition for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective.objectiveRequirement = let objectives: OrderedSet(RequirementUsage) = featureMembership-> selectByKind(ObjectiveMembership). ownedRequirement in if objectives->isEmpty() then null else objectives->first().ownedObjectiveRequirement endiffeatureMembership-> selectByKind(ObjectiveMembership)-> size() <= 1subjectParameter = let subjectMems : OrderedSet(SubjectMembership) = featureMembership->selectByKind(SubjectMembership) in if subjectMems->isEmpty() then null else subjectMems->first().ownedSubjectParameter endifactorParameter = featureMembership-> selectByKind(ActorMembership). ownedActorParameterfeatureMembership->selectByKind(SubjectMembership)->size() <= 1input->notEmpty() and input->first() = subjectParameterspecializesFromLibrary('Cases::Case')

Features

Name Description
Is Abstract FALSE
Generalizations CalculationDefinition

Properties

Name Type Default Description Inheritance
action ActionUsage [0..-1] {derived} The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition. ActionDefinition
actorParameter PartUsage [0..-1] {derived} The parameters of this CaseDefinition that represent actors involved in the case. CaseDefinition
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
calculation CalculationUsage [0..-1] {derived} The actions of this CalculationDefinition that are CalculationUsages. CalculationDefinition
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
expression Expression [0..-1] {derived} The Expressions that are steps in the calculation of the result of this Function.The set of expressions that represent computational steps or parts of a system of equations within the Function. Function
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable. Function
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
objectiveRequirement RequirementUsage [0..1] {derived} The RequirementUsage representing the objective of this CaseDefinition. CaseDefinition
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} The object or value that is the result of evaluating the Function.The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership. Function
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
subjectParameter Usage [1..1] {derived} The parameter of this CaseDefinition that represents its subject. CaseDefinition
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

CaseUsage

Definition

A CaseUsage is a Usage of a CaseDefinition.objectiveRequirement = let objectives: OrderedSet(RequirementUsage) = featureMembership-> selectByKind(ObjectiveMembership). ownedRequirement in if objectives->isEmpty() then null else objectives->first().ownedObjectiveRequirement endiffeatureMembership-> selectByKind(ObjectiveMembership)-> size() <= 1featureMembership-> selectByKind(SubjectMembership)-> size() <= 1actorParameter = featureMembership-> selectByKind(ActorMembership). ownedActorParametersubjectParameter = let subjects : OrderedSet(SubjectMembership) = featureMembership->selectByKind(SubjectMembership) in if subjects->isEmpty() then null else subjects->first().ownedSubjectParameter endifinput->notEmpty() and input->first() = subjectParameterspecializesFromLibrary('Cases::cases')isComposite and owningType <> null and (owningType.oclIsKindOf(CaseDefinition) or owningType.oclIsKindOf(CaseUsage)) implies specializesFromLibrary('Cases::Case::subcases')

Features

Name Description
Is Abstract FALSE
Generalizations CalculationUsage

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
actorParameter PartUsage [0..-1] {derived} The parameters of this CaseUsage that represent actors involved in the case. CaseUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
calculationDefinition Function [0..1] {derived} The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries. CalculationUsage
caseDefinition CaseDefinition [0..1] {derived} The CaseDefinition that is the type of this CaseUsage. CaseUsage
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
objectiveRequirement RequirementUsage [0..1] {derived} The RequirementUsage representing the objective of this CaseUsage. CaseUsage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
subjectParameter Usage [1..1] {derived} The parameter of this CaseUsage that represents its subject. CaseUsage
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

Class

Definition

A Class is a Classifier of things (in the universe) that can be distinguished without regard to how they are related to other things (via Features). This means multiple things classified by the same Class can be distinguished, even when they are related other things in exactly the same way.specializesFromLibrary('Occurrences::Occurrence')ownedSpecialization.general-> forAll(not oclIsKindOf(DataType)) andnot oclIsKindOf(Association) implies ownedSpecialization.general-> forAll(not oclIsKindOf(Association))

Features

Name Description
Is Abstract FALSE
Generalizations Classifier

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

Classifier

Definition

A Classifier is a Type that classifies:
  • Things (in the universe) regardless of how Features relate them. (These are interpreted semantically as sequences of exactly one thing.)
  • How the above things are related by Features. (These are interpreted semantically as sequences of multiple things, such that the last thing in the sequence is also classified by the Classifier. Note that this means that a Classifier modeled as specializing a Feature cannot classify anything.)
ownedSubclassification = ownedSpecialization->selectByKind(Subclassification)multiplicity <> null implies multiplicity.featuringType->isEmpty()

Features

Name Description
Is Abstract FALSE
Generalizations Type

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

CollectExpression

Definition

A CollectExpression is an OperatorExpression whose operator is "collect", which resolves to the Function ControlFunctions::collect from the Kernel Functions Library.operator = 'collect'

Features

Name Description
Is Abstract FALSE
Generalizations OperatorExpression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
argument Expression [0..-1] {derived} The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression. InvocationExpression
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
operand Expression [0..-1] {derived} {composite} InvocationExpression
operator string [1..1] An operator symbol that names a corresponding Function from one of the standard packages from the Kernel Function Library . OperatorExpression
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

Comment

Definition

A Comment is an AnnotatingElement whose body in some way describes its annotatedElements.

Features

Name Description
Is Abstract FALSE
Generalizations AnnotatingElement

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
annotatedElement Element [1..-1] {derived} The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotatedElements of the annotations. If annotation is empty, then it is the owningNamespace of the AnnotatingElement. AnnotatingElement
annotation Annotation [0..-1] {derived} The Annotations that relate this AnnotatingElement to its annotatedElements. This includes the owningAnnotatingRelationship (if any) followed by all the ownedAnnotatingRelationshps. AnnotatingElement
body string [1..1] The annotation text for the Comment. Comment
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
locale string [0..1] Identification of the language of the body text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format [language[_territory][.codeset][@modifier]]. Comment
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotatingRelationship Annotation [0..-1] {derived} The ownedRelationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotatingElement. AnnotatingElement
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningAnnotatingRelationship Annotation [0..1] {derived} The owningRelationship of this AnnotatingRelationship, if it is an Annotation AnnotatingElement
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

ConcernDefinition

Definition

A ConcernDefinition is a RequirementDefinition that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the ownedStakeholdersof the ConcernDefinition.specializesFromLibrary('Requirements::ConcernCheck')

Features

Name Description
Is Abstract FALSE
Generalizations RequirementDefinition

Properties

Name Type Default Description Inheritance
actorParameter PartUsage [0..-1] {derived} The parameters of this RequirementDefinition that represent actors involved in the requirement. RequirementDefinition
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
assumedConstraint ConstraintUsage [0..-1] {derived} The owned ConstraintUsages that represent assumptions of this RequirementDefinition, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = assumption. RequirementDefinition
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
expression Expression [0..-1] {derived} The Expressions that are steps in the calculation of the result of this Function.The set of expressions that represent computational steps or parts of a system of equations within the Function. Function
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
framedConcern ConcernUsage [0..-1] {derived} The ConcernUsages framed by this RequirementDefinition, which are the ownedConcerns of all FramedConcernMemberships of the RequirementDefinition. RequirementDefinition
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable. Function
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
reqId string [0..1] An optional modeler-specified identifier for this RequirementDefinition (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementDefinition. RequirementDefinition
requiredConstraint ConstraintUsage [0..-1] {derived} The owned ConstraintUsages that represent requirements of this RequirementDefinition, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementDefinition with kind = requirement. RequirementDefinition
result Feature [1..1] {derived} The object or value that is the result of evaluating the Function.The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership. Function
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
stakeholderParameter PartUsage [0..-1] {derived} The parameters of this RequirementDefinition that represent stakeholders for th requirement. RequirementDefinition
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
subjectParameter Usage [1..1] {derived} The parameter of this RequirementDefinition that represents its subject. RequirementDefinition
text string [0..-1] {derived} An optional textual statement of the requirement represented by this RequirementDefinition, derived from the bodies of the documentation of the RequirementDefinition. RequirementDefinition
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

ConcernUsage

Definition

A ConcernUsage is a Usage of a ConcernDefinition. The ownedStakeholder features of the ConcernUsage shall all subset the ConcernCheck::concernedStakeholders feature. If the ConcernUsage is an ownedFeature of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an ownedStakeholder feature that is bound to the self feature of its owner.specializesFromLibrary('Requirements::concernChecks')owningFeatureMembership <> null andowningFeatureMembership.oclIsKindOf(FramedConcernMembership) implies specializesFromLibrary('Requirements::RequirementCheck::concerns')

Features

Name Description
Is Abstract FALSE
Generalizations RequirementUsage

Properties

Name Type Default Description Inheritance
actorParameter PartUsage [0..-1] {derived} The parameters of this RequirementUsage that represent actors involved in the requirement. RequirementUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
assumedConstraint ConstraintUsage [0..-1] {derived} The owned ConstraintUsages that represent assumptions of this RequirementUsage, derived as the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = assumption. RequirementUsage
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
concernDefinition ConcernDefinition [0..1] {derived} The ConcernDefinition that is the single type of this ConcernUsage. ConcernUsage
constraintDefinition Predicate [0..1] {derived} The (single) Predicate that is the type of this ConstraintUsage. Nominally, this will be a ConstraintDefinition, but other kinds of Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries. ConstraintUsage
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
framedConcern ConcernUsage [0..-1] {derived} The ConcernUsages framed by this RequirementUsage, which are the ownedConcerns of all FramedConcernMemberships of the RequirementUsage. RequirementUsage
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
predicate Predicate [0..1] {derived} The Predicate that types the Expression.The Predicate that types this BooleanExpression. BooleanExpression
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
reqId string [0..1] An optional modeler-specified identifier for this RequirementUsage (used, e.g., to link it to an original requirement text in some source document), which is the declaredShortName for the RequirementUsage. RequirementUsage
requiredConstraint ConstraintUsage [0..-1] {derived} The owned ConstraintUsages that represent requirements of this RequirementUsage, which are the ownedConstraints of the RequirementConstraintMemberships of the RequirementUsage with kind = requirement. RequirementUsage
requirementDefinition RequirementDefinition [0..1] {derived} The RequirementDefinition that is the single definition of this RequirementUsage. RequirementUsage
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
stakeholderParameter PartUsage [0..-1] {derived} The parameters of this RequirementUsage that represent stakeholders for the requirement. RequirementUsage
subjectParameter Usage [1..1] {derived} The parameter of this RequirementUsage that represents its subject. RequirementUsage
text string [0..-1] {derived} An optional textual statement of the requirement represented by this RequirementUsage, derived from the bodies of the documentation of the RequirementUsage. RequirementUsage
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

ConjugatedPortDefinition

Definition

A ConjugatedPortDefinition is a PortDefinition that is a PortDefinition of its original PortDefinition. That is, a ConjugatedPortDefinition inherits all the features of the original PortDefinition, but input flows of the original PortDefinition become outputs on the ConjugatedPortDefinition and output flows of the original PortDefinition become inputs on the ConjugatedPortDefinition. Every PortDefinition (that is not itself a ConjugatedPortDefinition) has exactly one corresponding ConjugatedPortDefinition, whose effective name is the name of the originalPortDefinition, with the character ~ prepended.ownedPortConjugator.originalPortDefinition = originalPortDefinitionconjugatedPortDefinition = null

Features

Name Description
Is Abstract FALSE
Generalizations PortDefinition

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
conjugatedPortDefinition ConjugatedPortDefinition [0..1] {derived} The <> that is conjugate to this PortDefinition. PortDefinition
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
originalPortDefinition PortDefinition [1..1] {derived} The original PortDefinition for this ConjugatedPortDefinition, which is the owningNamespace of the ConjugatedPortDefinition. ConjugatedPortDefinition
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedPortConjugator PortConjugation [1..1] {derived} The PortConjugation that is the ownedConjugator of this ConjugatedPortDefinition, linking it to its originalPortDefinition. ConjugatedPortDefinition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

ConjugatedPortTyping

Definition

A ConjugatedPortTyping is a FeatureTyping whose type is a ConjugatedPortDefinition. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)portDefinition = conjugatedPortDefinition.originalPortDefinition

Features

Name Description
Is Abstract FALSE
Generalizations FeatureTyping

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
conjugatedPortDefinition ConjugatedPortDefinition [1..1] The type of this ConjugatedPortTyping considered as a FeatureTyping, which must be a ConjugatedPortDefinition. ConjugatedPortTyping
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
general Type [1..1] A Type with a superset of all instances of the specific Type, which might be the same set. Specialization
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeature Feature [0..1] {derived} A typedFeature that is also the owningRelatedElement of this FeatureTyping. FeatureTyping
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the specific Type of this Specialization and owns it as its owningRelatedElement. Specialization
portDefinition PortDefinition [1..1] {derived} The originalPortDefinition of the conjugatedPortDefinition of this ConjugatedPortTyping. ConjugatedPortTyping
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
specific Type [1..1] A Type with a subset of all instances of the general Type, which might be the same set. Specialization
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [1..1] The Type that is being applied by this FeatureTyping. FeatureTyping
typedFeature Feature [1..1] The Feature that has a type determined by this FeatureTyping. FeatureTyping

Conjugation

Definition

Conjugation is a Relationship between two types in which the conjugatedType inherits all the Features of the originalType, but with all input and output Features reversed. That is, any Features with a direction in relative to the originalType are considered to have an effective direction of out relative to the conjugatedType and, similarly, Features with direction out in the originalType are considered to have an effective direction of in in the conjugatedType. Features with direction inout, or with no direction, in the originalType, are inherited without change.A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not also be the specific Type in any Specialization relationship.

Features

Name Description
Is Abstract FALSE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
conjugatedType Type [1..1] The Type that is the result of applying Conjugation to the originalType. Conjugation
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
originalType Type [1..1] The Type to be conjugated. Conjugation
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The conjugatedType of this Conjugation that is also its owningRelatedElement. Conjugation
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

ConnectionDefinition

Definition

A ConnectionDefinition is a PartDefinition that is also an AssociationStructure. The end Features of a ConnectionDefinition must be Usages.specializesFromLibrary('Connections::Connection')ownedEndFeature->size() = 2 implies specializesFromLibrary('Connections::BinaryConnections')isSufficient

Features

Name Description
Is Abstract FALSE
Generalizations PartDefinition AssociationStructure

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
associationEnd Feature [0..-1] {derived} The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association. Association
connectionEnd Usage [0..-1] {derived} The Usages that define the things related by the ConnectionDefinition. ConnectionDefinition
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedType Type [0..-1] {derived} The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship. Association
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceType Type [0..1] {derived} The source relatedType for this Association. It is the first relatedType of the Association. Association
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetType Type [0..-1] {derived} The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType. Association
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

ConnectionUsage

Definition

A ConnectionUsage is a ConnectorAsUsage that is also a PartUsage. Nominally, if its type is a ConnectionDefinition, then a ConnectionUsage is a Usage of that ConnectionDefinition, representing a connection between parts of a system. However, other kinds of kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries.specializesFromLibrary('Connections::connections')ownedEndFeature->size() = 2 implies specializesFromLibrary('Connections::binaryConnections')

Features

Name Description
Is Abstract FALSE
Generalizations ConnectorAsUsage PartUsage

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
association Association [0..-1] {derived} The Associations that type the Connector. Connector
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
connectionDefinition AssociationStructure [0..-1] {derived} The AssociationStructures that are the types of this ConnectionUsage. Nominally, these are , but other kinds of Kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries ConnectionUsage
connectorEnd Feature [0..-1] {derived} The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector. Connector
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
itemDefinition Structure [0..-1] {derived} The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library. ItemUsage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
partDefinition PartDefinition [0..-1] {derived} The itemDefinitions of this PartUsage that are PartDefinitions. PartUsage
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedFeature Feature [0..-1] {derived} The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector. Connector
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceFeature Feature [0..1] {derived} The source relatedFeature for this Connector. It is the first relatedFeature. Connector
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetFeature Feature [0..-1] {derived} The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature. Connector
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

Connector

Definition

A Connector is a usage of Associations, with links restricted according to instances of the Type in which they are used (domain of the Connector). The associations of the Connector restrict what kinds of things might be linked. The Connector further restricts these links to be between values of Features on instances of its domain.not isAbstract implies relatedFeature->size() >= 2connectorEnds->size() = 2 andassociation->exists(oclIsKindOf(AssociationStructure)) implies specializesFromLibrary('Objects::binaryLinkObjects')sourceFeature = if relatedFeature->isEmpty() then null else relatedFeature->first() endifconnectorEnds->size() > 2 implies not specializesFromLibrary('Links::BinaryLink')relatedFeature->forAll(f | if featuringType->isEmpty() then f.isFeaturedWithin(null) else featuringType->forAll(t | f.isFeaturedWithin(t)) endif)relatedFeature = connectorEnd.ownedReferenceSubsetting-> select(s | s <> null).subsettedFeaturespecializesFromLibrary('Links::links')connectorEnd->size() = 2 implies specializesFromLibrary('Links::binaryLinks')association->exists(oclIsKindOf(AssociationStructure)) implies specializesFromLibrary('Objects::linkObjects')targetFeature = if relatedFeature->size() < 2 then OrderedSet{} else relatedFeature-> subSequence(2, relatedFeature->size())-> asOrderedSet() endif

Features

Name Description
Is Abstract FALSE
Generalizations Feature Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
association Association [0..-1] {derived} The Associations that type the Connector. Connector
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
connectorEnd Feature [0..-1] {derived} The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector. Connector
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedFeature Feature [0..-1] {derived} The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector. Connector
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceFeature Feature [0..1] {derived} The source relatedFeature for this Connector. It is the first relatedFeature. Connector
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetFeature Feature [0..-1] {derived} The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature. Connector
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

ConnectorAsUsage

Definition

A ConnectorAsUsage is both a Connector and a Usage. ConnectorAsUsage cannot itself be instantiated in a SysML model, but it is a base class for the concrete classes BindingConnectorAsUsage, SuccessionAsUsage, ConnectionUsage and FlowConnectionUsage.

Features

Name Description
Is Abstract TRUE
Generalizations Usage Connector

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
association Association [0..-1] {derived} The Associations that type the Connector. Connector
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
connectorEnd Feature [0..-1] {derived} The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector. Connector
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedFeature Feature [0..-1] {derived} The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector. Connector
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceFeature Feature [0..1] {derived} The source relatedFeature for this Connector. It is the first relatedFeature. Connector
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetFeature Feature [0..-1] {derived} The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature. Connector
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

ConstraintDefinition

Definition

A ConstraintDefinition is an OccurrenceDefinition that is also a Predicate that defines a constraint that may be asserted to hold on a system or part of a system.specializesFromLibrary('Constraints::ConstraintCheck')

Features

Name Description
Is Abstract FALSE
Generalizations OccurrenceDefinition Predicate

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
expression Expression [0..-1] {derived} The Expressions that are steps in the calculation of the result of this Function.The set of expressions that represent computational steps or parts of a system of equations within the Function. Function
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable. Function
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} The object or value that is the result of evaluating the Function.The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership. Function
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

ConstraintUsage

Definition

A ConstraintUsage is an OccurrenceUsage that is also a BooleanExpression, and, so, is typed by a Predicate. Nominally, if the type is a ConstraintDefinition, a ConstraintUsage is a Usage of that ConstraintDefinition. However, other kinds of kernel Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries.owningFeatureMembership <> null andowningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) implies if owningFeatureMembership.oclAsType(RequirementConstraintMembership).kind = RequirementConstraintKind::assumption then specializesFromLibrary('Requirements::RequirementCheck::assumptions') else specializesFromLibrary('Requirements::RequirementCheck::constraints') endifspecializesFromLibrary('Constraints::constraintChecks')owningType <> null and(owningType.oclIsKindOf(ItemDefinition) or owningType.oclIsKindOf(ItemUsage)) implies specializesFromLibrary('Items::Item::checkedConstraints')

Features

Name Description
Is Abstract FALSE
Generalizations OccurrenceUsage BooleanExpression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
constraintDefinition Predicate [0..1] {derived} The (single) Predicate that is the type of this ConstraintUsage. Nominally, this will be a ConstraintDefinition, but other kinds of Predicates are also allowed, to permit use of Predicates from the Kernel Model Libraries. ConstraintUsage
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
predicate Predicate [0..1] {derived} The Predicate that types the Expression.The Predicate that types this BooleanExpression. BooleanExpression
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

ControlNode

Definition

A ControlNode is an ActionUsage that does not have any inherent behavior but provides constraints on incoming and outgoing Successions that are used to control other Actions. A ControlNode must be a composite owned usage of an ActionDefinition or ActionUsage.sourceConnector->selectByKind(Succession)-> collect(connectorEnd->at(1).multiplicity)-> forAll(sourceMult | multiplicityHasBounds(sourceMult, 1, 1))owningType <> null and (owningType.oclIsKindOf(ActionDefinition) or owningType.oclIsKindOf(ActionUsage))targetConnector->selectByKind(Succession)-> collect(connectorEnd->at(2).multiplicity)-> forAll(targetMult | multiplicityHasBounds(targetMult, 1, 1))specializesFromLibrary('Action::Action::controls')

Features

Name Description
Is Abstract TRUE
Generalizations ActionUsage

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

CrossSubsetting

Definition

CrossSubsetting is a kind of Subsetting for end Features, as identified by crossingFeature, to subset a chained Feature, identified by crossedFeature. It navigates to instances of the end Feature’s type from instances of other end Feature types on the same owningType (at least two end Features are required for any of them to have a CrossSubsetting).The crossedFeature of a CrossSubsetting must have a feature chain of exactly two Features. The second Feature in the chain is the crossFeature of the crossingFeature (end Feature), which has the same type as the crossingFeature. When the owningType of the crossingFeature has exactly two end Features, the first Feature in the chain of the crossedFeature is the other end Feature. The crossFeature’s featuringType in this case is the other end Feature. When the owningType has more than two end Features, the first Feature in the chain is a Feature that CrossMultiplies all the other end Features, which is also the featuringType of the crossFeature.A crossFeature must be owned by its featureCrossing (end Feature) when the featureCrossing owningType has more than two end Features. Otherwise, for exactly two end Features, the crossFeatures of each the ends can instead optionally be inherited by the other end from one of its types or a subsetted Feature.crossingFeature.isEnd and crossingFeature.owningType <> null implies let endFeatures: Sequence(Feature) = crossingFeature.owningType.endFeature in let chainingFeatures: Sequence(Feature) = crossedFeature.chainingFeature in chainingFeatures->size() = 2 and endFeatures->size() = 2 implies chainingFeatures->at(1) = endFeatures->excluding(crossingFeature)->at(1)crossingFeature.isEnd andcrossingFeature.owningType<>null andcrossingFeature.owningType.endFeature ->size() > 1

Features

Name Description
Is Abstract FALSE
Generalizations Subsetting

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
crossedFeature Feature [1..1] The chained Feature that is cross subset by the crossingFeature of this CrossSubsetting. CrossSubsetting
crossingFeature Feature [1..1] {derived} The end Feature that owns this CrossSubsetting relationship and is also its subsettingFeature. CrossSubsetting
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
general Type [1..1] A Type with a superset of all instances of the specific Type, which might be the same set. Specialization
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeature Feature [0..1] {derived} A subsettingFeature that is also the owningRelatedElement of this Subsetting. Subsetting
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the specific Type of this Specialization and owns it as its owningRelatedElement. Specialization
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
specific Type [1..1] A Type with a subset of all instances of the general Type, which might be the same set. Specialization
subsettedFeature Feature [1..1] The Feature that is subsetted by the subsettingFeature of this Subsetting. Subsetting
subsettingFeature Feature [1..1] The Feature that is a subset of the subsettedFeature of this Subsetting. Subsetting
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

DataType

Definition

A DataType is a Classifier of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same DataType
  • Cannot be distinguished when they are related to other things in exactly the same way, even when they are intended to be about different things.
  • Can be distinguished when they are related to other things in different ways, even when they are intended to be about the same thing.
ownedSpecialization.general-> forAll(not oclIsKindOf(Class) and not oclIsKindOf(Association))specializesFromLibrary('Base::DataValue')

Features

Name Description
Is Abstract FALSE
Generalizations Classifier

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

DecisionNode

Definition

A DecisionNode is a ControlNode that makes a selection from its outgoing Successions.targetConnector->selectByKind(Succession)->size() <= 1sourceConnector->selectAsKind(Succession)-> collect(connectorEnd->at(2))-> forAll(targetMult | multiplicityHasBounds(targetMult, 0, 1))specializesFromLibrary('Actions::Action::decisions')sourceConnector->selectByKind(Succession)-> forAll(subsetsChain(self, resolveGlobal('ControlPerformances::MergePerformance::outgoingHBLink')))

Features

Name Description
Is Abstract FALSE
Generalizations ControlNode

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

Definition

Definition

A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata).Normally, a Definition has owned Usages that model features of the thing being defined. A Definition may also have other Definitions nested in it, but this has no semantic significance, other than the nested scoping resulting from the Definition being considered as a Namespace for any nested Definitions.However, if a Definition has isVariation = true, then it represents a variation point Definition. In this case, all of its members must be variant Usages, related to the Definition by VariantMembership Relationships. Rather than being features of the Definition, variant Usages model different concrete alternatives that can be chosen to fill in for an abstract Usage of the variation point Definition.isVariation implies ownedFeatureMembership->isEmpty()variant = variantMembership.ownedVariantUsagevariantMembership = ownedMembership->selectByKind(VariantMembership)isVariation implies not ownedSpecialization.specific->exists( oclIsKindOf(Definition) and oclAsType(Definition).isVariation)usage = feature->selectByKind(Usage)directedUsage = directedFeature->selectByKind(Usage)ownedUsage = ownedFeature->selectByKind(Usage)ownedAttribute = ownedUsage->selectByKind(AttributeUsage)ownedReference = ownedUsage->selectByKind(ReferenceUsage)ownedEnumeration = ownedUsage->selectByKind(EnumerationUsage)ownedOccurrence = ownedUsage->selectByKind(OccurrenceUsage)ownedItem = ownedUsage->selectByKind(ItemUsage)ownedPart = ownedUsage->selectByKind(PartUsage)ownedPort = ownedUsage->selectByKind(PortUsage)ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage)ownedFlow = ownedUsage->selectByKind(FlowConnectionUsage)ownedInterface = ownedUsage->selectByKind(ReferenceUsage)ownedAllocation = ownedUsage->selectByKind(AllocationUsage)ownedAction = ownedUsage->selectByKind(ActionUsage)ownedState = ownedUsage->selectByKind(StateUsage)ownedTransition = ownedUsage->selectByKind(TransitionUsage)ownedCalculation = ownedUsage->selectByKind(CalculationUsage)ownedConstraint = ownedUsage->selectByKind(ConstraintUsage)ownedRequirement = ownedUsage->selectByKind(RequirementUsage)ownedConcern = ownedUsage->selectByKind(ConcernUsage)ownedCase = ownedUsage->selectByKind(CaseUsage)ownedAnalysisCase = ownedUsage->selectByKind(AnalysisCaseUsage)ownedVerificationCase = ownedUsage->selectByKind(VerificationCaseUsage)ownedUseCase = ownedUsage->selectByKind(UseCaseUsage)ownedView = ownedUsage->selectByKind(ViewUsage)ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage)ownedRendering = ownedUsage->selectByKind(RenderingUsage)ownedMetadata = ownedUsage->selectByKind(MetadataUsage)isVariation implies isAbstract

Features

Name Description
Is Abstract FALSE
Generalizations Classifier

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

Dependency

Definition

A Dependency is a Relationship that indicates that one or more client Elements require one more supplier Elements for their complete specification. In general, this means that a change to one of the supplier Elements may necessitate a change to, or re-specification of, the client Elements.Note that a Dependency is entirely a model-level Relationship, without instance-level semantics.

Features

Name Description
Is Abstract FALSE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
client Element [1..-1] The Element or Elements dependent on the supplier Elements. Dependency
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
supplier Element [1..-1] The Element or Elements on which the client Elements depend in some respect. Dependency
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

Differencing

Definition

Differencing is a Relationship that makes its differencingType one of the differencingTypes of its typeDifferenced.

Features

Name Description
Is Abstract FALSE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [1..1] Type that partly determines interpretations of typeDifferenced, as described in Type::differencingType. Differencing
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
typeDifferenced Type [1..1] {derived} Type with interpretations partly determined by differencingType, as described in Type::differencingType. Differencing

Disjoining

Definition

A Disjoining is a Relationship between Types asserted to have interpretations that are not shared (disjoint) between them, identified as typeDisjoined and disjoiningType. For example, a Classifier for mammals is disjoint from a Classifier for minerals, and a Feature for people's parents is disjoint from a Feature for their children.

Features

Name Description
Is Abstract FALSE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
disjoiningType Type [1..1] Type asserted to be disjoint with the typeDisjoined. Disjoining
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} A typeDisjoined that is also an owningRelatedElement. Disjoining
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
typeDisjoined Type [1..1] Type asserted to be disjoint with the disjoiningType. Disjoining

Documentation

Definition

Documentation is a Comment that specifically documents a documentedElement, which must be its owner.

Features

Name Description
Is Abstract FALSE
Generalizations Comment

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
annotatedElement Element [1..-1] {derived} The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotatedElements of the annotations. If annotation is empty, then it is the owningNamespace of the AnnotatingElement. AnnotatingElement
annotation Annotation [0..-1] {derived} The Annotations that relate this AnnotatingElement to its annotatedElements. This includes the owningAnnotatingRelationship (if any) followed by all the ownedAnnotatingRelationshps. AnnotatingElement
body string [1..1] The annotation text for the Comment. Comment
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
documentedElement Element [1..1] {derived} The Element that is documented by this Documentation. Documentation
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
locale string [0..1] Identification of the language of the body text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format [language[_territory][.codeset][@modifier]]. Comment
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotatingRelationship Annotation [0..-1] {derived} The ownedRelationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotatingElement. AnnotatingElement
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningAnnotatingRelationship Annotation [0..1] {derived} The owningRelationship of this AnnotatingRelationship, if it is an Annotation AnnotatingElement
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

Element

Definition

An Element is a constituent of a model that is uniquely identified relative to all other Elements. It can have Relationships with other Elements. Some of these Relationships might imply ownership of other Elements, which means that if an Element is deleted from a model, then so are all the Elements that it owns.ownedElement = ownedRelationship.ownedRelatedElementowner = owningRelationship.owningRelatedElementqualifiedName = if owningNamespace = null then null else if owningNamespace.owner = null then escapedName() else if owningNamespace.qualifiedName = null or escapedName() = null then null else owningNamespace.qualifiedName + '::' + escapedName() endif endif endifdocumentation = ownedElement->selectByKind(Documentation)ownedAnnotation = ownedRelationship-> selectByKind(Annotation)-> select(a | a.annotatedElement = self)name = effectiveName()ownedRelationship->exists(isImplied) implies isImpliedIncludedisLibraryElement = libraryNamespace() <> nullshortName = effectiveShortName()owningNamespace = if owningMembership = null then null else owningMembership.membershipOwningNamespace endiftextualRepresentation = ownedElement->selectByKind(TextualRepresentation)

Features

Name Description
Is Abstract TRUE
Generalizations

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

ElementFilterMembership

Definition

ElementFilterMembership is a Membership between a Namespace and a model-level evaluable Boolean-valued Expression, asserting that imported members of the Namespace should be filtered using the condition Expression. A general Namespace does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of Namespaces.condition.isModelLevelEvaluablecondition.result.specializesFromLibrary('ScalarValues::Boolean')

Features

Name Description
Is Abstract FALSE
Generalizations OwningMembership

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
condition Expression [1..1] {derived} The model-level evaluable Boolean-valued Expression used to filter the imported members of the membershipOwningNamespace of this ElementFilterMembership. ElementFilterMembership
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
memberElement Element [1..1] The Element that becomes a member of the membershipOwningNamespace due to this Membership. Membership
memberElementId string [1..1] {derived} The elementId of the memberElement. Membership
memberName string [0..1] The name of the memberElement relative to the membershipOwningNamespace. Membership
membershipOwningNamespace Namespace [1..1] {derived} The Namespace of which the memberElement becomes a member due to this Membership. Membership
memberShortName string [0..1] The short name of the memberElement relative to the membershipOwningNamespace. Membership
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedMemberElement Element [1..1] {derived} The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership. OwningMembership
ownedMemberElementId string [1..1] {derived} The elementId of the ownedMemberElement. OwningMembership
ownedMemberName string [0..1] {derived} The name of the ownedMemberElement. OwningMembership
ownedMemberShortName string [0..1] {derived} The shortName of the ownedMemberElement. OwningMembership
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
visibility VisibilityKind [1..1] public Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace. Membership

EndFeatureMembership

Definition

EndFeatureMembership is a FeatureMembership that requires its memberFeature be owned and have isEnd = true.ownedMemberFeature.isEnd

Features

Name Description
Is Abstract FALSE
Generalizations FeatureMembership

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
feature Feature [1..1] The Feature that is featured by the featuringType. Featuring
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
memberElement Element [1..1] The Element that becomes a member of the membershipOwningNamespace due to this Membership. Membership
memberElementId string [1..1] {derived} The elementId of the memberElement. Membership
memberName string [0..1] The name of the memberElement relative to the membershipOwningNamespace. Membership
membershipOwningNamespace Namespace [1..1] {derived} The Namespace of which the memberElement becomes a member due to this Membership. Membership
memberShortName string [0..1] The short name of the memberElement relative to the membershipOwningNamespace. Membership
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedMemberElement Element [1..1] {derived} The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership. OwningMembership
ownedMemberElementId string [1..1] {derived} The elementId of the ownedMemberElement. OwningMembership
ownedMemberFeature Feature [1..1] {derived} The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType. FeatureMembership
ownedMemberName string [0..1] {derived} The name of the ownedMemberElement. OwningMembership
ownedMemberShortName string [0..1] {derived} The shortName of the ownedMemberElement. OwningMembership
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [1..1] {derived} The Type that owns this FeatureMembership. FeatureMembership
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [1..1] The Type that features the featureOfType. Featuring
visibility VisibilityKind [1..1] public Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace. Membership

EnumerationDefinition

Definition

An EnumerationDefinition is an AttributeDefinition all of whose instances are given by an explicit list of enumeratedValues. This is realized by requiring that the EnumerationDefinition have isVariation = true, with the enumeratedValues being its variants. isVariation

Features

Name Description
Is Abstract FALSE
Generalizations AttributeDefinition

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
enumeratedValue EnumerationUsage [0..-1] {derived} EnumerationUsages of this EnumerationDefinitionthat have distinct, fixed values. Each enumeratedValue specifies one of the allowed instances of the EnumerationDefinition. EnumerationDefinition
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

EnumerationUsage

Definition

An EnumerationUsage is an AttributeUsage whose attributeDefinition is an EnumerationDefinition.

Features

Name Description
Is Abstract FALSE
Generalizations AttributeUsage

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
attributeDefinition DataType [0..-1] {derived} The DataTypes that are the types of this AttributeUsage. Nominally, these are AttributeDefinitions, but other kinds of kernel DataTypes are also allowed, to permit use of DataTypes from the Kernel Model Libraries. AttributeUsage
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
enumerationDefinition EnumerationDefinition [1..1] {derived} The single EnumerationDefinition that is the type of this EnumerationUsage. EnumerationUsage
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

EventOccurrenceUsage

Definition

An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage by a ReferenceSubsetting Relationship.If the EventOccurrenceUsage is owned by an OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences property of the Class Occurrence from the Kernel Semantic Library model Occurrences.eventOccurrence = if referencedFeatureTarget() = null then self else if referencedFeatureTarget().oclIsKindOf(OccurrenceUsage) then referencedFeatureTarget().oclAsType(OccurrenceUsage) else null endif endifreferencedFeatureTarget() <> null implies referencedFeatureTarget().oclIsKindOf(OccurrenceUsage)owningType <> null and(owningType.oclIsKindOf(OccurrenceDefinition) or owningType.oclIsKindOf(OccurrenceUsage)) implies specializesFromLibrary('Occurrences::Occurrence::timeEnclosedOccurrences')isReference

Features

Name Description
Is Abstract FALSE
Generalizations OccurrenceUsage

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
eventOccurrence OccurrenceUsage [1..1] {derived} The OccurrenceUsage referenced as an event by this EventOccurrenceUsage. It is the referenceFeature of the ownedReferenceSubsetting for the EventOccurrenceUsage, if there is one, and, otherwise, the EventOccurrenceUsage itself. EventOccurrenceUsage
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

ExhibitStateUsage

Definition

An ExhibitStateUsage is a StateUsage that represents the exhibiting of a StateUsage. Unless it is the StateUsage itself, the StateUsage to be exhibited is related to the ExhibitStateUsage by a ReferenceSubsetting Relationship. An ExhibitStateUsage is also a PerformActionUsage, with its exhibitedState as the performedAction.owningType <> null and(owningType.oclIsKindOf(PartDefinition) or owningType.oclIsKindOf(PartUsage)) implies specializesFromLibrary('Parts::Part::exhibitedStates')referencedFeatureTarget() <> null implies referencedFeatureTarget().oclIsKindOf(StateUsage)

Features

Name Description
Is Abstract FALSE
Generalizations StateUsage PerformActionUsage

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
doAction ActionUsage [0..1] {derived} The ActionUsage of this StateUsage to be performed while in the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = do. StateUsage
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
entryAction ActionUsage [0..1] {derived} The ActionUsage of this StateUsage to be performed on entry to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = entry. StateUsage
eventOccurrence OccurrenceUsage [1..1] {derived} The OccurrenceUsage referenced as an event by this EventOccurrenceUsage. It is the referenceFeature of the ownedReferenceSubsetting for the EventOccurrenceUsage, if there is one, and, otherwise, the EventOccurrenceUsage itself. EventOccurrenceUsage
exhibitedState StateUsage [1..1] {derived} The StateUsage to be exhibited by the ExhibitStateUsage. It is the performedAction of the ExhibitStateUsage considered as a PerformActionUsage, which must be a StateUsage. ExhibitStateUsage
exitAction ActionUsage [0..1] {derived} The ActionUsage of this StateUsage to be performed on exit to the state defined by the StateDefinition. It is the owned ActionUsage related to the StateUsage by a StateSubactionMembership with kind = exit. StateUsage
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isParallel bool [1..1] false Whether the nestedStates of this StateUsage are to all be performed in parallel. If true, none of the nestedActions (which include nestedStates) may have any incoming or outgoing Transitions. If false, only one nestedState may be performed at a time. StateUsage
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
performedAction ActionUsage [1..1] {derived} The ActionUsage to be performed by this PerformedActionUsage. It is the eventOccurrence of the PerformActionUsage considered as an EventOccurrenceUsage, which must be an ActionUsage. PerformActionUsage
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
stateDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinitions, but kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. StateUsage
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

Expose

Definition

An Expose is an Import of Memberships into a ViewUsage that provide the Elements to be included in a view. Visibility is always ignored for an Expose (i.e., isImportAll = true).isImportAllimportOwningNamespace.oclIsType(ViewUsage)visibility = VisibilityKind::protected

Features

Name Description
Is Abstract TRUE
Generalizations Import

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
importedElement Element [1..1] {derived} The effectively imported Element for this Import. For a MembershipImport, this is the memberElement of the importedMembership. For a NamespaceImport, it is the importedNamespace. Import
importOwningNamespace Namespace [1..1] {derived} The Namespace into which Memberships are imported by this Import, which must be the owningRelatedElement of the Import. Import
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isImportAll bool [1..1] false Whether to import memberships without regard to declared visibility. Import
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isRecursive bool [1..1] false Whether to recursively import Memberships from visible, owned sub-Namespaces. Import
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
visibility VisibilityKind [1..1] private The visibility level of the imported members from this Import relative to the importOwningNamespace. The default is private. Import

Expression

Definition

An Expression is a Step that is typed by a Function. An Expression that also has a Function as its featuringType is a computational step within that Function. An Expression always has a single result parameter, which redefines the result parameter of its defining function. This allows Expressions to be interconnected in tree structures, in which inputs to each Expression in the tree are determined as the results of other Expression in the tree.featureMembership-> selectByKind(ReturnParameterMembership)-> size() = 1isModelLevelEvaluable = modelLevelEvaluable(Set(Element){})owningMembership <> null and owningMembership.oclIsKindOf(FeatureValue) implies let featureWithValue : Feature = owningMembership.oclAsType(FeatureValue).featureWithValue in featuringType = featureWithValue.featuringTyperesult = let resultParams : Sequence(Feature) = featureMemberships-> selectByKind(ReturnParameterMembership). ownedParameterMember in if resultParams->notEmpty() then resultParams->first() else null endifownedMembership.selectByKind(ResultExpressionMembership)-> forAll(mem | ownedFeature.selectByKind(BindingConnector)-> exists(binding | binding.relatedFeature->includes(result) and binding.relatedFeature->includes(mem.ownedResultExpression.result)))membership->selectByKind(ResultExpressionMembership)->size() <= 1specializesFromLibrary('Performances::evaluations')

Features

Name Description
Is Abstract FALSE
Generalizations Step

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

Feature

Definition

A Feature is a Type that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the types of the Feature.In the simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one from the domain and one from the range. Examples include cars paired with wheels, people paired with other people, and cars paired with numbers representing the car length.Since Features are Types, their featuringTypes and types can be Features. In this case, the Feature effectively classifies relations between relations, which can be interpreted as the sequence of things related by the domain Feature concatenated with the sequence of things related by the co-domain Feature.The values of a Feature for a given instance of its domain are all the instances of its co-domain that are related to that domain instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with values of the first Feature, then using those values as domain instances to obtain valus of the second Feature, and so on, to values of the last Feature.ownedRedefinition = ownedSubsetting->selectByKind(Redefinition)ownedTypeFeaturing = ownedRelationship->selectByKind(TypeFeaturing)-> select(tf | tf.featureOfType = self)ownedSubsetting = ownedSpecialization->selectByKind(Subsetting)ownedTyping = ownedGeneralization->selectByKind(FeatureTyping)type = let types : OrderedSet(Types) = OrderedSet{self}-> -- Note: The closure operation automatically handles circular relationships. closure(typingFeatures()).typing.type->asOrderedSet() in types->reject(t1 | types->exist(t2 | t2 <> t1 and t2.specializes(t1)))multiplicity <> null implies multiplicity.featuringType = featuringType specializesFromLibrary('Base::things')chainingFeature->excludes(self)ownedFeatureChaining = ownedRelationship->selectByKind(FeatureChaining)chainingFeature = ownedFeatureChaining.chainingFeaturechainingFeature->size() <> 1isEnd and owningType <> null implies let i : Integer = owningType.ownedEndFeature->indexOf(self) in owningType.ownedSpecialization.general-> forAll(supertype | supertype.endFeature->size() >= i implies redefines(supertype.endFeature->at(i))direction = null andownedSpecializations->forAll(isImplied) implies ownedMembership-> selectByKind(FeatureValue)-> forAll(fv | specializes(fv.value.result))isEnd and owningType <> null and(owningType.oclIsKindOf(Association) or owningType.oclIsKindOf(Connector)) implies specializesFromLibrary('Links::Link::participant')isComposite andownedTyping.type->includes(oclIsKindOf(Structure)) andowningType <> null and(owningType.oclIsKindOf(Structure) or owningType.type->includes(oclIsKindOf(Structure))) implies specializesFromLibrary('Occurrence::Occurrence::suboccurrences')ownedTyping.type->exists(selectByKind(Class)) implies specializesFromLibrary('Occurrences::occurrences')isComposite andownedTyping.type->includes(oclIsKindOf(Class)) andowningType <> null and(owningType.oclIsKindOf(Class) or owningType.oclIsKindOf(Feature) and owningType.oclAsType(Feature).type-> exists(oclIsKindOf(Class))) implies specializesFromLibrary('Occurrence::Occurrence::suboccurrences')ownedTyping.type->exists(selectByKind(DataType)) implies specializesFromLibrary('Base::dataValues')owningType <> null andowningType.oclIsKindOf(ItemFlowEnd) andowningType.ownedFeature->at(1) = self implies let flowType : Type = owningType.owningType in flowType <> null implies let i : Integer = flowType.ownedFeature.indexOf(owningType) in (i = 1 implies redefinesFromLibrary('Transfers::Transfer::source::sourceOutput')) and (i = 2 implies redefinesFromLibrary('Transfers::Transfer::source::targetInput')) owningType <> null and(owningType.oclIsKindOf(Behavior) or owningType.oclIsKindOf(Step)) implies let i : Integer = owningType.ownedFeature->select(direction <> null) in owningType.ownedSpecialization.general-> forAll(supertype | let ownedParameters : Sequence(Feature) = supertype.ownedFeature->select(direction <> null) in ownedParameters->size() >= i implies redefines(ownedParameters->at(i))ownedTyping.type->exists(selectByKind(Structure)) implies specializesFromLibary('Objects::objects')owningType <> null and(owningType.oclIsKindOf(Function) and self = owningType.oclAsType(Function).result or owningType.oclIsKindOf(Expression) and self = owningType.oclAsType(Expression).result) implies owningType.ownedSpecialization.general-> select(oclIsKindOf(Function) or oclIsKindOf(Expression))-> forAll(supertype | redefines( if superType.oclIsKindOf(Function) then superType.oclAsType(Function).result else superType.oclAsType(Expression).result endif)ownedFeatureInverting = ownedRelationship->selectByKind(FeatureInverting)-> select(fi | fi.featureInverted = self)featuringType = let featuringTypes : OrderedSet(Type) = featuring.type->asOrderedSet() in if chainingFeature->isEmpty() then featuringTypes else featuringTypes-> union(chainingFeature->first().featuringType)-> asOrderedSet() endifownedReferenceSubsetting = let referenceSubsettings : OrderedSet(ReferenceSubsetting) = ownedSubsetting->selectByKind(ReferenceSubsetting) in if referenceSubsettings->isEmpty() then null else referenceSubsettings->first() endifownedSubsetting->selectByKind(ReferenceSubsetting)->size() <= 1Sequence{1..chainingFeature->size() - 1}->forAll(i | chainingFeature->at(i + 1).featuringType->forAll(t | chainingFeature->at(i).specializes(t)))isPortion andownedTyping.type->includes(oclIsKindOf(Class)) andowningType <> null and(owningType.oclIsKindOf(Class) or owningType.oclIsKindOf(Feature) and owningType.oclAsType(Feature).type-> exists(oclIsKindOf(Class))) implies specializesFromLibrary('Occurrence::Occurrence::portions')featureTarget = if chainingFeature->isEmpty() then self else chainingFeature->last() endifowningType <> null andowningType.oclIsKindOf(InvocationExpression) andlet owningInvocation: InvocationExpression = owningType.oclAsType(InvocationExpression) inself = owningInvocation.result andnot owningInvocation.ownedTyping->exists(oclIsKindOf(Function)) andnot owningInvocation.ownedSubsetting->reject(isImplied).subsettedFeature.type->exists(oclIsKindOf(Function)) implies owningInvocation.ownedTyping->forAll(type | self.specializes(type))ownedCrossSubsetting = let crossSubsettings: Sequence(CrossSubsetting) = ownedSubsetting->selectByKind(CrossSubsetting) in if crossSubsettings->isEmpty() then null else crossSubsettings->first() endifisEnd implies multiplicities().allSuperTypes()->flatten()-> selectByKind(MultiplicityRange)->exists(hasBounds(1,1))crossFeature <> null implies crossFeature.type->asSet() = type->asSet()ownedSubsetting->selectByKind(CrossSubsetting)->size() <= 1crossFeature = if ownedCrossSubsetting = null then null else let chainingFeatures: Sequence(Feature) = ownedCrossSubsetting.crossedFeature.chainingFeature in if chainingFeatures->size() < 2 then null else chainingFeatures->at(2) endifisOwnedCrossFeature() implies owner.oclAsType(Feature).type->forAll(t | self.specializes(t))isOwnedCrossFeature() implies ownedSubsetting.subsettedFeature->includesAll( owner.oclAsType(Feature).ownedRedefinition.redefinedFeature-> select(crossFeature <> null).crossFeature)crossFeature <> null implies ownedRedefinition.redefinedFeature.crossFeature-> forAll(f | f <> null implies crossFeature.specializes(f))ownedCrossFeature() <> null implies crossFeature = ownedCrossFeature()isOwnedCrossFeature() implies let otherEnds : OrderedSet(Feature) = owner.oclAsType(Feature).owningType.endFeature->excluding(self) in if (otherEnds->size() = 1) then featuringType = otherEnds->first().type else featuringType->size() = 1 and featuringType->first().isCartesianProduct() and featuringType->first().asCartesianProduct() = otherEnds.type and featuringType->first().allSupertypes()->includesAll( owner.oclAsType(Feature).ownedRedefinition.redefinedFeature-> select(crossFeature() <> null).crossFeature().featuringType) endif

Features

Name Description
Is Abstract FALSE
Generalizations Type

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

FeatureChainExpression

Definition

A FeatureChainExpression is an OperatorExpression whose operator is ".", which resolves to the Function ControlFunctions::'.' from the Kernel Functions Library. It evaluates to the result of chaining the result Feature of its single argument Expression with its targetFeature.let sourceParameter : Feature = sourceTargetFeature() insourceTargetFeature <> null andsourceTargetFeature.redefinesFromLibrary('ControlFunctions::\'.\'::source::target')let sourceParameter : Feature = sourceTargetFeature() insourceTargetFeature <> null andsourceTargetFeature.redefines(targetFeature)targetFeature = let nonParameterMemberships : Sequence(Membership) = ownedMembership-> reject(oclIsKindOf(ParameterMembership)) in if nonParameterMemberships->isEmpty() or not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) then null else nonParameterMemberships->first().memberElement.oclAsType(Feature) endifargument->notEmpty() implies targetFeature.featuringType->forAll(t | t.specializes(argument->at(1).result))operator = '.'let inputParameters : Sequence(Feature) = ownedFeatures->select(direction = _'in') inlet sourceTargetFeature : Feature = owningExpression.sourceTargetFeature() insourceTargetFeature <> null andresult.subsetsChain(inputParameters->first(), sourceTargetFeature) andresult.owningType = self

Features

Name Description
Is Abstract FALSE
Generalizations OperatorExpression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
argument Expression [0..-1] {derived} The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression. InvocationExpression
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
operand Expression [0..-1] {derived} {composite} InvocationExpression
operator string [1..1] An operator symbol that names a corresponding Function from one of the standard packages from the Kernel Function Library . OperatorExpression
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
targetFeature Feature [1..1] {derived} The Feature that is accessed by this FeatureChainExpression, which is its first non-parameter member. FeatureChainExpression
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

FeatureChaining

Definition

FeatureChaining is a Relationship that makes its target Feature one of the chainingFeatures of its owning Feature.

Features

Name Description
Is Abstract FALSE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
chainingFeature Feature [1..1] The Feature whose values partly determine values of featureChained, as described in Feature::chainingFeature. FeatureChaining
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
featureChained Feature [1..1] {derived} The Feature whose values are partly determined by values of the chainingFeature, as described in Feature::chainingFeature. FeatureChaining
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

FeatureInverting

Definition

A FeatureInverting is a Relationship between Features asserting that their interpretations (sequences) are the reverse of each other, identified as featureInverted and invertingFeature. For example, a Feature identifying each person's parents is the inverse of a Feature identifying each person's children. A person identified as a parent of another will identify that other as one of their children.

Features

Name Description
Is Abstract FALSE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
featureInverted Feature [1..1] The Feature that is an inverse of the invertingFeature. FeatureInverting
invertingFeature Feature [1..1] The Feature that is an inverse of the invertedFeature. FeatureInverting
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeature Feature [0..1] {derived} A featureInverted that is also the owningRelatedElement of this FeatureInverting. FeatureInverting
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

FeatureMembership

Definition

A FeatureMembership is an OwningMembership between a Feature in an owningType that is also a Featuring Relationship between the Feature and the Type, in which the featuringType is the source and the featureOfType is the target. A FeatureMembership is always owned by its owningType, which is the featuringType for the FeatureMembership considered as a Featuring.

Features

Name Description
Is Abstract FALSE
Generalizations OwningMembership Featuring

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
feature Feature [1..1] The Feature that is featured by the featuringType. Featuring
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
memberElement Element [1..1] The Element that becomes a member of the membershipOwningNamespace due to this Membership. Membership
memberElementId string [1..1] {derived} The elementId of the memberElement. Membership
memberName string [0..1] The name of the memberElement relative to the membershipOwningNamespace. Membership
membershipOwningNamespace Namespace [1..1] {derived} The Namespace of which the memberElement becomes a member due to this Membership. Membership
memberShortName string [0..1] The short name of the memberElement relative to the membershipOwningNamespace. Membership
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedMemberElement Element [1..1] {derived} The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership. OwningMembership
ownedMemberElementId string [1..1] {derived} The elementId of the ownedMemberElement. OwningMembership
ownedMemberFeature Feature [1..1] {derived} The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType. FeatureMembership
ownedMemberName string [0..1] {derived} The name of the ownedMemberElement. OwningMembership
ownedMemberShortName string [0..1] {derived} The shortName of the ownedMemberElement. OwningMembership
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [1..1] {derived} The Type that owns this FeatureMembership. FeatureMembership
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [1..1] The Type that features the featureOfType. Featuring
visibility VisibilityKind [1..1] public Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace. Membership

FeatureReferenceExpression

Definition

A FeatureReferenceExpression is an Expression whose result is bound to a referent Feature.referent = let nonParameterMemberships : Sequence(Membership) = ownedMembership-> reject(oclIsKindOf(ParameterMembership)) in if nonParameterMemberships->isEmpty() or not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) then null else nonParameterMemberships->first().memberElement.oclAsType(Feature) endifownedMember->selectByKind(BindingConnector)->exists(b | b.relatedFeatures->includes(targetFeature) and b.relatedFeatures->includes(result))let membership : Membership = ownedMembership->reject(m | m.oclIsKindOf(ParameterMembership)) inmembership->notEmpty() andmembership->at(1).memberElement.oclIsKindOf(Feature)result.owningType() = self and result.specializes(referent)

Features

Name Description
Is Abstract FALSE
Generalizations Expression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
referent Feature [1..1] {derived} The Feature that is referenced by this FeatureReferenceExpression, which is its first non-parameter member. FeatureReferenceExpression
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

FeatureTyping

Definition

FeatureTyping is Specialization in which the specific Type is a Feature. This means the set of instances of the (specific) typedFeature is a subset of the set of instances of the (general) type. In the simplest case, the type is a Classifier, whereupon the typedFeature has values that are instances of the Classifier.

Features

Name Description
Is Abstract FALSE
Generalizations Specialization

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
general Type [1..1] A Type with a superset of all instances of the specific Type, which might be the same set. Specialization
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeature Feature [0..1] {derived} A typedFeature that is also the owningRelatedElement of this FeatureTyping. FeatureTyping
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the specific Type of this Specialization and owns it as its owningRelatedElement. Specialization
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
specific Type [1..1] A Type with a subset of all instances of the general Type, which might be the same set. Specialization
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [1..1] The Type that is being applied by this FeatureTyping. FeatureTyping
typedFeature Feature [1..1] The Feature that has a type determined by this FeatureTyping. FeatureTyping

FeatureValue

Definition

A FeatureValue is a Membership that identifies a particular member Expression that provides the value of the Feature that owns the FeatureValue. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A Feature can have at most one FeatureValue.The result of the value Expression is bound to the featureWithValue using a BindingConnector. If isInitial = false, then the featuringType of the BindingConnector is the same as the featuringType of the featureWithValue. If isInitial = true, then the featuringType of the BindingConnector is restricted to its startShot.If isDefault = false, then the above semantics of the FeatureValue are realized for the given featureWithValue. Otherwise, the semantics are realized for any individual of the featuringType of the featureWithValue, unless another value is explicitly given for the featureWithValue for that individual.not isDefault implies featureWithValue.ownedMember-> selectByKind(BindingConnector)->exists(b | b.relatedFeature->includes(featureWithValue) and b.relatedFeature->includes(value.result) and if not isInitial then b.featuringType = featureWithValue.featuringType else b.featuringType->exists(t | t.oclIsKindOf(Feature) and t.oclAsType(Feature).chainingFeature = Sequence{ resolveGlobal('Base::things::that'). memberElement, resolveGlobal('Occurrences::Occurrence::startShot'). memberElement } ) endif)featureWithValue.redefinition.redefinedFeature-> closure(redefinition.redefinedFeature).valuation-> forAll(isDefault)

Features

Name Description
Is Abstract FALSE
Generalizations OwningMembership

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
featureWithValue Feature [1..1] {derived} The Feature to be provided a value.The Feature to be provided a value. FeatureValue
isDefault bool [1..1] false Whether this FeatureValue is a concrete specification of the bound or initial value of the featureWithValue, or just a default value that may be overridden. FeatureValue
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isInitial bool [1..1] false Whether this FeatureValue specifies a bound value or an initial value for the featureWithValue. FeatureValue
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
memberElement Element [1..1] The Element that becomes a member of the membershipOwningNamespace due to this Membership. Membership
memberElementId string [1..1] {derived} The elementId of the memberElement. Membership
memberName string [0..1] The name of the memberElement relative to the membershipOwningNamespace. Membership
membershipOwningNamespace Namespace [1..1] {derived} The Namespace of which the memberElement becomes a member due to this Membership. Membership
memberShortName string [0..1] The short name of the memberElement relative to the membershipOwningNamespace. Membership
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedMemberElement Element [1..1] {derived} The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership. OwningMembership
ownedMemberElementId string [1..1] {derived} The elementId of the ownedMemberElement. OwningMembership
ownedMemberName string [0..1] {derived} The name of the ownedMemberElement. OwningMembership
ownedMemberShortName string [0..1] {derived} The shortName of the ownedMemberElement. OwningMembership
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
value Expression [1..1] {derived} The Expression that provides the value as a result.The Expression that provides the value of the featureWithValue as its result. FeatureValue
visibility VisibilityKind [1..1] public Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace. Membership

Featuring

Definition

Featuring is a Relationship between a Type and a Feature that is featured by that Type. It asserts that every instance in the domain of the feature must be classified by the type.Featuring is abstract and does not commit to which of feature or type are the source or target of the Relationship. This commitment is made in the subclasses of Featuring, TypeFeaturing and FeatureMembership, which have opposite directions.

Features

Name Description
Is Abstract TRUE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
feature Feature [1..1] The Feature that is featured by the featuringType. Featuring
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [1..1] The Type that features the featureOfType. Featuring

FlowConnectionDefinition

Definition

A FlowConnectionDefinition is an ActionDefinition that is also an Interaction (which is both a KerML Behavior and Association), representing flows between Usages.specializesFromLibrary('FlowConnections::MessageConnection')flowConnectionEnd->size() = 2 implies specializesFromLibrary('FlowConnections::MessageTransferConnection')flowConnectionEnd->size() <= 2

Features

Name Description
Is Abstract FALSE
Generalizations ActionDefinition Interaction

Properties

Name Type Default Description Inheritance
action ActionUsage [0..-1] {derived} The ActionUsages that are steps in this ActionDefinition, which define the actions that specify the behavior of the ActionDefinition. ActionDefinition
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
associationEnd Feature [0..-1] {derived} The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association. Association
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
flowConnectionEnd Usage [0..-1] {derived} The Usages that define the things related by the FlowConnectionDefinition. FlowConnectionDefinition
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedType Type [0..-1] {derived} The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship. Association
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceType Type [0..1] {derived} The source relatedType for this Association. It is the first relatedType of the Association. Association
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetType Type [0..-1] {derived} The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType. Association
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

FlowConnectionUsage

Definition

A FlowConnectionUsage is an ActionUsage that is also a ConnectorAsUsage and an ItemFlow.specializesFromLibrary('FlowConnections::messageConnections')ownedEndFeatures->notEmpty() implies specializesFromLibrary('FlowConnections::flowConnections')

Features

Name Description
Is Abstract FALSE
Generalizations ConnectorAsUsage ActionUsage ItemFlow

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
association Association [0..-1] {derived} The Associations that type the Connector. Connector
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
connectorEnd Feature [0..-1] {derived} The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector. Connector
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
flowConnectionDefinition Interaction [0..-1] {derived} The Interactions that are the types of this FlowConnectionUsage. Nominally, these are FlowConnectionDefinitions, but other kinds of Kernel Interactions are also allowed, to permit use of Interactions from the Kernel Model Libraries. FlowConnectionUsage
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
interaction Interaction [0..-1] {derived} The Interactions that type this ItemFlow. Interactions are both Associations and Behaviors, which can type Connectors and Steps, respectively. ItemFlow
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
itemFeature ItemFeature [0..1] {derived} The ownedFeature of the ItemFlow that is an ItemFeature (if any). ItemFlow
itemFlowEnd ItemFlowEnd [0..2] {derived} The connectorEnds of this ItemFlow that are ItemFlowEnds. ItemFlow
itemType Classifier [0..-1] {derived} The type of values transferred, which is the type of the itemFeature of the ItemFlow. ItemFlow
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedFeature Feature [0..-1] {derived} The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector. Connector
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceFeature Feature [0..1] {derived} The source relatedFeature for this Connector. It is the first relatedFeature. Connector
sourceOutputFeature Feature [0..1] {derived} The Feature that provides the items carried by the ItemFlow. It must be an owned output of the source of the ItemFlow. ItemFlow
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetFeature Feature [0..-1] {derived} The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature. Connector
targetInputFeature Feature [0..1] {derived} The Feature that receives the values carried by the ItemFlow. It must be an owned output of the target participant of the ItemFlow. ItemFlow
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

ForkNode

Definition

A ForkNode is a ControlNode that must be followed by successor Actions as given by all its outgoing Successions.targetConnector->selectByKind(Succession)->size() <= 1specializesFromLibrary('Actions::Action::forks')

Features

Name Description
Is Abstract FALSE
Generalizations ControlNode

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

ForLoopActionUsage

Definition

A ForLoopActionUsage is a LoopActionUsage that specifies that its bodyAction ActionUsage should be performed once for each value, in order, from the sequence of values obtained as the result of the seqArgument Expression, with the loopVariable set to the value for each iteration.seqArgument = argument(1)isSubactionUsage() implies specializesFromLibrary('Actions::Action::forLoops')loopVariable <> null andloopVariable.redefinesFromLibrary('Actions::ForLoopAction::var')specializesFromLibrary('Actions::forLoopActions')loopVariable = if ownedFeature->isEmpty() or not ownedFeature->first().oclIsKindOf(ReferenceUsage) then null else ownedFeature->first().oclAsType(ReferenceUsage) endifownedFeature->notEmpty() andownedFeature->at(1).oclIsKindOf(ReferenceUsage)inputParameters()->size() = 2

Features

Name Description
Is Abstract FALSE
Generalizations LoopActionUsage

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
bodyAction ActionUsage [1..1] {derived} The ActionUsage to be performed repeatedly by the LoopActionUsage. It is the second parameter of the LoopActionUsage. LoopActionUsage
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
loopVariable ReferenceUsage [1..1] {derived} The ownedFeature of this ForLoopActionUsage that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the ownedFeature that redefines ForLoopAction::var. ForLoopActionUsage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
seqArgument Expression [1..1] {derived} The Expression whose result provides the sequence of values to which the loopVariable is set for each iterative performance of the bodyAction. It is the Expression whose result is bound to the seq input parameter of this ForLoopActionUsage. ForLoopActionUsage
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

FramedConcernMembership

Definition

A FramedConcernMembership is a RequirementConstraintMembership for a framed ConcernUsage of a RequirementDefinition or RequirementUsage.kind = RequirementConstraintKind::requirement

Features

Name Description
Is Abstract FALSE
Generalizations RequirementConstraintMembership

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
feature Feature [1..1] The Feature that is featured by the featuringType. Featuring
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
kind RequirementConstraintKind [1..1] Whether the RequirementConstraintMembership is for an assumed or required ConstraintUsage. RequirementConstraintMembership
memberElement Element [1..1] The Element that becomes a member of the membershipOwningNamespace due to this Membership. Membership
memberElementId string [1..1] {derived} The elementId of the memberElement. Membership
memberName string [0..1] The name of the memberElement relative to the membershipOwningNamespace. Membership
membershipOwningNamespace Namespace [1..1] {derived} The Namespace of which the memberElement becomes a member due to this Membership. Membership
memberShortName string [0..1] The short name of the memberElement relative to the membershipOwningNamespace. Membership
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConcern ConcernUsage [1..1] {derived} The ConcernUsage that is the ownedConstraint of this FramedConcernMembership. FramedConcernMembership
ownedConstraint ConstraintUsage [1..1] {derived} The ConstraintUsage that is the ownedMemberFeature of this RequirementConstraintMembership. RequirementConstraintMembership
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedMemberElement Element [1..1] {derived} The Element that becomes an ownedMember of the membershipOwningNamespace due to this OwningMembership. OwningMembership
ownedMemberElementId string [1..1] {derived} The elementId of the ownedMemberElement. OwningMembership
ownedMemberFeature Feature [1..1] {derived} The Feature that this FeatureMembership relates to its owningType, making it an ownedFeature of the owningType. FeatureMembership
ownedMemberName string [0..1] {derived} The name of the ownedMemberElement. OwningMembership
ownedMemberShortName string [0..1] {derived} The shortName of the ownedMemberElement. OwningMembership
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [1..1] {derived} The Type that owns this FeatureMembership. FeatureMembership
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
referencedConcern ConcernUsage [1..1] {derived} The ConcernUsage that is referenced through this FramedConcernMembership. It is the referencedConstraint of the FramedConcernMembership considered as a RequirementConstraintMembership, which must be a ConcernUsage. FramedConcernMembership
referencedConstraint ConstraintUsage [1..1] {derived} The ConstraintUsage that is referenced through this RequirementConstraintMembership. It is the referencedFeature of the ownedReferenceSubsetting of the ownedConstraint, if there is one, and, otherwise, the ownedConstraint itself. RequirementConstraintMembership
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [1..1] The Type that features the featureOfType. Featuring
visibility VisibilityKind [1..1] public Whether or not the Membership of the memberElement in the membershipOwningNamespace is publicly visible outside that Namespace. Membership

Function

Definition

A Function is a Behavior that has an out parameter that is identified as its result. A Function represents the performance of a calculation that produces the values of its result parameter. This calculation may be decomposed into Expressions that are steps of the Function.featureMembership-> selectByKind(ReturnParameterMembership)-> size() = 1specializesFromLibrary('Performances::Evaluation')ownedMembership.selectByKind(ResultExpressionMembership)-> forAll(mem | ownedFeature.selectByKind(BindingConnector)-> exists(binding | binding.relatedFeature->includes(result) and binding.relatedFeature->includes(mem.ownedResultExpression.result)))result = let resultParams : Sequence(Feature) = featureMemberships-> selectByKind(ReturnParameterMembership). ownedParameterMember in if resultParams->notEmpty() then resultParams->first() else null endifmembership->selectByKind(ResultExpressionMembership)->size() <= 1

Features

Name Description
Is Abstract FALSE
Generalizations Behavior

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
expression Expression [0..-1] {derived} The Expressions that are steps in the calculation of the result of this Function.The set of expressions that represent computational steps or parts of a system of equations within the Function. Function
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Function can be used as the function of a model-level evaluable InvocationExpression. Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = true. For all other Functions it is false.Note: See the specification of the KerML concrete syntax notation for Expressions for an identification of which library Functions are model-level evaluable. Function
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} The object or value that is the result of evaluating the Function.The result parameter of the Function, which is owned by the Function via a ReturnParameterMembership. Function
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

IfActionUsage

Definition

An IfActionUsage is an ActionUsage that specifies that the thenAction ActionUsage should be performed if the result of the ifArgument Expression is true. It may also optionally specify an elseAction ActionUsage that is performed if the result of the ifArgument is false.thenAction = let parameter : Feature = inputParameter(2) in if parameter <> null and parameter.oclIsKindOf(ActionUsage) then parameter.oclAsType(ActionUsage) else null endifisSubactionUsage() implies specializesFromLibrary('Actions::Action::ifSubactions')if elseAction = null then specializesFromLibrary('Actions::ifThenActions')else specializesFromLibrary('Actions::ifThenElseActions')endififArgument = let parameter : Feature = inputParameter(1) in if parameter <> null and parameter.oclIsKindOf(Expression) then parameter.oclAsType(Expression) else null endifelseAction = let parameter : Feature = inputParameter(3) in if parameter <> null and parameter.oclIsKindOf(ActionUsage) then parameter.oclAsType(ActionUsage) else null endifinputParameters()->size() >= 2

Features

Name Description
Is Abstract FALSE
Generalizations ActionUsage

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
elseAction ActionUsage [0..1] {derived} The ActionUsage that is to be performed if the result of the ifArgument is false. It is the (optional) third parameter of the IfActionUsage. IfActionUsage
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
ifArgument Expression [1..1] {derived} The Expression whose result determines whether the thenAction or (optionally) the elseAction is performed. It is the first parameter of the IfActionUsage. IfActionUsage
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
thenAction ActionUsage [1..1] {derived} The ActionUsage that is to be performed if the result of the ifArgument is true. It is the second parameter of the IfActionUsage. IfActionUsage
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

Import

Definition

An Import is an Relationship between its importOwningNamespace and either a Membership (for a MembershipImport) or another Namespace (for a NamespaceImport), which determines a set of Memberships that become importedMemberships of the importOwningNamespace. If isImportAll = false (the default), then only public Memberships are considered "visible". If isImportAll = true, then all Memberships are considered "visible", regardless of their declared visibility. If isRecursive = true, then visible Memberships are also recursively imported from owned sub-Namespaces.importOwningNamespace.owner = null implies visibility = VisibilityKind::private

Features

Name Description
Is Abstract TRUE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
importedElement Element [1..1] {derived} The effectively imported Element for this Import. For a MembershipImport, this is the memberElement of the importedMembership. For a NamespaceImport, it is the importedNamespace. Import
importOwningNamespace Namespace [1..1] {derived} The Namespace into which Memberships are imported by this Import, which must be the owningRelatedElement of the Import. Import
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isImportAll bool [1..1] false Whether to import memberships without regard to declared visibility. Import
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isRecursive bool [1..1] false Whether to recursively import Memberships from visible, owned sub-Namespaces. Import
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
visibility VisibilityKind [1..1] private The visibility level of the imported members from this Import relative to the importOwningNamespace. The default is private. Import

IncludeUseCaseUsage

Definition

An IncludeUseCaseUsage is a UseCaseUsage that represents the inclusion of a UseCaseUsage by a UseCaseDefinition or UseCaseUsage. Unless it is the IncludeUseCaseUsage itself, the UseCaseUsage to be included is related to the includedUseCase by a ReferenceSubsetting Relationship. An IncludeUseCaseUsage is also a PerformActionUsage, with its useCaseIncluded as the performedAction.owningType <> null and(owningType.oclIsKindOf(UseCaseDefinition) or owningType.oclIsKindOf(UseCaseUsage) implies specializesFromLibrary('UseCases::UseCase::includedUseCases')referencedFeatureTarget() <> null implies referencedFeatureTarget().oclIsKindOf(UseCaseUsage)

Features

Name Description
Is Abstract FALSE
Generalizations UseCaseUsage PerformActionUsage

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
actorParameter PartUsage [0..-1] {derived} The parameters of this CaseUsage that represent actors involved in the case. CaseUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
calculationDefinition Function [0..1] {derived} The Function that is the type of this CalculationUsage. Nominally, this would be a CalculationDefinition, but a kernel Function is also allowed, to permit use of Functions from the Kernel Model Libraries. CalculationUsage
caseDefinition CaseDefinition [0..1] {derived} The CaseDefinition that is the type of this CaseUsage. CaseUsage
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
eventOccurrence OccurrenceUsage [1..1] {derived} The OccurrenceUsage referenced as an event by this EventOccurrenceUsage. It is the referenceFeature of the ownedReferenceSubsetting for the EventOccurrenceUsage, if there is one, and, otherwise, the EventOccurrenceUsage itself. EventOccurrenceUsage
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
includedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are included by this UseCaseUse, which are the useCaseIncludeds of the IncludeUseCaseUsages owned by this UseCaseUsage. UseCaseUsage
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
objectiveRequirement RequirementUsage [0..1] {derived} The RequirementUsage representing the objective of this CaseUsage. CaseUsage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
performedAction ActionUsage [1..1] {derived} The ActionUsage to be performed by this PerformedActionUsage. It is the eventOccurrence of the PerformActionUsage considered as an EventOccurrenceUsage, which must be an ActionUsage. PerformActionUsage
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
subjectParameter Usage [1..1] {derived} The parameter of this CaseUsage that represents its subject. CaseUsage
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
useCaseDefinition UseCaseDefinition [0..1] {derived} The UseCaseDefinition that is the definition of this UseCaseUsage. UseCaseUsage
useCaseIncluded UseCaseUsage [1..1] {derived} The UseCaseUsage to be included by this IncludeUseCaseUsage. It is the performedAction of the IncludeUseCaseUsage considered as a PerformActionUsage, which must be a UseCaseUsage. IncludeUseCaseUsage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

IndexExpression

Definition

An IndexExpression is an OperatorExpression whose operator is "#", which resolves to the Function BasicFunctions::'#' from the Kernel Functions Library.arguments->notEmpty() and not arguments->first().result.specializesFromLibrary('Collections::Array') implies result.specializes(arguments->first().result)operator = '#'

Features

Name Description
Is Abstract FALSE
Generalizations OperatorExpression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
argument Expression [0..-1] {derived} The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression. InvocationExpression
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
operand Expression [0..-1] {derived} {composite} InvocationExpression
operator string [1..1] An operator symbol that names a corresponding Function from one of the standard packages from the Kernel Function Library . OperatorExpression
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

Interaction

Definition

An Interaction is a Behavior that is also an Association, providing a context for multiple objects that have behaviors that impact one another.

Features

Name Description
Is Abstract FALSE
Generalizations Association Behavior

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
associationEnd Feature [0..-1] {derived} The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association. Association
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
parameter Feature [0..-1] {derived} The parameters of this Behavior, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Behavior. Behavior
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedType Type [0..-1] {derived} The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship. Association
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceType Type [0..1] {derived} The source relatedType for this Association. It is the first relatedType of the Association. Association
step Step [0..-1] {derived} The Steps that make up this Behavior. Behavior
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetType Type [0..-1] {derived} The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType. Association
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

InterfaceDefinition

Definition

An InterfaceDefinition is a ConnectionDefinition all of whose ends are PortUsages, defining an interface between elements that interact through such ports.specializesFromLibrary('Interfaces::Interface')ownedEndFeature->size() = 2 implies specializesFromLibrary('Interfaces::BinaryInterface')

Features

Name Description
Is Abstract FALSE
Generalizations ConnectionDefinition

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
associationEnd Feature [0..-1] {derived} The features of the Association that identify the things that can be related by it. A concrete Association must have at least two associationEnds. When it has exactly two, the Association is called a binary Association. Association
connectionEnd Usage [0..-1] {derived} The Usages that define the things related by the ConnectionDefinition. ConnectionDefinition
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
interfaceEnd PortUsage [0..-1] {derived} The PortUsages that are the connectionEnds of this InterfaceDefinition. InterfaceDefinition
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedType Type [0..-1] {derived} The types of the associationEnds of the Association, which are the relatedElements of the Association considered as a Relationship. Association
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceType Type [0..1] {derived} The source relatedType for this Association. It is the first relatedType of the Association. Association
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetType Type [0..-1] {derived} The target relatedTypes for this Association. This includes all the relatedTypes other than the sourceType. Association
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

InterfaceUsage

Definition

An InterfaceUsage is a Usage of an InterfaceDefinition to represent an interface connecting parts of a system through specific ports.ownedEndFeature->size() = 2 implies specializesFromLibrary('Interfaces::binaryInterfaces')specializesFromLibrary('Interfaces::interfaces')

Features

Name Description
Is Abstract FALSE
Generalizations ConnectionUsage

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
association Association [0..-1] {derived} The Associations that type the Connector. Connector
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
connectionDefinition AssociationStructure [0..-1] {derived} The AssociationStructures that are the types of this ConnectionUsage. Nominally, these are , but other kinds of Kernel AssociationStructures are also allowed, to permit use of AssociationStructures from the Kernel Model Libraries ConnectionUsage
connectorEnd Feature [0..-1] {derived} The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector. Connector
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
interfaceDefinition InterfaceDefinition [0..-1] {derived} The InterfaceDefinitions that type this InterfaceUsage. InterfaceUsage
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
itemDefinition Structure [0..-1] {derived} The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library. ItemUsage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
partDefinition PartDefinition [0..-1] {derived} The itemDefinitions of this PartUsage that are PartDefinitions. PartUsage
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedFeature Feature [0..-1] {derived} The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector. Connector
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceFeature Feature [0..1] {derived} The source relatedFeature for this Connector. It is the first relatedFeature. Connector
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetFeature Feature [0..-1] {derived} The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature. Connector
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

Intersecting

Definition

Intersecting is a Relationship that makes its intersectingType one of the intersectingTypes of its typeIntersected.

Features

Name Description
Is Abstract FALSE
Generalizations Relationship

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
intersectingType Type [1..1] Type that partly determines interpretations of typeIntersected, as described in Type::intersectingType. Intersecting
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
typeIntersected Type [1..1] {derived} Type with interpretations partly determined by intersectingType, as described in Type::intersectingType. Intersecting

Invariant

Definition

An Invariant is a BooleanExpression that is asserted to have a specific Boolean result value. If isNegated = false, then the result is asserted to be true. If isNegated = true, then the result is asserted to be false.if isNegated then specializesFromLibrary('Performances::falseEvaluations')else specializesFromLibrary('Performances::trueEvaluations')endif

Features

Name Description
Is Abstract FALSE
Generalizations BooleanExpression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNegated bool [1..1] false Whether this Invariant is asserted to be false rather than true. Invariant
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
predicate Predicate [0..1] {derived} The Predicate that types the Expression.The Predicate that types this BooleanExpression. BooleanExpression
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

InvocationExpression

Definition

An InvocationExpression is an Expression each of whose input parameters are bound to the result of an argument Expression.TBDlet features : Set(Feature) = type.feature->asSet() ininput->forAll(inp | inp.ownedRedefinition.redefinedFeature-> intersection(features)->size() = 1)ownedFeature-> select(direction = _'in').valuation-> select(v | v <> null).valuelet features : Set(Feature) = type.feature->asSet() ininput->forAll(inp1 | input->forAll(inp2 | inp1 <> inp2 implies inp1.ownedRedefinition.redefinedFeature-> intersection(inp2.ownedRedefinition.redefinedFeature)-> intersection(features)->isEmpty()))not ownedTyping->exists(oclIsKindOf(Function)) andnot ownedSubsetting->reject(isImplied).subsettedFeature.type-> exists(oclIsKindOf(Function)) implies ownedFeature.selectByKind(BindingConnector)->exists( relatedFeature->includes(self) and relatedFeature->includes(result))

Features

Name Description
Is Abstract FALSE
Generalizations Expression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
argument Expression [0..-1] {derived} The value Expressions of the FeatureValues of the owned input parameters of the InvocationExpression. InvocationExpression
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
operand Expression [0..-1] {derived} {composite} InvocationExpression
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

ItemDefinition

Definition

An ItemDefinition is an OccurrenceDefinition of the Structure of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals.specializesFromLibrary('Items::Item')

Features

Name Description
Is Abstract FALSE
Generalizations OccurrenceDefinition Structure

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Definition that are directedFeatures. Definition
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceDefinition is constrained to represent single individual. OccurrenceDefinition
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isVariation bool [1..1] Whether this Definition is for a variation point or not. If true, then all the memberships of the Definition must be VariantMemberships. Definition
lifeClass LifeClass [0..1] {derived} If isIndividual is true, a LifeClass that specializes this OccurrenceDefinition, restricting it to represent an individual. OccurrenceDefinition
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAction ActionUsage [0..-1] {derived} The ActionUsages that are ownedUsages of this Definition. Definition
ownedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are ownedUsages of this Definition. Definition
ownedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are ownedUsages of this Definition. Definition
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedAttribute AttributeUsage [0..-1] {derived} The AttributeUsages that are ownedUsages of this Definition. Definition
ownedCalculation CalculationUsage [0..-1] {derived} The CalculationUsages that are ownedUsages of this Definition. Definition
ownedCase CaseUsage [0..-1] {derived} The code>CaseUsages that are ownedUsages of this Definition. Definition
ownedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are ownedUsages of this Definition. Definition
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are ownedUsages of this Definition. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Definition
ownedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are ownedUsages of this Definition. Definition
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedEnumeration EnumerationUsage [0..-1] {derived} The EnumerationUsages that are ownedUsages of this Definition. Definition
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedFlow FlowConnectionUsage [0..-1] {derived} The FlowConnectionUsages that are ownedUsages of this Definition. Definition
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are ownedUsages of this Definition. Definition
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedItem ItemUsage [0..-1] {derived} The ItemUsages that are ownedUsages of this Definition. Definition
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are ownedUsages of this Definition. Definition
ownedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are ownedUsages of this Definition. Definition
ownedPart PartUsage [0..-1] {derived} The PartUsages that are ownedUsages of this Definition. Definition
ownedPort PortUsage [0..-1] {derived} The PortUsages that are ownedUsages of this Definition. Definition
ownedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are ownedUsages of this Definition. Definition
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are ownedUsages of this Definition. Definition
ownedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are ownedUsages of this Definition. Definition
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedState StateUsage [0..-1] {derived} The StateUsages that are ownedUsages of this Definition. Definition
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are ownedUsages of this Definition. Definition
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
ownedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Definition. Definition
ownedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are ownedUsages of this Definition. Definition
ownedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are ownedUsages of this Definition. Definition
ownedView ViewUsage [0..-1] {derived} The ViewUsages that are ownedUsages of this Definition. Definition
ownedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are ownedUsages of this Definition. Definition
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Definition (not necessarily owned). Definition
variant Usage [0..-1] {derived} The Usages which represent the variants of this Definition as a variation point Definition, if isVariation = true. If isVariation = false, the there must be no variants. Definition
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Definition that are VariantMemberships. If isVariation = true, then this must be all ownedMemberships of the Definition. If isVariation = false, then variantMembershipmust be empty. Definition

ItemFeature

Definition

An ItemFeature is the ownedFeature of an ItemFlow that identifies the things carried by the kinds of transfers that are instances of the ItemFlow.ownedRedefinition.redefinedFeature-> redefinesFromLibrary('Transfers::Transfer::item')

Features

Name Description
Is Abstract FALSE
Generalizations Feature

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

ItemFlow

Definition

An ItemFlow is a Step that represents the transfer of objects or data values from one Feature to another. ItemFlows can take non-zero time to complete.targetInputFeature = if connectorEnd->size() < 2 or connectorEnd->at(2).ownedFeature->isEmpty() then null else connectorEnd->at(2).ownedFeature->first() endifif itemFlowEnds->isEmpty() then specializesFromLibrary('Transfers::transfers')else specializesFromLibrary('Transfers::flowTransfers')endifitemType = if itemFeature = null then Sequence{} else itemFeature.type endifownedFeature->selectByKind(ItemFeature)->size() <= 1sourceOutputFeature = if connectorEnd->isEmpty() or connectorEnd.ownedFeature->isEmpty() then null else connectorEnd.ownedFeature->first() endifitemFeature = let itemFeatures : Sequence(ItemFeature) = ownedFeature->selectByKind(ItemFeature) in if itemFeatures->isEmpty() then null else itemFeatures->first() endifitemFlowEnd = connectorEnd->selectByKind(ItemFlowEnd)

Features

Name Description
Is Abstract FALSE
Generalizations Connector Step

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
association Association [0..-1] {derived} The Associations that type the Connector. Connector
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
connectorEnd Feature [0..-1] {derived} The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the Connector. Connector
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
interaction Interaction [0..-1] {derived} The Interactions that type this ItemFlow. Interactions are both Associations and Behaviors, which can type Connectors and Steps, respectively. ItemFlow
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImplied bool [1..1] false Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler. Relationship
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
itemFeature ItemFeature [0..1] {derived} The ownedFeature of the ItemFlow that is an ItemFeature (if any). ItemFlow
itemFlowEnd ItemFlowEnd [0..2] {derived} The connectorEnds of this ItemFlow that are ItemFlowEnds. ItemFlow
itemType Classifier [0..-1] {derived} The type of values transferred, which is the type of the itemFeature of the ItemFlow. ItemFlow
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelatedElement Element [0..-1] {composite} The relatedElements of this Relationship that are owned by the Relationship. Relationship
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelatedElement Element [0..1] The relatedElement of this Relationship that owns the Relationship, if any. Relationship
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
relatedElement Element [0..-1] {derived} The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship. Relationship
relatedFeature Feature [0..-1] {derived} The Features that are related by this Connector considered as a Relationship and that restrict the links it identifies, given by the referenced Features of the connectorEnds of the Connector. Connector
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
source Element [0..-1] The relatedElements from which this Relationship is considered to be directed. Relationship
sourceFeature Feature [0..1] {derived} The source relatedFeature for this Connector. It is the first relatedFeature. Connector
sourceOutputFeature Feature [0..1] {derived} The Feature that provides the items carried by the ItemFlow. It must be an owned output of the source of the ItemFlow. ItemFlow
target Element [0..-1] The relatedElements to which this Relationship is considered to be directed. Relationship
targetFeature Feature [0..-1] {derived} The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the sourceFeature. Connector
targetInputFeature Feature [0..1] {derived} The Feature that receives the values carried by the ItemFlow. It must be an owned output of the target participant of the ItemFlow. ItemFlow
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

ItemFlowEnd

Definition

An ItemFlowEnd is a Feature that is one of the connectorEnds giving the source or target of an ItemFlow. For ItemFlows typed by FlowTransfer or its specializations, ItemFlowEnds must have exactly one ownedFeature, which redefines Transfer::source::sourceOutput or Transfer::target::targetInput and redefines the corresponding feature of the relatedElement for its end.owningType <> null and owningType.oclIsKindOf(ItemFlow)isEndownedFeature->size() = 1

Features

Name Description
Is Abstract FALSE
Generalizations Feature

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

ItemUsage

Definition

An ItemUsage is a ItemUsage whose definition is a Structure. Nominally, if the definition is an ItemDefinition, an ItemUsage is a ItemUsage of that ItemDefinition within a system. However, other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Model Libraries.itemDefinition = occurrenceDefinition->selectByKind(ItemDefinition)specializesFromLibrary('Items::items')isComposite and owningType <> null and(owningType.oclIsKindOf(ItemDefinition) or owningType.oclIsKindOf(ItemUsage)) implies specializesFromLibrary('Items::Item::subitem')

Features

Name Description
Is Abstract FALSE
Generalizations OccurrenceUsage

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
itemDefinition Structure [0..-1] {derived} The Structures that are the definitions of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library. ItemUsage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

JoinNode

Definition

A JoinNode is a ControlNode that waits for the completion of all the predecessor Actions given by incoming Successions.sourceConnector->selectByKind(Succession)->size() <= 1specializesFromLibrary('Actions::Action::join')

Features

Name Description
Is Abstract FALSE
Generalizations ControlNode

Properties

Name Type Default Description Inheritance
actionDefinition Behavior [0..-1] {derived} The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel Model Libraries. ActionUsage
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
definition Classifier [0..-1] {derived} The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model Libraries. Usage
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
directedUsage Usage [0..-1] {derived} The usages of this Usage that are directedFeatures. Usage
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
individualDefinition OccurrenceDefinition [0..1] {derived} The at most one occurrenceDefinition that has isIndividual = true. OccurrenceUsage
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isIndividual bool [1..1] false Whether this OccurrenceUsage represents the usage of the specific individual (or portion of it) represented by its individualDefinition. OccurrenceUsage
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isReference bool [1..1] {derived} Whether this Usage is a referential Usage, that is, it has isComposite = false. Usage
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
isVariation bool [1..1] Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage must be VariantMemberships. Usage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
nestedAction ActionUsage [0..-1] {derived} The ActionUsages that are nestedUsages of this Usage. Usage
nestedAllocation AllocationUsage [0..-1] {derived} The AllocationUsages that are nestedUsages of this Usage. Usage
nestedAnalysisCase AnalysisCaseUsage [0..-1] {derived} The AnalysisCaseUsages that are nestedUsages of this Usage. Usage
nestedAttribute AttributeUsage [0..-1] {derived} The code>AttributeUsages that are nestedUsages of this Usage. Usage
nestedCalculation CalculationUsage [0..-1] {derived} The CalculationUsage that are nestedUsages of this Usage. Usage
nestedCase CaseUsage [0..-1] {derived} The CaseUsages that are nestedUsages of this Usage. Usage
nestedConcern ConcernUsage [0..-1] {derived} The ConcernUsages that are nestedUsages of this Usage. Usage
nestedConnection ConnectorAsUsage [0..-1] {derived} The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are ConnectorAsUsages even though they are not ConnectionUsages. Usage
nestedConstraint ConstraintUsage [0..-1] {derived} The ConstraintUsages that are nestedUsages of this Usage. Usage
nestedEnumeration EnumerationUsage [0..-1] {derived} The code>EnumerationUsages that are nestedUsages of this Usage. Usage
nestedFlow FlowConnectionUsage [0..-1] {derived} The code>FlowConnectionUsages that are nestedUsages of this Usage. Usage
nestedInterface InterfaceUsage [0..-1] {derived} The InterfaceUsages that are nestedUsages of this Usage. Usage
nestedItem ItemUsage [0..-1] {derived} The ItemUsages that are nestedUsages of this Usage. Usage
nestedMetadata MetadataUsage [0..-1] {derived} The MetadataUsages that are nestedUsages of this of this Usage. Usage
nestedOccurrence OccurrenceUsage [0..-1] {derived} The OccurrenceUsages that are nestedUsages of this Usage. Usage
nestedPart PartUsage [0..-1] {derived} The PartUsages that are nestedUsages of this Usage. Usage
nestedPort PortUsage [0..-1] {derived} The PortUsages that are nestedUsages of this Usage. Usage
nestedReference ReferenceUsage [0..-1] {derived} The ReferenceUsages that are nestedUsages of this Usage. Usage
nestedRendering RenderingUsage [0..-1] {derived} The RenderingUsages that are nestedUsages of this Usage. Usage
nestedRequirement RequirementUsage [0..-1] {derived} The RequirementUsages that are nestedUsages of this Usage. Usage
nestedState StateUsage [0..-1] {derived} The StateUsages that are nestedUsages of this Usage. Usage
nestedTransition TransitionUsage [0..-1] {derived} The TransitionUsages that are nestedUsages of this Usage. Usage
nestedUsage Usage [0..-1] {derived} The Usages that are ownedFeatures of this Usage. Usage
nestedUseCase UseCaseUsage [0..-1] {derived} The UseCaseUsages that are nestedUsages of this Usage. Usage
nestedVerificationCase VerificationCaseUsage [0..-1] {derived} The VerificationCaseUsages that are nestedUsages of this Usage. Usage
nestedView ViewUsage [0..-1] {derived} The ViewUsages that are nestedUsages of this Usage. Usage
nestedViewpoint ViewpointUsage [0..-1] {derived} The ViewpointUsages that are nestedUsages of this Usage. Usage
occurrenceDefinition Class [0..-1] {derived} The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model Libraries. OccurrenceUsage
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningDefinition Definition [0..1] {derived} The Definition that owns this Usage (if any). Usage
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
owningUsage Usage [0..1] {derived} The Usage in which this Usage is nested (if any). Usage
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
portionKind PortionKind [0..1] The kind of (temporal) portion of the life of the occurrenceDefinition represented by this OccurrenceUsage, if it is so restricted. OccurrenceUsage
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
usage Usage [0..-1] {derived} The Usages that are features of this Usage (not necessarily owned). Usage
variant Usage [0..-1] {derived} The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = true. If isVariation = false, then there must be no variants. Usage
variantMembership VariantMembership [0..-1] {derived} The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. Usage

LibraryPackage

Definition

A LibraryPackage is a Package that is the container for a model library. A LibraryPackage is itself a library Element as are all Elements that are directly or indirectly contained in it.

Features

Name Description
Is Abstract FALSE
Generalizations Package

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
filterCondition Expression [0..-1] {derived} The model-level evaluable Boolean-valued Expression used to filter the members of this Package, which are owned by the Package are via ElementFilterMemberships. Package
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isStandard bool [1..1] false Whether this LibraryPackage contains a standard library model. This should only be set to true for LibraryPackages in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML. LibraryPackage
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element

LifeClass

Definition

A LifeClass is a Class that specializes both the Class Occurrences::Life from the Kernel Semantic Library and a single OccurrenceDefinition, and has a multiplicity of 0..1. This constrains the OccurrenceDefinition being specialized to have at most one instance that is a complete Life.specializesFromLibrary('Occurrences::Life')multiplicity <> null andmultiplicity.specializesFromLibrary('Base::zeroOrOne')specializes(individualDefinition)isSufficient

Features

Name Description
Is Abstract FALSE
Generalizations Class

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubclassification Subclassification [0..-1] {derived} The ownedSpecializations of this Classifier that are Subclassifications, for which this Classifier is the subclassifier. Classifier
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type

LiteralBoolean

Definition

LiteralBoolean is a LiteralExpression that provides a Boolean value as a result. Its result parameter must have type Boolean.specializesFromLibrary('Performances::literalBooleanEvaluations')

Features

Name Description
Is Abstract FALSE
Generalizations LiteralExpression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1] The declared name of this Element. Element
declaredShortName string [0..1] An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context. Element
differencingType Type [0..-1] {derived} The interpretations of a Type with differencingTypes are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
directedFeature Feature [0..-1] {derived} The features of this Type that have a non-null direction. Type
direction FeatureDirectionKind [0..1] Indicates how values of this Feature are determined or used (as specified for the FeatureDirectionKind). Feature
documentation Documentation [0..-1] {derived} The Documentation owned by this Element. Element
elementId string [1..1] The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element. Element
endFeature Feature [0..-1] {derived} All features of this Type with isEnd = true. Type
endOwningType Type [0..1] {derived} The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an ownedMemberFeature. Feature
feature Feature [0..-1] {derived} The ownedMemberFeatures of the featureMemberships of this Type. Type
featureMembership FeatureMembership [0..-1] {derived} The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and those inheritedMemberships that are FeatureMemberships (but does not include any importedMemberships). Type
featureTarget Feature [1..1] {derived} The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. Feature
featuringType Type [0..-1] {derived} Types that feature this Feature, such that any instance in the domain of the Feature must be classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. If the Feature is chained, then the featuringTypes of the first Feature in the chain are also featuringTypes of the chained Feature. Feature
function Function [0..1] {derived} The Function that types this Expression.This is the Function that types the Expression. Expression
importedMembership Membership [0..-1] {derived} The Memberships in this Namespace that result from the ownedImports of this Namespace. Namespace
inheritedFeature Feature [0..-1] {derived} All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. Type
inheritedMembership Membership [0..-1] {derived} All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type. Type
input Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction in or inout. Type
intersectingType Type [0..-1] {derived} The interpretations of a Type with intersectingTypes are asserted to be those in common among the intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people's children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex). Type
isAbstract bool [1..1] false Indicates whether instances of this Type must also be instances of at least one of its specialized Types. Type
isComposite bool [1..1] false Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature cannot exist after its featuring instance no longer does. Feature
isConjugated bool [1..1] {derived} Indicates whether this Type has an ownedConjugator. Type
isDerived bool [1..1] false Whether the values of this Feature can always be computed from the values of other Features. Feature
isEnd bool [1..1] false Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in which case values of the crossFeature must be the same as those found by navigation across instances of the owningType from values of other end Features to values of this Feature. If the owningType has n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of values of that Feature reached by navigation when the values of the other n-1 end Features are held fixed. Feature
isImpliedIncluded bool [1..1] false Whether all necessary implied Relationships have been included in the ownedRelationships of this Element. This property may be true, even if there are not actually any ownedRelationships with isImplied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then ownedRelationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them. Element
isLibraryElement bool [1..1] {derived} Whether this Element is contained in the ownership tree of a library model. Element
isModelLevelEvaluable bool [1..1] {derived} Whether this Expression meets the constraints necessary to be evaluated at model level, that is, using metadata within the model. Expression
isNonunique bool [1..1] {derived} false Feature
isOrdered bool [1..1] false Whether an order exists for the values of this Feature or not. Feature
isPortion bool [1..1] false Whether the values of this Feature are contained in the space and time of instances of the domain of the Feature and represent the same thing as those instances. Feature
isReadOnly bool [1..1] false Whether the values of this Feature can change over the lifetime of an instance of the domain. Feature
isSufficient bool [1..1] false Whether all things that meet the classification conditions of this Type must be classified by the Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.) Type
isUnique bool [1..1] true Whether or not values for this Feature must have no duplicates or not. Feature
member Element [0..-1] {derived} The set of all member Elements of this Namespace, which are the memberElements of all memberships of the Namespace. Namespace
membership Membership [0..-1] {derived} All Memberships in this Namespace, including (at least) the union of ownedMemberships and importedMemberships. Namespace
multiplicity Multiplicity [0..1] {derived} An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such ownedMember, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes. Type
name string [0..1] {derived} The name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveName() operation. By default, it is the same as the declaredName, but this is overridden for certain kinds of Elements to compute a name even when the declaredName is null. Element
output Feature [0..-1] {derived} All features related to this Type by FeatureMemberships that have direction out or inout. Type
ownedAnnotation Annotation [0..-1] {derived} The ownedRelationships of this Element that are Annotations, for which this Element is the annotatedElement. Element
ownedConjugator Conjugation [0..1] {derived} A Conjugation owned by this Type for which the Type is the originalType. Type
ownedCrossSubsetting CrossSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature is the crossingFeature. Feature
ownedDifferencing Differencing [0..-1] {derived} The ownedRelationships of this Type that are Differencings, having this Type as their typeDifferenced. Type
ownedDisjoining Disjoining [0..-1] {derived} The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined Type. Type
ownedElement Element [0..-1] {derived} The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of this Element. Element
ownedEndFeature Feature [0..-1] {derived} All endFeatures of this Type that are ownedFeatures. Type
ownedFeature Feature [0..-1] {derived} The ownedMemberFeatures of the ownedFeatureMemberships of this Type. Type
ownedFeatureChaining FeatureChaining [0..-1] {derived} The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the featureChained. Feature
ownedFeatureInverting FeatureInverting [0..-1] {derived} The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the featureInverted. Feature
ownedFeatureMembership FeatureMembership [0..-1] {derived} The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. Each such FeatureMembership identifies an ownedFeature of the Type. Type
ownedImport Import [0..-1] {derived} The ownedRelationships of this Namespace that are Imports, for which the Namespace is the importOwningNamespace. Namespace
ownedIntersecting Intersecting [0..-1] {derived} The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. Type
ownedMember Element [0..-1] {derived} The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships of the Namespace. Namespace
ownedMembership Membership [0..-1] {derived} The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the membershipOwningNamespace. Namespace
ownedRedefinition Redefinition [0..-1] {derived} The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the redefiningFeature. Feature
ownedReferenceSubsetting ReferenceSubsetting [0..1] {derived} The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the Feature is the referencingFeature. Feature
ownedRelationship Relationship [0..-1] {composite} The Relationships for which this Element is the owningRelatedElement. Element
ownedSpecialization Specialization [0..-1] {derived} The ownedRelationships of this Type that are Specializations, for which the Type is the specific Type. Type
ownedSubsetting Subsetting [0..-1] {derived} The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the subsettingFeature. Feature
ownedTypeFeaturing TypeFeaturing [0..-1] {derived} The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the featureOfType. Feature
ownedTyping FeatureTyping [0..-1] {derived} The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the typedFeature. Feature
ownedUnioning Unioning [0..-1] {derived} The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. Type
owner Element [0..1] {derived} The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this Element, if any. Element
owningFeatureMembership FeatureMembership [0..1] {derived} The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. Feature
owningMembership OwningMembership [0..1] {derived} The owningRelationship of this Element, if that Relationship is a Membership. Element
owningNamespace Namespace [0..1] {derived} The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership of this Element, if any. Element
owningRelationship Relationship [0..1] The Relationship for which this Element is an ownedRelatedElement, if any. Element
owningType Type [0..1] {derived} The Type that is the owningType of the owningFeatureMembership of this Feature. Feature
parameter Feature [0..-1] {derived} The parameters of this Step, which are defined as its directedFeatures, whose values are passed into and/or out of a performance of the Step. Step
qualifiedName string [0..1] {derived} The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualifiedName is null if this Element has no owningNamespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element. Element
result Feature [1..1] {derived} An output parameter of the Expression whose value is the result of the Expression. The result of an Expression is either inherited from its function or it is related to the Expression via a ReturnParameterMembership, in which case it redefines the result parameter of its function. Expression
shortName string [0..1] {derived} The short name to be used for this Element during name resolution within its owningNamespace. This is derived using the effectiveShortName() operation. By default, it is the same as the declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even when the declaredName is null. Element
textualRepresentation TextualRepresentation [0..-1] {derived} The TextualRepresentations that annotate this Element. Element
type Type [0..-1] {derived} Types that restrict the values of this Feature, such that the values must be instances of all the types. The types of a Feature are derived from its typings and the types of its subsettings. If the Feature is chained, then the types of the last Feature in the chain are also types of the chained Feature. Feature
unioningType Type [0..-1] {derived} The interpretations of a Type with unioningTypes are asserted to be the same as those of all the unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people's children might be the union of features dividing them in the same ways as people in general. Type
value bool [1..1] The Boolean value that is the result of evaluating this LiteralBoolean.The Boolean value that is the result of evaluating this Expression. LiteralBoolean

LiteralExpression

Definition

A LiteralExpression is an Expression that provides a basic DataValue as a result.isModelLevelEvaluable = truespecializesFromLibrary('Performances::literalEvaluations')

Features

Name Description
Is Abstract FALSE
Generalizations Expression

Properties

Name Type Default Description Inheritance
aliasIds string [0..-1] Various alternative identifiers for this Element. Generally, these will be set by tools. Element
behavior Behavior [0..-1] {derived} The Behaviors that type this Step. Step
chainingFeature Feature [0..-1] {derived} The Feature that are chained together to determine the values of this Feature, derived from the chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be found by starting with the values of the first Feature (for each instance of the domain of the original Feature), then using each of those as domain instances to find the values of the second Feature in chainingFeatures, and so on, to values of the last Feature. Feature
crossFeature Feature [0..1] {derived} The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it has one. Semantically, the values of the crossFeature of an end Feature must include all values of the end Feature obtained when navigating from values of the other end Features of the same owningType. Feature
declaredName string [0..1]