Software Documentation

The simulation software is written in Java. UML 2.4 Standard was used to document the software.

Context View

Context view

The simulation setup that shall be simulated is defined in a configuration file in the XML (Extensible Markup Language) format. The technical information (duration of the simulation and interval for saving the current status of the simulated system) is defined in a separate xml file. The structure of both files is specified by a XML schema. At the start of the simulation CaTSiT reads both files and creates all necessary components to simulate the configured simulation setup. Simulation results are saved in a spreadsheet file.

Component View

CaTSiT consists of four main packages: machine, base, io and support.


The package machine contains all classes that are necessary to manage a simulation run, such as event lists and the simulation controller (see class diagram 7) that starts and controls the simulation process.


The base package is the main package for all model specific classes such as continuous and discrete compartment, host organ and events (see class diagram 1).
The subpackage eventactions contains all specific event actions that implement the concrete actions that are performed when an event is executed. It is further divided into the subpackages localeventactions that contains all local event actions such as resection and tumor progression event actions and globaleventactions that contains all global event actions such as global treatments (see class diagram 2).
The subpackage distribution contains classes for uniform and Gaussian distribution (see class diagram 3). Distributions are used to define the duration and start size of dormancy phases and to define the time until a specific event occurs. The subpackage treatments contains all classes that hold the parametrized data for global treatments such as chemotherapy and radiation therapy (see class diagram 4). The subpackage conditions contains the classes TimeCondition and SizeCondition that are used to apply changing characteristics to discrete compartments (see class diagram 1).


The subpackage xml contains classes to read the configured simulation setup from a xml file. The subpackage excel contains classes to write the simulation results into a spreadsheet (see class diagram 6) and to merge two single spreadsheets into one file (see class diagram 7).


The support package provides supporting classes such as functions (see class diagram 5), random number generators (see class diagram 4), special mathematical functions and histogram generators.

Class diagrams

Please note that not all attributes, associations (solid arrows) and dependencies (dashed arrows) are shown in the class diagrams to improve clarity.

1 - Continuous and discrete compartments

2 - Local and global event actions

3 - Distributions and random number generators

4 - Treatments

5 - Functions

6 - Excel writer

7 - Simulation controller

Runtime View

The class CaTSiT contains the main method and creates the SimController that manages and controls the simulation process.