Program Families in Scientific Computing
Source: McMaster University
This paper motivates how the quality of scientific computing applications can be improved by developing them as a program family. In particular, arguments are presented that a program family strategy improves the qualities of reusability and usability. The proposed methodology consists of determining the scientific computing family of interest, then performing a Commonality Analysis (CA) to document the terminology, commonalities (including goals and theoretical models) and variabilities (including assumptions, input variabilities and output variabilities). In the next step the CA is used as a basis for a Domain Specific Language (DSL) from whose instances program family members are automatically generated.