Data Developers Take Pair Programming for a Spin with Data Integrator Framework

Published: 17 April 2014
ARM data developers from PNNL and BNL took a break from programming and came outside for a group photo during a sunny spring day on the PNNL campus.

In early April, ARM data developers at Pacific Northwest National Laboratory (PNNL) hosted their counterparts from Brookhaven National Laboratory (BNL) for three days of hands on learning and discussions about strategies for analyzing and sharing data using the ARM Data Integrator (ADI). Developed by the ARM infrastructure team, this framework:

  • automates the process of retrieving and preparing ARM data for analysis,
  • simplifies the design and creation of output data products produced by the analysis, and
  • provides a modular, flexible software development architecture for implementing algorithms.

These capabilities are supported by a workflow for data integration, a source code generator that produces commonly used programming languages (e.g., C, IDL and Python), and a graphical interface through which users can efficiently define their data input, preprocessing, and output characteristics.

The three day visit featured an ADI tutorial led by Krista Gaustad, a software engineer at PNNL, for attendees to develop expertise with the ADI libraries and practice programming techniques. Following the tutorial, the group broke into small teams and applied their new skills to ongoing development of ARM value-added products (VAPs) using a “pair programming” technique.

The bi-coastal data developer team listens attentively as Krista Gaustad leads a tutorial on the ADI framework.

Pair programming is an agile software development technique in which two programmers work together at one workstation. One—the driver—writes code while the other—the observer, pointer, or navigator—reviews each line of code as it is typed in. This environment creates instant feedback for developers on their methods of code integration, as well as teaches developers how to effectively use ADI. With the ARM developer team together in one room, solutions to code bugs and implementation were quickly discussed and put into action.

The group also moved existing VAP code from Oracle® Solaris to Red Hat® Linux, the ARM Data Management Facility’s current operating system. They again utilized the pair programming concept to efficiently update all the processing routines over to the baseline system for these last legacy VAPs.

Based on the success of the meeting, the group plans to hold the meeting biannually.