Conversation
Contributor
|
I might not be the best person to review the SysML layer. Noticed in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR implements the resolution to the following issue, as approved in SysML v2 FTF 2 Ballot 7:
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
Occurrencesthey areportionsOf, 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.)
LifeClassfrom the SysML abstract syntax (this was already implemented in PR ST6RI-827 Update metamodel for 2025-02/Beta 3 baseline #629). Instead, place azeroOrOnemultiplicity on anOccurrenceDefinitionwithisIndividual = true.OccurrenceUsagewith a non-nullportionKind, whoseowningTypeis anOccurrenceDefinitionorOccurrenceUsage, to subset eitherOccurrence::timeSlicesorOccurrence::snapshots, depending on theportionKind.OccurrenceDefinitionorOccurrenceUsage. (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.)