Skip to content

Using BioGears

Steven A White edited this page Sep 9, 2019 · 29 revisions

Running BioGears

This article focuses on running the core components built by the BioGears build system. The BioGears build system consist of several parallel projects which are mostly used for internal testing. We divide the outputs of the build system in to code generation, shared library, and binary or executable targets. Each of these target types have different goals based on if you are a developer, integrator, or user of BioGears.

Code Generation

The Code Generation targets are for users who which to extend BioGears by adding additional types to the CDM. They regenerate all of our serialization files using CodeSynthesis XSD 4.0 based on the contents of ${BioGears_ROOT}/share/xsd/. After modifying files in this folder they should be rerun before recompiling BioGears.

Target Purpose Notes
xsd_gen_schema__* Regenerate h,cpp files from share/xsd/*.xsd files Designed to allow changing of the CDM to be caught by the build system. will automatically run the first time building and not needed by most users, but useful for the development of new XSD types. One folder for each file in the xsd tree

Libraries

The first results of BioGears are the libBioGears shared libraries. Most users will be interested in libBioGears and libBiogears_cdm for integration purposes. These libraries included all the serialization subroutines and the BioGears abstraction and implementation layers. Along with additional utilities for running BioGears scenarios. Additionally, we are in development of several language hooks for Java,C#, and Python and will be expanding additional libraries in the future.

Target Purpose Notes
libBioGears main biogears shared library Depends on libBioGears_cdm
libBioGears_cdm Library for Biogears serialization types Depends on xerces-c and XSD Code Synthesis 4.0
libBioGears_circuit_test Debugging Library with Circuit Unit Test Functions Biogears_BUILD_CIRCUIT_TEST
Used in Circuit performance testing. Speeds up build to skip this component
libBioGears_jni Java Runtime layer for libBiogears Biogears_BUILD_JAVATOOLS
Deprecated : Was supported for the Java based GUI tool

Programs

Target Purpose Notes
howto_* API Examples Biogears_BUILD_HOWTOS
Targets automatically created based on folder structure. Each test has an additional control value BUILD_EX_howto-${NAME} example BUILD_EX_howto-Smoke. Which can be used to toggle off sets of unneeded examples and speed up build times.
cmd_bio Command Line executable for interacting with libBiogears Biogears_BUILD_CMD_TOOLS
Supports multiple ways to run XML scenarios including bulk parallel simulations. Additionally supports the generation of data files absed on csv components
scenario_driver Simple EXE to run a single Scenario XML file using libBioGears Biogears_BUILD_SCENARIO_DRIVER

Working with BioGears

Adding Projects to BioGears

Building against BioGears with CMake

Clone this wiki locally