5. Implementation

5.1 Software or programming language

The simulation model was developed using python 3.9 and ciw 2.3. ciw details are here: https://ciw.readthedocs.io

The web app was developed using Shiny for Python version 1.1.0.

The exact software versions are:

name: stars_pyshiny
channels:
  - conda-forge
dependencies:
  - matplotlib=3.7.1
  - numpy=1.25.0
  - pandas=2.0.2
  - plotly=5.15.0
  - pip=23.1.2
  - python=3.9.16
  - scipy=1.10.1
  - pip:
    - ciw==2.3.1
    - faicons==0.2.2
    - shiny==1.1.0
    - shinyswatch==0.7.0
    - shinywidgets==0.3.3
    - rsconnect-python==1.24.0

A conda virtual environment is provided to manage versions on a local machine.

5.2 Random sampling

ciw’s source code indicates that it uses python’s random module for generating samples. Python uses the Mersenne Twister to generate uniform random numbers. https://docs.python.org/3/library/random.html

5.3 Model execution

ciw uses an event scheduling approach similar to the three phase simulation worldview. More details https://ciw.readthedocs.io/en/latest/Background/mechanisms.html

5.4 System Specification

The model was coded, tested, and run on Intel i9-9900K CPU with 64GB RAM running the Pop!_OS 20.04 Linux.