Interview with Jay Jay Billings on the ICE project and the Neutron Reflectivity Simulator

Tue, 2015-08-18 04:39

Jay Jay Billings

Jay Jay Billings is a research scientist at the Oak Ridge National Laboratory and is the project lead for Eclipse ICE, the Eclipse Integrated Computational Environment Project. Jay’s talk, The brand new Neutron Reflectivity Simulator in Eclipse ICE and what it took to make it, was selected in the Early Bird round. We met with Jay to find out more about ICE and the presentation.

Tell us a little about ICE and the Reflectivity Simulator.

The Eclipse Integrated Computational Environment (ICE) is a flavor of Eclipse for modeling and simulation. The goal is to create a set of tools that can be used by the scientific and engineering community for scientific computing. ICE focuses on input generation, job launch, analysis, data management and development. The Neutron Reflectivity Simulator is a great example of the power of the platform and the RCP for scientific applications in general.

ICE Logo

A little while back I was asked to help with a port of a legacy Neutron Reflectivity Simulator from Excel and Visual Basic to Java and ICE. This is a tool used to study the structure of thin films irradiated by a high-flux neutron beam. Essentially neutrons are reflected off the films and the resulting scattering patterns are used to measure properties of the materials.

In your abstract you mentioned that the port involved creating Excel-like features in ICE. How did you make this happen?

There were several challenges involved in building the Eclipse port. The first was to try to replicate the required functionality in Eclipse that was originally written in Excel with a Visual basic backend. We needed to create a universally accessible materials database, built into the Eclipse platform, along with a stoichiometry calculator. We also needed to make sure it worked on Windows, Mac and Linux. Finally we wanted to embed plots in Eclipse forms, right next to the tables.

As it turned out we could adapt and reuse components from the ecosystem. The first was GlazedLists, a popular 3rd party Java Library, and the rest were specific tools from the Eclipse community. We’re pleased to say that we were able to leverage Nattable for Excel-like tables and to extend the ICE workbench to better support SWT XY Graph. We also found a great application for EASE, the scripting project, to provide support for programmatically editing table values.

How can our readers find out more about ICE and the Simulator?

We’d like to invite you to learn more about ICE both at EclipseCon and through our project pages. We’ll be posting presentation materials in advance, as well as creating a tutorial to help you get started developing on ICE. And, I invite you to visit my blog for more details on our progress!