Feb 5 emails

[parts of the emails cut out to focus on the "meat"]

Giovanna [reviewing Fermilab's Jan 31, 2020 meeting notes]:
I had thought of a module as a larger entity, with each module handling a block of functionalities.
I’m appending a sketch of a possible classical "EB application” (ignoring SNB) reflecting what I had in mind. We can discuss next week how to best tune the granularity.


yes, the granularity is a crucial point. We spent quite a bit of time on that on Friday.

Your diagram implies a certain choice for the granularity, and that is great. Some of the conclusions that I draw from your choice are
the ModuleManager from your earlier class diagram does not need to be all-seeing and all-knowing
the MM won't object if UserModules create a configurable number of receivers or senders, and
the MM will simply pass along the configuration snippets that each UserModule needs to do that
the concept of plugins will continue to have a place in our designs
we will tell UserModules which type of implementation to use for sending, receiving, or some other similar-level function in the configuration snippets that we send them
the UserModules will use some sort of plugin mechanism to create instances of the specified class(es)