-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Discussion
DPOR has a lot of terminology. McMini, as an implementation of DPOR, adds its own terminology describing particular implementation details related to controlling processes, moving items into backtracking sets, etc. We don't have a clear set of terms describing some of the pieces within McMini. This can be a little confusing when discussing problems we run into expanding McMini. As we move to incorporate DMTCP into the project, the amount of terms will likely grow.
Proposal
We should have a GLOSSARY.md file at the top of the project which describes each of the major features of DPOR and McMini. The GLOSSARY.md file should have terminology for "transition", "dependent", etc.; for backtrack sets and operations on backtrack sets (defining or replacing "to backtrack on" and "to add to the backtrack set"); and for describing how McMini operates (the notion of the "parent" or "scheduler" process or thread e.g.). While some of this may change as McMini does, a vast majority of it would remain the same. It would benefit us in two ways:
- We'd all have the same definitions when talking about bugs, Github Issues, etc. Since McMini is rather complicated, precise definitions will help resolve any ambiguities when talking about McMini
- You could simply
grepfor a term or related term to find some information about it if you encounter it in documentation. Any documentation we add would also be more precise and could refer to the glossary
There may be a standard way to add such a list of terms, but I'm not otherwise aware of one