Elements of an Extreme-scale Scientific Software Ecosystem
Rapid, efficient production of high-quality, sustainable applications is best accomplished using a rich collection of reusable libraries, tools, lightweight frameworks, and defined software methodologies, developed by a community of scientists who are striving to identify, adapt, and adopt best practices in software engineering.
In the IDEAS project, we are building the xSDK (Extreme-scale Scientific Software Development Kit) — the foundation of a highly effective extreme-scale scientific software ecosystem that is increasing the functionality, quality, and interoperability of important scientific libraries and development tools.
We are working toward defined software engineering methodologies and the use of best practices. We will be successful if new applications require modest amounts of native code (which should be written as encapsulated components for potential reuse), make effective use of libraries, and provide application-specific content required to utilize modern documentation, build, testing, and integration frameworks. Such a mature ecosystem will enable rapid, efficient development of high-quality application codes that are easily sustained and adapted for future needs of mission-critical DOE scientific simulations.