Software

We plan to have 3 major releases every year, with intermediate minor releases adding functionality to the aforementioned major releases. We typically number our releases based on the following rule: x.y.z; here, x.y indicates a major release with a significant advancement in the software’s capabilities (y increments from 0 through 9, before there is a rollover into x); z indicates improvements to the x.y release which is typically the result of bug fixes.

The Sustain software stack contains the following sub-projects. Our code base has been developed in several languages including Java, Scala, Rust, C++, Python, and Javascript.

ApertureVisualization of spatiotemporal data based on sketches, shape files, observations, and images
StashDistributed caching for spatiotemporal visualization
Sustain DHTDistributed hashtable based storage of sketches and strands. Leverages proxy arrays and LSM trees for scaling.
AtlasEncompasses the HDFS-compliant distributed file system, and support for constructs such as RDDs, Datasets, and DataFrames to facilitate interoperation with analytical engines.
SynopsisSketching of spatiotemporal data. This also includes support for imputation of missing data at diverse spatiotemporal scopes.
PolyglotInter-operation with diverse encoding formats and storage frameworks.


The software is open-source, and repositories are available at GitHub.com/Project-Sustain.