Internals Documentation

The internals documentation covers the design and functionality of ISM and related projects. The target audience is developers and operators.

Developers should have familiarity with:

While operators only need familiarity with Linux and Isabelle.

Interesting Material

Below is a loose collection of interesting material for reading up on relevant topics. The documentation doesn't expect you to know all of this.

Relevant courses

If you're a student at TUB you will benefit from having taken the courses:

  • TKN Rechnernetze und verteilte Systeme
  • Algorithmen und Datenstrukturen
  • Systemprogrammierung

They will aid with network and concurrent programming.

Appendix

The nomenclature can be a bit confusing given the overuse of "server" and "instance". Below a small definition of used components and their names.

  • server instance: A running systemd unit, managed by ISM, containing an isabelle server
  • server handle: The internal representation of a server instance in ISM
  • server pool: A pool of running server instances manged by the Agent and used by the Gateway
  • Gateway: An ISM component facilitating the communication between clients and server instances
  • Agent: An ISM component facilitating the monitoring of server instances and server pool management.
  • Monitoring clients: ISM managed isalink.IsaClients used for monitoring by the agent