Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Bocca: A Development Environment for HPC Components

Conference ·
OSTI ID:1043919
 [1];  [2];  [3];  [3]
  1. ORNL
  2. Argonne National Laboratory (ANL)
  3. Sandia National Laboratories (SNL)

In high-performance scientific software development, the emphasis is often on short time to first solution. Even when the development of new components mostly reuses existing components or libraries and only small amounts of new code must be created, dealing with the component glue code and software build processes to obtain complete applications is still tedious and error-prone. Component-based soft ware meant to reduce complexity at the application level increases complexity with the attendant glue code. To address these needs, we introduce Bocca, the first tool to enable application developers to perform rapid component prototyping while maintaining robust software-engineering practices suitable to HPC environments. Bocca provides project management and a comprehensive build environment for creating and managing applications composed of Common Component Architecture components. Of critical importance for HPC applications, Bocca is designed to operate in a language-agnostic way, simultaneously handling components written in any of the languages commonly used in scientific applications: C, C++, Fortran, Fortran77, Python, and Java. Bocca automates the tasks related to the component glue code, freeing the user to focus on the scientific aspects of the application. Bocca embraces the philosophy pioneered by Ruby Rails for web applications: Start with something that works and evolve it to the user's purpose.

Research Organization:
Oak Ridge National Laboratory (ORNL)
Sponsoring Organization:
SC USDOE - Office of Science (SC)
DOE Contract Number:
AC05-00OR22725
OSTI ID:
1043919
Country of Publication:
United States
Language:
English

Similar Records

Bocca : A development environment for HPC components.
Conference · Sun Dec 31 23:00:00 EST 2006 · OSTI ID:982623

Managing scientific software complexity with Bocca and CCA
Journal Article · Mon Dec 31 23:00:00 EST 2007 · Scientific Programming · OSTI ID:1004445

Managing Scientific Software Complexity with Bocca and CCA
Journal Article · Mon Dec 31 23:00:00 EST 2007 · Scientific Programming · OSTI ID:1197989