Connectivity Driver Debugging via Virtual Instrument Trace Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing connectivity drivers for Laboratory Information Management Systems (LIMS) is laborious and time-consuming, often requiring expensive laboratory instruments to be taken offline for extended periods, limiting debugging time and potentially leaving behind undetected errors.

Innovation Solution

A software solution that records and reproduces communication traces between LIMS and instruments, allowing for debugging and testing without the physical instrument, by capturing and modifying transmission data to simulate communications, including timing and driver states, enabling thorough debugging and performance testing without the need for the instrument to be online.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If connectivity drivers are developed and tested using physical instruments, then debugging can be performed with real communication scenarios, but instruments must be taken offline for extended periods causing loss of productivity

Engineering Contradiction:
Improvedebugging completenessVSAvoidinstrument availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates virtual copies of instrument communication traces by recording actual communication data between instruments and LIMS systems. These recorded traces are stored in a database and can be replayed multiple times for debugging purposes. This allows developers to test connectivity drivers against realistic communication scenarios without requiring physical instrument availability, thus resolving the contradiction between debugging completeness and instrument availability.

Inventive Principle:
Principle #26Copying

2Reliability

If extensive debugging is performed on connectivity drivers, then software reliability improves, but the time required for driver development increases significantly

Engineering Contradiction:
Improvesoftware qualityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by recording communication traces during the instrument operation phase before debugging begins. These traces capture real communication scenarios, timing information, and state changes in advance. During the debugging phase, developers can replay these pre-recorded traces multiple times without requiring additional instrument time, thus enabling extensive software quality verification without proportionally increasing development time.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If connectivity drivers are developed without virtual trace replay capability, then the development process is simpler, but debugging cannot be performed without physical instrument access

Engineering Contradiction:
Improvedebugging accessibilityVSAvoidtesting system complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component - the virtual trace replay system - that mediates between the connectivity driver under test and the original physical instruments. This intermediary captures, stores, and replays communication traces, allowing debugging to occur independently of physical instrument availability. While this adds system complexity, it dramatically improves debugging accessibility by enabling testing in environments where instruments are unavailable, occupied, or difficult to access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9183117B2Method for developing and testing a connectivity driver for an instrument
Publication Date: 2015.11.10 STARLIMS
  • US9183117B2 patent drawing
  • US9183117B2 patent drawing
  • US9183117B2 patent drawing

AI summary

A computer readable memory medium comprising program instructions for developing and testing a connectivity driver for an instrument is provided. The program instructions are executable by a processor to record transmissions to or from the instrument, place raw data from each recorded transmission into a primary field, and generate a secondary field associated with the primary field. The secondary field includes at least one of: a time that the transmission was transmitted at, a direction the transmission was transmitted in, a content of the transmission, and a state of the connectivity driver during the transmission. The program instructions are also executable by a processor to modify the content of the first or secondary fields, and play the modified transmission from computer readable memory medium in order to debug the communications software.