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

Separate SED into several modules, breaking out a core that has a low barrier to entry #119

Open
jonrkarr opened this issue Feb 13, 2021 · 2 comments
Labels

Comments

@jonrkarr
Copy link
Contributor

jonrkarr commented Feb 13, 2021

As new features have been added, SED has grown more capable but also more complex to implement. This compels developers to implement more features, which increases the barrier to entry. This also creates a need to communicate to users which aspects of SED can be used with which tools.

A potential alternative is to organize SED-ML into a few namespaces/packages for distinct functions similar to the organization of SBML packages. One potential organization:

A key goal would be to keep the core as simple as possible so there would be a minimal set of features that would be relatively easy for developers to implement. This could greatly reduce the barrier to entry.

@agarny
Copy link
Contributor

agarny commented Feb 15, 2021

This looks like a good way forward. (I know that, ideally, OpenCOR would support all of SED-ML, but time constraints, priorities, etc. have meant that it only supports a small subset of it, for now at least.)

@jonrkarr
Copy link
Contributor Author

One benefit of modularizing SED-ML is that simulation tools really only need to implement simulations. The other functions could be conducted by external libraries and coupled to simulation tools. Simulation tools would only need to expose a few, fairly simple interfaces to make this work. As an example, this approach has enabled us to bring SED-ML to a bunch of additional tools without having to re-implement SED-ML for each tool.

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

No branches or pull requests

3 participants