Skip to content
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

Issues with handling cyclic dependencies in the federated execution #169

Closed
byeonggiljun opened this issue Jun 19, 2023 · 0 comments · Fixed by #198
Closed

Issues with handling cyclic dependencies in the federated execution #169

byeonggiljun opened this issue Jun 19, 2023 · 0 comments · Fixed by #198

Comments

@byeonggiljun
Copy link
Collaborator

After this PR, reactor-ts cannot handle a cyclic dependency on federated execution

Before the PR, each federated can advance its tag above the start tag without any grant from the RTI. And I prevent it in the PR because it leads to non-determinism at the start tag. Now, all federates have to receive tag advance grant messages before they advance their tag.

However, when there is a cyclic dependency (e.g. SimpleFederated.lf), the deadlock occurs with the current implementation of reactor-ts. Because no federate can send Logical Tag Complete and the RTI cannot send Tag Advance Grant.

There are two different ways to fix it. One is adopting the present method of reactor-c. reactor-c handles cyclic dependencies by using input control reaction , output control reaction, and Provisional Tag Advance Grant messages.
Another method is described in this report. 'Anirudh Rengarajan' suggested a new way to handle this cycle. And we prefer to implement this method in reactor-ts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant