|
1 | | -# Welcome to MkDocs |
| 1 | +<figure markdown="span"> |
| 2 | + |
| 3 | +</figure> |
2 | 4 |
|
3 | | -Things to explain: |
| 5 | +# What is the LARAsuite? |
| 6 | +The LARAsuite is a freely and openly available collection of applications, libraries, databases and tools to plan, manage, |
| 7 | +create, monitor and evaluate (automated) processes in the laboratory. It has been developed by Mark Dörr and Stefan Maak |
| 8 | +from the [LARA group](https://lara.uni-greifswald.de/team/) at the University of Greifswald. |
4 | 9 |
|
5 | | -- What is the LARA suite |
6 | | -- adaptation template |
7 | | -- what are processes |
8 | | -- what are workers |
9 | | -- Things to reuse, things to implement |
| 10 | +The vision is to cover all steps of laboratory work in a uniform framework with standardized communication protocols and data formats (like SiLA2, AnIML). |
10 | 11 |
|
11 | | -## Pythonlab |
12 | | -PythonLab is a Python framework for defining, parsing, and managing laboratory automation workflows. It allows you to write laboratory processes in Python syntax and converts them into executable workflow graphs. |
| 12 | +## The LARA workflow |
| 13 | +LARA tries to cover all aspects of a common laboratory workflow, starting from the planning of the experiments until the final presentation of the results. |
13 | 14 |
|
| 15 | +## The LARASuite architecture |
| 16 | +The LARAsuite is modular and consists of different components that can be used independently or together to create a complete laboratory automation solution. |
14 | 17 |
|
15 | | -## Workers |
16 | | -Worker_adaptation also needs to be custom. |
17 | | -Worker calls steps through the wrappers, and returns the Observable object to orchestrator. |
| 18 | +<figure markdown="span"> |
| 19 | + { width="100%" } |
| 20 | + <figcaption>Architecture of LARASuite</figcaption> |
| 21 | +</figure> |
18 | 22 |
|
| 23 | +The most important components are the following: |
19 | 24 |
|
20 | | -## Wrappers |
21 | | -Wrappers implement calls to actual sila servers. In worker the devices are still just conceptual. |
| 25 | +### PythonLab |
| 26 | +The PythonLab package is a framework to define laboratory processes in python syntax. It converts the process |
| 27 | +definitions into workflow graphs that can be used by the orchestrator and scheduler. |
22 | 28 |
|
23 | | -## Sila servers |
24 | | -Sila servers have 2 types of commands, one type is observable, other isn’t. If sila command isn’t observable, you have to fake the observable in the wrapper |
| 29 | +### Orchestrator |
| 30 | +The orchestrator is the component that executes the workflow graphs created by PythonLab. It manages the execution of the processes, |
| 31 | +allocates resources, and communicates with the devices through the wrappers. |
25 | 32 |
|
26 | | -## Config file |
27 | | -Describes the capacity of the devices in your lab. This information is read by both the orchestrator and scheduler. |
| 33 | +### Scheduler |
| 34 | +The scheduler is responsible for optimizing the execution of the workflows. It takes into account the availability of resources, |
| 35 | +the dependencies between tasks, and the overall goals of the laboratory automation. |
| 36 | + |
| 37 | +### Platform status database |
| 38 | +The platform status database keeps track of the status of all devices, labware, and substances in the laboratory. |
| 39 | +It provides real-time information to the orchestrator and scheduler. It also provides a UI to set the initial status of the lab. |
28 | 40 |
|
29 | 41 | ## Disclaimer |
30 | 42 | This documentation has been written with the help of AI. |
0 commit comments