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.
翻译:软件是大规模科学研究的关键组成部分,为科学发现提供核心能力。大型科研项目涉及范围广泛,生命周期以数十年计,成本超过数亿美元。即使是实力雄厚的软件公司,要设计出能跨越如此长时间、如此规模的软件也充满挑战。然而,科学事业面临资金、人员配置等挑战,且运行在复杂且认知不足的软件环境中。本文探讨了平方千米阵列观测站科学数据处理器的早期阶段软件架构实践。该科学数据处理器是这一代射电天文仪器中的关键软件组件。我们根据该项目的独特情况,对现有的软件架构分析与设计流程进行了定制化调整。我们报告了由此产生的一系列全面的软件架构规划。这些规划在关键设计评审中获得了外部利益相关者的建设批准。最后,我们总结了对科学领域其他长效软件架构的启示,包括潜在风险及其缓解措施。