.. Glaciation documentation master file, created by sphinx-quickstart on Wed Apr 12 14:03:23 2023. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. ************ Introduction ************ About Glaciation ================ This package is used to allow users to test and validate the correct operation of a control system, based on variables (hereinafter, system under test). The system under test that the user wants to validate can be made up of one or several components that in turn can be distributed among different devices. Usually, during the validation of the complete system, the user has to access to each and every one of the components of the system under test. The main interaction between this package and the system under test is based on the use and manipulation of variables. In other words, this package will only worry about manipulating (reading and writing) the necessary variables in the execution of the test, and it will disregard the mechanism used to have access to these variables in the system under test in real time. Therefore, it is necessary to use an additional connection mechanism that provides access to the variable-oriented system. This is achieved through specific Connectors for each Device (same way as his older brother Mamut does). These systems allow, among other things, to synchronize series of variables that the user uses between the PC and the system under test. This is done through an intermediate database called VarDB, where the variables are dumped before being synchronized with the remote device. .. image:: graphics/general_view.png :scale: 60 :align: center Figure 1: Global vision of the testing system: Glaciation package, Connectors and VarDB Figure 1 shows how the user makes use of the Python program to edit the test specification file and run those using the Glaciation library. Glaciation connects to the system under test through one or more connectors. A connector creates a VarDB in the PC's memory that keeps synchronized with the variables exposed by the target device. Glaciation is capable of reading and writing in that VarDB, which is the place where the data is exchanged between the connector and the Python script. Apart from that, Glaciation provides to the user general built-in functions and classes for testing purposes, like assertions, device specific functions, network protocol helpers... Structure ========= .. image:: graphics/glaciation.drawio.png :scale: 60 :align: center .. raw:: html

Figure 2: Structure of the Glaciation package: Glaciation modules and submodules.