Forums

F.A.Q. F.A.Q.    Register Register    Login Login    Home Home
Search Search
SBML Discussions » libsbml-development » Release of libSBML-5.0.0-a0
Show: Today's Posts  :: Message Navigator
| Subscribe to topic 
Return to the default flat view Create a new topic Submit Reply
AuthorTopic
ajouraku


Posts: 57
Registered:
May 2008
Release of libSBML-5.0.0-a0 18 Jan '10 15:19

-----------------
Version 5.0.0-a0
-----------------

We are pleased to announce the release of libSBML-5.0.0-a0 which is
available for download from

https://sourceforge.net/projects/sbml/files/

***************************************************************
This is a pre-alpha release of libSBML-5 which provides support for
package extensions in SBML Level 3. Since libSBML-5 is currently in
development stage the API may be changed in the future. Also, some
features for package extensions (e.g. validation, language bindings
and etc.) are not supported yet (please see "Known Issues" below).

Currently, the code is based on the SVN trunk of Revision:10522
(i.e. based on 4.1.0-beta), and thus validating/converting SBML
Level 3 core has not been supported yet.

Please see the following bundled README files for details:

(1) docs/00README-HowToUsePackageExtension.txt

(For package developers)

(2) docs/00README-ExtensionSupportClasses.txt
(3) docs/00README-HowToImplementPackageExtension.txt
(4) docs/00README-ChangesInSBase.txt


* New Features:

- Added new classes for supporting package extensions in 'src/extension'.

- Added a new directory 'src/packages' in which additional package
extensions will be located.

- Added new functions for supporting package extensions in existing
classes. Most of the new functions are implemented in SBase and
SBMLNamespaces classes.

- Added a package of layout extension as an example package in
'src/packages/layout'. The package is based on existing
implementation of layout extension (implemented by Ralph Gauges)
bundled with libSBML-4.
"--enable-layout" option is required when running configure script to
build the layout package. Example codes using the layout package are
provided in "examples/layout/".
Currently, the package is built as additional shared library files
(e.g. libsbml-layout.a and libsbml-layout.so on Linux) that depend on
the shared library of core libSBML (e.g. libsbml.a and libsbml.so on
Linux) when built with make command.
The package is built into existing libsbml.dll when built with MSVC
on Windows. This build configuration may be changed in the future
release.

- Added a package of groups extension (based on the proposal on 2009-10)
as another example package in 'src/packages/groups'.
"--enable-groups" option is required when running configure script to
build the groups package. Example codes using the groups package are
provided in "examples/groups".
Currently, the package is also built as additional shared library files
(e.g. libsbml-groups.a and libsbml-groups.so on Linux) when built with
make command whereas the package is built into libsbml.dll when built
with MSVC on Windows. This build configuration may also be changed in
the future release.

* Changes:

- Moved source files of layout extension from 'src/sbml/layout' to
'src/packages/layout'.

- SBMLTypeCode_t (enum type) now contains only typecodes of SBase
objects defined in the SBML core. Each package extension should
define a similar enum type for typecodes of SBase objects defined
in each package extension (e.g. SBMLLayoutTypeCode_t for "layout"
extension (defined in LayoutExtension.h) , and SBMLGroupTypeCode_t
for "groups" extension (defined in GroupExtension.h).)

- Changed the type of return value of SBase::getTypeCode() and
ListOf::getItemTypeCode() functions (SBMLTypeCode_t -> int).

- Changed the usage of SBase::getTypeCode() and ListOf::getItemTypeCode()
functions. Currently, the value of each typecode can be duplicated
between those of different packages (this duplication problem doesn't
happen with existing code which uses only SBase objects of the SBML
core). To distinguish the typecodes of different packages, not only
the return value of getTypeCode() but also that of getPackageName()
should be checked as follows:

void example (const SBase *sb)
{
const std::string pkgName = sb->getPackageName();

if (pkgName == "core")
{
switch (sb->getTypeCode())
{
case SBML_MODEL:
....
break;
case SBML_REACTION:
....
}
}
else if (pkgName == "layout")
{
switch (sb->getTypeCode())
{
case SBML_LAYOUT_LAYOUT:
....
break;
case SBML_LAYOUT_REACTIONGLYPH:
....
}
}
...
}


- API changes:

(- : libSBML-4 API, + : libSBML-5 API)


- virtual SBMLTypeCode_t SBase::getTypeCode() const
+ virtual int SBase::getTypeCode() const


- virtual SBMLTypeCode_t ListOf::getItemTypeCode() const
+ virtual int ListOf::getItemTypeCode() const


- const char* SBMLTypeCode_toString (SBMLTypeCode_t typecode)
+ const char* SBMLTypeCode_toString (int typecode,
const char* pkgName)


- SBase* SBase::getAncestorOfType(SBMLTypeCode_t type)
+ SBase* SBase::getAncestorOfType(int type,
const std::string pkgName="core")


- virtual void SBase::readAttributes (const XMLAttributes& attributes)
+ virtual void SBase::readAttributes (const XMLAttributes& attributes,
const ExpectedAttributes& expattr)


* Known Issues:

- Validating functions need to be extended for package extensions.

- Converting functions need to be extended for package extensions.

- Language bindings (SWIG configuration files and underlying support
code such as local.cpp) need to be modified for supporting package
extensions. Currently, language bindings of "layout" extension
(Java, Python, Ruby, and C#) should work.

- SBML Core and additional package extensions should be located in
their own namespaces to avoid potential name conflictions.

- C wrapper API needs to be added/updated.

***************************************************************

Please report any problems you encounter using libSBML either to the
mailing list libsbml-team@caltech.edu or using the issue tracker
for libSBML at

https://sourceforge.net/tracker/?group_id=71971&atid=942737

Thanks

Akiya, Sarah & Mike
____________________________________________________________
To manage your libsbml-development list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/libsbml-development

For a web interface to the libsbml-development mailing list, visit
http://sbml.org/Forums/

For questions or feedback about the libsbml-development list,
contact sbml-team@caltech.edu

[Updated on: 02 Feb '10 08:46] by Moderator

      

SubjectPosterDate
Read Message   Release of libSBML-5.0.0-a0  ajouraku18 Jan '10 15:19
Previous Topic:Release of libSBML-4.0.1
Next Topic:a potential bug in matlab binding for libsbml-4.0.0 in Mac
Go to forum:
-=] Back to Top [=-

Powered by FUDforum. (Copyright Advanced Internet Designs Inc.)

Please use our issue tracking system for any questions or suggestions about this website.