MBSE-SysML与CAD集成
系统建模语言(SysML)
什么是系统建模语言?
SysML
是一种用于系统工程应用程序的通用架构建模语言。
SysML
支持各种系统和系统之间的规范、分析、设计、验证和确认。这些系统可能包括硬件、软件、信息、流程、人员和设施。SysML
是UML 2.x
的方言,并被定义为UML 2 Profile
。(UML
配置文件是一种UML
方言,它通过三种机制自定义语言:构造型、标记值和约束。)SysML
是基于模型的系统工程(MBSE)
的一项支持技术。
SysML
图分类:
什么是 SysML 需求图(Requirement Diagram)?
需求:需求(符号:带有“需求”关键字的矩形)是系统必须(“应”)满足的能力或条件。功能需求(<<功能需求>>关键字)指定系统必须执行的功能,而非功能需求(NFR
)指定可用于测试系统功能有效性的质量标准。SysML
预定义了 NFR
的以下构造型特性:
«performanceRequirement»
«interfaceRequirement»
«designConstraint»
«physicalRequirement»
需求图(req
):SysML
需求图是一个静态结构图,显示需求(“需求”)构造、满足(“满足”依赖性)它们的模型元素以及验证(“验证”依赖性)的测试用例之间的关系)。需求图的目的是指定模型中的功能和非功能需求,以便可以将它们追溯到满足它们的其他模型元素和验证它们的测试用例。
什么是 SysML 用例图(Use Case Diagram)?
用例:用例(符号:椭圆形)表示与外部系统用户的系统事务,称为参与者。用例有时被视为高级功能需求。用例图 (uc)
:用例图显示系统边界(主题;符号:矩形)上下文中系统事务(用例)和外部用户(参与者)之间的通信。参与者可以代表湿件(人、组织、设施)、软件系统或硬件系统。定义系统主体和系统参与者之间的关系是定义系统范围的有效非正式方法。用例图的目的是提供主题系统的高级视图,并以非技术术语向所有利益相关者(包括客户和项目经理以及架构师和工程师)传达顶级系统需求。需要额外的更严格的 SysML
图来指定可扩展和可模拟的系统架构模型 (SAM
)。
什么是 SysML 活动图(Activity Diagram)?
活动:活动(符号:圆角矩形或“圆角”)表示功能行为流,可能包括可选的对象(数据)流。根据条件,控制和对象流可以是顺序的(默认)或并行的(由分叉和连接节点指示)。
Action
= 原子Activity
, 这是一个原生的可执行动作.Control Flow
= 功能行为流Object Flow
= 活动或操作的对象输入/输出的数据流.
活动图(act
):活动图使用组合的控制流和对象(数据)流模型显示系统动态行为。活动(以及间接活动图)可以通过在活动定义和调用行为操作用法之间交替进行递归分解(“嵌套”)活动和动作可以被分配(通过代表控制块的分区(即代表系统、子系统、子子系统……原子结构的块);数据块(即表示持久数据存储的块)和包含数据块的信号可以分配给活动参数和操作引脚;比较和对比:SA/SD DFD、FFBD、EFFFD、IDEF0;BPMN BPD
。活动图的目的是使用控制流和对象(数据)流来指定满足系统功能需求的动态系统行为。如果应用得当,活动图可以递归地扩展和模拟。
什么是 SysML 时序图(Squence Diagram)?
消息:消息(符号:箭头)表示从一个对象到另一个对象的通信,期望随之而来的是有用的行为。消息可以是同步的(表示法:空心箭头)或异步的(表示法:黑色三角形箭头)。时序图(sd)
:序列图是一种动态行为图,它通过交换的消息序列以及相应的(可选)事件显示分布式对象或服务之间的交互(协作)。
- 协作对象或服务是被描述为生命线的部件(表示法:下面带有垂直虚线的矩形)
- 组合片段运算符支持递归嵌套和图灵完备语义(替代
[alt]
、可选[opt]
、并行[par]
、循环[loop]
等) - 比较和对比:消息时序图 (
MSC
)。
时序图的目的是将动态系统行为指定为原型块(部件)之间的消息传递协作。如果应用得当,活动图可以递归地扩展和模拟。
什么是 SysML 状态机图(State Machine Diagram)?
状态:状态(符号:圆角矩形又名“圆角”)表示对象生命周期中的条件或情况,在此期间它满足某些条件、执行某些活动或等待某些事件。状态机图 (smd
):状态机图是一种动态行为图,显示对象或交互在其生命周期内响应事件(也称为“触发器”)所经历的状态序列。状态机图的目的是指定时间关键、任务关键、安全关键或财务关键对象的动态系统行为。如果应用得当,状态机图可以递归扩展和模拟。
什么是 SysML 块定义图(Bolock Definiation Diagram)?
块:块(表示法:带有关键字=“block”
的矩形)表示一个系统组件,一个封装其内容(属性,行为,约束)并支持(即可以在其中绘制和直接操作的模块化结构单元)模型存储库)接口。块封装的行为包括:操作、信号和状态机。用于附加和连接(“connection”
)块接口的独特交互点称为端口。
- 块可以指定软件、硬件、机械和
facilities
(人员、组织、设施)组件。 - 块支持信息和物理流的提供(实现或实现)和必需(使用)接口。
- 块可以递归地分解为部分,其中每个部分也必须由块定义。
块定义图(bdd
):块定义图是一个静态结构图,显示系统组件、它们的内容(属性、行为、约束)、接口和关系。
- 通过在块定义图 (
BDD
)定义和内部框图 (IBD
) 用法之间交替,可以将块递归分解(“嵌套”)为多个部分(请参阅下面的使用说明。) - 行为可以由块(例如,操作、信号和状态机)封装,也可以直接或间接(通过接口)分配(通过“分配”依赖性)到块(例如活动/动作)。
- 可以通过约束块对块进行数学约束,以生成数学上可模拟的参数图。
块定义图的目的是指定用于控制对象、数据对象和接口对象的系统静态结构。如果应用得当,块定义图可以递归扩展并在数学上(参数)可模拟。
什么是 SysML 内部块图?
块:块(表示法:带有关键字=“block”
的矩形)表示一个系统组件,一个封装其内容(属性,行为,约束)并支持一流(即可以在其中绘制和直接操作的模块化结构单元)模型存储库)接口。块封装的行为包括:操作、信号和状态机。用于附加和连接(“接线”)块接口的独特交互点称为端口。
- 块可以指定软件、硬件、机械和湿件(人员、组织、设施)组件。
- 块支持信息和物理流的提供(实现或实现)和必需(使用)接口。
- 块可以递归地分解为部分,其中每个部分也必须由块定义。
内部块图(ibd
):内部框图是特定块拥有的静态结构图,显示其封装的结构内容:部件、属性、连接器、端口和接口。换句话说,IBD
是封装(“黑盒”)块的“白盒”视角。
- 通过在块定义图 (
BDD
)定义和内部块图 (`IBD``) 用法之间交替,可以将块递归分解(“嵌套”)为多个部分。 - 行为可以由块(例如,操作、信号和状态机)封装,也可以直接或间接(通过接口)分配(通过“分配”依赖性)到块(例如活动/动作)。
- 可以通过约束块对块进行数学约束,以生成数学上可模拟的参数图。
内部块图(IBD
)的目的是显示块的封装结构内容(部件、属性、连接器、端口、接口),以便可以使用基于接口的设计技术递归地分解和“connection
”它们。如果正确使用,BDD + IBD
可以递归扩展并且可以在数学上(参数)模拟。
什么是 SysML 参数图(Parametric Diagram)?
约束块:约束块(表示法:带有关键字 = «constraint»
的矩形)定义数学规则 ( Constraint
) 和规则参数,其中后者绑定到块值属性,以便对一个块值属性的更改将传播到其他块值属性以符合数学规则的方式块值属性。
参数图 (par
):参数图是内部块图 (`IBD``) 的特例化,它在受约束块参数约束的内部零件值属性上强制执行由约束块定义的数学规则(约束) 。
- 约束块参数和内部零件值属性之间的绑定连接器(关键字 =
«equal»
)会影响约束满足(传播)
参数图 (PAR
) 的目的是在块值属性中强制执行数学规则。如果正确使用,BDD + IBD + PAR
可以递归扩展并且可以进行数学模拟。
什么是 SysML 包图(Package Diagram)?
包:包(符号:“文件夹”图标)是一种将模型元素和图表组织成组的通用机制。包为在其范围内定义的模型元素定义了唯一的名称空间。
- 命名空间=一个声明性区域,为其中包含的标识符提供范围。
包图(pkg
):包图是一个静态结构图,显示包及其内容之间的关系。包可以被构造型(定制)用于将模型元素组织成模型、视图、模型库和框架。
包图的目的是支持大型、复杂的系统架构模型(SAM
)的组织和管理。
什么是 SysML 分配表(Allocation Table)?
分配:分配依赖性箭头(带有开放箭头表示法的虚线和关键字 = «allocate»
)关联或映射不同类型或不同层次结构中的模型元素。分配依赖模式通常对于提高模型架构完整性(也称为格式良好)和一致性很有用。SysML
预定义了以下分配依赖项:
- 需求依赖性的分配
- 活动到分区的分配(泳道)
分配表:分配表是分配关系的表格(矩阵)表示法,但 SysML
标准没有规定这些格式的特定格式,因此它们往往是特定于供应商的。
分配表的目的是定义图表类型内部和之间的关系矩阵,以提高模型架构的完整性和一致性。
MBSE
什么是基于模型的系统工程 (MBSE) 以及如何使用它?
基于模型的系统工程 (MBSE
),又名基于模型的系统开发 (MBSD
),是一种系统工程过程范例,强调在整个系统开发生命周期 (SDLC
) 的系统工程活动中应用严格的架构建模原则和最佳实践。这些系统工程活动包括但不限于需求分析、系统(功能)分析、性能分析(权衡研究)、系统设计、系统架构规范以及系统验证和确认(V&V
)。
SysML 应如何应用于 MBSE 项目?
随着 SysML
成为基于模型的系统工程 (MBSE
) 方法的事实上的标准,几种渐进严格的 SysML
使用模式如下:
最不严格且最常见的使用模式—
SysML-as-Pretty-Pictures
:这是最不正式且最不严格的SysML
使用模式。不幸的是,这也是SysML
被滥用的最常见方式。在SysML-as-Pretty-Pictures
使用模式中,使用SysML
表示法代替临时建模表示法(例如Visio
或PowerPoint
绘图),但对SysML
格式良好性及其底层可模拟和可执行语义的关注相对较少。因此,在SysML-as-Pretty-Pictures
模式下生成的SysML
模型很少能够驱动动态模拟或精确指定系统架构蓝图。SysML-as-Model-Simulation
:这种SysML
使用模式是对SysML-as-Pretty-Pictures
模式的重大改进,因为它强调系统动态行为和系统参数约束的模拟。在SysML-as-System-Simulation
模式中,至少一些SysML
行为图(活动、序列、状态机图)由行为模拟引擎执行。此外,一些参数图约束也可以由约束传播引擎(MATLAB/Simulink、OpenModelica、SysML
工具专有插件等)执行。对于那些寻求摆脱SysML-as-Pretty-Pictures
语言滥用的人来说,这是一种中间SysML
使用模式。SysML-as-System-Architecture-Blueprint
:此SysML
使用模式是对SysML-as-Model-Simulation
模式的实质性改进,因为它扩展了后者以包含系统架构模型 (SAM
) 的精确且完整的规范。SAM
的目的是足够精确和完整,作为系统项目中涉及的所有工程流程的“系统架构真相”,包括系统工程师 (SE
)、软件工程师 (SWE
)、电气工程师 (EE
)、机械工程师 (ME
) 等。为了使SAM
成为系统工程项目的系统架构真理,SAM
必须满足系统架构质量的所有 5 个C
(正确、完整、清晰、简洁和一致)。这是一种比较先进的SysML
使用模式,通常是 -SysML-as-System-Simulation
模式的自然演进。最严格的
SYSML
使用模式—SysML-as-Executable-System-Architecture
:此SysML`` 使用模式是对
SysML-as-System-Architecture-Blueprint模式的重大改进,因为它扩展了后一种模式以实现
SAM的大部分行为和参数规范可模拟,并且可执行。
MBSE`上下文中的可执行文件通常指的是系统接口、系统测试用例的部分或完全自动生成。