MBSE方法论之Vitech系统工程方法
1、概述
Vitech公司通过一系列的讲座提供了一套基于模型的系统工程(Model Based Systems Engineering,MBSE)方法论,这些不同的讲座在国际系统工程协会的各类研讨会上展开。虽然Vitech的MBSE方法论被认为是“独立于工具的(tool-independent)”,但是其涉及的内容与所选用的工具集CORE还是有非常强的联系。
2、Vitech MBSE工作流程
如下图所示,Vitech的MBSE方法论基于4个主要的并行的系统工程活动,这些活动相互联系,并通过一个通用的系统设计库(System Design Repository)进行维护。
这些主要的系统工程活动与相关的“域”相关联。如下图所示,系统工程活动被认为是某些特定过程域(Process Domain)的要素。
在Vitech MBSE方法中,强调采用MBSE的系统定义语言(System Definition Language, SDL)来管理模型产品。者意味着在描述系统的图表、实体中,需要统一的信息模型来管理模型产品的语法(结构)和语义(含义)。系统定义语言具有很多用处,如为需求分析者、系统设计者和开发者在技术交流时提供一个结构化的、通用的、清晰的、适用于各种场景的语言,并且可以生成图形、报表,进行一致性检查。
运用Vitech MBSE方法需要注意以下几个核心原则:
- 1)通过建模语言对问题和解空间进行建模,采用语义上有含义的图形以确保清晰性和一致性。这有助于模型的可追踪性、一致的图形化表示、自动存档和产品生成、动态验证和仿真,并能促进更加精确的交流。
- 2)利用一个MBSE的系统设计库。
- 3)采用工具来完成程序化的大量工作。
- 4)设计系统的方式先横向再纵向,也就是先关注系统的完整性,进而集中在系统的不同层次。
为了支持上述第4个原则,Vitech MBSE 采用了一个递增式的系统工程过程,称为“洋葱模型(Onion Model)”。该模型允许在系统详细设计过程中,在不断增加的层次中存在完全临时性的方案。
下图显示了洋葱模型的概念示意图。
在洋葱模型中,每一个层次都进行基本的系统工程并行活动。当系统工程人员成功地完成了某个层次的系统设计后,相当于“剥离了一层洋葱”并开始下一个层次的工作。在系统工程人员达到理想的设计层次后,整个设计过程就结束了。相比传统的瀑布模型,洋葱模型最主要的优点在于它能够在每一个层次都提供一个可供前期评审和验证的完整的解决方案,从而降低了设计的风险。
完整性和收敛性是洋葱模型的核心原则。这要求系统工程人员在进行下一层次的工作前必须完成上一层次的所有工作,并且要求向后的迭代不能超过一层。如果未经验证,这些方案在任何一个层次都可以看到,当系统状态超过约束时,工作团队对其进行检查,并需要协调相应的修改例如上一个层次中设计方案的修改。在整个过程中应该尽早地发现这种约束,因为在迭代过程的后续层次进行系统的重新设计将会对费用和进度造成很大影响。
下表提供了每个层次确定完整性的一些指南。
Process Element | Completion Criteria |
1. 初始需求 | 1. 就可接受的标准达成一致 |
2. 行为/功能体系结构 | 2. 每个功能都唯一地分配到至多一个组件 |
3. 物理体系结构设计 | 3. 组件说明是完整的需求文档 |
4. 合格(Qualification) | 4. V&V需求被追溯到每个系统组件 |
如下图所示,洋葱模型中每一个层次主要包含了两类系统工程活动过程,一个是自顶向下的过程,一个是逆向工程。
在上图所示的活动过程中,进度(schedule)从左至右表示时间的递进,活动框图代表系统工程团队工作重心的移动。由于在整个过程中允许并行工程,因此可能出现反复迭代的情况。
有研究人员认为,完整地描述一个系统需要三种模型:(1)控制(功能行为)模型,(2)接口(I/O)模型,(3)物理体系结构(组件)模型。性能需求/资源可以通过上述三种模型的部分或者组合来描述。通过这三种模型,可以清楚一个系统的系统工程过程在什么时候完成,也就是说,完成所有系统组件的设计详细说明,并且系统的V&V计划被完全定义和追踪。
下表描述了Vitech MBSE 顶层系统工程活动中源需求分析和体系结构/综合集成的目标和子活动。
源需求分析 | 体系结构/综合集成 | |
目标 | 确定结构并从源头材料中分析需求 | 扩展对系统的理解 |
活动 | 1. 确定并抽取需求 2. 组织需求 3. 分析需求 3.1 发现并确定争议 3.2 发现并确定风险 4. 建立需求关系 5. 审核需求图形 6. 生成需求以及相关信息的表格 | 1. 定义 1.1 系统边界 1.2 潜在接口 1.3 初始的物理体系结构组件 1.4 初始功能 2. 维护到原始需求的追踪关系 3. 确定性能因素 4. 确定约束 5. 继续降低争议和风险 |
Vitech MBSE用于支撑顶层活动功能/行为分析的方法是基于可执行图形化语言Enhanced Function Flow Block Diagrams(EFFBDs)中一组可视化的行为模型和构件。其它支撑的可视化建模语言包括标准FFBDs, N2 Charts以及行为图。
Vitech MBSE中支撑顶层活动的设计检验与验证(V&V)的方法包括测试计划制定,并强调在实践中从初始需求抽取和分析阶段进行测试和检验,包括系统测试和软件测试。
下表总结了MBSE中主要测系统测试方法。
功能测试 | 首先设定测试条件以确保在一定输入条件的基础上产生正确的输出。主要关注在给定输入的条件下是否有正确的输出。(“黑箱”测试) |
结构测试 | 检查系统的结构以及功能。包括性能、弹性、压力、保密性、安全和可用性等要素。(以下列出了其中一些要素) |
性能 | 检查系统性能是否在一定范围内,确保系统正常运行 |
弹性 | 通过不同的错误模式来确定系统恢复的正常运行状态的能力 |
接口 | 检查系统所有接收输入和发送输出的接口条件 |
压力测试 | 给系统施加超过平均状态的负荷以确保系统能正常处理,通过负荷逐渐增加来确定系统的临界值。该测试需要在接近实际的环境中进行,并且可能需要很长一段时间。 |