Plug and Play für die Laborbank

SiLA 2 - der kommende Standard für Laborgeräteautomation

  • Abb. 1: SiLA Integration. SiLA soll alle Hard- und Software Komponenten eines Labors verbinden. Labor-Informations- und Management-System (LIMS), Process Management System (PMS), Datenbanken (DB).
  • Abb. 2: SiLA Server/Client. Ein SiLA Server hat mehrere SiLA Features, die wiederum aus SiLA Commands und Properties bestehen. Die SiLA Clients kommunizieren über das gRPC Protokoll mit dem SiLA Server. Labor-Informations- und Management-System (LIMS), Process Management System (PMS).

Silana S. betritt ihr Labor, sieht aufdas Display ihres Smartphones, findet dort alle verfügbaren Geräte aufgelistet, wählt die Waage aus, tariert, wiegt ab; Tara und Einwaage werden automatisch in ihr elektronisches Laborjournal eingetragen (mit weiteren Informationen, wie Zeit, Datum, Ort, Raumtemperatur, Luftdruck).

Silvio K. will ein Zellwachstumsexperiment durchführen, kombiniert dazu einen Pipettierroboter, einen Inkubator und einen Mikrotiterplattenreader. Er verbindet die Geräte mit einem Steuerrechner. Das auf dem Rechner laufende Prozessmanagementsystem erkennt die drei Komponenten via eines plug-n-play Mechanismuses und er kann die Geräte herstellerunabhängig über die von ihnen angezeigten Eigenschaften ansprechen und den Prozess mit der Steuersoftware seiner Wahl sofort formulieren. Silvana L. betreibt eine roboterunterstützte Screeningplattform mit drei Roboterarmen, zahlreichen Liquid-Handler Workstations, Inkubatoren und Analysegeräten (vergl. [1]). Sie hat die Anlage nach den Screeninganforderungen gekauft und alle Komponenten zusammengesteckt. Diese werden ebenfalls auf Anhieb durch den zentralen Steuerrechner erkannt und eingebunden und sie kann nach der Installation des Systems sofort mit den Screeningaufgaben beginnen. Alle gemessenen Daten werden hierbei automatisch gesammelt, den Experimenten zugeordnet, dokumentiert und visualisiert. So können sich die Forscherenden auf die Auswertung der Daten konzentrieren. Diese Daten werden in einem herstellerunabhängigen und leicht zugänglichen Langzeitdatenformat abgelegt, so dass die WissenschaftlerInnen und ihre KollegInnen in anderen Labors auch nach Jahren die Messungen und Experimente nachvollziehen können (vergl. auch [2]). Solche und ähnliche Szenarien, von der ganz einfachen Laborgerätebedienung bis zur Steuerung hochkomplexer Anlagen, sollen in Zukunft mit dem neuen SiLA 2 Standard (sila-standard.org), in Verbindung mit dem bewährten AnIML-Datenformat (animl.org) ganz leicht realisierbar sein. Er zielt darauf ab, dass alle Laborgeräte vom einfachen Thermometer, einer Waage, etc. bis hin zu komplexen Geräten wie Pipettierrobotern, HPLCs oder GC-Massenspektrometern eine einheitliche Kommunikationsschnittstelle erhalten sollen, die die Steuerung und den Datenaustausch einfach, schnell, flexibel und zukunftssicher gewährleisten soll (Abb.

1).  Darüber hinaus soll sich der neue SiLA Standard nicht auf physische Geräte / Hardware (d.h. das klassische Gerätetreiber / Anwendungs-Paar) beschränken, sondern auch zwischen verschiedenen Softwaresystemen wie z.B. Chromatographie-Software und LIM-System vermitteln, weshalb eine generische Server-Client Architektur gewählt wurde.

Der Standard ist so aufgebaut, dass sehr leicht eine Trennung zwischen dem Naturwissenschaftler (SME - subject matter expert) und dem Implementierer bzw. Programmierer vorgenommen werden kann. Als Brücke zwischen den beiden Welten dient eine formalisierte Beschreibungssprache, die SiLA Feature Definition Language, welche die Server & Geräteeigenschaften als SiLA Features in klarer Weise definiert. Eine Besonderheit der SiLA Features ist, dass diese sowohl von Naturwissenschaftlern als auch IT Experten, sowohl von Menschen als auch von Maschinen gelesen werden kann. Die Feature Definition Language bildet also die Brücke zwischen den Welten und bietet eine leichtgewichtige funktionale Spezifikation der Schnittstelle.  Jeder kann seine eigenen Features kreieren. Features können aber auch standardisiert werden, um den Interoperabilität zu verbessern.
 
Struktur und Aufbau
Die modulare Struktur von SiLA 2 wird erreicht, in dem schon vor der Entwicklung eines SiLA Server-Client Paares die unterschiedlichen Aufgaben und Eigenschaften des SiLA Servers in übersichtliche Abschnitte zerlegt werden. Diese Servereigenschaften können dann als SiLA Features beschrieben werden. Eine ganze Reihe solcher SiLA Features, wie z.B. Geräteinitialisierung, Pause, Simulation, etc. sind schon als “SiLA Features” in dem öffentlichen SiLA Software-Repository (gitlab.com/SiLA2) vorhanden und können direkt verwendet werden. Innerhalb der SiLA Features können Kommandos (SiLA Commands), die auf dem Server ausgeführt werden, und Eigenschaften (SiLA Properties) des Servers festgelegt werden. Die so gewählte Menge an SiLA Commands und SiLA Properties definieren das SiLA Feature (Abb. 2). Ist die Designphase beendet, kann das Design direkt in Software Implementierungen übersetzt werden. Hierzu können Codegeneratoren, die für Python und Java bereits zur Verfügung stehen, verwendet werden.
 
