A growing number of safety-critical industries agree that building confidence in complex systems can be achieved through evidence and structured argumentation framed in assurance cases. Nevertheless, assurance cases can easily become too rigorous and difficult to develop and maintain when applied to complex systems. Therefore, we propose to use contract-based development (CBD), a method to manage complexity originally developed in computer science, to simplify assurance cases by modularizing them. This paper will not only summarize relevant previous work such as constructing consistent modular assurance cases using CBD, but more importantly also propose a novel approach to integrate CBD with the argumentation in assurance case modules. This approach will allow interdisciplinary subject-matter and domain experts to build assurance cases together without even knowing about CBD. This helps subject matter experts outside of computer science to reap benefits from CBD and helps with interdisciplinary co-development of assurance cases that cover all the required fields. This paper motivates four rules of thumb aimed to help practitioners developing high-quality modular assurance cases. It also explains how modularization of assurance is an enabler for multi-concern assurance that accounts for the inter-dependency of different concerns such as safety, security and performance.
翻译:越来越多的安全关键行业认为,通过基于保证案例框架构建的证据和结构化论证,可以建立对复杂系统的信心。然而,当应用于复杂系统时,保证案例很容易变得过于严格且难以开发和维护。因此,我们建议使用契约式开发(CBD)——一种最初源于计算机科学的复杂性管理方法——通过模块化来简化保证案例。本文不仅总结了此前关于利用CBD构建一致模块化保证案例的相关研究工作,更提出了一种将CBD与保证案例模块中的论证过程进行集成的新方法。该方法允许跨学科领域专家在不了解CBD的情况下共同构建保证案例,从而帮助计算机科学之外的学科专家从CBD中获益,并促进覆盖所有必要领域的保证案例的跨学科协同开发。本文提出了四项经验法则,旨在帮助实践者开发高质量的模块化保证案例。本文还阐述了保证的模块化如何成为多关注点保证的促成要素,该保证机制需考虑安全、安保和性能等不同关注点之间的相互依存关系。