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

Transient federates #192

Closed
wants to merge 118 commits into from
Closed

Transient federates #192

wants to merge 118 commits into from

Conversation

ChadliaJerad
Copy link
Collaborator

This is PR enables the support of transient federates, introduced in this discussion.
This is still a work in progress. The PR is meant for checking backward compatibility using the CI.

This branch works with transient-federates branch of lingua-franca. Currently:

  • every federate instance stores its persistence status (is_transient), and records its own start_time.
  • The RTI distinguishes the startup phase (where all persistent federates have to join in order to start the execution), from the one after, where only transient federates can join and leave at arbitrary times.
  • when a transient joins during the startup phase, its start_time is set along with the persistent federates. If, however, it joins after the startup phase, its start_time will be:
    1. either the physical time at which it joined, if it has no upstream or downstream federates,
    2. or the maximum among the Next Event Tags (ignoring the microstep) of its upstream and downstream federates, otherwise.
  • test/C/src/federated/transient/Timers.lf showcases 1.
  • An example that showcases 2. is WIP.

The semantics will further be detailed in discussion.

@ChadliaJerad ChadliaJerad marked this pull request as draft April 13, 2023 00:20
…e upstream federates to set the strt_time of a transient federate. Warning: the message_tag_is_in_the_future is changed!
… upstreams and its physical joinin time. A constant delay to the start time is added + Fix the corner case of sending the first TAG to a joining transient, where there upstream is only one transient that is not connected yet (was generating a warning)
…, not the transient's effective_start_time"

This reverts commit 25beb95.
@ChadliaJerad
Copy link
Collaborator Author

Closed as replaced with #358.

@ChadliaJerad ChadliaJerad deleted the transient-federates branch February 20, 2024 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants