Standardization in Lab Automation: Difference between revisions

Content deleted Content added
Added additional external sources
Waltench (talk | contribs)
changed Structure, removed {primarySources} as there are plenty of different sources by now, added Details about SiLA 2.
Line 1:
{{Primary sources|date=December 2011}}
 
The '''SiLA consortium''' is a [[Non-profit organization|not-for-profit]] membership organization formed by software suppliers, system integrators and pharma/biotech companies. This consortium for '''Standardization in Lab Automation''' (SiLA), develops and introduces new device and data interface standards allowing rapid integration of lab [[Automation]] hardware and data management systems. Highly skilled experts of member companies contribute in SiLA's technical work groups. Membership is open for institutions, corporations and individuals active in the life science lab automation industry. The SiLA consortium provides professional training, support and certification services to suppliers and system integrators implementing SiLA compliant interfaces.
 
Line 12 ⟶ 10:
Such technical obstacles impede the development of higher level autonomous experimentation systems.
SiLA enables researchers to focus on their scientific questions by reducing equipment connectivity effort to a minimum. This is achieved by using proven, tested and maintained documentation and code.
There are 2 SiLA Versions: SiLA 2 and SiLA 1.x.
 
===SiLA 2===
SiLA 2 considers every entity in the modern laboratory as a service. Focus on behaviour and service oriented design structures leads to the Feature Definition Language (FDL). The concept of a Feature (service that the SiLA Server offers) serves as a common communication base for subject matter experts (SME), IT experts and end users. SiLA is built to connect systems in a laboratory, such as [[Laboratory information management system]]s, [[electronic lab notebook]]s, [[chromatography software]] and laboratory devices such as balances, pipettors and various other analytical instruments.
SiLA's basic structure consists of a client – server communication model. The SiLA Server (≙[[web server]]) exposes all it's capabilities to the SiLA Client (≙[[web client]]). Capabilities of the SiLA Server are grouped together as SiLA Features. The concept of Features serves as a common communication base for subject matter experts (SME), IT experts and end users. Each Feature is descibed by its Feature Definition, an [[XML]]-file containing information about parameters, interactions, data types, return values, etc. SiLA 2 is based on a microservice architecture. Relying on [[HTTP/2]], SiLA uses [[Protocol Buffers]] to serialize payload data. Furthermore, SiLA 2 uses the wire format provided by [[gRPC]].
 
===SiLA 1.x - Device Interface Standard===
[[File:SiLA.Integration level.full.png|thumb|SiLA 1.x - Three supported integration levels]]
The SiLA device interface standard covers all ISO/OSI levels of the device control interface from physical to application layer.
The interface standard is based on web service/[[SOAP]] communication with the devices. Commands are generally executed in asynchronous manner with an immediate response and a delayed event after completion of the command processing or after an error. Error recovery procedures are also supported and the general behavior of the devices is managed by a state machine. The state machine enables also complex behaviors like parallel processing of commands and command queuing.
By supporting three different integration levels, SiLA provides a unique, standardized interface between lab automation devices and process management systems so that also legacy devices can be integrated in SiLA compliant systems. SiLA compliance can be achieved by providing native, directly embedded SiLA device interfaces or by software only SiLA drivers and/or interface converters. The SiLA Device Control and Data Interface Standard eases and accelerates the integration and adaptation of systems through generic Device Class Interfaces providing Common Command Sets.
 
===SiLA 1.x - Common Command Dictionary===
By grouping devices of the same functionality device classes can be created. SiLA Common Command Sets define commands for these device classes. SiLA defines the command names, the number of parameters and their names as well as the return data. Since commands and parameters are described in the WSDL documentation tag of the commands web service, a process management software (PMS) can automatically generate a list available commands for each device.
SiLA has defined about 30 device classes and a command library with about 100 commands. Commands range from mandatory commands that are needed to make transitions in the state machine, over required commands for the specific device class, to optional commands for which not every device in the device class might provide the functionality. In addition guidelines for the implementation of supplier-specific device commands and parameters are provided.
Some commands are applicable for almost every device class. For example, the commands SetParameter, GetParameter, ExecuteMethod are widely used. Also PrepareForOutput and PrepareForInput are common because they enable the transport mechanisms to transfer labware items from device to device. The mandatory commands include operations like Reset, Initialize, Abort and Pause. In addition also locking a device for exclusive use is provided.
 
==History==
Line 74 ⟶ 88:
[[File:SiLA.Scope of Standardization.full.png|thumb|SiLA 1.x - Main scope]]
The SiLA foundation of standards addresses control and data interfaces between devices and process management, LIMS and Enterprise Systems.
 
==SiLA Standards==
SiLA has developed and released several standards.
 
===SiLA 2===
SiLA 2 considers every entity in the modern laboratory as a service. Focus on behaviour and service oriented design structures leads to the Feature Definition Language (FDL). The concept of a Feature (service that the SiLA Server offers) serves as a common communication base for subject matter experts (SME), IT experts and end users. SiLA is built to connect systems in a laboratory, such as [[Laboratory information management system]]s, [[electronic lab notebook]]s, [[chromatography software]] and laboratory devices such as balances, pipettors and various other analytical instruments.
Based on [[HTTP/2]], SiLA uses [[Protocol Buffers]] to serialize payload data. Furthermore, SiLA 2 uses the wire format provided by [[gRPC]].
SiLA 2 is based on a microservice architecture. Its basic structure is highly comparable to that of a [[web server]] (≙SiLA Server) and [[Web browser|web client]] (≙SiLA Client).
 
===SiLA 1.x - Device Interface Standard===
[[File:SiLA.Integration level.full.png|thumb|SiLA 1.x - Three supported integration levels]]
The SiLA device interface standard covers all ISO/OSI levels of the device control interface from physical to application layer.
The interface standard is based on web service/[[SOAP]] communication with the devices. Commands are generally executed in asynchronous manner with an immediate response and a delayed event after completion of the command processing or after an error. Error recovery procedures are also supported and the general behavior of the devices is managed by a state machine. The state machine enables also complex behaviors like parallel processing of commands and command queuing.
By supporting three different integration levels, SiLA provides a unique, standardized interface between lab automation devices and process management systems so that also legacy devices can be integrated in SiLA compliant systems. SiLA compliance can be achieved by providing native, directly embedded SiLA device interfaces or by software only SiLA drivers and/or interface converters. The SiLA Device Control and Data Interface Standard eases and accelerates the integration and adaptation of systems through generic Device Class Interfaces providing Common Command Sets.
 
===SiLA 1.x - Common Command Dictionary===
By grouping devices of the same functionality device classes can be created. SiLA Common Command Sets define commands for these device classes. SiLA defines the command names, the number of parameters and their names as well as the return data. Since commands and parameters are described in the WSDL documentation tag of the commands web service, a process management software (PMS) can automatically generate a list available commands for each device.
SiLA has defined about 30 device classes and a command library with about 100 commands. Commands range from mandatory commands that are needed to make transitions in the state machine, over required commands for the specific device class, to optional commands for which not every device in the device class might provide the functionality. In addition guidelines for the implementation of supplier-specific device commands and parameters are provided.
Some commands are applicable for almost every device class. For example, the commands SetParameter, GetParameter, ExecuteMethod are widely used. Also PrepareForOutput and PrepareForInput are common because they enable the transport mechanisms to transfer labware items from device to device. The mandatory commands include operations like Reset, Initialize, Abort and Pause. In addition also locking a device for exclusive use is provided.
 
==External links==