SBML Development Process for SBML Level 3
Contents |
The overall SBML Development Process is detailed on a separate page. The present page describes specific aspects of the process that concern the development of SBML Level 3.
SBML Level 3 is modular, in the sense of having a defined core set of features and optional packages adding features on top of the core. This modular approach means that models can declare which feature-sets they use, and likewise, software tools can declare which packages they support. It also means that the development of SBML Level 3 can proceed in a modular fashion. The development process for Level 3 is designed around this concept.
Packages take significant time and effort to develop. It would be unreasonable to require the production of a complete specification for a package before the SBML Forum is asked to vote on whether the package is even considered worthwhile and appropriate for SBML Level 3. Therefore, the development of packages is divided into two main stages:
This separation means that proposals for packages may be produced at relatively low cost in terms of effort, time and other resources. As explained below, the specification stage requires more effort, including software implementations. Only after the purpose and general outline of a proposed package are accepted does the full specification need to be produced.
The package proposal development stage
At this time (December 2008), a specification for the core for SBML Level 3 is in development, and no official packages exist yet. The following process is thus only partially specified. The process is summarized in the following flowchart and explained in detail in the text immediately below.
In the following text, "proposer(s)" refers to individuals or groups who propose a package for SBML Level 3.
- The pre-proposal stage:
- Individuals or groups who wish to propose a package for SBML Level 3 should first consult the Level 3 activity area in the SBML.org Community Wiki and check whether a similar package is already in development.
- If a package with similar goals is already in development, the proposer(s) should evaluate the details of the existing proposal and compare it to their own plans.
- If the existing proposed package can satisfy the proposer(s)'s needs, then it is probably more worthwhile for the proposer(s) to join the existing package's development efforts. By doing so, they can save themselves considerable effort, and perhaps also influence some of the details of the ongoing effort to better suit them.
- If, however, the proposer(s) judge(s) the existing efforts to be limited or unsuitable, the proposer(s) should proceed to step 2 ("The proposal stage") described below.
- If no existing activity in Level 3 is similar enough to the new proposal, the proposer(s) should proceed to raise the topic on the sbml-discuss mailing list and ask for community input about whether proceeding with a proposal is worthwhile.
- The motivation for this step is the following. Sometimes the conceptualization of functionality for SBML may be achieved in more than one way, and the SBML community may already have in mind handling some particular functionality using another approach. Thus, before spending time and effort to produce a detailed proposal, people are well advised to check with the rest of the community and make sure there is enough interest.
- The proposal stage:
- Using the SBML issue tracker with the category "SBML Level 3 package requests" (see screenshot at right), the proposer(s) should log their intention to develop a proposal for a Level 3 package. This will provide a tracking number and a place for the SBML Editors and other people to record comments related to the topic.
- Proposers should develop their Level 3 package proposal using the Level 3 Package Proposal Template.
- There is no prescribed file format for Level 3 proposals; the template only prescribes the content that should be provided. Many proposals are written as wiki pages in the SBML.org Community Wiki, but they could equally be written as LaTeX documents or another format.
- Proposers are invited to store their proposals in the SVN repository for SBML. Interested persons should contact the SBML Editors for guidance and assistance in doing this.
- After writing the proposal according to the template, the proposer(s) should add a link to the proposal in the Level 3 area on the SBML.org Community Wiki. The link should be placed on the appropriate topic page (if one exists) or added to the table of activity areas.
- Next, the proposer(s) should notify the SBML community about the proposal by posting on the sbml-discuss mailing list, then engage in a period of requesting and replying to comments. During this time, the proposer(s) should modify the proposal if needed in response to issues raised by other people.
- The proposal voting/selection stage:
- (Incomplete at this time [2008-12-14] but forthcoming.)
- The proposal acceptance stage:
- (Incomplete at this time [2008-12-14] but forthcoming.)
The package specification development stage
(Incomplete at this time [2008-12-24] but forthcoming.)



