Skip to content

[Feature]: Implied relationship — checkMetadataFeatureSemanticSpecialization (blocked on #256) #341

Description

@antoineatstariongroup

Problem

checkMetadataFeatureSemanticSpecialization (KerML §8.4.2 Specialization category) is the only
in-scope semantic constraint not computed by SysML2.NET.Semantics.

Its OCL calls MetadataFeatureExtensions.ComputeSyntaxElementOperation, which is a stub throwing
NotSupportedException.

Blocked by

#256 — Implementation of MetadataFeatureExtensions.ComputeSyntaxElementOperation.

#322 (model-level expression evaluation engine) is NOT a prerequisite, despite the matching
subject matter.

Work once unblocked

  • Add MetadataFeatureSemanticSpecializationRule in SysML2.NET.Semantics/Implied/Rules/,
    registered in SysML2.NET.Semantics/Extensions/ServiceCollectionExtensions.cs.
  • Ground the Relationship kind with hypha:spec-citation before implementing — sibling constraints
    in this family use FeatureTyping, Subsetting, or kind-by-target, and the OCL does not say which.

Acceptance criteria

  • The rule is registered and applies only when isSemantic() holds
  • Unit tests cover the positive case, the non-semantic case, and the null-argument guard
  • Existing suites stay green

Context

Closes the last in-scope gap in #338. See .team-notes/implied-relationship-layer-plan.md §12.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions