Skip to content

Implicit specialization audit

Every implied generalization this implementation adds — a base type a definition kind specializes, a base feature a usage kind subsets, the owner feature a nested usage subsets by its role, a role redefinition (entry, render, …) — audited row by row against the two normative tables and the pilot's map.

Sources:

  • KerML 1.1 Beta 2 §8.4 semantic library constraints (check…Specialization, check…Redefinition): 67 constraints, read from build/spec-docs/kerml.txt (scripts/download-spec-examples.sh; line numbers are pdftotext -layout lines).
  • SysML v2 1.1 Beta 2 §8.4 implied specialization constraints: 123 constraints, build/spec-docs/sysml.txt.
  • The pilot's org.omg.sysml.util.ImplicitGeneralizationMap at commit 38665073bbf02849bd309b106eba79cbb3a1ee1d of Systems-Modeling/SysML-v2-Pilot-Implementation: 232 put(metaclass, role, target) entries, read only.
  • Ours: internal/semantic/semantics/implicit.go (kind bases), nested.go (nested role subsettings), roles.go (role redefinitions), connector.go (end redefinitions and participant), crossing.go, metadata.go, model.go (DirectSupertypes assembles them). file:line is the literal of the library name in the current tree.

Verdicts describe the tree before this change: match — ours implies what the clause requires; missing — the clause's general is not implied (a note says whether this change adds it, or why it cannot be represented, with a reproducer); wrong — ours implied a different or extra general (all fixed in this change); spec-only — the clause has no pilot map entry (marked on the verdict); pilot-only — a pilot entry no clause requires (recorded, not copied). Where the pilot and the spec differ, the spec is implemented and the difference noted.

Counts — KerML: {'missing': 28, 'match': 36, 'wrong': 3}; SysML: {'match': 82, 'missing': 30, 'wrong': 11}; pilot-only entries: 17.

TestImpliedSpecializationAuditRows (internal/semantic/semantics/implicit_audit_test.go) proves every row this change fixes: the implied general is present and a member it supplies resolves from the usage.

KerML 1.1 Beta 2 §8.4 semantic library constraints

