Proposal for a Scientific Software Lifecycle Model
Author/Presenter
Event Type
Workshop
Software Engineering
TimeSunday, November 12th4:15pm -
4:30pm
Location501
DescriptionImprovements in computational capabilities have lead to
rising complexity in scientific modeling, simulation,
and analytics and thus the software implementing them.
In addition, a paradigm shift in platform architectures
has added another dimension to complexity, to the point
where software productivity (or the time, effort, and
cost for software development, maintenance, and support)
has emerged as a growing concern for computational
science and engineering. Clearly communicating about the
lifecycle of scientific software provides a foundation
for community dialogue about processes and practices for
various lifecycle phases that can improve developer
productivity and software sustainability---key aspects
of overall scientific productivity. While the mainstream
software engineering community have produced lifecycle
models that meet the needs of software projects in
business and industry, none of the available models
adequately describes the lifecycle of scientific
computing software. In particular, software for
end-to-end computations for obtaining scientific results
has no formalized development model. Examining
development approaches employed by teams implementing
large multicomponent codes reveals a great deal of
similarity in their strategies. In earlier work, we
organized related approaches into workflow schematics,
with loose coupling between submodels for development of
scientific capabilities and reusable infrastructure.
Here we consider an orthogonal approach, formulating
models that capture the workflow of software development
in slightly different scenarios, and we propose a
scientific software lifecycle model based on agile
principles.
Author/Presenter




