Skip to content

State Machine

Franz Miltz edited this page Sep 15, 2021 · 5 revisions

Project

Overview

The State Machine project aims to ensure that the internal logic of the pod is correct. This includes:

  1. Maintaining the State Machine submodule such that it is
    • logically correct (and in line with the needs of the Technical Team in general),
    • easy to understand for every member of the Software team, and
    • thoroughly tested.
  2. Ensuring that other sub systems follow the rules laid out by State Machine.
  3. Communicating with other projects and subteams to suit their needs.

The problems to solve in 2022 include the following:

  1. Check with other teams to get detailed expected behaviour during each of the stages of the run.
  2. Check other subsystems and enforce correct behavour.
  3. Split up transitions that have multiple conditions into several steps.

Code owned

  1. State Machine module

Sub-system

There are several sources of documentation available for the State Machine subsystem:

  1. For a high level overview that does not give any insight into the underlying source code, refer to this article.
  2. For a more detailed explanation which incorporates code snippets, please have a look here.
  3. For more information about how to read and write the code for the State Machine subsystem, we have compiled a short guide, too.
Clone this wiki locally