-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
End to end flow instantiation creates nonsense flow #2009
Comments
I tried the same case with outgoing connections:
The instance model correctly ignores this because the |
I think the fix is to update
so that when |
Okay, nothing is easy. This breaks one of the Need to change things to start looking the the connections that make up the connection instance. |
Above problem is distilled in the following example. The end to end flow is not instantiated in
|
New problems
|
Need to check for refinement along the features. Fixed that, which fixed 1830, but 567 and 575 are still broken. I haven't looked at them yet. |
Problem with 567 and 575 is feature groups. Need to handle those differently. |
Updated
This handles the cases where the connection ends at |
Need to add the unit tests for this case. I worry still that flows along access connections may not work correctly. |
Pushed out changes and unit test. Access connections should not be a problem because they are only interesting at the very end where they connect to a subcomponent. This situation isn't applicable here, because as said above, this problem concerns the the boundary of a component. |
"All checks pass" on the pull request now. |
Your comment above "It is not possible to have the case where the connection ends at fg.i and the flow starts at fg.i." is not correct. If the connection between two subcomponents is a feature connection you can reach into the feature group at the connection ends. |
That's what I initially thought, but I cannot get that to work, I get syntax errors:
I get syntax errors on |
That is a feature group connection. It should work when you remove the keyword group. |
got it |
Okay, new set of tests for "fg.i" to "fg.i" via feature connections:
This doesn't work correctly. The I need to update |
Updated
This seems to work. The The case |
Upon further review and much debugging, I think that We need to remember what the original point of this issue was: instantiating a declarative model with errors was generating an instance model that made no sense. The end to end flows that were generated were nonsense because the connections didn't connect to the flows. I believe I have eliminated the possibility of producing nonsense flows. It is still possible that flows may be generated for end to end flows that are marked with error in the declarative model. But they won't be nonsensical. |
Tests for 567 and 575 still fail. |
Problem is bidirectional connections. Should be easy to fix. |
Fixed
|
In the example below, the end to end flow
e2e
is broken because the destination of connectionc1
doesn't match the starting point of flowfpath
. An error about this is generated on the declarative model. But when you instantiate the systemtop.specific
an end to end flow instance fore2e
is created, and it contains the erroneous connection. No error is reported on the instance model.However, if you uncomment the (superfluous) flow path implementation in
th.specific
, then the end to end flow is not created and the instance model has the error message:This is because the error checking of connection endpoints in instantiation only happens when there is a flow implementation. The methods
isValidContinuation()
are used.(These methods are currently causing other problems, however, see issue #1984.)
The text was updated successfully, but these errors were encountered: