Skip to content

Muscle manager: check timelines - #412

Merged
IrisvdWerf merged 9 commits into
developfrom
feature/muscle-manager-check-timelines
Sep 10, 2026
Merged

IrisvdWerf merged 9 commits into
developfrom
feature/muscle-manager-check-timelines

Conversation

@maarten-ic

@maarten-ic maarten-ic commented Sep 3, 2026 •

Copy link
Copy Markdown
Collaborator

This PR adds:

  1. Timeline checking by the muscle manager: run ymmsl.v0_2.resolve_timelines() before starting the simulation to ensure that timelines are connected correctly.
  2. Return the timeline of a component when it registeres with the muscle manager. We'll need this for the reducer filters in an upcoming PR.

To make this all work out, I also needed to update:

  • The muscle3_tester:
    • Timeline annotations added to the ports of the tester instance.
    • If the tested component doesn't have F_INIT connections, we add a Conduit to its muscle_settings_in port to make these timeline annotations work.
      This was needed in order to connect to an O_F port of an instance without F_INIT ports: if we do not connect muscle_settings_in, the tested component would live in the root timeline and we would not be able to connect the O_F port to an S port of the tester. By connecting the muscle_settings_in port, the tested component lives in the correct subtimeline.
    • Patch some shutdown logic in the muscle_tester to shut down faster in case the tested component crashes or doesn't start.
  • Some unit tests for registering components that would refer to a test_instance_id that was not part of the Configuration.

Comment thread src/python/libmuscle/pytest/implementation_tester.py Outdated
Comment thread src/python/muscle3/muscle_manager.py Outdated
@maarten-ic
maarten-ic marked this pull request as ready for review September 3, 2026 11:39

@LourensVeen LourensVeen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, this works. One open question but no need to implement that now I think, unless it's easy and makes sense. I'll leave that to @IrisvdWerf because it's your code.

Comment thread src/python/muscle3/muscle_manager.py Outdated
Comment thread src/python/libmuscle/pytest/muscle_tester.py
@IrisvdWerf
IrisvdWerf merged commit f9c48ef into develop Sep 10, 2026
20 of 21 checks passed
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.

3 participants