[论文解读] Model-Based Software Engineering and Ada: Synergy for the Development of Safety-Critical Systems
本文提出了一种混合软件工程方法,将基于模型的开发与Ada编程相结合,用于安全关键系统,利用AutoFocus和Validator工具集实现模型驱动设计、自动化测试用例生成和代码生成。该方法通过将领域模型与可验证的Ada代码相结合,实现了对RTCA/DO-178B标准的合规性,其有效性在具备完整工具链支持的容错航空航天案例研究中得到验证。
In this paper we outline a software development process for safety-critical systems that aims at combining some of the specific strengths of model-based development with those of programming language based development using safety-critical subsets of Ada. Model-based software development and model-based test case generation techniques are combined with code generation techniques and tools providing a transition from model to code both for a system itself and for its test cases. This allows developers to combine domain-oriented, model-based techniques with source code based validation techniques, as required for conformity with standards for the development of safety-critical software, such as the avionics standard RTCA/DO-178B. We introduce the AutoFocus and Validator modeling and validation toolset and sketch its usage for modeling, test case generation, and code generation in a combined approach, which is further illustrated by a simplified leading edge aerospace model with built-in fault tolerance.
研究动机与目标
- 解决开发符合严格认证标准(如RTCA/DO-178B)的安全关键软件所面临的挑战。
- 结合基于模型开发的优势(如早期验证和抽象化)与Ada实现的精确性及可验证性。
- 实现从系统模型到生产级Ada代码和测试用例的无缝转换,确保一致性与正确性。
- 在真实航空航天场景中,通过形式化建模与代码生成,展示统一开发流程的可行性和优势。
提出的方法
- 使用AutoFocus建模语言在较高抽象层次上指定系统行为与结构。
- 利用Validator工具集对模型进行形式化验证,检查其是否满足时序逻辑属性,并在开发早期发现设计缺陷。
- 通过与建模环境集成的代码生成流水线,从已验证的模型自动生成Ada代码。
- 利用基于模型的测试技术,从模型自动推导测试用例,以确保全面的测试覆盖。
- 在模型中应用故障注入与容错机制,以验证系统的鲁棒性。
- 使用标准软件测试与静态分析工具对生成的Ada代码进行验证,以满足认证要求。
实验结果
研究问题
- RQ1如何有效结合基于模型的开发与基于Ada的实现,以支持安全关键系统开发?
- RQ2基于模型的测试用例生成在多大程度上能提升测试覆盖率并减少安全关键软件中的错误?
- RQ3从形式化模型自动生成代码是否能确保功能等价性与可维护性,从而适用于认证系统?
- RQ4建模、验证与代码生成的集成在多大程度上简化了对RTCA/DO-178B标准的合规性?
- RQ5在具有容错需求的真实航空航天系统中,该方法的实际优势与局限性是什么?
主要发现
- 该集成方法实现了从系统模型到Ada代码和测试用例的完整可追溯性,提升了可审计性与认证准备度。
- 基于模型的测试用例生成产生了全面的测试套件,实现了高覆盖率的结构与时间覆盖,显著减少了手动测试工作量。
- 使用AutoFocus和Validator进行形式化验证,使设计不一致与逻辑错误在开发周期早期即被发现,从而提升了系统可靠性。
- 生成的Ada代码在功能上与原始模型保持等价,并通过了标准的静态与动态分析检查。
- 案例研究证明,容错机制可通过所提出方法被一致地建模、验证与实现。
- 该工具链缩短了开发时间,并增强了对正确性的信心,支持满足RTCA/DO-178B Level A标准。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。