Skip to content

BioGears 8.0 RoadMap

Steven A White edited this page Mar 23, 2020 · 8 revisions

Core Library

BioGears core library represents libbiogears libbiogears_cdm and libbiogears_circuit_test

Physiology Improvements

Back-end Improvements

Feature Enhancements

  • Availability of Event Callback(Delegates, Signal/Slots)
    • Lambda based event handling to simplify front in integration with physiology
  • FileIO fallback library for imbedded development
    • New library for embedded development to reduce mandatory fileIO
  • Deprecate ScenarioExec
    • Expose new Physiology Driver Framework
  • Scenario Language 2.0
  • Support for logic control structures (Branch, Loop)
  • Action Interval fields (Reduce number of advance model time actions)
  • Language Hooks
    • C Interface
    • C# and Python hooks

API Changes

  • Merging of BioGears and BioGearsEngine
    • Standardize naming of accessor functions for SESystem* returns and concreate system implementations.
    • Eliminate multi enharatance which is confusing in the API layer.
  • General API Changes / Modernization
    • Return type changes
    • C++11 style changes
  • Serialization Overhaul
    • Replacement of XML with JSON based format
    • Removal of serialization details from API layer

Refactoring and quality of life changes.

  • Audit of third-party dependencies
    • Replaces Xerces-c and XSD Code Synthesis with libprotobuf
    • Replace log4cpp with internal logging code.
  • Scalar Unit Refactor and Replacement
    • Expose arithmetic operators for SEScalar types
    • Migrate internal model code to arithmetic operators.
  • Uniform error/exception policy
    • Catch all third party exceptions and expose them as BioGears Error type
    • Eliminate CDM exceptions in favor of Error model.
  • Uniform memory ownership model.
    • Clarify when ownership is assumed by the library for passed objects
    • Expose copy and move constructors for all types to simplify semantics
  • Substance Definition Class
    • New class for storing const substance definitions.
    • Eliminate need for Substance Manager to be passed to many classes.
Clone this wiki locally