Increasing test flexibility – the scalable software solution

02 August 2011

In this four-part series, National Instruments details key technologies and methodologies impacting the test and measurement industry in 2011. This final instalment discusses the benefits of utilising modular software architectures.

Software in test systems has never been more important than it is today, when software development costs often exceed overall capital costs two to tenfold

Software in test systems has never been more important than it is today, when software development costs often exceed overall capital costs two to tenfold. The emphasis on a robust modular software stack, ensuring maximum longevity and software reuse, has never been greater.

Companies are moving away from monolithic software stacks that contain direct driver access calls to the instruments. Instead, they are opting for modular software stacks that incorporate separate, yet tightly integrated, software elements for test management, application development and drivers. This allows engineers the flexibility to select the optimal tools for each area. A key trend is to extend modularity into each level, including increasing the use of process models, code module libraries and hardware abstraction layers (HALs), each of which are discussed below.

Test management software defines the automation and sequencing flow of a test system. The process model is critical within the test management software layer, since it separates the test tasks from non-test tasks, allowing engineers to easily standardise and manage non-test tasks across different test sequences and stations. Non-test tasks can include logging data to databases, communicating with the shop floor and generating actionable test reports.

Within this modular framework, organisations can maintain a few process models that they can apply across many different product lines and hundreds of deployed test stations. The process model also simplifies changes to non-test functions in a test station without impacting test tasks, reducing the time needed to update deployed test stations.

The application development layer is equally important because it directly impacts the test-related tasks of a test system. Many organisations have moved to developing modular test code, known as code modules. These modules are called by the test management software and handle the actual measurements and analysis used to determine the pass/fail status of a test step. Code modules perform similar I/O functions across different types of device under test, which is key to allowing re-use. An additional benefit of creating modular code libraries is that it provides the capability to distribute development across a team and track revisions with source code control (SCC) tools.

A final component of the system software stack that is growing in need and usage is the hardware abstraction layer. The HAL resides with the driver software layer and separates the application software from the instrument hardware, which minimises the time and cost involved in migrating or upgrading test systems. There are two approaches to HAL design; instrument-centric or application-specific.

For an instrument-centric API, it helps to define a common instrument-centric API ‘standard’ that can be used across multiple types of DUTs. Interchangeable Virtual Instruments (IVI), an industry-standard HAL, takes an instrument-centric view of abstraction; that is, having top-level test applications call an instrument-centric API that makes all instruments look similar.

In an application-specific approach, the test applications call an application-specific API that is aligned with the type of tests it needs to perform (such as LED test). A HAL is a proven method for developing and maintaining a flexible test system, since it avoids tightly coupled test code with test instrumentation, better addressing mismatches in product and instrumentation life cycles. The final result is a test system that will be more maintainable and extensible over its lifetime.

Implementing a modular structure at every layer of the system stack delivers increased flexibility and provides a framework for developing sophisticated life-cycle management strategies. This reduces software development time and mitigates obsolescence issues by addressing subjects such as feature road mapping, system upgrades and instrumentation and technology insertion planning.

To learn more about using a modular system software stack and other key trends in test for 2011, please visit: ni.com/ato.

Jeremy Twaits is Technical Marketing Engineer, National Instruments UK & Ireland


Contact Details and Archive...

Related Articles...

Most Viewed Articles...

Print this page | E-mail this page