Skip to content

HHS/ASPR-ms-gcm-taskit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPL LICENSE GitHub tag (with filter) GitHub contributors GitHub Workflow Status (with event) GitHub Workflow Status (with event)

GCM Taskit

An implementation of Taskit for use with GCM.

Currently there is only 1 supported serialzation format, and that is protobuf. Other formats such as binary will follow in the future.

As of v2.8.0, this project is in Maven Central

License

Distributed under the GPLv3 License. See LICENSE for more information.

Please read the HHS vulnerability discloure.

Usage

To use this project in your project, simply add the following dependency to your dependencies section of your pom.xml file.

<dependency>
    <groupId>gov.hhs.aspr.ms.gcm.taskit</groupId>
    <artifactId>protobuf</artifactId>
    <version>2.8.0</version>
</dependency>

Overview

This taskit implementation is built as follows:

Plugins

Each GCM plugin has it's PluginData and most support and testsupport classes are implemented and support serilization.

Note that Plugins themselves do not support serialization, but their respective PluginDatas do.

These are split into Translators and use a dependency mechanism that is the same as the plugin dependency within GCM.

Nucleus

Not all classes in Nucleus support serialization. Just the following classes support serialization

  • Planner
  • SimulationState
  • ExperimentParameterData
  • Dimension

Building from Source

Requirements

  • Maven 3.8.x
  • Java 17
  • Favorite IDE for Java development
  • Modeling Util located here
  • GCM located here
  • Taskit located here

*NOTE that Modeling Utils, GCM and Taskit are in maven central, so there is no need to clone and build those repos

Building

To build this project:

  • Clone the repo
  • open a command line terminal
  • navigate to the root folder of this project
  • run the command: mvn clean install

Documentation

Documentation has yet to be created. In the interim, the code is mostly commented and the javadocs do provide good detail with regards to method and class expectations.