Closed lwrage closed 4 years ago
Interesting recursion problem. It is due to them using out propagations in conditions - only in propagations should be allowed unless the condition references subcomponents. In addition the example uses the same condition to trigger a transition, and to specify an out propagation condition which is based on the state the transition goes to. We need to add a validation and fix the backward traversal code to recognize the cycle.
I will make a pass at this.
If you add a validation; does it mean we miss an implementation of a legality rule? or we also miss this legality rule ? (asking for a friend in charge of updating the standard ;-)
I’ll check for that. We may already have one.
From: Jerome Hugues notifications@github.com Sent: Tuesday, January 28, 2020 8:08 AM To: osate/osate2 osate2@noreply.github.com Cc: Peter Feiler phf@sei.cmu.edu; Assign assign@noreply.github.com Subject: Re: [osate/osate2] ClassCastException in FTA (#2177)
If you add a validation; does it mean we miss an implementation of a legality rule? or we also miss this legality rule ? (asking for a friend in charge of updating the standard ;-)
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHubhttps://github.com/osate/osate2/issues/2177?email_source=notifications&email_token=AAFXHOBFNPSWQVMDCUBSGVTRAAU3NA5CNFSM4KKJ2W5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKDHJUA#issuecomment-579237072, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAFXHOE7O3ZWWUHNFHG4LSLRAAU3NANCNFSM4KKJ2W5A.
The legality rule is there. It is actually a set of naming rules in E.8
From: Jerome Hugues notifications@github.com Sent: Tuesday, January 28, 2020 8:08 AM To: osate/osate2 osate2@noreply.github.com Cc: Peter Feiler phf@sei.cmu.edu; Assign assign@noreply.github.com Subject: Re: [osate/osate2] ClassCastException in FTA (#2177)
If you add a validation; does it mean we miss an implementation of a legality rule? or we also miss this legality rule ? (asking for a friend in charge of updating the standard ;-)
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHubhttps://github.com/osate/osate2/issues/2177?email_source=notifications&email_token=AAFXHOBFNPSWQVMDCUBSGVTRAAU3NA5CNFSM4KKJ2W5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKDHJUA#issuecomment-579237072, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAFXHOE7O3ZWWUHNFHG4LSLRAAU3NANCNFSM4KKJ2W5A.
I'm watching this issue since I reported it and wondering if there is a recommended change to the model needed, or if the issue resides in the tooling?
One problem is that in your transition condition and outgoing propagation condition you refer to outgoing propagations instead of incoming propagations. The validation should give you an error message. I have added a fix for that. I am looking into why we do not detect the resulting cycle of propagation
Here is a fragment of SUbsys2A.EMV2 with the condition changed. For the outgoing propagation condition it is sufficient to idicate that the state causes outpropagation as the transition rule is applied first, resulting in the transition tho the MisleadingData state.
Thank you. I do not see a fragment of Subsys2A.EMV2 in your previous comment, but I do see my error in using the outgoing propagation in the transition instead of the incoming propagation. That was an oversight on my part.
I am attempting to have an error flow that is linear and starts and end in Subsys1. The path is that it start is Subsys1, goes to Subsys2A, then Subsys2B, then back to Subsys2A, and back to Subsys1 where it ends. What comes in to Subsys1 should have no effect on what goes out of Subsys1.
I figured out that's what you want to do. Actively working on the fix. WIll send you my variant of the model when everything works.
Attached is the revised model of yours that I used in fixing and testing FTA.
There is now a pull request to be reviewed by Lutz or Jerome. Once that is through you can pick up the fix on the nightly build.
Summary
When running an FTA on the attached model no fault tree is created. There is also no error message displayed.
Expected and Current Behavior
Either a fault tree should be created or an error message displayed if something is wrong with the model.
A ClassCastException is recorded in the error log:
Steps to Reproduce
Platform.EMV2
from Platform_Test_Harness.aadlissue2177.zip
Environment