A component approach to collaborative scientific software development: Tools and techniques utilized by the Quantum Chemistry Science Application Partnership

TitleA component approach to collaborative scientific software development: Tools and techniques utilized by the Quantum Chemistry Science Application Partnership
Publication TypeJournal Article
Year of Publication2008
AuthorsKenny JP, Janssen CL, Gordon MS, Sosonkina M, Windus TL
Journal TitleScientific Programming
Volume16
Pages287-296
ISBN Number1058-9244
Accession NumberISI:000272227300003
KeywordsCOMPONENT, electronic structure, integral, software development
Abstract

Cutting-edge scientific computing software is complex, increasingly involving the coupling of multiple packages to combine advanced algorithms or simulations at multiple physical scales. Component-based software engineering (CBSE) has been advanced as a technique for managing this complexity, and complex component applications have been created in the quantum chemistry domain, as well as several other simulation areas, using the component model advocated by the Common Component Architecture (CCA) Forum. While programming models do indeed enable sound software engineering practices, the selection of programming model is just one building block in a comprehensive approach to large-scale collaborative development which must also address interface and data standardization, and language and package interoperability. We provide an overview of the development approach utilized within the Quantum Chemistry Science Application Partnership, identifying design challenges, describing the techniques which we have adopted to address these challenges and highlighting the advantages which the CCA approach offers for collaborative development.

URL<Go to ISI>://000272227300003
DOI10.3233/Spr-2008-0264