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

Sanity check for internal variable connections #20

Open
4 tasks
mhier opened this issue Mar 1, 2019 · 1 comment
Open
4 tasks

Sanity check for internal variable connections #20

mhier opened this issue Mar 1, 2019 · 1 comment
Labels
enhancement redmine Issue tracked on DESY MSK Redmine

Comments

@mhier
Copy link
Member

mhier commented Mar 1, 2019

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)
@mhier
Copy link
Member Author

mhier commented Jun 16, 2021

Now on redmine #8359

@mhier mhier added the redmine Issue tracked on DESY MSK Redmine label Jun 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement redmine Issue tracked on DESY MSK Redmine
Projects
None yet
Development

No branches or pull requests

1 participant