ChimeraTK / ChimeraTK/ApplicationCore
Sanity check for internal variable connections
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1
- Forks
- 5
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Description
When using the "trick" to make ApplicationModule to ApplicationModule connections by connecting them both to the same variables in the ControlSystem, mistakes can be easily made e.g. when variables are renamed in refactoring at only one end of the internal connection. Add an optional sanity check which helps detecting those problems:
- Write a function, which can be called on Modules (usually the result of findTag()) or on individual accessors (hence technically each one member function), which allows to set certain flags for process variables.
- One of these flags (the only one in the beginning) will be called something like EnforceInternal.
- Right after defineConnections(), all process variables with this flag will be checked. The corresponding variable networks should have its feeder and at least one consumer of the type application.
Definition of done:
- Clarify names, discuss with a second person
- Implementation
- Tests
- Reference documentation (Doxygen inline)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the Module and accessor APIs, the findTag() result, and the code path immediately after defineConnections(). Clarify the flag names and expected application feeder/consumer relationships, then implement the check with tests and add the agreed reference documentation as Doxygen inline text.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100