Browse reference
On this page

Concept profile

PartUsage

Describes a system or system part in a context. A definition describes its kind; multiple usages can share that kind.

Status: draft, source-checked. Editorial explanation with separately identified source declarations and original illustrative redraws.

Original XMI declaration. §7.11 Parts, printed 58 / PDF 90; §8.3.11.3 PartUsage, printed 289 / PDF 321

Source evidence 3 locations

What to understand

  • A referential part remains a PartUsage. It is not converted into the metaclass ReferenceUsage just because its declaration contains ref.
  • Owning a part declaration, featuring its values, and making those values composite are separate mechanisms.
  • The declared partDefinition property has multiplicity 0..*. Class-level constraints still require at least one applicable PartDefinition typing; declaration cardinality alone is not the whole rule.
  • The normalized defaults below describe metamodel fields. The multiplicity and composition of a part in a user model follow contextual SysML rules.

Graphical notation

These are representative, source-checked variants, not an exhaustive notation grammar. The illustrations are original redraws, not official figures.

Composite and referential part usages

Context: Usage nodes in structural views.

Rounded rectangle with a part usage label. The referential variant has a dashed outline and the ref prefix. Compartments and side ports are additional variants.

Composite and referential part usages

§8.2.3.11 Parts, printed 209 / PDF 241

Source evidence 1 location

Relationships and composition

Typing: PartDefinition

A part usage has applicable part-definition typing, explicit or supplied through its semantic specialization.

Condition: Do not restrict every allowed explicit type to PartDefinition; the source also permits qualifying item definitions and kernel structures.

§7.11.2, printed 61 / PDF 93

Nested declaration: PartUsage

A part usage can declare nested part usages as features in its context.

Condition: Permitted examples do not establish that every nesting is valid; membership, featuring and composition constraints still apply.

§7.6.3, printed 41 / PDF 73

Nested port: PortUsage

Ports can be declared within a part usage or its defining type.

Condition: The port typing and context-specific referentiality rules apply independently of the enclosing part.

§7.12.2–3, printed 63 / PDF 95

Source evidence 3 locations

Connected example

wheel is a composite part usage within Assembly. spare is an owned but referential part usage. Both are typed by Wheel; the [0..1] on spare explicitly constrains its modeled values.

// Original documentation example. Source-reviewed; not parser-validated.
package AssemblyExample {
    port def Mount;

    part def Wheel {
        port hub : Mount;
    }

    part def Axle {
        port mount : Mount;
    }

    part def Assembly {
        part wheel : Wheel;
        part axle : Axle;
        ref part spare : Wheel[0..1];
        connection link connect axle.mount to wheel.hub;
    }

    part assembly : Assembly;
}

Verification: source-reviewed, not parser-validated or executed. §7.6.3 Usages, printed 40 / PDF 72; §7.11.2 Part Definitions and Usages, printed 61 / PDF 93

Source evidence 2 locations

Properties

The explicit-redefinition view contains 113 active declarations, retaining declaration origins and excluding 3 replaced declarations. It deduplicates diamond paths by identity, excludes private inherited fields, and reports unresolved same-name collisions instead of choosing a winner.

These are metamodel property cardinalities and declared defaults. They do not determine the multiplicity or runtime values of a part, port or connection in a user model. Derived values still require their derivation rules. See property rules.

