Lessons learned from integrating scientific libraries within a plugin-based architecture

Abstract

Designing interoperable software is critical to boosting scientific productivity in many research applications, especially when exposed through flexible interfaces such as a plugin or component-based framework. Such scalable applications with complex dependency chains, often require rigorous source configuration, continuous testing, and flexible deployment processes that cover a wide range of platforms (Linux/OSX/Windows) and environment variations. We will discuss hurdles in achieving interoperability using lessons learned from developing a serial/parallel MOAB database plugin for VisIt. The development of this plugin has led us to question some library design choices, and emphasized the need for creating better processes (versioning and build configuration) that are resilient to software interface and lifecycle changes. Taking the lessons learned from this new VisIt plugin, we present best practices and guidelines that are more broadly applicable to scientific software development in CSE applications.

Date
Mar 1, 2017 5:00 PM
Location
SIAM 2017 Conference on Computational Science and Engineering
Atlanta, GA
SIAM CSE 2017
SIAM CSE 2017
Click on the Poster above to view a magnified version.