diff --git a/docs/assets/LARA_logo.svg b/docs/assets/LARA_logo.svg new file mode 100644 index 0000000..89acfad --- /dev/null +++ b/docs/assets/LARA_logo.svg @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/architecture.png b/docs/assets/architecture.png new file mode 100644 index 0000000..b1f5dad Binary files /dev/null and b/docs/assets/architecture.png differ diff --git a/docs/index.md b/docs/index.md index ec67dbe..da3b3c1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,30 +1,42 @@ -# Welcome to MkDocs +
+![LARA logo](assets/LARA_logo.svg) +
-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. +
+ ![LARASuite architecture](assets/architecture.png){ width="100%" } +
Architecture of LARASuite
+
+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. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 27e2e53..04dd230 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -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