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

Review open issues #2096

Closed
2 tasks done
smiths opened this issue May 5, 2020 · 18 comments
Closed
2 tasks done

Review open issues #2096

smiths opened this issue May 5, 2020 · 18 comments
Assignees

Comments

@smiths
Copy link
Collaborator

smiths commented May 5, 2020

Read through ALL of the open issues and create a list of the top 10 that interest you and "make sense". You can respond with your list below. In your list, use the hash symbol to reference the issues. (For instance, the last issue I assigned you was #2095.)

When you have completed this task, you can check your name off:

@muhammadaliog3
Copy link
Collaborator

muhammadaliog3 commented May 7, 2020

Given that I have been working on the Drasil project for less then a week, the factors I am using to decide on an issue is the following:

  1. Easy: the issue should be doable for a beginner at Haskell, allowing them to work somewhat independent.
  2. Understandable: the issues should be understandable for a beginner at Drasil.
  3. Relate to other issues (or have a theme): this way I can build a kind of mini-project for the rest of the summer where I solve issues related to a general theme.
  4. Avoid issues that have critical design decisions: because I will probably not be involved in the project more than 3 months, so I should not be making long term decisions.

Ranking of Issues
Note that the relative difficulty of each problem is somewhat unknown

  1. Contraints in general, this would solve a group of issues, but may involve major design decisions
    #1799
    #1798
    #1795
    #1797

  2. This is an issue about adding log base e function, which I can understand, however may need design decisions for declaring math operations in general.
    #872

  3. Sorting the bibliography on the order in which they were referenced, understandable,
    #806

  4. Incorporating Haskell Physics Package into Drasil physics package, may involve design decisions
    #1048

  5. Removing redundant Information in Notes, understandable and easy as no programming required
    #1476

  6. Sorting columns of table, understandable, but may need knowledge on how table is generated.
    #901

  7. Just need to edit one line in one document, very easy
    #1570

  8. Dealing with phi discrepancy, should be a quick and easy fix
    #1809

  9. Making code citeable, understandable and easy
    #1153

  10. Renaming folders, easy and understandable, but cannot be worked on independently without everyone's opinion on file names
    #1732

@smiths
Copy link
Collaborator Author

smiths commented May 7, 2020

@muhammadaliog3, can you provide more information on why the particular issues interest you? You can edit your above comment, you don't need to create a new one.

@Nathaniel-Hu
Copy link
Collaborator

The following top 10 issues (not necessarily in order of decreasing interest) are interesting to me and "make sense":

  1. Determine Document Outline from Actual Document Contents #946 Determine Document Outline from Actual Document Contents
  • would help me learn how to use Haskell to analyze documents and extract data from them, as well as process the extracted data to generate the document outline
  1. Sort References by Order of Appearance in Document #806 Sort References by Order of Appearance in Document
  1. Automatically generate traceability graphs #801 Automatically generate traceability graphs
  1. HTML Table of Contents #1018 HTML Table of Contents
  • would help me become more familiar with the SRS formatting, the organization of information, etc.; would also allow me to practice learning/using some HTML
  1. Generate design log with code #2088 Generate design log with code
  • would help me become more familiar with the algorithms/decision-making/reasoning used in Drasil's code generator
  1. Implement linked lists in GOOL #1998 Implement linked lists in GOOL
  • would help me learn more about data structures and how to create/implement them in Haskell
  1. Run linters on generated code #1973 Run linters on generated code
  • would help me learn more about code testing/evaluation/verification using code linters
  1. Detect and complain if the same symbol is used for two or more concepts within the same document #1916 Detect and complain if the same symbol is used for two or more concepts within the same document
  • would help me learn how to use Haskell for document analysis
  1. GOOL should have different kinds of variables #1879 GOOL should have different kinds of variables
  • would help me to better understand the variable domains/spaces that are designated in the Drasil framework (for global variables, local variables and external variables)
  1. Automatically collect constants used for constraint bounds #1504 Automatically collect constants used for constraint bounds
  • would help me learn how to use Haskell to analyze variable values for constant constraints vs. variable constraints

@smiths
Copy link
Collaborator Author

smiths commented May 8, 2020

@JacquesCarette is in a better position to prioritize your list of ideas @Nathaniel-Hu, but in case you are looking for something to do, I suggest that you start with #801. It is a well-defined task and something that doesn't rely too deeply on the Drasil infrastructure. The Traceability Matrix is already generated. We just want a more graphical view of this same information. As @JacquesCarette in the original issue, you want to start with looking into generating a .dot file.

@smiths
Copy link
Collaborator Author

smiths commented May 8, 2020

@muhammadaliog3, the best person to prioritize your list is @JacquesCarette. However, I can get you started. I agree with your recommendation of issue #1570. It seems like a nice straightforward task. I'm not sure why the original issue was never closed?

@Nathaniel-Hu
Copy link
Collaborator

@smiths where can I find the generated Traceability Matrices (on GitHub) for the Drasil infrastructure?

@smiths
Copy link
Collaborator Author

smiths commented May 8, 2020

@Nathaniel-Hu, for questions about issue #801, you should ask them under the original issue, rather than here. The generated traceability matrices are in the SRS documentation. You can find them in one of the last sections. For instance, you can look at the matrix for the Projectile example:

https://jacquescarette.github.io/Drasil/examples/Projectile/srs/Projectile_SRS.html

I do not know what specific Drasil code generates the matrix. I'm optimistic that you can track it down, and that you will learn more about Drasil in the process. 😄 If you get stuck, or have questions, please ask them in the #801 thread.

@JacquesCarette
Copy link
Owner

I have reviewed many of the issues, but I started from the oldest ones, so I'm only up to #1415. I'm hoping to get up to current later today.

From my point of view, of the older issues, the ones that I noted down as being things we ought to look at are: #359, #373, #388, #427, #453, #467, #498, #541, #578, #663, #695, #702, #801, #787, #872, #946, #1018, #1025, #1030, #1047, #1076, #1116, #1142, #1146, #1153, #1172, #1173, #1196, #1206, #1210, #1235, #1280, #1311, #1342, #1356, #1415.

@JacquesCarette
Copy link
Owner

[I will come back to this issue when I've had time to go through all the activity]

@JacquesCarette
Copy link
Owner

And my second batch: #1432, #1476. #1500, #1504, #1506, #1524, #1538, #1541, #1578, #1599, #1602, #1605, #1637, #1647, #1658, #1661, #1671, #1697, #1732, #1778, #1780, #1795, #1804, #1809, #1814, #1848, #1853, #1916, #1918, and #1973 are all things worthy of looking in to.

@JacquesCarette
Copy link
Owner

Looking at the issues that @muhammadaliog3 picked, starting from the top. Implementing better constraints is definitely worthwhile, but the analysis is also correct: fixing some will involve major design. So probably not the best issues to start with - hopefully in a couple of weeks though. Best way to proceed there would be as I commented elsewhere: analyse, suggest design in an issue, get design approval, then implement. #872 is easier to just 'do', but since it will touch things that are likely to also change, it's best to wait [sorry]. #806 is actually going to be surprisingly harder than it sounds! Go ahead and analyse it, it will be an interesting learning experience. #1048 is much lower priority, and perhaps not even the right way to do things. #1476, #1570, #1809 and #1732 should all be reasonably straightforward - give them a go!

@JacquesCarette
Copy link
Owner

For @Nathaniel-Hu 's list: #946 is definitely something we want - but tricky. As I said above, that one will need to go through the analysis, propose design, approval, implement cycle. #806 was analyzed above. You're working on #801 now. #1018 should be straightforward enough, give it a try. #2088 should be tackled 'later', as it will indeed involve quite a bit of design. #1998 is a tad bit harder than it sounds, but would be worth trying while @bmaclach is still around. #1973 would be a fun DevOps thing to do. #1916 would be very valuable; I think there are some checks already, but there could be more. #1879 might be tricky, another one to understand while @bmaclach is still around to ask questions of. I think #1504 is somewhat lower priority right now.

@JacquesCarette
Copy link
Owner

I'm going to close this issue now, because all the work has been done. However, feel free to use it to ask questions about any of my comments above. For specific issues though, I would prefer if you wrote on the issue itself.

@smiths
Copy link
Collaborator Author

smiths commented May 18, 2020

I think this was a useful issue. We now have prioritized lists of issues to go through. @muhammadaliog3 and @Nathaniel-Hu, as you work through your list, following the advice of @JacquesCarette, please assign the issue you are working on to yourself. It is good to have "official" ownership of issues.

@smiths
Copy link
Collaborator Author

smiths commented May 19, 2020

@Nathaniel-Hu and @muhammadaliog3, we have added another issue to your to do list: #2123. This shouldn't be too difficult an issue to close, and it should be satisfying, since it will increase the number of generated artifacts. 😄

@smiths
Copy link
Collaborator Author

smiths commented May 19, 2020

@Nathaniel-Hu and @muhammadaliog3, we have added another issue to your to do list: #1010. This should be a straightforward issue to close.

If you feel like you are waiting for @JacquesCarette or @smiths for feedback on a current issue, you should assign yourself another issue and work on it in parallel. That way we will see progress from you, even when we are too busy to reply to your questions right away.

@smiths
Copy link
Collaborator Author

smiths commented Jun 10, 2020

@Nathaniel-Hu and @muhammadaliog3, @bmaclach has created another issue that should be feasible for you to complete this summer: #2173. I won't assign you, but should one of you be interested, you can self assign.

@smiths
Copy link
Collaborator Author

smiths commented Jun 13, 2020

@Nathaniel-Hu and @muhammadaliog3, @bmaclach has created another issue for you to consider: #2180.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants