Software Development

Solution Sources provides leading software applications for your requirements incorporating decades of experience, industry supplied best-practices, and certification standards. We are experts in a number of industry-standard programming languages including LabVIEW, LabWindows CVI, TestStand, .Net, Visual Basic, Python, and shell scripting.

We develop flexible and scalable applications that are easy to use, easy to maintain, and simple to modify the application as product designs evolve and system requirements expand.

Software Methodology Overview

When building a test system, software is responsible for system management, the overall application, and measurement/control services. The following defines the role of a test executive and how we interact with Code Modules and Instrument Drivers.

Five-Layer System Architecture Methodology (Click to enlarge)

Test Executive

We use test executives to run a series of tests (often referred to as code modules) in a quick and consistent manner. Common device operations – such as reporting and serial number entry – will be handled here. Device-under-test (DUT) specific operations will be handled in code modules. By allowing the test executive to support common operations, we can expedite our development time because we do not have to re-write code for multiple devices.

Code Modules

DUT specific tasks are written in Code Modules. Examples of DUT specific tasks include measurement I/O, high-speed looping, and analysis. We emphasize our development teams to use highly modular and reusable code modules in order to reduce the amount of NRE and help us to leverage strong code foundations. We recommend utilizing a form of software validation testing called “unit testing” as one of many ways to ensure code is built to specification.

Instrument Driver

We can control instruments by utilizing its Instrument Driver. Instrument Drivers simplify instrument control and reduce development time by eliminating the need to learn the program protocol for each instrument. Each routine corresponds to a programmatic operation such as configuring, reading from, writing to, and triggering the instrument.If your instrument does not have an already-made Instrument Driver, SSP can help create one.

Development Methodology

SSP engineering teams follow the Framework – Architect – Test application development roles. These help establish guidelines and responsibilities to anyone supporting an application and help create clear boundaries of responsibility.

Framework Developer

Defines and creates the software framework for all of our applications. The framework helps to define all common elements that every test application can leverage including: user management, serial number scanning, database integration, and reporting.

Test Station Architect

Utilizes the five-layer architecture and understanding of framework to define the test station for a product line including hardware elements, power distribution, racks, as well as the deployment/maintenance strategy for the test stations.

Test Developer

Test developers create sequences for individual DUTs and the corresponding code modules to test individual aspects or components of a device. They are experts in DUT specifications and write routines within the given framework.

Additional Architecture Info

Learn more about our software architecture approach here.

Learn More