Introduction to Modularization
SBML Level 3 will introduce new extensions to the language in a modular fashion. Thus libSBML needs to rearchitected to some extent to facilitate the addition of modules to support each extension. When Ben Bornstein rearchitected libSBML-3, he did so with modularization in mind. The XML layer will prove invaluable to the process.
However, there are still issues that need to discussed and agreed before we can go ahead. This is an attempt to record these discussions and provide advice for people wishing to start writing code.
- Initially Mike and Sarah tried to identify the issues involved. Sarah then bribed Ben Bornstein with lunch in exchange for his comments and summarized these initial thoughts.
- These thoughts were presented by Sarah and then discussed at the 2008 Hackathon:
- In May at Caltech, Akira, Akiya, Mike and Sarah discussed the practicalities and actual implementation of the modularization process and came to the following conclusions.
Our current aim is to provide a version of libSBML with the layout extension removed and reincarnated as a modular extension of libSBML. This will provide a template for the implementation of further extensions. The projected timescale for this is December 2008. In the meantime, anyone wishing to start writing code for SBML Level 3 extensions should follow the approach used by the current implementation of the layout extension.