Repository navigation
Merged
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 revises the update to default multiplicity implementation made in PR #815.
The main purpose of the changes in PR #815 were to move the implementation of default multiplicity from the transformation adapters to the post-processing adapters. However, it also removed one of the criteria for adding a default multiplicity to a usage: "The usage does not have any explicit owned subsettings or owned redefinitions that have no owning type" (as it was previously implemented).
Subsequently, testing on the library and example models included in a release indicated that this criteria change had a significant impact, resulting in several cases in which explicit multiplicities needed to be added to redefining features (specifically when the original multiplicity lower bound was greater than 1). This is a negative impact for the modeler, because it requires looking up the redefined feature and copying its multiplicity.
So, this PR adds back a limited version of the criterion removed in PR #815: "The usage does not have any explicit owned redefinition relationships." Leaving non-redefinition subsetting out of this criterion (i.e., giving default multiplicities to subsetting but non-redefining features) avoids situations such as the following: