Open
Conversation
Test succeeds when validation detects invalid ends with appropriate error message. - New tests fail.
- Check for flow def fails on library base flow def Flows::Message. - Xpect tests pass.
Actually resolves the problem from issue SYSML21-324. - Also Updated "Flows::Message" and "messages" to have usages as owned ends.
seidewitz
force-pushed
the
ST6RI-974
branch
from
September 30, 2026 15:36
a227337 to
364c697
Compare
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 adds validation checks that the end features of connection definitions and flow definitions are usages. It also proactively resolves the issue
SYSML21-681 Problems with the resolution to SYSML21-324
Background
In the SysML abstract syntax,
ConnectionDefinition::connectionEndandFlowDefinition::flowEndboth have typeUsageand redefineAssociation::associationEnd. This means that all end features (owned and inherited) of connection definitions and flow definitions must be usages.EMF does not automatically handle this kind of meta-property redefinition. Instead, they need to be separately implemented as validations. Previously, these validations were missing from the implementation.
However, implementing this validation for
flowEndresulted in a validation error on the library base definitionMessages::Message. The end features ofMessageandmessageswere removed as part of PR #682 , in order to resolve issue SYSML21-324, even though doing this was not actually stated as part of the resolution to this issue. But, without owned end features,Messageinherits end features from the KerML library typeTransferthat are not usages, violating the abstract syntax.Changes
org.omg.sysml.xtext.validation.SysMLValidation.xtend.Messageandmessage(consistent with the Beta 2 specification). But also changemessagesfrom being a flow usage to be an action usage (flows are kinds of actions), which proactively resolves SYSML21-681. (Previously, the problem identified in this issue was prevented whenMessageandmessageshad no end features.) Also updated theFlowslibrary model in the SysML Xpect systems library.