README.md 1.18 KB
Newer Older
jameson.rollins@LIGO.ORG's avatar
jameson.rollins@LIGO.ORG committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Guardian Automation
===================

Design by and for the Advanced LIGO project, Guardian is a flexible,
modular, distributed, hierarchical, state machine automation platform.
It is not specific to aLIGO, though; it should be useful for an large
or small experiment that could benefit from state-machine supervisory
control.

The objective of Guardian is to provide:
 * a framework for complete, robust automation
 * a flexible interface that facilitates the commissioning process
 * useful diagnostics and coherent tracking of the full state of the
   system

Jameson Rollins's avatar
Jameson Rollins committed
16 17
Online documentation: https://cds.docs.ligo.org/guardian/

jameson.rollins@LIGO.ORG's avatar
jameson.rollins@LIGO.ORG committed
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
Concept:
--------

Individual automaton nodes oversee well defined sub-domains of the
interferometer.  A hierarchy of nodes can be used to control larger
systems.

Features:
---------

User code is written in standard Python, and is very simple and
straightforward to write.

Includes many useful command line and graphical utilities:
 * automatically draw system graphs
 * analyze system graphs
 * inspect/edit user code
 * directly execute code for individual states, or for arbitrary state graph paths
 * interactive guardian shell environment
 * plot guardian status over time