Intuitive Software Enhancement via Visual Programming
Today’s rapidly changing research laboratories require agile and flexible tools to support the different workflows with a variety of different software components and equipment types. Understanding and mastering the different functionalities and capabilities of these software components and devices, takes a significant effort and extensive training by dedicated data scientists and software engineers.
This article is posted on our Science Snippets Blog.
The use of “visual programming” can change this paradigm by providing a tool for non programming experts, such as lab engineers and lab scientists to easily implement software solutions. Historically lab scientists would communicate their expectations from a custom software component to a software developer, taking significant weeks of work. True to the motto “A picture speaks a thousand words”, visual programming simplifies and democratizes programming tasks by providing graphical elements that correspond to small software code snippets. These graphical elements can be linked to each other in a drag and drop approach. Subsequently, they can be used to compile a customized software component with no or very limited coding experience. This is exemplarily shown in figure 1.
A data retrieval component is used to request data from a device (in this case: pH, Temperature and the current volume of vessel 1 in an Ambr 250 HT device). Subsequently, the implemented equipment interface component sends the requested data to a charting component. The resulting dashboard components can be freely arranged within a graphical user interface and enable global access of a bioprocess. Sartorius Corporate Research is creating and evaluating these visual programming concepts, especially for data processing and equipment\service integration tasks to provide intuitive software solutions. Contrary to the visual programming paradigm, the conventional programming approach requires the establishment of a software lifecycle for every newly developed software component. This procedure, as well as the development, test, and deployment of conventional software projects can easily exceed a software engineer to write more than thousands of lines if code – work that can be reduced by applying visual programming approaches with self-contained components. This frees our customers to focus on more complex research challenges and supports our mission of “Simplifying Progress”.
Figure 1: Visual Programming vs. Conventional Programming. A visual programming workflow depicting an equipment readout and visualization (right) and the code that is required to realize the same dashboards via conventional programming (left).