Return to search

FASCS: A Family Approach for Developing Scientific Computing Software

Scientific Computing (SC) software has had considerable success in achieving
improvements in the quality factors of accuracy, precision and efficiency. However
other software quality factors, such as reusability, maintainability, reliability
and usability are often neglected. This thesis proposes a new methodology,
Family Approach for developing Scientific Computing Software (FASCS), to
improve the overall quality of SC software. In particular, the aim is to benefit
the development of professional end user developed SC programs. FASCS is the first methodology to apply a family approach to develop
SC software, where all stages in both the domain engineering phase and the
application engineering phase are included. In addition, the challenges for SC
software and the characteristics of professional end user developers are also
considered. A proof of concept program family, FFEMP, which can solve elasticity
problems in solid mechanics using the Finite Element Method (FEM),
is developed to illustrate how the proposed methodology can be used. Part of FASCS is a new methodology for systematically eliciting, analyzing
and documenting common and variable requirements for a program
family. The methodology is termed Goal Oriented Commonality Analysis
(GOCA). GOCA proposes two layers of modeling, including the theoretical
model and the computational model, to resolve the conflict between the continuous
mathematical models that represent the underlying theories of SC
problems and the discrete nature of a computer. In addition, the theoretical
model and computational model are developed to be abstract and documented separately to improve reusability. Explicitly defined and documented terminology
for models and requirements are included in GOCA, which helps avoid
ambiguity, which is a potential source of reduced reliability. The traceability
of current and future changes is used to potentially improve reusability and
maintainability. FASCS includes a Family Member Development Environment (FMDE)
for the automatic generation of family members. FMDE is apparently the first
complete environment that facilitates automatically generating variable code
and test cases for SC program families. The variable code for a specific member
of the program family can be automatically generated from a list of variabilities
written in a Domain Specific Language (DSL), which is considerably easier
than manually writing code for the family member. Some benchmark test
cases for the program family can also be automatically generated. Since both family members and test cases can be automatically generated,
testing the program family can be performed on the same computational
domain with different computational variabilities. This provides partially independent
implementations for which test results can be compared to detect
potential flaws. This capability partly addresses the unknown solution challenge
for SC software. Documentation is also an important part of FASCS. Five new templates
for documenting requirements and design are proposed. Traceability
matrices, which provide relations between artifacts (and documents) in the
different stages of the process, can facilitate understanding of the programs.
The matrices can also improve reusability and maintainability by helping trace changes. Nonfunctional requirements, especially nonfunctional variable requirements,
are rarely considered in the development of program families. To the
knowledge of the author, nonfunctional variable requirements have never been
considered in the development of SC program families. Since some nonfunctional
requirements are important for SC software, FASCS proposes using
some decision making techniques, such as the Analytic Hierarchy Process, to
rank nonfunctional variable requirements and select appropriate components
to fulfill the requirements. / Thesis / Doctor of Philosophy (PhD)

Identiferoai:union.ndltd.org:mcmaster.ca/oai:macsphere.mcmaster.ca:11375/21063
Date01 1900
CreatorsYu, Wen
ContributorsSmith, Spencer, Computing and Software
Source SetsMcMaster University
LanguageEnglish
Detected LanguageEnglish

Page generated in 0.0019 seconds