View 113 property declarations
Property Meaning Type Bounds Declared on Declared default
aliasIds Alternative identifiers for this element, typically supplied by tools. String 0..* Element No declared default
chainingFeature The ordered features whose successive navigation determines this feature’s modeled values. Feature 0..* Feature No declared default
crossFeature The navigational feature constraining collections reached across the other ends of the same owning type. Feature 0..1 Feature No declared default
declaredName The primary name explicitly supplied for this element. String 0..1 Element No declared default
declaredShortName An explicitly supplied compact alternative name whose contextual uniqueness is the modeler’s responsibility. String 0..1 Element No declared default
differencingType The ordered types defining this type as the first type’s interpretations minus those of subsequent types. Type 0..* Type No declared default
directedFeature The features of this type with an explicit direction. Feature 0..* Type No declared default
directedUsage The usage features in this context that have an explicit direction. Usage 0..* Usage No declared default
direction Describes whether modeled feature values serve as inputs, outputs, or both. FeatureDirectionKind 0..1 Feature No declared default
documentation The documentation elements owned by this element. Documentation 0..* Element No declared default
elementId The tooling-assigned global identifier intended to remain stable for this element’s lifetime. String 1..1 Element No declared default
endFeature The features of this type marked as ends. Feature 0..* Type No declared default
endOwningType The type owning this feature through an end-feature membership. Type 0..1 Feature No declared default
feature The features available through this type’s feature memberships, including inherited features. Feature 0..* Type No declared default
featureMembership The owned and inherited feature memberships of this type, excluding imported memberships. FeatureMembership 0..* Type No declared default
featureTarget The final feature in this feature’s navigation chain, or this feature when no chain exists. Feature 1..1 Feature No declared default
featuringType The types that every domain instance from which this feature is evaluated must satisfy. Type 0..* Feature No declared default
importedMembership The memberships made available by imports owned by this namespace. Membership 0..* Namespace No declared default
individualDefinition The optional occurrence definition typing this usage that is marked individual. OccurrenceDefinition 0..1 OccurrenceUsage No declared default
inheritedFeature The features obtained through inherited feature memberships. Feature 0..* Type No declared default
inheritedMembership The memberships made available to this type by specialization or conjugation. Membership 0..* Type No declared default
input The features of this type directed into the type, including bidirectional features. Feature 0..* Type No declared default
intersectingType The types whose shared interpretations define this type. Type 0..* Type No declared default
isAbstract Requires every instance of this type to also instantiate a more specialized type. Boolean 1..1 Type false (LiteralBoolean)
isComposite Makes modeled values dependent on their featuring instance for continued existence and exclusive to that instance across composite features. Boolean 1..1 Feature false (LiteralBoolean)
isConjugated Records whether this type owns a conjugation as its conjugator. Boolean 1..1 Type No declared default
isConstant Keeps the modeled value unchanged across snapshots even when the feature is variable. Boolean 1..1 Feature false (LiteralBoolean)
isDerived Indicates that modeled values of this feature are always computable from other feature values. Boolean 1..1 Feature false (LiteralBoolean)
isEnd Marks a feature as an end, mapping each domain instance to one value; navigation cardinality can additionally be constrained through its cross feature. Boolean 1..1 Feature false (LiteralBoolean)
isImpliedIncluded Records that all required implied owned relationships are included; false requires that none be included. Boolean 1..1 Element false (LiteralBoolean)
isIndividual Identifies a usage of the specific individual designated by its individual definition. Boolean 1..1 OccurrenceUsage false (LiteralBoolean)
isLibraryElement Indicates that this element lies within the ownership tree of a library model. Boolean 1..1 Element No declared default
isOrdered Records whether the modeled feature values have a meaningful sequence. Boolean 1..1 Feature false (LiteralBoolean)
isPortion Indicates that modeled values are spatial or temporal portions of their domain instance and represent that same thing. Boolean 1..1 Feature false (LiteralBoolean)
isReference The derived opposite of isComposite, identifying usage values without composite lifetime dependence. Boolean 1..1 Usage No declared default
isSufficient Makes satisfying this type’s classification conditions sufficient for classification by the type. Boolean 1..1 Type false (LiteralBoolean)
isUnique Requires the modeled collection of feature values to contain no repeated values when true. Boolean 1..1 Feature true (LiteralBoolean)
isVariation Marks a variation point and requires its relevant memberships to be variant memberships. Boolean 1..1 Usage No declared default
itemDefinition The structures typing this item usage, including compatible KerML library structures. Structure 0..* ItemUsage No declared default
mayTimeVary The derived replacement for Feature.isVariable indicating snapshot-based featuring; isConstant can still require the same value throughout an occurrence. Boolean 1..1 Usage No declared default
member The elements available as members through this namespace’s memberships. Element 0..* Namespace No declared default
membership The memberships available in this namespace, including owned and imported memberships. Membership 0..* Namespace No declared default
multiplicity The owned multiplicity constraining this type’s modeled cardinality; without one, applicable supertype multiplicities still constrain it. Multiplicity 0..1 Type No declared default
name The effective name used for namespace lookup, which some element kinds compute rather than declare. String 0..1 Element No declared default
nestedAction The action usages owned as features by this usage. ActionUsage 0..* Usage No declared default
nestedAllocation The allocation usages owned as features by this usage. AllocationUsage 0..* Usage No declared default
nestedAnalysisCase The analysis case usages owned as features by this usage. AnalysisCaseUsage 0..* Usage No declared default
nestedAttribute The attribute usages owned as features by this usage. AttributeUsage 0..* Usage No declared default
nestedCalculation The calculation usages owned as features by this usage. CalculationUsage 0..* Usage No declared default
nestedCase The case usages owned as features by this usage. CaseUsage 0..* Usage No declared default
nestedConcern The concern usages owned as features by this usage. ConcernUsage 0..* Usage No declared default
nestedConnection The connector-as-usages, including binding, succession and flow usages owned as features by this usage. ConnectorAsUsage 0..* Usage No declared default
nestedConstraint The constraint usages owned as features by this usage. ConstraintUsage 0..* Usage No declared default
nestedEnumeration The enumeration usages owned as features by this usage. EnumerationUsage 0..* Usage No declared default
nestedFlow The flow usages owned as features by this usage. FlowUsage 0..* Usage No declared default
nestedInterface The interface usages owned as features by this usage. InterfaceUsage 0..* Usage No declared default
nestedItem The item usages owned as features by this usage. ItemUsage 0..* Usage No declared default
nestedMetadata The metadata usages owned as features by this usage. MetadataUsage 0..* Usage No declared default
nestedOccurrence The occurrence usages owned as features by this usage. OccurrenceUsage 0..* Usage No declared default
nestedPart The part usages owned as features by this usage. PartUsage 0..* Usage No declared default
nestedPort The port usages owned as features by this usage. PortUsage 0..* Usage No declared default
nestedReference The reference usages owned as features by this usage. ReferenceUsage 0..* Usage No declared default
nestedRendering The rendering usages owned as features by this usage. RenderingUsage 0..* Usage No declared default
nestedRequirement The requirement usages owned as features by this usage. RequirementUsage 0..* Usage No declared default
nestedState The state usages owned as features by this usage. StateUsage 0..* Usage No declared default
nestedTransition The transition usages owned as features by this usage. TransitionUsage 0..* Usage No declared default
nestedUsage The usage features owned by this usage. Usage 0..* Usage No declared default
nestedUseCase The use case usages owned as features by this usage. UseCaseUsage 0..* Usage No declared default
nestedVerificationCase The verification case usages owned as features by this usage. VerificationCaseUsage 0..* Usage No declared default
nestedView The view usages owned as features by this usage. ViewUsage 0..* Usage No declared default
nestedViewpoint The viewpoint usages owned as features by this usage. ViewpointUsage 0..* Usage No declared default
occurrenceDefinition The classes typing this occurrence usage, including compatible KerML library classes. Class 0..* OccurrenceUsage No declared default
output The features of this type directed out of the type, including bidirectional features. Feature 0..* Type No declared default
ownedAnnotation The annotation relationships owned here that annotate this element. Annotation 0..* Element No declared default
ownedConjugator The optional conjugation owned here that treats this type as the original type. Conjugation 0..1 Type No declared default
ownedCrossSubsetting The optional owned cross-subsetting relationship specifying this feature’s cross-navigation constraint. CrossSubsetting 0..1 Feature No declared default
ownedDifferencing The owned difference relationships defining this type as their difference result. Differencing 0..* Type No declared default
ownedDisjoining The owned disjointness relationships constraining this type against other types. Disjoining 0..* Type No declared default
ownedElement The elements reached as owned related elements through this element’s owned relationships. Element 0..* Element No declared default
ownedEndFeature The end features introduced through memberships owned by this type. Feature 0..* Type No declared default
ownedFeature The features introduced through feature memberships owned by this type. Feature 0..* Type No declared default
ownedFeatureChaining The owned relationships specifying the ordered steps used to navigate this feature. FeatureChaining 0..* Feature No declared default
ownedFeatureInverting The owned relationships that give this feature an inverse navigation interpretation. FeatureInverting 0..* Feature No declared default
ownedFeatureMembership The memberships owned here that introduce owned features of this type. FeatureMembership 0..* Type No declared default
ownedImport The import relationships owned by this namespace. Import 0..* Namespace No declared default
ownedIntersecting The owned intersection relationships defining this type as their intersection result. Intersecting 0..* Type No declared default
ownedMember The member elements owned through this namespace’s owned memberships. Element 0..* Namespace No declared default
ownedMembership The memberships owned by this namespace. Membership 0..* Namespace No declared default
ownedRedefinition The owned subsetting relationships that replace inherited features with this redefining feature. Redefinition 0..* Feature No declared default
ownedReferenceSubsetting The optional owned reference-subsetting relationship identifying the feature referenced by this feature. ReferenceSubsetting 0..1 Feature No declared default
ownedRelationship The relationships owned by this element as their owning related element. Relationship 0..* Element No declared default
ownedSpecialization The owned specialization relationships in which this type is the more specific type. Specialization 0..* Type No declared default
ownedSubsetting The owned specializations that constrain this feature to select values from another feature. Subsetting 0..* Feature No declared default
ownedTypeFeaturing The owned type-featuring relationships that explicitly identify contexts featuring this feature. TypeFeaturing 0..* Feature No declared default
ownedTyping The owned feature-typing relationships that constrain the types of this feature’s modeled values. FeatureTyping 0..* Feature No declared default
ownedUnioning The owned union relationships defining this type as their union result. Unioning 0..* Type No declared default
owner The owning related element reached through this element’s owning relationship, which need not be a namespace. Element 0..1 Element No declared default
owningDefinition The definition that directly owns this usage, when present. Definition 0..1 Usage No declared default
owningFeatureMembership The membership that owns this feature as a feature of its owning type. FeatureMembership 0..1 Feature No declared default
owningMembership The relationship owning this element when that relationship is a membership. OwningMembership 0..1 Element No declared default
owningNamespace The namespace obtained through this element’s owning membership, when that ownership route exists. Namespace 0..1 Element No declared default
owningRelationship The relationship that directly owns this element as a related element, if one exists. Relationship 0..1 Element No declared default
owningType The type that owns this feature through its owning feature membership. Type 0..1 Feature No declared default
owningUsage The enclosing usage that directly owns this nested usage, when present. Usage 0..1 Usage No declared default
partDefinition The part definitions among this part usage’s item-definition types. PartDefinition 0..* PartUsage No declared default
portionKind Distinguishes a snapshot from a time slice of the featuring instance and requires an owning type when specified. PortionKind 0..1 OccurrenceUsage No declared default
qualifiedName The ownership-path name in KerML syntax, absent when the named ownership path or disambiguation conditions are not met. String 0..1 Element No declared default
shortName The effective compact name used for namespace lookup, which some element kinds compute rather than declare. String 0..1 Element No declared default
textualRepresentation The textual-representation annotations attached to this element. TextualRepresentation 0..* Element No declared default
unioningType The types whose combined interpretations equal this type’s interpretation. Type 0..* Type No declared default
usage The usage features available in this context, including usages not owned here. Usage 0..* Usage No declared default
variant The usages offered as alternatives at this variation point; absent when it is not a variation point. Usage 0..* Usage No declared default
variantMembership The owned memberships introducing variants, required to be empty outside a variation point. VariantMembership 0..* Usage No declared default

Replaced declarations

  • KerML::Core::Features::Feature::isVariable → SysML::Systems::DefinitionAndUsage::Usage::mayTimeVary
  • KerML::Core::Features::Feature::type → SysML::Systems::Occurrences::OccurrenceUsage::occurrenceDefinition
  • SysML::Systems::DefinitionAndUsage::Usage::definition → SysML::Systems::Occurrences::OccurrenceUsage::occurrenceDefinition
Source evidence 113 locations

Reconciliation and limits

Seed reconciliation: SelectedFieldsMatch for direct bases, declared property names/types/bounds/derivation/ordering/subsets/redefinitions, constraint names. This checks selected structural fields only; it does not approve the entire seed or all semantics.

  • The examples have been checked against source notation, but no SysML parser or semantic engine was run.
  • No exhaustive permission matrix or complete notation grammar is claimed.
  • Effective property resolution covers explicit inheritance and redefinition identities; it does not evaluate constraint consistency, OCL derivations or executable behavior.

Browse interactive properties · Concept-page contract

View this page’s source on GitHub