Conversation
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 removes validation checks related to the definitions of item and part usages.
Previously, the implementation validated that an item usage is typed only by item definitions (or KerML structures). In particular, this prevented an item or part usage from being typed by an occurrence definition that is not an item definition.
While this restriction is mentioned in the specification in the Language Description subclauses for items and parts, there is actually no such restriction formally specified in the Metamodel. The property
ItemUsage::itemDefinitionsubsetsOccurrenceUsage::occurrenceDefinition, it does not redefine it, andItemUsagehas no validation constraints. So item usages should be able to be typed by occurrence definitions. (See also OMG issue SYSML21-418.)In addition, the implementation validated that a part usage had exactly one part definition. However, this validation check is unnecessary, since a part usage always has an implied subsetting of
Parts::parts, which provides typing by at least the base part definitionParts::Part.The PR removes the validation checks for both item and part usages.