Metaclass Role / context Spec clause (constraint, pdftotext line) and library target Pilot entry (ImplicitGeneralizationMap) Ours (file:line) Verdict Note
Multiplicity base checkMultiplicitySpecialization (l. 9305)
Base::naturals
Multiplicity base — missing multiplicities are not features in this implementation (no symbol to carry a general); reproducer: feature f[2] → no Base::naturals general
Type base checkTypeSpecialization (l. 9662)
Base::Anything
Type base implicit.go:14 Base::Anything match implicit.go implicitKerMLBases["type"]
Feature crossing checkFeatureCrossingSpecialization (l. 10763)
—
— crossing.go implicitCrossFeatureGenerals match (spec-only) crossing.go; no pilot map entry
Feature dataValue checkFeatureDataValueSpecialization (l. 10772)
Base::dataValues
Feature dataValue implicit.go:22 Base::dataValues match
Feature end checkFeatureEndRedefinition (l. 10780)
—
— connector.go implicitEndRedefinitions match (spec-only) positional end redefinition, connector.go implicitEndRedefinitions; no pilot map entry
Feature end checkFeatureEndSpecialization (l. 10798)
Links::Link::participant
Feature participant connector.go:931 Links::Link::participant missing fixed here: an end of an association or connector that no end redefinition places now subsets Links::Link::participant (connector.go implicitEndParticipant); binary ends reach it through BinaryLink::source/target
Feature flowFeature checkFeatureFlowFeatureRedefinition (l. 10816)
Transfers::Transfer::source::sourceOutput, Transfers::Transfer::target::targetInput
FlowEnd sourceOutput
FlowEnd targetInput
— missing flow ends are FlowEnds nodes, not features; reproducer: flow f from a.x to b.y has no end feature to redefine Transfer::source::sourceOutput (metamodel reflection in metamodel/structure_rules.go only)
Feature object checkFeatureObjectSpecialization (l. 10835)
Objects::objects
Feature object implicit.go:170 Objects::objects match
Feature occurrence checkFeatureOccurrenceSpecialization (l. 10843)
Occurrences::occurrences
Feature occurrence implicit.go:44 Occurrences::occurrences match
Feature ownedCrossFeatureRedefinition checkFeatureOwnedCrossFeatureRedefinitionSpecialization (l. 10851)
—
— crossing.go implicitCrossFeatureGenerals match (spec-only) crossing.go (redefined end's cross feature); no pilot map entry
Feature ownedCrossFeature checkFeatureOwnedCrossFeatureSpecialization (l. 10867)
—
— crossing.go implicitCrossFeatureGenerals match (spec-only) owned cross feature specializes its end types (crossing.go); no pilot map entry
Feature parameter checkFeatureParameterRedefinition (l. 10894)
—
— model.go ImplicitParameterRedefinitions match (spec-only) positional parameter redefinition (ImplicitParameterRedefinitions, model.go); no pilot map entry
Feature portion checkFeaturePortionSpecialization (l. 10933)
Occurrences::Occurrence::portions
Feature portion nested.go:652 Occurrences::Occurrence::portions missing fixed here: portion feature of an Occurrence-conforming owner subsets Occurrences::Occurrence::portions (nested.go kermlFeatureNestedFQN)
Feature result checkFeatureResultRedefinition (l. 10948)
—
— model.go ImplicitParameterRedefinitions match (spec-only) result parameter redefinition (ImplicitParameterRedefinitions); no pilot map entry
Feature base checkFeatureSpecialization (l. 10968)
Base::things
Feature base implicit.go:766 Base::things match implicit.go implicitKerMLFeatureBases["feature"] (baseUsageFQN)
Feature subobject checkFeatureSubobjectSpecialization (l. 10974)
Objects::Object::subobjects
Feature subobject nested.go:654 Objects::Object::subobjects missing fixed here: composite struct-typed feature of an Object-conforming owner subsets Objects::Object::subobjects (nested.go kermlFeatureNestedFQN)
Feature suboccurrence checkFeatureSuboccurrenceSpecialization (l. 10992)
Occurrences::Occurrence::suboccurrences
Feature suboccurrence nested.go:467 Occurrences::Occurrence::suboccurrences missing fixed here: composite class-typed feature of an Occurrence-conforming owner subsets Occurrences::Occurrence::suboccurrences (nested.go kermlFeatureNestedFQN)
Feature valuation checkFeatureValuationSpecialization (l. 11007)
—
— — missing (spec-only) a feature value's result-binding (FeatureValue → =) is evaluated, not represented as a specialization of the value expression result; reproducer: feature f = 1 has no general for the literal's result; no pilot map entry
DataType base checkDataTypeSpecialization (l. 11638)
Base::DataValue
DataType base implicit.go:15 Base::DataValue match implicit.go implicitKerMLBases["datatype"]
Class base checkClassSpecialization (l. 11693)
Occurrences::Occurrence
Class base implicit.go:16 Occurrences::Occurrence match implicit.go implicitKerMLBases["class"]
Structure base checkStructureSpecialization (l. 11751)
Objects::Object
Structure base implicit.go:149 Objects::Object match
Association binary checkAssociationBinarySpecialization (l. 11846)
Links::BinaryLink
Association binary connector.go:707 Links::BinaryLink match
Association base checkAssociationSpecialization (l. 11854)
Links::Link
Association base implicit.go:20 Links::Link match
AssociationStructure binary checkAssociationStructureBinarySpecialization (l. 11944)
Objects::BinaryLinkObject
AssociationStructure binary implicit.go:121 Objects::BinaryLinkObject match
AssociationStructure base checkAssociationStructureSpecialization (l. 11952)
Objects::LinkObject
AssociationStructure base implicit.go:152 Objects::LinkObject match
BindingConnector base checkBindingConnectorSpecialization (l. 12036)
Links::selfLinks
BindingConnector binary
BindingConnector binaryObject
implicit.go:56 Links::selfLinks match implicit.go implicitUsageBases[UsageBinding] / implicitKerMLFeatureBases["binding"]
Connector binaryObject checkConnectorBinaryObjectSpecialization (l. 12105)
Objects::binaryLinkObjects
Connector binaryObject — missing
Connector binary checkConnectorBinarySpecialization (l. 12114)
Links::binaryLinks
Connector binary implicit.go:128 Links::binaryLinks match
Connector object checkConnectorObjectSpecialization (l. 12122)
Objects::linkObjects
Connector object implicit.go:174 Objects::linkObjects match
Connector base checkConnectorSpecialization (l. 12130)
Links::links
Connector base implicit.go:19 Links::links match
Succession base checkSuccessionSpecialization (l. 12238)
Occurrences::happensBeforeLinks
Succession binary
Succession binaryObject
implicit.go:57 Occurrences::happensBeforeLinks match implicit.go implicitUsageBases[UsageSuccession] / implicitKerMLFeatureBases["succession"]
Behavior base checkBehaviorSpecialization (l. 12337)
Performances::Performance
Behavior base implicit.go:26 Performances::Performance match
Step enclosedPerformance checkStepEnclosedPerformanceSpecialization (l. 12389)
Performances::Performance::enclosedPerformances
Step enclosedPerformance nested.go:175 Performances::Performance::enclosedPerformances match nested.go stepNestedFQN
Step ownedPerformance checkStepOwnedPerformanceSpecialization (l. 12399)
Objects::Object::ownedPerformances
Step ownedPerformance nested.go:174 Objects::Object::ownedPerformances match nested.go stepNestedFQN
Step base checkStepSpecialization (l. 12411)
Performances::performances
Step base implicit.go:24 Performances::performances match
Step subperformance checkStepSubperformanceSpecialization (l. 12418)
Performances::Performance::subperformances
Step subperformance nested.go:173 Performances::Performance::subperformances match nested.go stepNestedFQN
BooleanExpression base checkBooleanExpressionSpecialization (l. 12581)
Performances::booleanEvaluations
BooleanExpression base implicit.go:183 Performances::booleanEvaluations match
Expression base checkExpressionSpecialization (l. 12694)
Performances::evaluations
Expression base implicit.go:25 Performances::evaluations match
Function base checkFunctionSpecialization (l. 12806)
Performances::Evaluation
Function base implicit.go:154 Performances::Evaluation match
Invariant base checkInvariantSpecialization (l. 12870)
Performances::trueEvaluations, Performances::falseEvaluations
Invariant base
Invariant negated
implicit.go implicitKerMLFeatureBases["inv"] match inv → trueEvaluations; a negated inv false/inv not → falseEvaluations is not represented (KerML Invariant::isNegated is parsed as part of the body)
Predicate base checkPredicateSpecialization (l. 12907)
Performances::BooleanEvaluation
Predicate base implicit.go:155 Performances::BooleanEvaluation match
ConstructorExpression resultFeature checkConstructorExpressionResultFeatureRedefinition (l. 13134)
VisibilityKind::public
— — missing (spec-only) expressions are not symbols: constructor results are typed by exprtype.go, no redefinition edge; no pilot map entry
ConstructorExpression result checkConstructorExpressionResultSpecialization (l. 13150)
—
— — missing (spec-only) expressions are not symbols here (typed by exprtype.go); the result/argument redefinitions have no element to hang on; no pilot map entry
ConstructorExpression base checkConstructorExpressionSpecialization (l. 13157)
Performances::constructorEvaluations
ConstructorExpression base — missing expressions are not symbols; reproducer: the expression of attribute a = 1; has no Performances::constructorEvaluations general to query
FeatureChainExpression result checkFeatureChainExpressionResultSpecialization (l. 13238)
—
— — missing (spec-only) expressions are not symbols here (typed by exprtype.go); the result/argument redefinitions have no element to hang on; no pilot map entry
FeatureChainExpression sourceTarget checkFeatureChainExpressionSourceTargetRedefinition (l. 13251)
—
— — missing (spec-only) expressions are not symbols here (typed by exprtype.go); the result/argument redefinitions have no element to hang on; no pilot map entry
FeatureChainExpression target checkFeatureChainExpressionTargetRedefinition (l. 13260)
ControlFunctions::'.'::source::target
FeatureChainExpression target — missing expressions are not symbols; reproducer: the expression of attribute a = 1; has no Performances::ControlFunctions::'.'::source::target general to query
FeatureReferenceExpression result checkFeatureReferenceExpressionResultSpecialization (l. 13387)
—
— — missing (spec-only) expressions are not symbols here (typed by exprtype.go); the result/argument redefinitions have no element to hang on; no pilot map entry
IndexExpression result checkIndexExpressionResultSpecialization (l. 13457)
Collections::Collection
— — missing (spec-only) expressions are not symbols here (typed by exprtype.go); the result/argument redefinitions have no element to hang on; no pilot map entry
InvocationExpression behaviorResult checkInvocationExpressionBehaviorResultSpecialization (l. 13596)
—
— — missing (spec-only) expressions are not symbols here (typed by exprtype.go); the result/argument redefinitions have no element to hang on; no pilot map entry
InvocationExpression base checkInvocationExpressionSpecialization (l. 13614)
—
— — missing (spec-only) expressions are not symbols here (typed by exprtype.go); the result/argument redefinitions have no element to hang on; no pilot map entry
LiteralBoolean base checkLiteralBooleanSpecialization (l. 13705)
Performances::literalBooleanEvaluations
LiteralBoolean base — missing expressions are not symbols; reproducer: the expression of attribute a = 1; has no Performances::literalBooleanEvaluations general to query
LiteralExpression base checkLiteralExpressionSpecialization (l. 13742)
Performances::literalEvaluations
LiteralExpression base — missing expressions are not symbols; reproducer: the expression of attribute a = 1; has no Performances::literalEvaluations general to query
LiteralInfinity base checkLiteralInfinitySpecialization (l. 13780)
Performances::literalIntegerEvaluations
LiteralInfinity base — missing expressions are not symbols; reproducer: the expression of attribute a = 1; has no Performances::literalIntegerEvaluations general to query
LiteralInteger base checkLiteralIntegerSpecialization (l. 13812)
Performances::literalIntegerEvaluations
LiteralInteger base — missing expressions are not symbols; reproducer: the expression of attribute a = 1; has no Performances::literalIntegerEvaluations general to query
LiteralRational base checkLiteralRationalSpecialization (l. 13848)
Performances::literalRationalEvaluations
LiteralRational base — missing expressions are not symbols; reproducer: the expression of attribute a = 1; has no Performances::literalRationalEvaluations general to query
LiteralString base checkLiteralStringSpecialization (l. 13880)
Performances::literalStringEvaluations
LiteralString base — missing expressions are not symbols; reproducer: the expression of attribute a = 1; has no Performances::literalStringEvaluations general to query
MetadataAccessExpression base checkMetadataAccessExpressionSpecialization (l. 13947)
Performances::metadataAccessEvaluations
MetadataAccessExpression base — missing expressions are not symbols; reproducer: the expression of attribute a = 1; has no Performances::metadataAccessEvaluations general to query
NullExpression base checkNullExpressionSpecialization (l. 14006)
Performances::nullEvaluations
NullExpression base valuetype.go:129 (typing only) missing null is typed Base::Anything by valuetype.go:129, not given a nullEvaluations general (expressions are not symbols)
SelectExpression result checkSelectExpressionResultSpecialization (l. 14076)
—
— — missing (spec-only) expressions are not symbols here (typed by exprtype.go); the result/argument redefinitions have no element to hang on; no pilot map entry
Flow base checkFlowSpecialization (l. 14198)
Transfers::transfers
Flow base implicit.go:187 Transfers::transfers wrong fixed here: every KerML flow subsets Transfers::transfers; before, every flow subset flowTransfers and gained the SysML Flows::Message definition (model.go, removed)
Flow withEnds checkFlowWithEndsSpecialization (l. 14205)
Transfers::flowTransfers
Flow flow implicit.go:814 Transfers::flowTransfers match flowTransfers only when the flow declares from/to ends (flowDeclaresEnds); fixed here for an end-less flow, which subsets transfers alone now
PayloadFeature base checkPayloadFeatureRedefinition (l. 14368)
Transfers::Transfer::payload
PayloadFeature payload — missing payload features are the of clause's declared usage; no Transfers::Transfer::payload redefinition edge (reflection only, metamodel/structure_rules.go)
SuccessionFlow base checkSuccessionFlowSpecialization (l. 14397)
Transfers::flowTransfersBefore
SuccessionFlow base implicit.go:812 Transfers::flowTransfersBefore wrong fixed here: succession flow subsets Transfers::flowTransfersBefore (was flowTransfers)
Metaclass base checkMetaclassSpecialization (l. 14772)
Metaobjects::Metaobject
Metaclass base implicit.go:89 Metaobjects::Metaobject match
MetadataFeature semantic checkMetadataFeatureSemanticSpecialization (l. 14853)
Metaobjects::SemanticMetadata::baseType
MetadataFeature baseType metadata.go:11 match metadata.go semanticMetadataBases (SemanticMetadata::baseType)
MetadataFeature base checkMetadataFeatureSpecialization (l. 14884)
Metaobjects::metaobjects
MetadataFeature base implicit.go:188 Metaobjects::metaobjects wrong fixed here: a KerML metadata feature subsets Metaobjects::metaobjects; before, its metaclass type routed it to Objects::objects

SysML v2 1.1 Beta 2 §8.4 implied specialization constraints

Metaclass Role / context Spec clause (constraint, pdftotext line) and library target Pilot entry (ImplicitGeneralizationMap) Ours (file:line) Verdict Note
UsageVariationDefinition base checkUsageVariationDefinitionSpecialization (l. 17400)
—
— model.go VariationPointOwning match (spec-only) model.go VariationPointOwning (variant usage specializes its variation); no pilot map entry
UsageVariationUsage base checkUsageVariationUsageSpecialization (l. 17407)
—
— model.go VariationPointOwning match (spec-only) model.go VariationPointOwning; no pilot map entry
AttributeUsage base checkAttributeUsageSpecialization (l. 17825)
Base::dataValues
AttributeUsage base implicit.go:22 Base::dataValues match
EventOccurrenceUsage base checkEventOccurrenceUsageSpecialization (l. 18033)
Occurrences::Occurrence::timeEnclosedOccurrences
EventOccurrenceUsage suboccurrence nested.go:262 Occurrences::Occurrence::timeEnclosedOccurrences missing fixed here: event occurrence owned by an occurrence definition/usage subsets Occurrences::Occurrence::timeEnclosedOccurrences (nested.go familyNestedFQN)
OccurrenceDefinition individual checkOccurrenceDefinitionIndividualSpecialization (l. 18103)
Occurrences::Life
OccurrenceDefinition life implicit.go:23 Occurrences::Life match implicit.go implicitDefinitionBases[DefIndividual]; the matching extra edge for individual usages (not in spec or pilot) was removed here
OccurrenceDefinition multiplicity checkOccurrenceDefinitionMultiplicitySpecialization (l. 18115)
Base::zeroOrOne
Multiplicity classifier — missing multiplicities are not features here; reproducer: individual occurrence def I; has no multiplicity element specializing Base::zeroOrOne
OccurrenceUsage snapshot checkOccurrenceUsageSnapshotSpecialization (l. 18165)
Occurrences::Occurrence::snapshots, PortionKind::snapshot
OccurrenceUsage snapshot nested.go:465 Occurrences::Occurrence::snapshots match nested.go occurrenceNestedFQN (PortionSnapshot)
OccurrenceUsage base checkOccurrenceUsageSpecialization (l. 18178)
Occurrences::occurrences
OccurrenceUsage base implicit.go:44 Occurrences::occurrences match
OccurrenceUsage suboccurrence checkOccurrenceUsageSuboccurrenceSpecialization (l. 18185)
Occurrences::Occurrence::suboccurrences
Feature suboccurrence nested.go:467 Occurrences::Occurrence::suboccurrences match nested.go occurrenceNestedFQN
OccurrenceUsage timeSlice checkOccurrenceUsageTimeSliceSpecialization (l. 18200)
Occurrences::Occurrence::timeSlices, PortionKind::timeslice
OccurrenceUsage timeslice nested.go:463 Occurrences::Occurrence::timeSlices match nested.go occurrenceNestedFQN (PortionTimeslice)
ItemDefinition base checkItemDefinitionSpecialization (l. 18338)
Items::Item
ItemDefinition base implicit.go:86 Items::Item match
ItemUsage base checkItemUsageSpecialization (l. 18378)
Items::items
ItemUsage base implicit.go:43 Items::items match
ItemUsage subitem checkItemUsageSubitemSpecialization (l. 18384)
Items::Item::subitems
ItemUsage subitem nested.go:294 Items::Item::subitems match nested.go familyNestedFQN
PartDefinition base checkPartDefinitionSpecialization (l. 18457)
Parts::Part
PartDefinition base implicit.go:13 Parts::Part match
PartUsage actor checkPartUsageActorSpecialization (l. 18495)
Requirements::RequirementCheck::actors, Cases::Case::actors
PartUsage requirementActor
PartUsage caseActor
nested.go:267 Requirements::RequirementCheck::actors
nested.go:269 Cases::Case::actors
missing fixed here: an actor of a requirement/viewpoint subsets Requirements::RequirementCheck::actors, of a case Cases::Case::actors (nested.go familyNestedFQN); the positional redefinition of inherited actors (roles.go) stays
PartUsage base checkPartUsageSpecialization (l. 18508)
Parts::parts
PartUsage base implicit.go:21 Parts::parts match
PartUsage stakeholder checkPartUsageStakeholderSpecialization (l. 18515)
Requirements::RequirementCheck::stakeholders
PartUsage requirementStakeholder nested.go:273 Requirements::RequirementCheck::stakeholders missing fixed here: a stakeholder subsets Requirements::RequirementCheck::stakeholders (nested.go familyNestedFQN)
PartUsage subpart checkPartUsageSubpartSpecialization (l. 18524)
Items::Item::subparts
PartUsage subitem nested.go:331 Items::Item::subparts match nested.go partNestedFQN
PortDefinition base checkPortDefinitionSpecialization (l. 18772)
Ports::Port
PortDefinition base implicit.go:97 Ports::Port match
PortUsage ownedPort checkPortUsageOwnedPortSpecialization (l. 18837)
Parts::Part::ownedPorts
PortUsage ownedPort nested.go:306 Parts::Part::ownedPorts match nested.go familyNestedFQN
PortUsage base checkPortUsageSpecialization (l. 18852)
Ports::ports
PortUsage base implicit.go:58 Ports::ports match
PortUsage subport checkPortUsageSubportSpecialization (l. 18859)
Ports::Port::subports
PortUsage subport nested.go:309 Ports::Port::subports match nested.go familyNestedFQN
ConnectionDefinition binary checkConnectionDefinitionBinarySpecialization (l. 19017)
Connections::BinaryConnection
ConnectionDefinition binary implicit.go:427 Connections::BinaryConnection match implicit.go kindBaseFQN (two owned ends)
ConnectionUsage binary checkConnectionUsageBinarySpecialization (l. 19071)
Connections::binaryConnections
ConnectionUsage binary implicit.go:481 Connections::binaryConnections match implicit.go usageBaseFeatureFQN (two owned ends)
ConnectionUsage base checkConnectionUsageSpecialization (l. 19079)
Connections::connections
ConnectionUsage base implicit.go:55 Connections::connections match
InterfaceDefinition binary checkInterfaceDefinitionBinarySpecialization (l. 19221)
Interfaces::BinaryInterface
InterfaceDefinition binary implicit.go:429 Interfaces::BinaryInterface match implicit.go kindBaseFQN (two owned ends)
InterfaceDefinition base checkInterfaceDefinitionSpecialization (l. 19229)
Interfaces::Interface
InterfaceDefinition base implicit.go:98 Interfaces::Interface match
InterfaceUsage binary checkInterfaceUsageBinarySpecialization (l. 19259)
Interfaces::binaryInterfaces
InterfaceUsage binary implicit.go:483 Interfaces::binaryInterfaces match implicit.go usageBaseFeatureFQN (two owned ends)
InterfaceUsage base checkInterfaceUsageSpecialization (l. 19267)
Interfaces::interfaces
InterfaceUsage base implicit.go:59 Interfaces::interfaces match
AllocationDefinition base checkAllocationDefinitionSpecialization (l. 19357)
Allocations::Allocation
AllocationDefinition base
AllocationDefinition binary
implicit.go:99 Allocations::Allocation match
AllocationUsage base checkAllocationUsageSpecialization (l. 19393)
Allocations::allocations
AllocationUsage base
AllocationUsage binary
implicit.go:60 Allocations::allocations match
FlowDefinition binary checkFlowDefinitionBinarySpecialization (l. 19472)
Flows::Message
FlowDefinition binary implicit.go:431 Flows::Message match implicit.go kindBaseFQN (two owned ends)
FlowDefinition base checkFlowDefinitionSpecialization (l. 19480)
Flows::MessageAction
FlowDefinition base implicit.go:96 Flows::MessageAction match
FlowUsage flow checkFlowUsageFlowSpecialization (l. 19523)
Flows::flows
FlowUsage base implicit.go:27 Flows::flows match Flows::flows only when the flow declares from/to ends (flowDeclaresEnds); fixed here for end-less flow f : D;, which now subsets messages alone. The pilot gives every FlowUsage flows.
FlowUsage base checkFlowUsageSpecialization (l. 19531)
Flows::messages
FlowUsage message implicit.go:495 Flows::messages wrong fixed here: every flow usage subsets Flows::messages; before, flow usages subset flows regardless of ends and gained an extra Flows::Message definition edge (model.go, removed)
SuccessionFlowUsage base checkSuccessionFlowUsageSpecialization (l. 19564)
Flows::successionFlows
SuccessionFlowUsage base
SuccessionFlowUsage message
implicit.go:491 Flows::successionFlows match implicit.go usageBaseFeatureFQN (IsSuccessionFlow)
AcceptActionUsage base checkAcceptActionUsageSpecialization (l. 19843)
Actions::acceptActions
AcceptActionUsage base implicit.go:32 Actions::acceptActions wrong fixed here: action a accept … subsets Actions::acceptActions (implicit.go usageRoleBaseFQN); before it specialized the Actions::AcceptAction definition directly (model.go, removed). A transition's trigger accept is not a symbol (see TriggerAction row)
AcceptActionUsage subaction checkAcceptActionUsageSubactionSpecialization (l. 19855)
Actions::Action::acceptSubactions
AcceptActionUsage subaction nested.go:362 Actions::Action::acceptSubactions missing fixed here: Actions::Action::acceptSubactions (nested.go actionKindNestedFQN)
AcceptActionUsage triggerAction checkAcceptActionUsageTriggerActionSpecialization (l. 19864)
Actions::TransitionAction::accepter
ActionUsage trigger
FlowUsage trigger
— missing a transition's accept trigger is a span on the TransitionMember, not a symbol; reproducer: transition first a accept S then b; has no accepter element to subset TransitionAction::accepter
ActionDefinition base checkActionDefinitionSpecialization (l. 19929)
Actions::Action
ActionDefinition base implicit.go:104 Actions::Action match
ActionUsage ownedAction checkActionUsageOwnedActionSpecialization (l. 20015)
Parts::Part::ownedActions
ActionUsage ownedAction nested.go:345 Parts::Part::ownedActions match nested.go actionNestedFQN
ActionUsage base checkActionUsageSpecialization (l. 20025)
Actions::actions
ActionUsage base implicit.go:61 Actions::actions match
ActionUsage stateAction checkActionUsageStateActionRedefinition (l. 20032)
States::StateAction
StateDefinition base implicit.go:105 States::StateAction match roles.go stateActionFQNs (entry/do/exit redefine entryAction/doAction/exitAction)
ActionUsage subaction checkActionUsageSubactionSpecialization (l. 20055)
Actions::Action::subactions
ActionUsage subaction nested.go:342 Actions::Action::subactions match nested.go actionNestedFQN; entry/exit actions are excluded per isSubactionUsage() and fall to subperformances
AssignmentActionUsage accessedFeature checkAssignmentActionUsageAccessedFeatureRedefinition (l. 20106)
Actions::AssignmentAction::target::startingAt::accessedFeature
— — missing (spec-only) as above; no pilot map entry
AssignmentActionUsage referent checkAssignmentActionUsageReferentRedefinition (l. 20118)
—
— — missing (spec-only) as above; no pilot map entry
AssignmentActionUsage base checkAssignmentActionUsageSpecialization (l. 20129)
Actions::assignmentActions
AssignmentActionUsage base — missing assign x := v; is an AssignmentActionNode statement without a symbol; reproducer: action a { assign x := 1; } has no element to subset Actions::assignmentActions
AssignmentActionUsage startingAt checkAssignmentActionUsageStartingAtRedefinition (l. 20136)
Actions::AssignmentAction::target::startingAt
— — missing (spec-only) as above; no pilot map entry
AssignmentActionUsage subaction checkAssignmentActionUsageSubactionSpecialization (l. 20147)
Actions::Action::assignments
AssignmentActionUsage subaction — missing as above (Actions::Action::assignments)
ControlNode base checkControlNodeSpecialization (l. 20241)
Actions::Action::control, Actions::Action::controls
— — match (spec-only) reached through forks/joins/merges/decisions, which subset controls in the library (fixed here); no pilot map entry
DecisionNode outgoingSuccession checkDecisionNodeOutgoingSuccessionSpecialization (l. 20307)
ControlPerformances::DecisionPerformance::outgoingHBLink
SuccessionAsUsage decision — missing a chain subsetting (decision.outgoingHBLink) that the supertype tables cannot carry; the runtime routes on it (exec/runtime/state_route.go). Reproducer: decide d; first d then a; — the succession has no DecisionPerformance::outgoingHBLink general
DecisionNode base checkDecisionNodeSpecialization (l. 20316)
Actions::Action::decisions
DecisionNode subaction implicit.go:31 Actions::Action::decisions wrong fixed here: decide subsets Actions::Action::decisions; before, the control nodes specialized the Actions::DecisionAction etc. definitions directly
ForkNode base checkForkNodeSpecialization (l. 20364)
Actions::Action::forks
ForkNode subaction implicit.go:28 Actions::Action::forks wrong fixed here: Actions::Action::forks
ForLoopActionUsage base checkForLoopActionUsageSpecialization (l. 20408)
Actions::forLoopActions
ForLoopActionUsage base — missing for x in c { … } is a WhileLoopActionNode statement without a symbol (only its loop variable is one); reproducer: action a { for i in x { } }
ForLoopActionUsage subaction checkForLoopActionUsageSubactionSpecialization (l. 20415)
Actions::Action::forLoops
ForLoopActionUsage subaction — missing as above
ForLoopActionUsage var checkForLoopActionUsageVarRedefinition (l. 20428)
Actions::ForLoopAction::var
ForLoopActionUsage loopVariable — missing the loop variable is a symbol but its owning loop is not; no ForLoopAction::var redefinition
IfActionUsage base checkIfActionUsageSpecialization (l. 20506)
Actions::ifThenActions, Actions::ifThenElseActions
IfActionUsage base
IfActionUsage ifThenElse
— missing if is an IfActionNode statement without a symbol; reproducer: action a { if c { } }
IfActionUsage subaction checkIfActionUsageSubactionSpecialization (l. 20518)
Actions::Action::ifSubactions
IfActionUsage subaction — missing as above
JoinNode base checkJoinNodeSpecialization (l. 20595)
Actions::Action::joins
JoinNode subaction implicit.go:29 Actions::Action::joins wrong fixed here: Actions::Action::joins
MergeNode incomingSuccession checkMergeNodeIncomingSuccessionSpecialization (l. 20676)
ControlPerformances::MergePerformance::incomingHBLink
SuccessionAsUsage merge — missing as above (MergePerformance::incomingHBLink)
MergeNode base checkMergeNodeSpecialization (l. 20685)
Actions::Action::merges
MergeNode subaction implicit.go:30 Actions::Action::merges wrong fixed here: Actions::Action::merges
PerformActionUsage base checkPerformActionUsageSpecialization (l. 20746)
Parts::Part::performedActions
PerformActionUsage performedAction nested.go:250 Parts::Part::performedActions match nested.go familyNestedFQN (performedActions)
SendActionUsage base checkSendActionUsageSpecialization (l. 20808)
Actions::sendActions
SendActionUsage base implicit.go:33 Actions::sendActions wrong fixed here: action s send … and a bare send statement subset Actions::sendActions; before they specialized the Actions::SendAction definition directly
SendActionUsage subaction checkSendActionUsageSubactionSpecialization (l. 20815)
Actions::Action::sendSubactions
SendActionUsage subaction nested.go:364 Actions::Action::sendSubactions missing fixed here: Actions::Action::sendSubactions (nested.go actionKindNestedFQN)
TerminateActionUsage base checkTerminateActionUsageSpecialization (l. 20883)
Actions::terminateActions
TerminateActionUsage base implicit.go:541 Actions::terminateActions missing fixed here: action stop terminate; subsets Actions::terminateActions; a bare terminate; statement has no symbol
TerminateActionUsage subaction checkTerminateActionUsageSubactionSpecialization (l. 20890)
Actions::Action::terminateSubactions
TerminateActionUsage subaction nested.go:366 Actions::Action::terminateSubactions missing fixed here: Actions::Action::terminateSubactions
WhileLoopActionUsage base checkWhileLoopActionUsageSpecialization (l. 21056)
Actions::whileLoopActions
WhileLoopActionUsage base — missing while/loop … until is a WhileLoopActionNode statement without a symbol
WhileLoopActionUsage subaction checkWhileLoopActionUsageSubactionSpecialization (l. 21063)
Actions::Action::whileLoops
WhileLoopActionUsage subaction — missing as above
ExhibitStateUsage base checkExhibitStateUsageSpecialization (l. 21274)
Parts::Part::exhibitedStates
ExhibitStateUsage performedAction nested.go:254 Parts::Part::exhibitedStates match nested.go familyNestedFQN (exhibitedStates)
StateDefinition base checkStateDefinitionSpecialization (l. 21412)
States::StateAction
StateDefinition base implicit.go:105 States::StateAction match
StateUsage exclusiveState checkStateUsageExclusiveStateSpecialization (l. 21553)
States::StateAction::exclusiveStates
StateUsage exclusiveState nested.go:390 States::StateAction::exclusiveStates missing fixed here: substates of a non-parallel state subset States::StateAction::exclusiveStates (nested.go stateNestedFQN)
StateUsage ownedState checkStateUsageOwnedStateSpecialization (l. 21567)
Parts::Part::ownedStates
StateUsage ownedAction nested.go:393 Parts::Part::ownedStates match nested.go stateNestedFQN
StateUsage base checkStateUsageSpecialization (l. 21577)
States::stateActions
StateUsage base implicit.go:62 States::stateActions match
StateUsage substate checkStateUsageSubstateSpecialization (l. 21584)
States::StateAction::substates
StateUsage substate nested.go:388 States::StateAction::substates match nested.go stateNestedFQN; now only for a parallel owner, exclusiveStates (which subsets substates) otherwise
TransitionUsage action checkTransitionUsageActionSpecialization (l. 21834)
Actions::Action::decisionTransitions
TransitionUsage actionTransition nested.go:378 Actions::Action::decisionTransitions missing fixed here: a transition owned by an action subsets Actions::Action::decisionTransitions (nested.go transitionNestedFQN)
TransitionUsage payload checkTransitionUsagePayloadSpecialization (l. 21846)
—
— — missing (spec-only) the payload parameter is a symbol but the chain subsetting (trigger.payload) is not representable in the supertype tables; no pilot map entry
TransitionUsage base checkTransitionUsageSpecialization (l. 21865)
Actions::transitionActions
TransitionUsage base implicit.go:63 Actions::transitionActions match
TransitionUsage state checkTransitionUsageStateSpecialization (l. 21872)
States::StateAction::stateTransitions
TransitionUsage stateTransition nested.go:375 States::StateAction::stateTransitions missing fixed here: a transition owned by a state subsets States::StateAction::stateTransitions (nested.go transitionNestedFQN)
TransitionUsage successionSource checkTransitionUsageSuccessionSourceSpecialization (l. 21899)
—
— ir/lower/state_graph.go match (spec-only) the transition's succession is lowered with its source (ir/lower/state_graph.go); no library general involved; no pilot map entry
TransitionUsage transitionFeature checkTransitionUsageTransitionFeatureSpecialization (l. 21907)
Actions::TransitionAction, Actions::TransitionAction::accepter, Actions::TransitionAction::guard, Actions::TransitionAction::effect
ActionUsage trigger
FlowUsage trigger
ActionUsage guard
FlowUsage guard
ActionUsage effect
FlowUsage effect
— missing trigger (accept), guard (if) and effect (do) are parts of the TransitionMember, not symbols; reproducer: transition first a if x do b then c; — nothing subsets TransitionAction::guard/effect
CalculationDefinition base checkCalculationDefinitionSpecialization (l. 22093)
Calculations::Calculation
CalculationDefinition base implicit.go:106 Calculations::Calculation match
CalculationUsage base checkCalculationUsageSpecialization (l. 22137)
Calculations::calculations
CalculationUsage base implicit.go:65 Calculations::calculations match
CalculationUsage subcalculation checkCalculationUsageSubcalculationSpecialization (l. 22149)
Calculations::Calculation::subcalculations
CalculationUsage subcalculation nested.go:402 Calculations::Calculation::subcalculations match nested.go calcNestedFQN
AssertConstraintUsage base checkAssertConstraintUsageSpecialization (l. 22241)
Constraints::negatedConstraintChecks, Constraints::assertedConstraintChecks
AssertConstraintUsage negated
AssertConstraintUsage base
implicit.go:550 Constraints::negatedConstraintChecks
implicit.go:552 Constraints::assertedConstraintChecks
missing fixed here: assert constraint subsets Constraints::assertedConstraintChecks, assert not constraint negatedConstraintChecks (implicit.go usageRoleBaseFQN)
ConstraintDefinition base checkConstraintDefinitionSpecialization (l. 22300)
Constraints::ConstraintCheck
ConstraintDefinition base implicit.go:107 Constraints::ConstraintCheck match
ConstraintUsage checkedConstraint checkConstraintUsageCheckedConstraintSpecialization (l. 22361)
Items::Item::checkedConstraints
ConstraintUsage checkedConstraint nested.go:431 Items::Item::checkedConstraints match nested.go constraintNestedFQN
ConstraintUsage requirementConstraint checkConstraintUsageRequirementConstraintSpecialization (l. 22371)
Requirements::RequirementCheck, RequirementConstraintKind::assumption, Requirements::RequirementCheck::assumptions
ConstraintUsage assumption implicit.go:108 Requirements::RequirementCheck
nested.go:423 Requirements::RequirementCheck::assumptions
match nested.go requirementConstraintFQN (assumptions/constraints)
ConstraintUsage base checkConstraintUsageSpecialization (l. 22389)
Constraints::constraintChecks
ConstraintUsage base implicit.go:67 Constraints::constraintChecks match
ConcernDefinition base checkConcernDefinitionSpecialization (l. 22665)
Requirements::ConcernCheck
ConcernDefinition base implicit.go:18 Requirements::ConcernCheck match
ConcernUsage framedConcern checkConcernUsageFramedConcernSpecialization (l. 22699)
Requirements::RequirementCheck::concerns
ConcernUsage concern nested.go:277 Requirements::RequirementCheck::concerns wrong fixed here: frame concern subsets Requirements::RequirementCheck::concerns; before it fell to subrequirements
ConcernUsage base checkConcernUsageSpecialization (l. 22713)
Requirements::concernChecks
ConcernUsage base implicit.go:51 Requirements::concernChecks match
RequirementDefinition base checkRequirementDefinitionSpecialization (l. 22921)
Requirements::RequirementCheck
RequirementDefinition base implicit.go:108 Requirements::RequirementCheck match
RequirementUsage objective checkRequirementUsageObjectiveRedefinition (l. 23088)
—
— roles.go caseRoleRedefinitions match (spec-only) roles.go caseRoleRedefinitions (positional objective); no pilot map entry
RequirementUsage requirementVerification checkRequirementUsageRequirementVerificationSpecialization (l. 23104)
VerificationCases::VerificationCase::obj::requirementVerifications
— nested.go:281 VerificationCases::VerificationCase::obj::requirementVerifications wrong fixed here: an objective's verify requirement subsets Requirements::requirementChecks and VerificationCases::VerificationCase::obj::requirementVerifications; before it had only Base::things
RequirementUsage base checkRequirementUsageSpecialization (l. 23114)
Requirements::requirementChecks
RequirementUsage base implicit.go:68 Requirements::requirementChecks match
RequirementUsage subrequirement checkRequirementUsageSubrequirementSpecialization (l. 23121)
Requirements::RequirementCheck::subrequirements
RequirementUsage subrequirement nested.go:447 Requirements::RequirementCheck::subrequirements match nested.go requirementNestedFQN
SatisfyRequirementUsage base checkSatisfyRequirementUsageSpecialization (l. 23273)
Requirements::notSatisfiedRequirementChecks, Requirements::satisfiedRequirementChecks
SatisfyRequirementUsage negated
SatisfyRequirementUsage base
implicit.go:559 Requirements::notSatisfiedRequirementChecks
implicit.go:561 Requirements::satisfiedRequirementChecks
wrong fixed here: satisfy requirement subsets Requirements::satisfiedRequirementChecks, assert not satisfy notSatisfiedRequirementChecks; before a satisfy usage had only Base::things
CaseDefinition base checkCaseDefinitionSpecialization (l. 23508)
Cases::Case
CaseDefinition base implicit.go:109 Cases::Case match
CaseUsage base checkCaseUsageSpecialization (l. 23614)
Cases::cases
CaseUsage base implicit.go:69 Cases::cases match
CaseUsage subcase checkCaseUsageSubcaseSpecialization (l. 23621)
Cases::Case::subcases
CaseUsage subcase nested.go:411 Cases::Case::subcases match nested.go caseNestedFQN
AnalysisCaseDefinition base checkAnalysisCaseDefinitionSpecialization (l. 23814)
AnalysisCases::AnalysisCase
AnalysisCaseDefinition base implicit.go:110 AnalysisCases::AnalysisCase match
AnalysisCaseUsage base checkAnalysisCaseUsageSpecialization (l. 23861)
AnalysisCases::analysisCases
AnalysisCaseUsage base implicit.go:71 AnalysisCases::analysisCases match
AnalysisCaseUsage subAnalysisCase checkAnalysisCaseUsageSubAnalysisCaseSpecialization (l. 23873)
AnalysisCases::AnalysisCase::subAnalysisCases
AnalysisCaseUsage subAnalysisCase nested.go:313 AnalysisCases::AnalysisCase::subAnalysisCases match nested.go familyNestedFQN
VerificationCase base checkVerificationCaseSpecialization (l. 24062)
VerificationCases::VerificationCase
VerificationCaseDefinition base implicit.go:111 VerificationCases::VerificationCase match spec text lists the name only; the definition row covers it
VerificationCaseUsage base checkVerificationCaseUsageSpecialization (l. 24115)
VerificationCases::verificationCases
VerificationCaseUsage base implicit.go:72 VerificationCases::verificationCases match
VerificationCaseUsage subVerificationCase checkVerificationCaseUsageSubVerificationCaseSpecialization (l. 24122)
VerificationCases::VerificationCase::subVerificationCases
VerificationCaseUsage subVerificationCase nested.go:317 VerificationCases::VerificationCase::subVerificationCases match nested.go familyNestedFQN
IncludeUseCaseUsage base checkIncludeUseCaseUsageSpecialization (l. 24249)
UseCases::UseCase::includedUseCases
IncludeUseCaseUsage subUseCase nested.go:258 UseCases::UseCase::includedUseCases match nested.go familyNestedFQN (includedUseCases)
UseCaseDefinition base checkUseCaseDefinitionSpecialization (l. 24298)
UseCases::UseCase
UseCaseDefinition base implicit.go:112 UseCases::UseCase match
UseCaseUsage base checkUseCaseUsageSpecialization (l. 24341)
UseCases::useCases
UseCaseUsage base implicit.go:73 UseCases::useCases match
UseCaseUsage subUseCase checkUseCaseUsageSubUseCaseSpecialization (l. 24348)
UseCases::UseCase::subUseCases
UseCaseUsage subUseCase nested.go:321 UseCases::UseCase::subUseCases match nested.go familyNestedFQN
RenderingDefinition base checkRenderingDefinitionSpecialization (l. 24702)
Views::Rendering
RenderingDefinition base implicit.go:17 Views::Rendering match
RenderingUsage base checkRenderingUsageRedefinition (l. 24757)
Views::View::viewRendering
RenderingUsage viewRendering roles.go:23 Views::View::viewRendering match roles.go viewRenderingFQN
RenderingUsage base checkRenderingUsageSpecialization (l. 24766)
Views::renderings
RenderingUsage base implicit.go:49 Views::renderings match
RenderingUsage subrendering checkRenderingUsageSubrenderingSpecialization (l. 24777)
Views::Rendering::subrenderings
RenderingUsage subrendering nested.go:298 Views::Rendering::subrenderings match nested.go familyNestedFQN
ViewDefinition base checkViewDefinitionSpecialization (l. 24827)
Views::View
ViewDefinition base implicit.go:91 Views::View match
ViewpointDefinition base checkViewpointDefinitionSpecialization (l. 24912)
Views::ViewpointCheck
ViewpointDefinition base implicit.go:92 Views::ViewpointCheck match
ViewpointUsage base checkViewpointUsageSpecialization (l. 24957)
Views::viewpointChecks
ViewpointUsage base implicit.go:48 Views::viewpointChecks match
ViewpointUsage viewpointSatisfaction checkViewpointUsageViewpointSatisfactionSpecialization (l. 24968)
Views::View::viewpointSatisfactions
ViewpointUsage satisfied nested.go:290 Views::View::viewpointSatisfactions wrong fixed here: a viewpoint of a view subsets Views::View::viewpointSatisfactions; before it fell to Items::Item::checkedConstraints
ViewUsage base checkViewUsageSpecialization (l. 25104)
Views::views
ViewUsage base implicit.go:47 Views::views match
ViewUsage subview checkViewUsageSubviewSpecialization (l. 25111)
Views::View::subviews
ViewUsage subview nested.go:302 Views::View::subviews match nested.go familyNestedFQN
MetadataDefinition base checkMetadataDefinitionSpecialization (l. 25234)
Metadata::MetadataItem
MetadataDefinition base implicit.go:90 Metadata::MetadataItem match
MetadataUsage base checkMetadataUsageSpecialization (l. 25267)
Metadata::metadataItems
MetadataUsage base implicit.go:46 Metadata::metadataItems match
TriggerInvocationExpression base checkTriggerInvocationExpressionSpecialization
Triggers::TriggerWhen, Triggers::TriggerAt, Triggers::TriggerAfter
TriggerInvocationExpression when
TriggerInvocationExpression at
TriggerInvocationExpression after
— missing when/at/after triggers are typed by check/passes/typecheck_trigger.go and lowered (ir/lower/state_graph.go); expressions are not symbols, so no Triggers::TriggerWhen general

Pilot map entries keyed by role (pilot-only, or realising a spec row above)

Every put(...) of the pilot map whose target no §8.4 constraint names, plus the role-keyed entries that realise a constraint listed above under another metaclass.

Pilot metaclass Pilot role Pilot target Ours (file:line) Verdict Note
BindingConnector binaryObject Links::selfLinks implicit.go:56 Links::selfLinks see spec row both resolve to Links::selfLinks; ours matches through selfLinks
Connector object Objects::linkObjects implicit.go:174 Objects::linkObjects see spec row pilot keys for the KerML connector object/binary-object bases; ours: KerML connector → links/binaryLinks only, the object forms (Objects::linkObjects, binaryLinkObjects) are not derived — reproducer: struct S { feature a : S; feature b : S; connector c from a to b; } lacks Objects::binaryLinkObjects
Connector binaryObject Objects::binaryLinkObjects — see spec row as above (Objects::binaryLinkObjects)
Expression enclosedPerformance Performances::Performance::enclosedPerformances nested.go:175 Performances::Performance::enclosedPerformances see spec row the pilot treats an Expression as a Step for checkStepEnclosedPerformanceSpecialization; ours: nested.go stepNestedFQN applies to expr usages as steps
Feature dataValue Base::dataValues implicit.go:22 Base::dataValues see spec row checkFeatureDataValueSpecialization; ours implicit.go declaredTypeFeatureBase
Feature occurrence Occurrences::occurrences implicit.go:44 Occurrences::occurrences see spec row checkFeatureOccurrenceSpecialization; ours as above
Feature suboccurrence Occurrences::Occurrence::suboccurrences nested.go:467 Occurrences::Occurrence::suboccurrences see spec row checkFeatureSuboccurrenceSpecialization; fixed here
Feature portion Occurrences::Occurrence::portions nested.go:652 Occurrences::Occurrence::portions see spec row checkFeaturePortionSpecialization; fixed here
Feature object Objects::objects implicit.go:170 Objects::objects see spec row checkFeatureObjectSpecialization; ours as above
Feature subobject Objects::Object::subobjects nested.go:654 Objects::Object::subobjects see spec row checkFeatureSubobjectSpecialization; fixed here
Feature participant Links::Link::participant connector.go:931 Links::Link::participant see spec row checkFeatureEndSpecialization; fixed here
Feature startingAt FeatureReferencingPerformances::FeatureAccessPerformance::onOccurrence::startingAt — pilot-only the pilot realises checkAssignmentActionUsageStartingAtRedefinition on the KerML Feature; spec puts it on AssignmentActionUsage (not modelled here, see above)
Feature accessedFeature FeatureReferencingPerformances::FeatureAccessPerformance::onOccurrence::startingAt::accessedFeature — pilot-only as above (checkAssignmentActionUsageAccessedFeatureRedefinition)
FeatureChainExpression target ControlFunctions::'.'::source::target — see spec row checkFeatureChainExpressionTargetRedefinition (not modelled)
Invariant negated Performances::falseEvaluations — see spec row pilot key for the negated branch of checkInvariantSpecialization; not modelled
PayloadFeature payload Transfers::Transfer::payload — see spec row checkPayloadFeatureRedefinition (not modelled)
Flow enclosedPerformance Performances::Performance::enclosedPerformances nested.go:175 Performances::Performance::enclosedPerformances see spec row KerML step rows applied to flows; ours nested.go stepFallbackFQNs
Flow subperformance Performances::Performance::subperformances nested.go:173 Performances::Performance::subperformances see spec row as above
Flow ownedPerformance Objects::Object::ownedPerformances nested.go:174 Objects::Object::ownedPerformances see spec row as above
FlowEnd sourceOutput Transfers::Transfer::source::sourceOutput — see spec row checkFeatureFlowFeatureRedefinition (not modelled)
FlowEnd targetInput Transfers::Transfer::target::targetInput — see spec row as above
MetadataFeature annotatedElement Metaobjects::Metaobject::annotatedElement — pilot-only the pilot redefines Metaobject::annotatedElement; ours binds the annotated element (annotated_element.go:209) rather than adding a redefinition edge
Multiplicity feature Base::exactlyOne — pilot-only spec checkMultiplicitySpecialization names Base::naturals only; exactlyOne is the pilot's default for a feature multiplicity. Not modelled (multiplicities are not features)
Multiplicity classifier Base::zeroOrOne — see spec row as above; zeroOrOne for a classifier multiplicity (the spec asks it only of an individual OccurrenceDefinition)
MultiplicityRange feature Base::naturals — see spec row duplicate of the spec Base::naturals row keyed by the concrete metaclass; not modelled
MultiplicityRange classifier Base::naturals — see spec row as above
Step incomingTransfer Occurrences::Occurrence::incomingTransfers shape.go:22 Occurrences::Occurrence::incomingTransfers pilot-only pilot helper for accept actions; no spec constraint names Occurrence::incomingTransfers. Ours: the runtime reads it (shape.go:22), no general
Step featureWrite FeatureReferencingPerformances::FeatureWritePerformance — pilot-only pilot helper for assignment actions (FeatureWritePerformance); no spec constraint. Ours: check/passes/typecheck_assign.go type-checks against it, no general
Succession binaryObject Occurrences::happensBeforeLinks implicit.go:57 Occurrences::happensBeforeLinks see spec row resolves to happensBeforeLinks; ours matches
SuccessionFlow enclosedperformance Performances::Performance::enclosedPerformances nested.go:175 Performances::Performance::enclosedPerformances see spec row as above
SuccessionFlow subperformance Performances::Performance::subperformances nested.go:173 Performances::Performance::subperformances see spec row as above
SuccessionFlow ownedPerformance Objects::Object::ownedPerformances nested.go:174 Objects::Object::ownedPerformances see spec row as above
AcceptActionUsage subaction Actions::Action::acceptSubactions nested.go:362 Actions::Action::acceptSubactions see spec row checkAcceptActionUsageSubactionSpecialization; fixed here
ActionUsage subperformance Performances::Performance::subperformances nested.go:173 Performances::Performance::subperformances see spec row KerML step rows applied to action usages; ours nested.go stepFallbackFQNs
ActionUsage enclosedPerformance Performances::Performance::enclosedPerformances nested.go:175 Performances::Performance::enclosedPerformances see spec row as above
ActionUsage ownedPerformance Objects::Object::ownedPerformances nested.go:174 Objects::Object::ownedPerformances see spec row as above
ActionUsage entry States::StateAction::entryAction roles.go:111 States::StateAction::entryAction pilot-only checkActionUsageStateActionRedefinition; ours roles.go
ActionUsage do States::StateAction::doAction roles.go:112 States::StateAction::doAction pilot-only as above
ActionUsage exit States::StateAction::exitAction roles.go:113 States::StateAction::exitAction pilot-only as above
ActionUsage trigger Actions::TransitionAction::accepter — see spec row see checkTransitionUsageTransitionFeatureSpecialization (not modelled)
ActionUsage guard Actions::TransitionAction::guard — see spec row as above
ActionUsage effect Actions::TransitionAction::effect — see spec row as above
AllocationDefinition binary Allocations::Allocation implicit.go:99 Allocations::Allocation see spec row the pilot maps the binary allocation to Allocation itself; no binary library type exists, ours matches through Allocation
AllocationUsage binary Allocations::allocations implicit.go:60 Allocations::allocations see spec row as above (allocations)
AssertConstraintUsage negated Constraints::negatedConstraintChecks implicit.go:550 Constraints::negatedConstraintChecks see spec row pilot key for the negated branch of checkAssertConstraintUsageSpecialization; fixed here (negatedConstraintChecks)
AssignmentActionUsage subaction Actions::Action::assignments — see spec row checkAssignmentActionUsageSubactionSpecialization (not modelled)
AssignmentActionUsage featureWrite Actions::AssignmentAction — pilot-only the pilot types an assignment by Actions::AssignmentAction; not modelled (no symbol)
BindingConnectorAsUsage binaryObject Links::selfLinks implicit.go:56 Links::selfLinks see spec row as above
ConcernUsage concern Requirements::RequirementCheck::concerns nested.go:277 Requirements::RequirementCheck::concerns see spec row checkConcernUsageFramedConcernSpecialization; fixed here
ConnectionDefinition base Connections::Connection implicit.go:95 Connections::Connection pilot-only
ConnectionUsage subpart Items::Item::subparts nested.go:331 Items::Item::subparts see spec row a ConnectionUsage is a PartUsage, so checkPartUsageSubpartSpecialization applies; ours nested.go partNestedFQN covers connection usages
ConstraintUsage enclosedPerformance Performances::Performance::enclosedPerformances nested.go:175 Performances::Performance::enclosedPerformances see spec row as above (constraint usages are steps)
ConstraintUsage subperformance Performances::Performance::subperformances nested.go:173 Performances::Performance::subperformances see spec row as above
ConstraintUsage ownedPerformance Objects::Object::ownedPerformances nested.go:174 Objects::Object::ownedPerformances see spec row as above
ConstraintUsage assumption Requirements::RequirementCheck::assumptions nested.go:423 Requirements::RequirementCheck::assumptions see spec row checkConstraintUsageRequirementConstraintSpecialization; ours nested.go requirementConstraintFQN
ConstraintUsage requirement Requirements::RequirementCheck::constraints nested.go:425 Requirements::RequirementCheck::constraints pilot-only as above
DecisionNode subaction Actions::Action::decisions implicit.go:31 Actions::Action::decisions see spec row checkDecisionNodeSpecialization; fixed here
EventOccurrenceUsage suboccurrence Occurrences::Occurrence::timeEnclosedOccurrences nested.go:262 Occurrences::Occurrence::timeEnclosedOccurrences see spec row checkEventOccurrenceUsageSpecialization; fixed here
ExhibitStateUsage performedAction Parts::Part::exhibitedStates nested.go:254 Parts::Part::exhibitedStates see spec row checkExhibitStateUsageSpecialization; ours nested.go familyNestedFQN
FlowUsage subaction Actions::Action::subactions nested.go:342 Actions::Action::subactions see spec row a FlowUsage is an ActionUsage; ours nested.go actionNestedFQN covers flows
FlowUsage ownedAction Parts::Part::ownedActions nested.go:345 Parts::Part::ownedActions see spec row as above
FlowUsage entry States::StateAction::entryAction roles.go:111 States::StateAction::entryAction pilot-only a flow as a state entry/do/exit action; ours roles.go stateActionFQN keys on the usage, flows included
FlowUsage do States::StateAction::doAction roles.go:112 States::StateAction::doAction pilot-only as above
FlowUsage exit States::StateAction::exitAction roles.go:113 States::StateAction::exitAction pilot-only as above
FlowUsage trigger Actions::TransitionAction::accepter — see spec row see checkTransitionUsageTransitionFeatureSpecialization (not modelled)
FlowUsage guard Actions::TransitionAction::guard — see spec row as above
FlowUsage effect Actions::TransitionAction::effect — see spec row as above
FlowUsage timeslice Occurrences::Occurrence::timeSlices nested.go:463 Occurrences::Occurrence::timeSlices see spec row a FlowUsage is an OccurrenceUsage; ours nested.go occurrenceNestedFQN covers it
FlowUsage snapshot Occurrences::Occurrence::snapshots nested.go:465 Occurrences::Occurrence::snapshots see spec row as above
ForLoopActionUsage subaction Actions::Action::forLoops — see spec row checkForLoopActionUsageSubactionSpecialization (not modelled)
ForLoopActionUsage loopVariable Actions::ForLoopAction::var — see spec row checkForLoopActionUsageVarRedefinition (not modelled)
ForkNode subaction Actions::Action::forks implicit.go:28 Actions::Action::forks see spec row checkForkNodeSpecialization; fixed here
IfActionUsage ifThenElse Actions::ifThenElseActions — see spec row pilot key for the else branch of checkIfActionUsageSpecialization; not modelled (no symbol)
IfActionUsage subaction Actions::Action::ifSubactions — see spec row checkIfActionUsageSubactionSpecialization (not modelled)
IncludeUseCaseUsage performedAction Parts::Part::performedActions nested.go:250 Parts::Part::performedActions see spec row an included use case performed by a part; ours: performedActions only for perform, reproducer: part p { include use case u; } lacks Parts::Part::performedActions (the pilot gives it; no spec constraint names it)
JoinNode subaction Actions::Action::joins implicit.go:29 Actions::Action::joins see spec row checkJoinNodeSpecialization; fixed here
MetadataUsage annotatedElement Metaobjects::Metaobject::annotatedElement — pilot-only as above
MetadataUsage baseType Metaobjects::SemanticMetadata::baseType — see spec row SysML restatement of checkMetadataFeatureSemanticSpecialization; ours metadata.go:11
MergeNode subaction Actions::Action::merges implicit.go:30 Actions::Action::merges see spec row checkMergeNodeSpecialization; fixed here
OccurrenceDefinition life Occurrences::Life implicit.go:23 Occurrences::Life see spec row checkOccurrenceDefinitionIndividualSpecialization; ours implicit.go
PartUsage subitem Items::Item::subparts nested.go:331 Items::Item::subparts see spec row checkPartUsageSubpartSpecialization; ours nested.go partNestedFQN
PartUsage requirementActor Requirements::RequirementCheck::actors nested.go:267 Requirements::RequirementCheck::actors see spec row checkPartUsageActorSpecialization; fixed here
PartUsage requirementStakeholder Requirements::RequirementCheck::stakeholders nested.go:273 Requirements::RequirementCheck::stakeholders see spec row checkPartUsageStakeholderSpecialization; fixed here
PartUsage caseActor Cases::Case::actors nested.go:269 Cases::Case::actors see spec row checkPartUsageActorSpecialization; fixed here
PortUsage ownedPort Parts::Part::ownedPorts nested.go:306 Parts::Part::ownedPorts see spec row checkPortUsageOwnedPortSpecialization; ours nested.go
RenderingUsage viewRendering Views::View::viewRendering roles.go:23 Views::View::viewRendering see spec row checkRenderingUsageRedefinition; ours roles.go
RenderingUsage subpart Items::Item::subparts nested.go:331 Items::Item::subparts see spec row as above (rendering usages)
RequirementUsage verification Verifications::VerificationCase::obj::requirementVerifications — pilot-only checkRequirementUsageRequirementVerificationSpecialization; fixed here
SatisfyRequirementUsage negated Requirements::notSatisfiedRequirementChecks implicit.go:559 Requirements::notSatisfiedRequirementChecks see spec row pilot key for the negated branch of checkSatisfyRequirementUsageSpecialization; fixed here (notSatisfiedRequirementChecks)
SendActionUsage subaction Actions::Action::sendSubactions nested.go:364 Actions::Action::sendSubactions see spec row checkSendActionUsageSubactionSpecialization; fixed here
StateUsage exclusiveState States::StateAction::exclusiveStates nested.go:390 States::StateAction::exclusiveStates see spec row checkStateUsageExclusiveStateSpecialization; fixed here
StateUsage ownedAction Parts::Part::ownedStates nested.go:393 Parts::Part::ownedStates see spec row checkStateUsageOwnedStateSpecialization (ownedStates); ours nested.go
SuccessionAsUsage binaryObject Occurrences::happensBeforeLinks implicit.go:57 Occurrences::happensBeforeLinks see spec row as above
SuccessionAsUsage decision ControlPerformances::DecisionPerformance::outgoingHBLink — see spec row pilot realisation of checkDecisionNodeOutgoingSuccessionSpecialization (see that row: not modelled)
SuccessionAsUsage merge ControlPerformances::MergePerformance::incomingHBLink — see spec row pilot realisation of checkMergeNodeIncomingSuccessionSpecialization (not modelled)
TerminateActionUsage subaction Actions::Action::terminateSubactions nested.go:366 Actions::Action::terminateSubactions see spec row checkTerminateActionUsageSubactionSpecialization; fixed here
TransitionUsage actionTransition Actions::Action::decisionTransitions nested.go:378 Actions::Action::decisionTransitions see spec row checkTransitionUsageActionSpecialization; fixed here
TransitionUsage stateTransition States::StateAction::stateTransitions nested.go:375 States::StateAction::stateTransitions see spec row checkTransitionUsageStateSpecialization; fixed here
TriggerInvocationExpression when Triggers::TriggerWhen — see spec row checkTriggerInvocationExpressionSpecialization (not modelled)
TriggerInvocationExpression at Triggers::TriggerAt — see spec row as above
TriggerInvocationExpression after Triggers::TriggerAfter — see spec row as above
ViewUsage subpart Items::Item::subparts nested.go:331 Items::Item::subparts see spec row as above (view usages)
ViewpointUsage satisfied Views::View::viewpointSatisfactions nested.go:290 Views::View::viewpointSatisfactions see spec row checkViewpointUsageViewpointSatisfactionSpecialization; fixed here
WhileLoopActionUsage subaction Actions::Action::whileLoops — see spec row checkWhileLoopActionUsageSubactionSpecialization (not modelled)