Architecture of a lightweight, XML-based robot-LIMS interface
Dr. William Vannah
Abstract:
Lab robots are capable of generating an immense amount of data. These data are generally stored in a Laboratory Information Management System (LIMS). LIMSs vary widely, lab to lab, from Excel spreadsheets to large distributed systems. Therefore, a robots LIMS interface software should be as general-purpose as possible.
These factors suggest that the interface should:
1) communicate via XML, because XML is widely-understood;
2) and be capable of using a range of DB management systems, from lightweight, embedded software to robust commercial packages (Oracle, DB2);
The LIMS interface needs to respond rapidly to robot data requests, so it does not slow the automation. Finally, because the interface contains logic elements and a database, it is natural to build Internet access into it, thereby allowing web-based and wireless control and monitoring of the automation.
An example of such an interface is Protedynes LILY (LIMS Interface Layer).
LILY consists of an HTTP server (Apache/Tomcat), logic and presentation packages, and a relatational database. Communication with the database is standard ANSI SQL-99, and supported databases include Oracle 8.1, MySQL and HypersonicSQL. The Xerces XML parser/generator package is used, and the Xalan XSL processor. Tomcat, HypersonicSQL, Xerces and Xalan are all open-source. LILY is 100% Java, and exclusive of database has a memory footprint of about 1 megabyte. This architecture is lightweight, consists of all free open-source componentry, and runs on most common platforms including Linux, Solaris and Windows.
LILY encapsulates the robotics software, from the point of view of the LIMS, and ensures that the robot controller receives a rapid response (< 0.1 second) when it makes requests or posts reports. The database logs robot requests, responses, and data. Operators are able to retrieve information from the database, and enter system commands, by navigating GUIs. For instance, a user get a report on the history of the contents of a well or, from a remote location, view the progress of a re-arraying operation. The layout and data are presented in terms familiar to the life sciences user.
All communication with the robot uses XML. Networked applications (e.g., other automated equipment) can communicate with LILY via XML, or HTML and WML (cellphone) variants. These pages are generated from the underlying XML using XSL translation.