摘要 系统架构设计是影响整个系统工程的关键活动。因此,确保构建高质量的系统架构至关重要。通过MBSE方法,并用仿真技术进行补充,将成为一种新的有效方法。通过仿真实现高质量的系统定义,在确保系统工程时间的同时提出创新解决方案。 系统架构(System Architecture)是系统工程中的一个关键工程工件(Artifact)。它的作用包括:
系统架构作为输入,其中包含的信息将直接影响大部分其他工程活动及其相关结果。因此,确保良好的架构质量有助于确保进一步的工程活动。 基于模型的系统工程(MBSE)方法已被证明在提高系统架构质量方面具有价值。正确设置后,MBSE方法和工具可以支持架构师,并引导他们通过系统的工作流程,减少设计不准确、不一致和不完整的风险。 然而经验表明,在某些情况下,当前的MBSE能力不足以完全按要求降低这些风险。尤其是在系统越来越复杂,以及工作流和组织越来越复杂的情况下。 与此同时,越来越多的系统工程实践者发现,仿真技术可以与MBSE方法相结合,以填补当前MBSE方法在架构设计方面的空白。 1. 系统架构设计 1.1 基于模型的系统架构设计&Arcadia方法 系统架构被定义为系统在其环境中的基本概念或特性,体现在其元素、关系以及其设计和发展原则中。ISO/IEC/IEEE 42010标准规定了系统架构的组织和表达方式。 图1 ISO/IEC/IEEE 42010 架构是针对一组利益相关者(Stakeholders)定义的,这些利益相关者是对系统感兴趣的个人、团队、组织或任何其他类型的实体。 “基于模型的系统工程(MBSE)是建模的正规化应用,以支持系统需求、设计、分析、验证和确认活动,从概念设计阶段开始,一直持续到整个开发和后期生命周期阶段。” 除了在这些工程活动中提供更严格的要求外,以模型为中心的方法的一个基本目标是提供可与所有利益相关者共享的权威真理源。 目前已有规范方法支持系统架构建模。Arcadia(Architecture Analysis & Design Integrated Approach,架构分析和设计综合方法)是主流方法之一,它是一种基于模型的方法,专门用于系统、软件和硬件架构设计。Arcadia描述了详细的推理,以理解和捕获客户需求,在所有工程利益相关者之间定义和共享产品架构,并在早期验证和证明设计。Arcadia可应用于复杂系统、设备、软件或硬件架构设计,尤其是需要协调的强约束,如成本、性能、安全、安保、重用、资源消耗、质量等。它在被系统/产品/软件/硬件定义中的大多数利益相关者作为通用工程参考。十多年来,已在各种工程环境中得到应用。 受ISO/IEC/IEEE 42010的启发,Arcadia方法定义了系统架构师在设计架构时可以采用的一组视图,分为运行分析(OA)、系统分析(SA)、逻辑架构(LA)、物理架构(PA)四个层级。Arcadia将系统上下文和需求的捕获和分析(运行分析和系统需求分析)与解决方案的设计(逻辑和物理架构)明确分开。 图2 Arcadia系统架构设计方法的四个层级 遵循Arcadia方法,在定义系统架构的过程中需要考虑几个主要方面:
1.2 仿真在架构设计中的作用 一些研究将仿真定义为预测效果的认知过程,包括基于模型的任何形式的思考,而不仅仅是通过计算机执行模型运行。这使我们能够将仿真视为控制机制的一部分,从而成为实现满足系统目标和利益相关者期望的系统架构设计的一种有效方法。图3说明了仿真在控制回路中架构设计过程中的作用。 图3 仿真在架构设计中的作用 通过将仿真视为工程控制回路的一部分,我们可以确定仿真在架构设计过程中的作用,无论是在达到系统的目标质量,还是在达到该目标所需的时间。 经验表明,在系统开发生命周期中,50%到70%的设计错误是在实施阶段之前引入的,主要是在起始和设计阶段。这意味着,我们预计在初步设计审查(Preliminary design review, PDR)时,至少一半的设计错误已经存在。根据航空航天公司提供的与源代码行(SLOC)数量相关的嵌入式软件复杂性增长指标,我们可以预计错误数量将随着系统复杂性的增加而增加。 同时,仿真有助于更快地达到目标质量,降低设计误差成本。据统计,设计错误修正成本随着项目阶段呈指数增长:如果在需求阶段发现的修正需求错误的成本被定义为1个单位,则在设计阶段发现的修复该错误的成本增加到3-8个单位;在制造/构建阶段,修复错误的成本为7-16个单位;在集成和测试阶段,修复错误的成本为21-78个单位;在运营阶段,修复需求误差的成本为29-1500个单位以上。 2. 架构设计的目标、当前状态和限制 2.1 架构设计的目标 由于架构设计影响大量工程活动,系统架构工件的质量和架构设计活动的效率都是工程组织的关键优化杠杆。 架构的用途是多种多样的。经验表明,架构设计的目标包括:
2.2 当前状态和限制 架构设计描述,例如可以使用Arcadia方法及相关MBSE工具(例如System Modeling Workbench, SMW/Capella)来描述。然而,从实施MBSE的经验中发现了当前工具的局限性,包括:
3. 通过仿真填补空白 上述限制的一个主要根源是,当今的架构模型大多是描述性的,预测能力有限。描述性模型在本质上不同于预测模型,它们保留了模糊的“灰色区域”,不像预测模型那样精确地执行。 为了克服这些限制,仿真使工程师能够访问正在设计的解决方案的行为/功能。仿真提供可执行的虚拟对象,利用该虚拟对象增强所有利益相关者之间的沟通,进一步评估和分析解决方案,并扩展和自动探索解决方案空间。 图4 仿真在概念阶段的支持 3.1 通过仿真改进沟通 描述性模型通常用于说明系统的行为,无论是模式和状态机,还是场景和功能链。然后,通过一组这样的视图捕获系统的整体行为,每个视图都侧重于描述独特情况下的行为。此外,对于这些类型的视图,在行为描述的完整性(完整性=明确+场景的完全覆盖)和易读性之间不得不折衷。 信息在视图之间的传播以及缺乏可读性或明确性,很难确保利益相关者之间对系统行为的共同理解。此外,读者实际上在心里进行了模型执行,以理解所描述的行为是什么。在这种情况下,执行引擎(即人脑)在不同的读者之间是不同的,因此导致了不同的结果且不可重复,这显著增加了利益相关者之间解释分歧的风险。 图5 系统模型/架构包含的视图 而仿真能提供明确的方法来计算系统行为,如时间相关曲线、2D和3D渲染、基于仿真输出后处理的定量结果。 除了仿真结果本身,交互式仿真还可以让利益相关者(工程师、最终用户、客户、经理等)亲自体验未来系统,确认或完善预期行为,或更好地了解系统行为以进行详细设计。使用仿真来改善沟通主要是通过“仿真即服务”功能来实现的,因为它提供了对仿真手段(执行和可视化)的方便访问,同时符合安全约束。 对于负责详细设计的工程师来说,可执行规范通过确保对预期行为的理解提供了其他好处。仿真环境提供了与软件IDE提供的功能类似的功能,例如带有暂停条件的断点、向前和向后移动、带有高亮显示或着色的模型动画、切换数据等等。这组调试特性有助于理解系统行为产生的内部机制和功能之间的交互。 另一个好处是加强了并行工程和协作。对于系统工程师来说,能够很早与其他工程专业共享系统的可执行规范是一种强大的手段,使其他专业能够更早和同时开始活动,尽早快速迭代系统定义。如果不使用仿真,这些活动将在很久之后或以不太完整或不够详细的方式进行。 图6 概念阶段中的仿真工作流 3.2 通过仿真确保设计质量 在工程设计过程中利用仿真,使工程项目团队能够早期、持续地集成、验证和确认(IVV)设计中的解决方案。具有随时模拟设计中项目的能力,使工程师能够在每个小设计步骤后执行单元测试和集成测试,以验证和确认设计中的项目。这带来了两大好处:
可见,仿真不仅有助于通过早期和持续的IVVQ确保设计质量,还允许IVVQ工程团队在设计活动的同时确保测试活动的安全。这开辟了可应用于复杂系统工程(如测试或行为驱动开发)的新方法,前提是IVVQ团队可以为系统工程团队的预期解决方案提供全面的虚拟测试手段。 图7 将仿真集成到架构设计进行概念设计验证 3.3 使用仿真模型使任务自动化 使用模型,无论是描述性的还是可执行的,都意味着使用数字化的数据和工件。因此,可以使用编程语言自动访问和转换这些数据。MBSE工具通常提供任务自动化,例如文档生成、代码生成(主要用于软件组件接口)或描述性模型生成(系统到子系统的转换)。我们可以根据仿真模型扩展任务范围并丰富任务。而更有价值的功能是设计空间探索自动化、设计优化自动化、早期测试执行自动化和模型覆盖率分析自动化,以实现高质量的系统定义。 基于仿真模型,我们还可以通过仿真模型或仿真结果来丰富文档生成,以更好地表达期望的行为。由于仿真模型是可执行的,我们可以生成详细的组件接口以及组件的内部行为。 图8 基于AI自动探索设计空间的创成式方法 4. 最佳实践建议 如上所述,我们希望在概念阶段引入仿真的原因有很多。因此,采用基于仿真的工程过程,使用仿真来支持整个产品生命周期中的所有工程活动,需要创建大量仿真。对于任何工程活动,保持所有工程工件的连贯性和一致性都是一项挑战。为了克服这一挑战,有一些来自最佳实践的建议。
图9 逻辑架构中系统架构与仿真架构的映射 ——SMW到Simcenter Studio 图10 物理架构中系统架构与仿真架构的映射 ——SMW到Simcenter System Architect
图11 基于MBSE方法部署仿真任务
图12 系统架构对应不同问题类型的仿真
(1) 重用现有仿真组件以构建新的仿真; (2) 重用现有的仿真来回答类似问题的不同表现; (3) 在整个开发生命周期中重用测试工具和测试用例。对于仿真工具的重用,我们需要定义仿真建模规则,以确保组件的可重用性(例如,互操作格式,如FMU、HLA…、共享接口库…),我们还必须最小化仿真工具的数量,以尽可能少地保持协同仿真约束,并定义标准的基于组件的仿真架构。对于测试用例的重用,我们需要确保仿真设施为软件在环(SIL)、处理器在环(PIL)和硬件在环(HIL)提供无缝支持,以逐步从完全的虚拟测试过渡到真实的系统测试。 图13 仿真资产重用和管理
图14 系统架构到仿真架构的转换 5. 总结 使用仿真来支持架构和详细设计活动是在降低风险的同时提高质量、成本和规划的有效方法。在大多数情况下,这三个关键的项目目标无法一起改进。通常以上游工程活动的项目费用增加为代价。 然而,经验和分析表明,用仿真模型指定系统所花费的努力远低于用文本需求来指定系统。已有权威研究证明,在设计模型中使用仿真的明显优势。而在此基础上使用自动化的仿真工具以及有利于模块化和可重用性的清晰建模规则,还能进一步提高设计效率和研发水平。 参考文献 2. Steven Gillijns, Lars Jordan, Mike Nicolai, Fabien Retho and Johan Vanhuyse “What's New in Simcenter for MBSE Overview and New Features”, Siemens Digital Industry Software, June, 2022. 3. Thomas Marpaux, “Modeling of a bridge between Capella/SMW and Simcenter Studio/System Architect”, Siemens Digital Industry Software, July, 2022. |
|