Content deleted Content added
Added additional external references on SiLA |
Added information 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/
==Mission==
Line 10:
Industry provides commercial laboratory devices to perform increasingly sophisticated tasks. However, combining equipment from different providers to work in concert often proves impossible. Exporting captured data from proprietary software for further analysis can be frustrating or impossible.
This situation leads to a waste of resources: Available equipment needs to be replaced for compatibility reasons, software drivers have to be purchased or developed, and data conversion is time consuming.
Such technical obstacles
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.
==History==
Advancements seen on the home consumer electronics marked like [[USB]] or [[UPnP]] triggered the idea of applying a similar approach to the laboratory automation environment. Why was it possible to easily upload pictures from any digital camera on any computer but in the same time not even thinkable to replace a lab device (e.g.: a [[Shaker (laboratory)|Shaker]]) of one brand with a Shaker of a different brand? Analyzing the situation led to the conclusion that the incompatibility was a result of missing interface definitions. The idea of a standardized interface based on the Common Command Set (CCS) concept was born.
However, SiLA 1.x has some limitations: It is based on XML/Soap which is considered as outdated. Getting started is not an easy process. This lead to the proposition of a spin-off group of the SiLA consortium to develop a new standard: SiLA 2. Learning from SiLA 1.x and taking many concepts from it, SiLA 2 had the vision of being as accessible as possible. A major goal is to create a community working on the development of new Features.
{| class="wikitable"
|-
! width="130" | Date
! Event
|-
| 2018 || Release Candidate of SiLA 2.
|-
| 2017 || First successful Proof of Concepts (PoC) of SiLA 2.
|-
| 2016 || Official announcement of SiLA 2.
| 2008 || Foundation of SiLA Consortium as a not-for-profit membership organization to develop the SiLA Device Control and Data Interface Standard and Common Command Set.▼
|-
| 2014 || Partnership with the Analytical Information Markup Language (AnIML).
|-
| 2013 || Release of the Device Control & Data Interface Specification 1.3.
|-
| 2012 || Release of the Device Control & Data Interface Specification 1.2.
|-
| 2010 || Release of the Device Control & Data Interface Specification 1.1.
|-
| 2009 || Release of the Device Control & Data Interface Specification 1.0.
|-
▲| 2008 || Foundation of SiLA Consortium as a not-for-profit membership organization
|-
| 2007 || Successful Proof of Concept (PoC) of the Common Command Set concept by Hamilton and Novartis.
|}
Line 75 ⟶ 52:
==Scope of Standardization==
[[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 considers every entity in the modern laboratory as a service. Focusing on behaviour and service oriented design structures lead 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 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.
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==
|