SysML 2.0b3 FTF Avatar
  1. OMG Issue

SYSML2_ — timeslice/snapshot featuring types required to specialize or be same as types

  • Key: SYSML2_-158
  • Status: open  
  • Source: NIST ( Mr. Conrad Bock)
  • Summary:

    Clause 8.3.9.5 (OccurrenceUsage), Constraints, says

    checkOccurrenceUsageTypeFeaturing
    If the portionKind of an OccurrenceUsage is not empty, then, for each occurrenceDefinition of the OccurrenceUsage, there must be a featuringType of the OccurrenceUsage which either is the occurrenceDefinition or directly or indirectly specializes it.

    portionKind <> null implies
      occurrenceDefinition->forAll(occ |
        featuringType->exists(specializes(occ)))
    

    For example, adapted from 7.13.5 (Successions as Usages):

    occurrence def Flight {
      timeslice preflight : Preflight [1];
      then timeslice inflight : Inflight [1];
      then timeslice postflight : Postflight[1];
    

    checkOccurrenceUsageTypeFeaturing requires Flight to specialize each of Pre/In/Postflight, even though these would typically be disjoint with Flight, leading to:

    • all features defined in Pre/In/Postflight "inheriting" to Flight, eg, PreFlight::refuel, would inherit to Flight, with a separate value potentially unconstrained in time from the one happening in preflight.
    • valid traces where all the pre/in/postflight values are instances of Flight, which are all required to have pre/in/postflight timeslices.

    which probably aren't intended in this exampie.

  • Reported: SysML 2.0a1 — Mon, 6 Nov 2023 14:05 GMT
  • Updated: Mon, 22 Jul 2024 16:01 GMT