Hybrid Automata Library

HAL is a Java library that facilitates hybrid modeling (spatial models with interacting agent-based and PDE components, commonly used for oncology modeling). HAL’s components can be broadly classified into: on and off-lattice agent containers, finite difference diffusion fields, a GUI building system, and additional tools and utilities for computation and data collection. These components have a standardized interface that expedites the construction of complex models. This library has been used in several PSOC modeling efforts and has facilitated designing and sharing models at Moffitt IMO.

A preprint of HAL is also on Biorxiv, for more information.


What is hybrid modelling?

Hybrid Modeling is the integration of Agent-Based modeling and PDE modeling. It is commonly used in mathematical oncology to mechanistically model tissue. Tissue is represented using agent-based modeling, where each agent acts as a single cell. Diffusibles that interact with the tissue are represented using partial differential equations (PDEs).

Modularity

Each component of HAL can function independently. This permits any combination of components to be used in a single model, with the use of spatial queries to combine them.

Extensibility

HAL was designed to allow models and components to be extended and modified. Grids and agents from published models can be used as as a scaffold on which to do additional studies while keeping the prior work and their additions separated.

Grids

Simplicity

Components are simple and generic making them applicable to a wide variety of modeling problems. The consistent interface means that learning to use some components is often sufficient to grasp the others, and using them in combination is intuitive. Defensive programming is used to generate useful error messages when a component is used incorrectly

Performance

HAL prioritizes performance in its algorithmic implementation. HAL includes efficient PDE solving algorithms, efficient visualization using BufferedImages and OpenGL, and leverages Java’s impressive performance for executing ABM logic.

Agents


On-lattice or off-lattice models with visualization

Models can be developed using an on-lattice paradigm (left), an off-lattice paradigm (top right), or extended to a 3-dimensional paradigm (bottom right).


More examples

Screenshots of 3 dimensional models of epidermal skin layer (left) the role of acidocis in prostate cancer (right) shown below.

Ryan Schenk, Eunjung Kim: Clonal Architecture of the Epidermis: Homeostasis Limits Keratinocyte Evolution

Chandler Gatenbee, Mark Robertson Tessi: Tumor-generated acidity alters functional activity and polarization of macrophages in prostate cancer