Closed jamesmrollins closed 3 years ago
@jamesmrollins @anazariz
Note - We say in our grants that we will document our Vensim DSS models using SDM-DOC Goals: 1) Error-checking and Standardization 2) Model documentation for review by scientists and others
1) https://www.systemdynamics.org/SDM-doc 2) http://wayback.archive-it.org/10432/20181121203235/http://lm.systemdynamics.org/tools/sdm/Handbook%20Model-A.html#a105
Cross-ref: #784 Cross-ref: #886 - How can we get to a more streamlined file upload for Team Data Tables? This came up during our 4/1 Support Workgroup Leads meeting. BROADER GOAL: Get rid of anything that manually has to be done with the Epicenter platform.
Problem Statement: Use of labels between Team Data files, Vensim model files and Sim UI labels is very difficult to standardize and often results in errors. The standardization of labels, wherever possible, aids in mapping variables across the various platforms. In the model-Sim UI validation process, values from the simulation are compared, by hand, against values returned from a client session of the model.
Requirements
1.0 Develop a database routine that will identify exceptions between two model versions and the Sim UI label map.
[ ] 1.10 The database routine will read the output .mdl (edited 04/08/2020) or text version of a Vensim model, that describes variables, their units of measure, minimum and maximum values, default value and associated comments and parse into a database. This will be the database of record. It will contain all variables in a given model.
[ ] 1.20 The database routine will identify exceptions between two models and generate an exception report. The exception report will report any differences between the two files, including text differences between comments fields.
2.0 Develop a automated disposition process that will record inputs and provide a record of accountability for actions in the record.
[ ] 2.10 The exception report will drive a disposition process where a Sim UI Workgroup Lead will determine if the excepted variable is cross-functional (CF) and used between model and the Sim UI or the Team Data Table, the model or the Sim UI.
[ ] 2.20 The disposition process will provide a means where the Sim UI Workgroup Lead can provide a Sim UI label name (following naming convention identified in the algorithm).
[ ] 2.30 The disposition process will provide a means for the Sim UI developer to verify the proper use of the label name, its units of measure, its minimum and maximum values and default values.
[ ] 2.40 The disposition process will enable the Sim UI Workgroup Lead to verify changes and record date/time of disposition closure.
3.0 Develop a process to host an SDM-DOC.html file as a webpage, under a "technical specifications" heading on mtl.how/demo. (see edit below from Support Workgroup Meeting 4/8/2020; see below).
@jamesmrollins
Decisions at 4/8/2020 Support Workgroups #1220 - Requirement 3 - Provide Model Documentation for Scientific Audiences
Completed Verfication of SDM-Doc: James has taken the SDM-DOC java app and was successfully able to generate a .html from the MTL 2.0 .mdl Vensim DSS.
@jamesmrollins Thanks for moving this to the upcoming epic following the Monday WG Leads call. Please make sure to also update the milestone and epic on the right-hand side.
Discussed at #hqhuddle on 4/24/2020
Master Crosswalk Goal: Is that standards are developed and every instance of a Team PSD or MTL variable instance, data definition, code base (e.g., interdependent .Rmd, data and .R; SQL joins etc.) in a way that is consistent across Team PSD workgroups.
Next Steps:
Team GitHub Repos **Cross-ref
Lindsey will put this together with visual icons for Team PSD Values and Team PSD Principles.
It would be great to get a Visual Map that also shows how these go together.
Team PSD Scientific Values guide additional Participatory and Open Science principles:
Team PSD Project Management Principles
Team PSD integrates Waterfall principles because:
Team PSD integrates Agile principles because:
Team PSD integrates Waterfall and Agile principles because:
Team PSD integrates Lean principles because:
Team PSD integrates Scrum principles because:
Team PSD Pain points we are working to better address:
Continuous Collaborative Iteration Cycles (e.g., “DevOps”)
VA GitHub Repo
Ad Hoc vets.gov - benefits tracking NICE Examples for #1220 https://github.com/department-of-veterans-affairs/vets-website
https://github.com/department-of-veterans-affairs/caseflow
va.gov https://github.com/department-of-veterans-affairs/va.gov-team
NICE Examples for Team PSD Manual: Plain English for #1192 https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/working-with-vsp/orientation/repo-guidelines.md
With Maps https://github.com/department-of-veterans-affairs/lighthouse-facilities
Git for Version Control
https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6
https://rogerdudler.github.io/git-guide/
DevOps for Automating Team Dependency Flows and Reducing Errors and Rework
Discussed at Support Workgroup Meetings on 4/29/2020
@anazariz @anthonycpichardo @jamesmrollins @staceypark
BTW: Thanks to @anazariz for encouraging me to get the Team PSD Manual "Project Management" (Column A) information out there in terms of how/why we enlist the synthesized project management approaches we do. 🏆
@jamesmrollins Is the algorithm diagram in LucidCharts?
I was thinking we could review it further with our insights from yesterday. I also see that next steps from our 4/24/2020 post said that 1) Anthony & Ash would review the algo diagram, and 2) the current Master Crosswalk.
@anthonycpichardo @anazariz Have you seen the current master crosswalk?
Happy Friday Support Workgroups! It’s May! 🌳 🌻 ⛰️ 🏖️
@staceypark @jamesmrollins @anazariz @anthonycpichardo
Great work to keep this moving forward! 👏
https://lab.github.com/githubtraining/getting-started-with-github-apps
We'll answer common questions like:
https://lab.github.com/githubtraining/github-actions:-continuous-integration
We'll answer common questions like:
https://lab.github.com/githubtraining/github-actions:-publish-to-github-packages
We'll answer common questions like:
https://lab.github.com/githubtraining/github-actions:-write-docker-container-actions After completing this course, you will be able to:
https://lab.github.com/githubtraining/create-a-release-based-workflow
https://lab.github.com/githubtraining/continuous-integration-with-circleci
Developers integrate code into a shared repository several times a day. With such frequent code changes, how do you ensure your code is bug free? Continuous Integration (CI) is an approach to software development in which tests run automatically anytime code is changed, saving you time and giving your team improved reliability. Continuous Deployment or Delivery (CD) refers to whatever happens after these tests run. If they pass, your new code can be automatically deployed to production.
https://yaml.org/spec/1.2/spec.html
After developing our standards, when a user creates a new project or it’s on the settings page, we could suggest a functional configuration file with a minimal setup. And making clear where to put global configurations.
The settings used in the build from the configuration file (and other metadata) are human and machine readable across all Team PSD code.
A. Every JSON file is also a valid YAML file. The design goals for YAML are, in decreasing priority:
B. YAML information is used in two ways: for machine processing, and for human consumption.
...Unlike JSON, yaml supports comments
C. Other considerations Ansible Playbooks By integrating their software with YAML, Red Hat developed Ansible, an open source software provisioning, configuration management, and application deployment tool.
We should work through these trainings on our own and update each other with recommendations in this thread.
https://github.com/department-of-veterans-affairs/vets-website https://github.com/department-of-veterans-affairs/caseflow https://github.com/department-of-veterans-affairs/va.gov-team
Plain English for #1192 https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/working-with-vsp/orientation/repo-guidelines.md https://github.com/department-of-veterans-affairs/lighthouse-facilities
@jamesmrollins Is the algorithm diagram in LucidCharts?
I was thinking we could review it further with our insights from yesterday. I also see that next steps from our 4/24/2020 post said that 1) Anthony & Ash would review the algo diagram, and 2) the current Master Crosswalk.
@anthonycpichardo @anazariz Have you seen the current master crosswalk?
@lzim Ash and I reviewed the master crosswalk that is hosted on OSF when thinking through the parser. Side note: currently, we aren't a part of whichever project the file is hosted on though and needed @jamesmrollins to send it to us. Can we get added to the project?
@jamesmrollins Is the algorithm diagram in LucidCharts?
I was thinking we could review it further with our insights from yesterday. I also see that next steps from our 4/24/2020 post said that 1) Anthony & Ash would review the algo diagram, and 2) the current Master Crosswalk.
@anthonycpichardo @anazariz Have you seen the current master crosswalk?
@lzim @anazariz @anthonycpichardo Its in there now . . .
Problem The current model crosswalk table is a spreadsheet that lists the standard label for variables and attempts to link the standard name to the actual labels used on other resources (i.e., Team Data Table, Vensim model). Standard labels can be difficult to implement because the Sim UI often needs unique labels for the same function in order to execute code. Furthermore, most of the models were developed prior to the establishment of the code; therefore, are not standardized. Finally, there is no procedure documented for editing, updating or quality checking label crosswalks creating a single point of failure.
Mission Identify and document the current standing operating procedure for documenting resource labels. Determine if there are ways to automate the functions in order to reduce errors and to ease demand.