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

Synchronize modules/ directory naming system to MIDCA's theory #1

Closed
dtdannen opened this issue Nov 2, 2017 · 2 comments · Fixed by #32
Closed

Synchronize modules/ directory naming system to MIDCA's theory #1

dtdannen opened this issue Nov 2, 2017 · 2 comments · Fixed by #32
Assignees

Comments

@dtdannen
Copy link
Contributor

dtdannen commented Nov 2, 2017

The purpose of this issue is to synchronize naming conventions of files under the modules/ directory to correspond to the names of Phases in the MIDCA theory (of which there are six) - this makes it easy for people to read a research paper on MIDCA and quickly identify where the phases are implemented in the code base.

Most module classes are located in a file named by the phase that module is used in: for example PyHopPlanner module is located in the planning.py file corresponding to the planning phase. Currently there is no interpret.py file, instead modules belonging to Interpret phase are located in three different python files note.py, assess.py, and guide.py. This is confusing for new folks joining the project since note assess guide is not referenced anywhere else. Interpret is a large phase conceptually because discrepancy detection (analogous to Note), explanation (analogous to assess) and guide (analogous to goal formulation) all happen within Interpret.

I propose that we make the modules folder contain six sub folders for each theoretical midca phase, so like:

modules/perceive/
modules/interpret/
modules/evaluate/
modules/intend/
modules/plan/
modules/act/

then when importing files, its easy to see what modules are available for each phase because we import like:

from modules.interpret.goal_formulation import SimpleGoalGen

This would also include changing note.py to discrepancy_detection.py, assess.py to explanation.py, and guide.py to goal_generation.py.

@mcox25
Copy link
Collaborator

mcox25 commented Oct 2, 2018

I agree with these comments. Can we go ahead and implement the changes, or is the reason we have waited 11 months on this is because it entails a big side effects and associated code changes?

@dtdannen
Copy link
Contributor Author

dtdannen commented Oct 9, 2018

I haven't looked in a while, but I don't believe this should cause drastic changes and shouldn't be hard to implement - it is mostly refactoring. I think the long delay is just because no one got around to it (including myself).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
3 participants