TODO¶
Bugs¶
Fix bug where datatype parameters in communicators are not passed to the datatype during normalization (currently handled on python side)
Fix bug in timesync model driver when state variables have units and add units to OSR
Documentation¶
Go through docs to strip out deprecated info
Docs on datatypes w/ example of user defined data type
Docs on how nested data objects are represented in C/C++.
Regenerate metaschema with $schema entry
Refernce metaschema on website in $id or $schema?
Expand development section into contributing guide
Go through and update/prune interface documentation
Refactor¶
Move all specialized strings to a file that is read in and passed as definitions during compilation for C/C++ (or loaded at import in python/matlab)
Change C client/server use of direction/serializer info to be more transparent
Split drivers into separate directories for model drivers and connection drivers
Change how CLI arguments are added to the arg parser for the language installer to use subparsers
Use doxygen linter/parser for parsing functions
Add parameter to files/serializers to allow incremental or complete read on file types where that is valid
New feature/example¶
Add example of each supported language (missing LPy, cmake, make)
change gs_lesson/formatted_io series to have more descriptive names
Consider passing input/output to/from Matlab function models directly through the matlab engine
Create a set of fundamental tests that every language implementation needs to pass including files containing serialized data that needs to be deserialized and then serialized.
Allow use of different ‘default’ communication mechanisms on different connections based on the languages involved
Add comm for using files as temporary storage in passing information between models
Assign meanings to error codes and implement across languages (e.g. missing comm class)
Add parameters constraining valid values for inputs/outputs (e.g. range) using JSON paramaters
Allow users to select from list of multiple possiblities when locating libraries to avoid conflict
Add ‘shell’ option for executable models on Windows to allow calling different shell types.
Move communication to C++
Allow models to be embedded natively
Testing¶
testing for R native functions
Identify tests that can only run in serial and update GHA jobs to run tests in parallel