Premium
Managing application complexity in the SAMRAI object‐oriented framework
Author(s) -
Hornung Richard D.,
Kohn Scott R.
Publication year - 2002
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.652
Subject(s) - computer science , extensibility , flexibility (engineering) , software engineering , variety (cybernetics) , usable , object oriented programming , software , object oriented design , software design pattern , architecture , code (set theory) , programming language , world wide web , artificial intelligence , set (abstract data type) , art , statistics , mathematics , visual arts
A major challenge facing software libraries for scientific computing is the ability to provide adequate flexibility to meet sophisticated, diverse, and evolving application requirements. Object‐oriented design techniques are valuable tools for capturing characteristics of complex applications in a software architecture. In this paper, we describe certain prominent object‐oriented features of the SAMRAI software library that have proven to be useful in application development. SAMRAI is used in a variety of applications and has demonstrated a substantial amount of code and design re‐use in those applications. This flexibility and extensibility is illustrated with three different application codes. We emphasize two important features of our design. First, we describe the composition of complex numerical algorithms from smaller components which are usable in different applications. Second, we discuss the extension of existing framework components to satisfy new application needs. Published in 2002 by John Wiley & Sons, Ltd.