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