|
1 |
| -# MSML v0.3 Update |
| 1 | +# MSML v0.4 Update |
2 | 2 |
|
3 |
| -Updated through V0.3.6 |
| 3 | +Updated through V0.3.14 |
4 | 4 |
|
5 | 5 | ## MSML Review
|
6 | 6 |
|
7 | 7 | MSML is a library for standardizing the creation of mathematical specifications as JSON objects as well as aiding in the automation of report and visualization creation from these standardized JSON. Please see the [README](../README.md) for more information.
|
8 | 8 |
|
9 | 9 | ## Updates from to v0.3.0 to V0.4.0
|
10 | 10 |
|
11 |
| -A total of XX issues were closed out over the development cycle, which broadly fall into the following categories: |
| 11 | +A total of XX issues were closed out over the development cycle, which broadly fall into the following categories below. However, for brevity, only the main updates will be covered, many smaller updates such as bug fixes, small improvements, etc. will not be noted here but can be found in the research journal. |
12 | 12 |
|
13 | 13 | ### Implementations / Executable Code Blocks
|
14 | 14 |
|
15 | 15 | - Boundary actions are now added in as an implementation
|
16 | 16 | - Full wiring runs are now working/executing
|
17 | 17 | - New functionality for validation of state and params before running wiring or blocks
|
18 | 18 | - Stateful metrics were implemented and now are passed in as a module in the state that implementations can access and use
|
| 19 | +- State and parameter preparation function paradigms were added into MSML to allow for setting up parameters and state prior to simulations / executable codes |
| 20 | +- Metrics were added into implementations to allow for mapping code to them |
| 21 | +- Functionality was added in for linking source code to the blocks for easy viewing and writing into markdown reports; as well a source code printing function was added |
| 22 | +- An enhanced version of the components running was created which acts as a wrapper around executable code and checks things like the actual spaces match even when doing the code execution side |
19 | 23 |
|
20 | 24 | ### Metaprogramming
|
21 | 25 |
|
22 | 26 | - Initial R&D into metaprogramming for Julia has yielded some success on metaprogramming for spaces and types in cadCAD.jl from MSML
|
23 | 27 | - Boundary action metaprogramming has been started
|
24 | 28 |
|
| 29 | +### Simulations |
| 30 | + |
| 31 | +- The mini-simulation runner was created |
| 32 | +- Post-processing function paradigm was added into the mini-simulation runner |
| 33 | +- Metric functions were added to the runner for post processing of data |
| 34 | +- Ability to run lists of blocks built out |
| 35 | +- Mapping of parameter changes to columns for experiments was added in |
| 36 | + |
25 | 37 | ### Canonical Examples
|
26 | 38 |
|
| 39 | +- The MSML template was added as both a canonical example as well as a forkable template for getting started quickly with MSML |
| 40 | +- The predator prey canonical example was created and has been completed up to simulations |
27 | 41 | - Introduction of the retirement planning canonical example as a guided walk through example
|
28 | 42 | - Introduction of the Rideshare Modeling canonical example for building a massive end-to-end model of a rideshare simulation
|
29 |
| -- Big improvements to the starter repo including adding in executable code blocks and better naming |
| 43 | +- Big improvements to the starter repo including adding in executable code blocks and better naming, which was later rolled into the MSML template |
30 | 44 |
|
31 | 45 | ## Research Notes
|
32 | 46 |
|
33 | 47 | - A research note on metrics was created and worked through with stakeholders
|
34 | 48 | - A research note on parameter class names and different ways that it could be implemented (plan is for a "bring your own ontology" approach moving forward)
|
35 | 49 | - Development note on working through an issue with Latex escape characters
|
36 | 50 | - Development research note for future proposals of changes to MSML
|
| 51 | +- Predator-Prey-Ideation through reverse engineering research note |
| 52 | +- Multi-processing research note for aiding with cadCAD performance (and eventual dogfooding on MSML) |
| 53 | +- V0.5 release plan was created |
| 54 | +- V0.4 update note was created |
37 | 55 |
|
38 | 56 | ## Improvements and Convenience Functions
|
39 | 57 |
|
40 | 58 | - A lot of bugs were discovered and fixed through dogfooding on client work and canonical examples
|
41 | 59 | - Some major improvements across the board in terms of quality of life stuff; a lot of new assertions that are more descriptive added to easily see where the issues are
|
42 | 60 | - New convenience functions such as one to remove dummy repo components after the starter repo scaffolding is no longer needed
|
| 61 | +- A parameter table creation function was built which automatically creates a markdown table of parameters, descriptions, and default values for experiment notebooks |
| 62 | +- Improvements of assertions |
| 63 | +- An automatic README writer was added in |
| 64 | +- A functionality that automatically writes issues from an MSML scaffold into a github issues was built out |
| 65 | +- Large amount of small updates to the reporting sections |
| 66 | +- Functionality was added which puts the actual bound code into the markdown reports and also adds links to both the definitions of code as well as the spec component definitions for making it easier to develop |
| 67 | +- Depth of 1 mermaid wiring charts were created to make it cleaner to look at different wirings |
| 68 | +- The nodes in mermaid graphics are now clickable and bring you to the Obsidian note for that component |
| 69 | +- Automated github table creation functionality for project management improvement |
| 70 | +- Full issue inventory and tagging of all 200 issues within the MSML repository |
| 71 | +- The remove starter repo functionality was refactored for the new MSML template |
| 72 | +- The official [MSML documentation](https://blockscience.github.io/MSML/) has been launched |
| 73 | +- A getting started guide was built |
| 74 | + |
| 75 | +## Presentations |
| 76 | + |
| 77 | +- The annual presentation was given in June 2024 during the town hall |
| 78 | +- A governance pod presentation titled "Obsidian, the Mathematical Specification Mapping Library, and End-to-End Modeling" was given |
| 79 | +- October seminar presentation |
| 80 | +- A research note on Predator-Prey-Ideation through reverse engineering was completed which shows how to turn legacy code into an MSML scaffold then automatically port it into github issues for easy organization of the next step (the actual MSML spec), presented in seminar |
43 | 81 |
|
44 | 82 | ## Future Research Arc
|
45 | 83 |
|
|
0 commit comments