We've just completed a major upgrade of UVicSpace. Our help resources are being updated. If you have questions about the upgrade or encounter a bug, please contact us at uvicspacehelp@uvic.ca.
 

Architecting complex, long-lived scientific software

Date

2023

Authors

Ernst, Neil A.
Klein, John
Bartolini, Marco
Coles, Jeremy
Rees, Nick

Journal Title

Journal ISSN

Volume Title

Publisher

Journal of Systems and Software

Abstract

Software is a critical aspect of large-scale science, providing essential capabilities for making scientific discoveries. Large-scale scientific projects are vast in scope, with lifespans measured in decades and costs exceeding hundreds of millions of dollars. Successfully designing software that can exist for that span of time, at that scale, is challenging for even the most capable software companies. Yet scientific endeavors face challenges with funding, staffing, and operate in complex, poorly understood software settings. In this paper we discuss the practice of early-phase software architecture in the Square Kilometre Array Observatory’s Science Data Processor. The Science Data Processor is a critical software component in this next-generation radio astronomy instrument. We customized an existing set of processes for software architecture analysis and design to this project’s unique circumstances. We report on the series of comprehensive software architecture plans that were the result. The plans were used to obtain construction approval in a critical design review with outside stakeholders. We conclude with implications for other long-lived software architectures in the scientific domain, including potential risks and mitigations.

Description

Thanks also to all the participants in the workshops for their time and energy, and to Mary Popeck for her help in the second workshop. NR would also like to thank Peter Braam of Braam Research LLC for suggesting the SEI approach to him in the first place. References herein to any specific commercial product, process, or service by trade name, trade mark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by Carnegie Mellon University or its Software Engineering Institute. NO WARRANTY. This Carnegie Mellon University and Software Engineering Institute material is furnished on an "as-is" basis. Carnegie Mellon University makes no warranties of any kind, either expressed or implied, as to any matter including, but not limited to, warranty of fitness for purpose or merchantability, exclusivity, or results obtained from use of the material. Carnegie Mellon University does not make any warranty of any kind with respect to freedom from from patent, trademark, or copyright infringement. Architecture Tradeoff Analysis Method® is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University DM22-0316.

Keywords

Software architecture, Software process, Software engineering in practice, Radio astronomy, Scientific software

Citation

Ernst, N. A., Klein, J., Bartolini, M., Coles, J., & Rees, N. (2023). Architecting complex, long-lived scientific software. Journal of Systems and Software, 204, 111732. https://doi.org/10.1016/j.jss.2023.111732