Skip to content

Comments

ST6RI-824 Individual/timeslice/snapshot modeling (SYSML2_-158)#640

Merged
seidewitz merged 6 commits intomasterfrom
ST6RI-824
Mar 28, 2025
Merged

ST6RI-824 Individual/timeslice/snapshot modeling (SYSML2_-158)#640
seidewitz merged 6 commits intomasterfrom
ST6RI-824

Conversation

@seidewitz
Copy link
Member

@seidewitz seidewitz commented Mar 27, 2025

This PR implements the resolution to the following issue, as approved in SysML v2 FTF 2 Ballot 7:

  • SYSML2_-158 timeslice/snapshot featuring types required to specialize or be same as types

The approach previously taken to time slice and snapshot modeling in SysML was predicated on the presumption that KerML classes classified not only lives, but also all portions of those lives (such as time slices and snapshots), meaning that any portion must have the same type as the life of which it was a portion. However, this presumption was never actually formalized in KerML, and only appeared in a single statement in subclause 9.2.4.1 (Occurrences Overview) that "[portions] must be classified the same way as the Occurrences they are portionsOf, or more specialized." And this statement was removed in the resolution to KERML-204, making it clear that portions did not have to have the same type as what they are portions of.

The removal of this presumption allows for significant simplifications in SysML for the modeling of individuals, time slices and snapshots, as given in the resolution to SYSML2_-158. (The resolution also resolves the related issue SYSML2_-150 OccurrenceUsage missing portioningFeature.)

  1. Remove LifeClass from the SysML abstract syntax (this was already implemented in PR ST6RI-827 Update metamodel for 2025-02/Beta 3 baseline #629). Instead, place a zeroOrOne multiplicity on an OccurrenceDefinition with isIndividual = true.
  2. Require an OccurrenceUsage with a non-null portionKind, whose owningType is an OccurrenceDefinition or OccurrenceUsage, to subset either Occurrence::timeSlices or Occurrence::snapshots, depending on the portionKind.
  3. No longer support the declaration of time slices or snapshots that are not directly nested in an OccurrenceDefinition or OccurrenceUsage. (Without introducing new syntax, it is not clear how to allow such declarations without using the prior approach of portioning the declared type of the usage, which would still have the problems described in issue SYSML2_-158. And the capability for such "standalone" time slice and snapshot declarations was not considered important enough to introduce some sort of new syntax to continue to allow it.)

@seidewitz seidewitz added this to the 2025-02 milestone Mar 27, 2025
@seidewitz seidewitz self-assigned this Mar 27, 2025
@seidewitz seidewitz changed the base branch from ST6RI-831 to master March 28, 2025 14:14
@conradbock
Copy link
Contributor

I might not be the best person to review the SysML layer. Noticed in VehicleIndividuals.sysml the formatting of snapshot vehicle1_t0 could use some intending of the statements nested under it.

@seidewitz seidewitz merged commit 3661b25 into master Mar 28, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants