编辑推荐: |
本文介绍了MBSE是什么,展示了MBSE与系统工程的关系,并讨论了模型和建模的基础。
来自于软件工程学院 ,由火龙果软件Anna译、推荐。 |
|
基于模型的系统工程(MBSE)是一种形式化的方法,用于支持与复杂系统的开发相关的需求,设计,分析,验证和确认。与以文档为中心的工程,MBSE将模型放在系统设计的中心。在过去的几年中,越来越多地采用数字建模环境导致MBSE的采用率增加。在2020年1月,NASA在报告中指出了这一趋势,报告称“MBSE“已越来越被行业和政府所接受。在本文章中,我提供了MBSE的简要介绍。
复杂系统中值得关注的领域之一是网络安全。SEI CERT部门已开始研究如何在系统开发过程的早期阶段使用MBSE降低安全风险,从而使系统在设计上是安全的,这与在开发过程的后期添加安全功能的常规做法形成了鲜明的对比。捕获模型中的系统属性使系统工程师能够尽早对系统进行威胁建模分析,并将缓解策略纳入系统设计中,从而降低与系统总体安全相关的风险。
数字建模环境中的MBSE提供了基于文档的系统工程无法提供的优势。例如,在基于文档的方法中,许多文档是由不同的作者生成的,以从各种利益相关者的观点(例如系统行为,软件,硬件,安全,安全性或其他学科)中捕获系统的设计。使用数字建模方法,可以建立系统的单一真实来源,其中使用相同的模型元素创建系统的特定于学科的视图。
数字建模环境还创建了一种基于标准的通用方法来记录该系统,该方法可以通过编程方式进行验证,以消除模型中的不一致,并由所有利益相关者强制使用标准。这种通用的建模环境改进了系统的分析,并减少了在传统的基于文档的方法中通常注入的缺陷数量。用于跨学科分析的数字化系统数据的可用性为所有利益相关者提供了一致的修正传播以及新信息和设计决策的合并(即,一次陈述并自动传播到数据的各种视图)。如果MBSE操作得当,结果将总体上降低开发风险。
MBSE汇集了三个概念:模型,系统思维和系统工程:
模型是某事物的简化版本-一种图形化、数学化或物理化的表示,它抽象现实以消除某些复杂性。这个定义意味着简化、表示或抽象的形式或规则。为了对一个系统进行建模,系统架构师必须以较少的细节表示系统,以使系统的结构和行为清晰可见,并且其复杂性是可管理的。换句话说,模型应足以表示系统,并且系统应确认模型。
系统思维是一种看待所考虑的系统的方式,它不是作为一个自给自足的实体,而是作为一个大型系统的一部分。系统思考不同于系统地遵守良好计划,收集统计数据或有条不紊地进行。系统工程师从远处观察系统;探索其边界,上下文和生命周期;记录其行为;并识别模式。这种方法可以帮助工程师识别问题(例如,缺少交互,过程中缺少步骤,重复工作,缺少自动化机会)并管理系统的复杂性。尽管系统工程师必须在一开始就对系统进行分解和分析,用系统思维方式-识别各个部分并描述它们之间的联系,但他们后来将这些部分合成为一个连贯的整体。部分不仅与其他部分相连,而且还相互依赖才能正常工作。系统思维强调了这种相互联系。系统的行为来自系统各子系统的活动。通过观察系统的相互联系,系统工程师确定起初可能并不明显的反馈回路和因果关系模式。系统思维可以帮助使问题更明显,更易于识别,平衡系统和管理系统的复杂性。
系统工程是一个跨学科的和综合的方法,利用系统原理和概念,以及科学、技术和管理方法,使工程系统的成功实现、使用和退役。它汇集了多种技术,以确保设计的系统满足所有需求。它专注于系统在其生命周期中的体系结构,实现,集成,分析和管理。它还考虑了系统的软件,硬件,人员,流程和程序方面。
如果组织决定采用MBSE作为内部系统工程方法,并选择了市场上四五个现有的用于数字建模的产品之一,组织的系统工程师应考虑是否要遵循任何体系结构框架。尽管对该主题的全面讨论超出了本文的讨论范围,但是选择特定的体系结构框架将为建模活动提供额外的指导和结构,特别是在系统工程师已经熟悉该框架的情况下。
MBSE是一项多学科,多方面的工作。它需要自己的参与者,过程,环境和信息流。为了成功地创建复杂系统或系统体系的模型,组织必须支持建模过程。所需的支持与组织成功开发和交付复杂的系统或系统的系统所需要的支持没有太大不同。MBSE可以有效地集成到开发过程中,但是组织必须致力于对系统进行建模所需的工作。
运用系统思想,我们可以认识到建模过程涉及三个系统:设计系统,设计系统的上下文以及设计系统的建模组织。设计的系统在更大的系统的上下文中运行,并且建模组织必须了解设计的系统和设计的系统的上下文。组织还必须意识到自己的行为,成功和失败。
建模
我们一生中都已经见到,使用或创建了模型,从代表汽车或飞机的玩具到描述和解释物理现象(例如热力学或重力)的数学公式。尽管这些模型本质上有所不同,但这些模型都将思想与现实联系起来,并为该目的提供了足够的抽象。在对系统进行建模时,系统工程师会决定生产系统中最重要的方面,例如结构,能量或物质流,内部通信或安全性。这些方面将成为模型的焦点。建建模活动的最高目标是对模型所关注的突出方面进行建模,尽可能接近真实系统。
作为一种技术,建模使用四种工具:
• 语言
• 结构体
• 论证
• 演示
建模语言是一种通用术语,用于清晰地传达模型所捕获的抽象概念。建模语言可以是正式的,具有严格的语法和规则。现有的系统建模语言有几种,包括通用语言,例如系统建模语言(SysML)和统一建模语言(UML),以及专用语言,例如体系结构分析设计语言(AADL)。虽然SysML和UML不是数学形式的,但是有效的模型需要遵循实体和关系的建模语言的规则。SysML对于元素之间的关系和连接具有严格的语法和规则,这有助于避免歧义。如果模型构建良好,则可以动态模拟几种类型的标准SysML图,并且至少可以对一种SysML图进行数学模拟。UML是半正式的;SysML与UML类似,但更为正式。
模型必须具有结构,一个结构良好的模型可以使模型可以理解、可用和可维护,这对于复杂系统来说尤为重要。模型的目的是向利益相关者展示所提出的设计满足系统的需求。模型应该以一种易于理解的方式演示如何构建系统才能成功。可视化是保证理解性的关键途径,将抽象的想法形象化,可以使人们获得“看到”系统所需的想象力的飞跃。
建模领域
即使MBSE并没有规定任何特定的过程,但基本上任何选择的过程都应涵盖四个系统工程领域:
• 需求/能力
• 行为
• 架构/结构
• 验证与确认
Defense Acquisition University(DAU),NASA和Avi
Sharma等人对这些领域的描述进行了详细记录和讨论。MBSE的不同之处在于,这些基本的系统工程领域不是作为一组文档定义的,而是在模型本身中定义的,即使用建模语言以正式的方式定义。该模型代表了有关如何设计系统才能使其成功的争论。
MBSE还促进了利益相关者,系统工程师和开发人员之间的沟通。由于系统设计是在集成建模环境中执行的,因此所有系统工程师,管理人员和其他利益相关者都可以在需要时尽快访问生成的信息,例如需求,行为流和体系结构。
最常见的建模活动是创建表示系统某些部分的图-视图。这种活动非常常见,以至于有些工程师错误地将创建视图等同于创建模型。这种错误非常普遍,甚至有一个新兴的术语:僵尸模型。这个术语指的是一个模型,它充满了图表,但是元素之间没有相互联系和依赖关系。
任何即将开始建模的人都必须意识到,一组视图不是模型。尽管一个视图甚至一组视图可以代表系统设计的一部分,并且对于记录和传达系统的某些方面很有用,但视图只是真实系统模型的各个方面或部分。真实的模型可以产生许多视图和矩阵,执行分析和运行仿真。
系统建模语言
虽然像SysML这样的系统建模语言是一种正式的语法语言,但它仍然基于人类语言的元素。它的形式性增加了清晰度和纪律性,这对于描述系统的设计至关重要。这种语言很容易阅读和理解。MBSE语言的术语仅映射到词性:
• 名词:参与者,角色,组件,需求
• 动词:操作活动,功能,用例
• 形容词:属性
• 副词:关系,需求线,交换,接口
这种对建模语言的看法有助于它的用户将现实生活中的概念映射成抽象的概念,并简化建模过程的形式化。
MBSE模型的四个象限
现在,我已经描述了模型语言和领域的基础知识,我将描述建模方法。模型必须描述设计的系统要解决的问题和设计的系统本身(解决方案)。模型必须具有这两个方面,即问题方面和解决方案方面。这些有时称为操作和系统角度。
操作的观点是用户,操作员和业务人员的观点。它应该代表业务流程,目标,组织结构,用例和信息流。模型的操作端可以包含“世界现状”和未来状态的描述。
系统的观点是解决方案,系统的体系结构解决了在模型的操作端提出的问题,描述了系统的行为、结构、组件之间的数据流以及功能的分配,描述了系统将如何在现实世界中部署。它可以包含解决方案的选择和分析。
这些观点中的每一个都有逻辑和物理两个部分。分离模型的逻辑和物理方面是管理系统复杂性的一种方法。模型的逻辑部分通常不会随时间变化,而物理变化通常是由技术进步引发的。
如果模型构建正确,则所有四个象限都应紧密连接,如下图1所示。问题的陈述应该追溯到解决方案的元素,以及分配给物理结构的逻辑元素。模型的用户应该能够清楚地看到高层概念和组件如何分解为较低层的功能。用户应该能够执行系统分析,创建依赖关系矩阵,运行模拟并为每个利益相关者提供系统视图。如果系统的物理部分必须更改,则模型的逻辑端将准确确定将影响哪些功能。如果必须更改需求或业务流程,则该模型将轻松发现对解决方案的影响。
图1:模型的组成部分
|