Technischer Hintergrund
Die SiLA Server/Client Architektur nutzt das Kommunikations- und Datenformat des  verbreiteten gRPC-Mechanismus (gRPC Remote Procedure Call, https://grpc.io/) mit dem darunterliegenden HTTP/2 Protokoll und Protocol Buffers (eine Art binären JSON). So kann SiLA auf eine große Entwicklergemeinde zurückgreifen. Es stehen weiterhin zahlreiche Implementierungen zur Verfügung.
gRPC hat einen geringen Overhead, bietet verschlüsselte Kommunikation und Bibliotheken für die meisten gängigen Programmiersprachen (Python, C++, C#, Java, Go, Ruby), die einen leichten Einstieg bieten. Zum Datenaustausch zwischen Server und Client wurden in SiLA Datentypen definiert, die dem gängigen Sprachgebrauch von Naturwissenschaftlern entsprechen, und es wurde eine Übersetzung in die gängigen Datentypen aus Programmiersprachen (wie Strings, Integer, Float,...) definiert. Für zusammengesetzte Datentypen (z.B.. Listen, Strukturen), AnIML-Daten und große Binärdaten stehen auch als Typen bzw. Protokolle zur Verfügung. Beim Design von SiLA wurde viel Wert auf Typsicherheit gelegt.
Zur Erkennung von Laborgeräten und anderen Diensten im Netzwerk wird das verbreitete Zeroconfig/Bonjour Protokoll verwendet. Dieses ermöglicht das Auffinden und Ansprechen von Netzwerkdiensten. Dies ermöglicht die Nutzung der Dienste ohne jede manuelle Konfiguration.
 
Wie sieht der Standard aus?
Eine weitere Besonderheit des neuen Standards ist die Möglichkeit des SiLA 2 Servers, seine Features jedem SiLA Client vorzustellen, so dass ein SiLA Client die Funktionalität eines Servers nicht a priori kennen muss. Er kann die Funktionalität dynamisch zur Laufzeit ermitteln und ansprechen.  Dies reduziert die Integrationskosten drastisch.
Der offene und lizenzfreie SiLA Standard ist so konzipiert, dass er sich auf eine minimale Definition der Kommunikation und des Datentransfers beschränkt und durch seinen modularen Aufbau, seine Unabhängigkeit von einer bestimmten Framework-Implementierung oder Programmiersprache und seine Erweiterbarkeit zukunftssicher bleibt.
Für einen schnellen Einstieg stehen für drei verbreitete Programmiersprachen (Python, C# und Java) open-source Repositories (gitlab.com/SiLA2) mit Beispielen, Bibliotheken und Tools zur Verfügung, die als Ausgangspunkt für eigene Entwicklungen genutzt werden können. Durch seine generische Entwicklung soll der neue SiLA Standard in Zukunft noch viel mehr können und nicht auf die Kommunikation von Laborgeräten beschränkt bleiben. So steht z.B. auch die Entwicklung einer universellen Beschreibungssprache für Experimente auf der Roadmap.
Für die Übertragung von analytischen Daten setzt SiLA auf das AnIML-Format (www.animl.org, ASTM subcommittee E13.15.) [3]. AnIML ermöglicht eine vollständige Dokumentation von Laborabläufen. Durch Abbildung der Methode, Infrastruktur, Ergebnissen und Audit Trails stellt eine Nachvollziehbarkeit aller Operationen dar. Dies fördert die Datenintegrität. Durch das Zusammenspiel von SiLA und AnIML können bidirektionale dateilose Schnittstellen zwischen Laborgeräten und LIMS/ELN etabliert werden. Durch eine offene Datenhaltung in XML eignet sich AnIML hervorragend zur Langzeitarchivierung und zum Datenaustausch.
Hersteller schon vorhandener Geräte können z. B. mit Hilfe von Softwareadaptern, Microcontrollern, oder auch Einplatinencomputern wie dem Raspberry PI (https://www.raspberrypi.org/) an die moderne SiLA 2 Infrastruktur angepasst und dort rasch integriert werden. Durch den SiLA Standard werden Geräte einer breiten, freien und engagierten Entwicklergemeinde zugänglich, welche die Gerätehersteller somit von den kostenintensiven proprietären Eigenentwicklungen entbinden kann. Gerätehersteller und Softwarefirmen können sich dann auf ihre beste Expertise konzentrieren. Das schafft neue Synergien und mehr Kundenzufriedenheit.
Dieser Artikel weckt jetzt hoffentlich das Interesse der Anwender und Hersteller von Laborgeräten, so dass nach dem offiziellen SiLA 2 Release im 2. Quartal 2019 sehr viele Implementierungen folgen werden. SiLA 2 kann aber auch jetzt schon frei benutzt werden. Alle Details sind frei im Internet zugänglich. Ein Hauptziel von SiLA ist es, die Automation von Laborgeräten so einfach und intuitiv zu machen wie das Anschließen eines USB-Gerätes an einen Rechner und eine direkte, sorgenfreie Verwendung der Komponenten zu ermöglichen. Weiterhin soll die Reproduzierbarkeit wissenschaftlicher Experimente deutlich verbessert werden.
Die Referenz-Implementierungen und Tools zu SiLA 2 werden von einem Team freiwilliger Soft- und Hardware-Entwickler, Wissenschaftler und Biotechnologie-/Pharma-/Laborautomations-Firmen unter Schirmherrschaft der SiLA Non-profit-Organisation (sila-standard.org) entwickelt.
Der Autor dankt Daniel Juchli (SiLA CTO und Head of Lab & Research IT,  Wega Informatik AG) und Stefan Koch (Mitglied des SiLA 2 Core-Development Team, EQUIcon Software GmbH Jena), Maximilian Schulz (UniteLabs Mitglied des SiLA 2 Core Development Teams) und Burkhard Schäfer (BSSN Software GmbH, Mitglied des SiLA Board of Directors und Mitglied der ASTM AnIML Task Group) für die wertvollen Hinweise und Kommentare.

 

Autor:
Mark Dörr

 

Kontakt   
Mark Dörr
Universität Greifswald
Greifswald, Deutschland
mark.doerr@uni-greifswald.de

 

Weitere Beiträge zum Thema!

Kontaktieren

Universität Greifswald


Jetzt registrieren!

Die neusten Informationen direkt per Newsletter.

To prevent automated spam submissions leave this field empty.