Rapid Integration of Scientific Software with Eclipse ICE


The Eclipse Integrated Computational Environment (ICE) is an IDE for scientists that lowers the barrier to entry for complex research codes by providing standardized methods of interaction. ICE's plugin-based architecture makes it straightforward to integrate new software packages, however, there is still a learning curve for new users who may be unfamiliar with Eclipse's plugin architecture or the finer points of Java.

In order to further reduce the barrier to entry for scientific computing we have developed plugins that allow a user to create simulation models, job launchers, and data visualizations with a minimal amount of knowledge of Eclipse, ICE, and Java. These plugins feature new wizards, code generation tools, and abstracts the need to manage plugin infrastructure. We have also eliminated most of the tedium associated with writing file parsers by providing a smart parser generator. By simply filling out a specialized form users can generate both reader and writer classes that are ready to be integrated into ICE's IO service. We are extending this form based parser generation tool to include machine learning algorithms that can be pointed to a set of training data and automatically extract file features and structures.

Prior to the development of these tools the integration of a new research code into ICE could take several weeks. With the new process this time has been cut down to an afternoon. In this talk we will provide an overview of the steps that are required to create a new plugin and load it into an installation of ICE.

This talk will focus on the technical details associated with automating development of Eclipse plugins. Attendees will learn how to build ICE items using the tools we have developed as well the tools required to automate the generation of custom Eclipse project types. Concepts concerning parser generation and document classification will also be discussed.

Session details
Speaker(s): Session Type: Experience level:
Schedule info
Session Time Slot(s):
Tuesday, March 8, 2016 - 14:15 to 14:50