A library for easy mapping of mathematical specifications.
Project description
MSML
What is the Mathematical Specification Mapping Library (MSML)?
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.
Why MSML?
Through lived experience of writing specs, it was discovered that the process can be very difficult. It is especially tough when coordinating between groups of stakeholders. For example, if a variable name that is referenced in multiple charts and pieces of the spec is changed, someone needs to go through to both find and revise the name.
As well, there are times when you want a fully zoomed out view, and other times where you want a view on only a specific few pieces of the system. Without MSML, one would have to either duplicate work to show the system in two ways, or decide which way is the better representation. MSML allows for on the fly writing of reports multiple different ways depending on what is important to highlight.
What are some of the solutions offered?
- Automation: Automate writing of a specification
- Standardization: Ensure standardization across teams working to spec out a system
- Flexibility: Allow for creating views on the fly and in multiple ways depending on what stakeholders find important
- Trackable: Keep a repository of a JSON file to track changes to the spec with the same enhancements git provides for projects already
How does MSML work?
graph TD
A[JSON Object \n\n Each spec has a repo for tracking changes \n Must conform to the json specification \n Defines all aspects of the spec including blocks, spaces and actions] -->B[MSML Object \n\n JSON file and parsed, with validations and mappings along the way \n Can show different views on the fly]
B --> C[Report Outputs \n\n Automatically build reports for the full spec or subviews \n Example: all blocks with an effect on variable XYZ]
Canonical Examples
Dummy/Starter Repository Root Finding Simulation
Comparison of Canonical Example Features
Feature | Dummy | Root Finding |
---|---|---|
Action Transmission Channels | X | X |
Stack Block | X | X |
Parallel Block | X | |
Split Block | ||
Boundary Actions | X | |
Control Actions | X | X |
Entities | X | |
Mechanisms | X | X |
Parameters | X | X |
Policies | X | X |
Spaces | X | X |
State | X | X |
Stateful Metrics | ||
State Update Transmission Channels | X | X |
Reports | X | X |
Other Related Repositories
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file math_spec_mapping-0.2.0.tar.gz
.
File metadata
- Download URL: math_spec_mapping-0.2.0.tar.gz
- Upload date:
- Size: 24.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5107f81e1b94b71701883c80b0fd559d80153ad58e9f3f4abf98c3ef08e7f86b |
|
MD5 | 9b2ea6a5cfd7661af4b98a9aeedf543c |
|
BLAKE2b-256 | 7b127614f2a37e60169f5847225242ee1248e72771df080f585da248f9942c2a |
File details
Details for the file math_spec_mapping-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: math_spec_mapping-0.2.0-py3-none-any.whl
- Upload date:
- Size: 36.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 089a7006a5b6a059efe4d67cf39dfcff505dbfae2da19523651368a2cbb3fb84 |
|
MD5 | debbb866eabfab535fabae302860bf8a |
|
BLAKE2b-256 | 795b81fc7b751ef7afdef091ba1d00045292706e0a3ef50816f7f3382fa57d26 |