Origins

SyMBA is currently built using the FuGE Version 1 Object Model. However, SyMBA was originally built directly from the FuGE Milestone 3 STK. This already used Maven 2 and AndroMDA to build a number of auto-generated files from the FuGE Object Model (FuGE-OM). However, a number of additional modules were added over time to form SyMBA, including:

  • Modifications to the existing FuGE-OM to allow more complex versioning within the database for Identifiable objects

  • LSID webservices (one to create LSIDs, and another to resolve them)

  • Web Interface for users to deposit data and metadata into the SyMBA database

  • Parser for OBI , from OWL format into a FuGE OntologyCollection, providing a developer-specified level of granularity

  • JAXB2 codebase created from the FuGE XSD (itself autogenerated from the FuGE-OM)

  • A large number of canned searches used by the web interface for searching the database

Many of these things were later incorporated into the FuGE Milestone 3 STK, and in July 2008, into the newly-created FuGE Version 1 Hibernate STK. However, the web interface and LSID implementation are SyMBA-specific, as well as many of the searches, remain within the scope of SyMBA.

SyMBA is now built on top of the FuGE Version 1 Hibernate STK. However, while it is the intent of the FuGE developers that FuGE be extended (without modification), SyMBA needed to make changes to the OM itself in order to allow the more complex versioning. This meant that the FuGE-OM itself needed to be changed. This set of documentation identifies all changes that were made to the FuGE Version 1 Hibernate STK in order to bring it up to the capabilities required for SyMBA. In considering these changes, it is useful to keep in mind that all of these only result in a single addition to the standard FuGE XSD. This addition (the "endurant" attribute of all Identifiable objects) can be safely REMOVED from any exported XML file to make the resulting FuGE-ML completely compliant with the FuGE standard.

The following pages outline all changes made to the FuGE-OM found within the FuGE Version 1 Hibernate STK. Further changes to the FuGE STK will be propogated across to the SyMBA project.

Renaming of the UML file

The FuGE-OM UML file has been renamed from FuGE-v1-profile.mdzip to SyMBA-FuGEv1.mdzip to emphasize the changes made to the FuGE-OM for SyMBA.

The net.sourceforge.symba package within the FuGE-OM

Except for a couple of specifically-defined instances, all changes made to the FuGE-OM are contained in the net.sourceforge.symba package within the FuGE-v1-profile.mdzip file. This file lives inside SyMBA's symba-mda/src/main/uml . Therefore, the first change to the FuGE-OM was to create this package.