skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Bocca : A development environment for HPC components.

Abstract

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 component glue code to obtain complete applications is still tedious and error prone. Component-based software 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 common HPC workstation languages: 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.

Authors:
; ; ; ; ; ;
Publication Date:
Research Org.:
Argonne National Lab. (ANL), Argonne, IL (United States)
Sponsoring Org.:
USDOE Office of Science (SC)
OSTI Identifier:
982623
Report Number(s):
ANL/MCS/CP-59755
TRN: US201015%%1233
DOE Contract Number:
DE-AC02-06CH11357
Resource Type:
Conference
Resource Relation:
Conference: Joint HPC-GECO/CompFrame'07 Workshop; Oct. 21, 2007 - Oct. 22, 2007; Montreal, Canada
Country of Publication:
United States
Language:
ENGLISH
Subject:
99 GENERAL AND MISCELLANEOUS//MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE; DEVELOPERS; ENGINEERING; COMPUTER CODES; ERRORS; FORTRAN; JAVA; LIBRARIES; PROGRAM MANAGEMENT

Citation Formats

Elwasif, W., Norris, B., Allan, B., Armstrong, R., Mathematics and Computer Science, ORNL, and SNL. Bocca : A development environment for HPC components.. United States: N. p., 2007. Web.
Elwasif, W., Norris, B., Allan, B., Armstrong, R., Mathematics and Computer Science, ORNL, & SNL. Bocca : A development environment for HPC components.. United States.
Elwasif, W., Norris, B., Allan, B., Armstrong, R., Mathematics and Computer Science, ORNL, and SNL. Mon . "Bocca : A development environment for HPC components.". United States. doi:.
@article{osti_982623,
title = {Bocca : A development environment for HPC components.},
author = {Elwasif, W. and Norris, B. and Allan, B. and Armstrong, R. and Mathematics and Computer Science and ORNL and SNL},
abstractNote = {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 component glue code to obtain complete applications is still tedious and error prone. Component-based software 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 common HPC workstation languages: 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.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Mon Jan 01 00:00:00 EST 2007},
month = {Mon Jan 01 00:00:00 EST 2007}
}

Conference:
Other availability
Please see Document Availability for additional information on obtaining the full-text document. Library patrons may search WorldCat to identify libraries that hold this conference proceeding.

Save / Share: