Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
296 changes: 296 additions & 0 deletions docs/assets/LARA_logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 30 additions & 18 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,42 @@
# Welcome to MkDocs
<figure markdown="span">
![LARA logo](assets/LARA_logo.svg)
</figure>

Things to explain:
# What is the LARAsuite?
The LARAsuite is a freely and openly available collection of applications, libraries, databases and tools to plan, manage,
create, monitor and evaluate (automated) processes in the laboratory. It has been developed by Mark Dörr and Stefan Maak
from the [LARA group](https://lara.uni-greifswald.de/team/) at the University of Greifswald.

- What is the LARA suite
- adaptation template
- what are processes
- what are workers
- Things to reuse, things to implement
The vision is to cover all steps of laboratory work in a uniform framework with standardized communication protocols and data formats (like SiLA2, AnIML).

## Pythonlab
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.
## The LARA workflow
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.

## The LARASuite architecture
The LARAsuite is modular and consists of different components that can be used independently or together to create a complete laboratory automation solution.

## Workers
Worker_adaptation also needs to be custom.
Worker calls steps through the wrappers, and returns the Observable object to orchestrator.
<figure markdown="span">
![LARASuite architecture](assets/architecture.png){ width="100%" }
<figcaption>Architecture of LARASuite</figcaption>
</figure>

The most important components are the following:

## Wrappers
Wrappers implement calls to actual sila servers. In worker the devices are still just conceptual.
### PythonLab
The PythonLab package is a framework to define laboratory processes in python syntax. It converts the process
definitions into workflow graphs that can be used by the orchestrator and scheduler.

## Sila servers
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
### Orchestrator
The orchestrator is the component that executes the workflow graphs created by PythonLab. It manages the execution of the processes,
allocates resources, and communicates with the devices through the wrappers.

## Config file
Describes the capacity of the devices in your lab. This information is read by both the orchestrator and scheduler.
### Scheduler
The scheduler is responsible for optimizing the execution of the workflows. It takes into account the availability of resources,
the dependencies between tasks, and the overall goals of the laboratory automation.

### Platform status database
The platform status database keeps track of the status of all devices, labware, and substances in the laboratory.
It provides real-time information to the orchestrator and scheduler. It also provides a UI to set the initial status of the lab.

## Disclaimer
This documentation has been written with the help of AI.
5 changes: 5 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,13 @@ markdown_extensions:
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format

- attr_list
- md_in_html
- pymdownx.blocks.caption

theme:
name: material
logo: assets/LARA_logo.svg
features:
- content.code.copy

Expand Down