-
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
SYSML2_ — timeslice/snapshot featuring types required to specialize or be same as types
- Key: SYSML2_-158
- OMG Task Force: Systems Modeling Language (SysML) 2.0 FTF 2