编辑推荐: |
本文我们将在 SysML 中创建自动变速器系统模型,描述变速器控制器行为、分析模型、用户界面并执行模型,希望对您有所帮助。
本文来源于Modeling Community Blog,由火龙果软件Linda编辑,推荐。 |
|
SysML允许对系统进行结构和行为建模。SysML 模型可以正式解释和执行。执行的分析可以在系统级别执行。我们擅长的模拟结果可以制作原型。使用可编程的乐高思维NXT进行原型设计是一种开箱即用的方式来测试和演示未来的系统行为。我们可以使用相同的系统模型来控制和校准原型。
在两篇系列的第一篇文章中,我们将在 SysML 中创建自动变速器系统模型,描述变速器控制器行为、分析模型、用户界面并执行模型。
在第二部分中,我们将SysML传输模型连接到乐高头脑风暴NXT变速箱。模型将控制齿轮之间的切换。
模型执行背后的动机
模拟的目的是在不操纵真实系统的情况下获得系统理解,要么是因为它尚未定义或可用,要么是因为成本、时间、资源或风险限制而无法直接执行。仿真通常在系统模型上执行。
可执行建模允许系统仿真,并支持以下工程分析:
- 评估设计备选方案
- 选择最佳参数集
- 验证系统约束
- 执行需求合规性分析
- 执行假设分析
- 执行 SysML 和 UTP 测试用例
“这是一项重要的发展,因为它需要最少的配置,可以在生命周期的早期使用,并且可以随着设计的成熟而发展。 ————NASA对可执行模型最新趋势的看法
“可执行UML是程序员表达软件解决方案的不断提高的抽象水平的下一个合乎逻辑的,也许是不可避免的进化步骤。未来的应用程序开发人员将使用工具将抽象的应用程序构造转换为可执行实体,而不是将分析产品详细设计为设计产品,然后编写代码。不久的将来,用Java或C++编写应用程序的想法将看起来像今天用汇编程序编写应用程序一样荒谬。 ————————格雷迪·布奇
传动系统
现代传动不仅包括机械部件,还包括电子设备。变速箱控制单元(图 1)根据许多汽车参数控制变速箱并在齿轮之间切换。
图1.传动系统
模型的结构
为了描述变速箱控制器并演示变速箱中的齿轮是如何变化的,我们将创建:
- 结构图 – 描述传输和接口的各个部分
- 行为图 – 描述传输的行为
- 参数图 – 描述模型的分析部分。
我们将合并所有图表以具有一个系统行为描述。我们将添加 UI 并将执行模型。我们将设置自动需求验证。
传输的行为
对于传输的行为部分,我们将使用状态机图。状态机描述特定块的可能状态以及状态之间的转换。在图 2 中,我们看到了简单的状态机,它可以在没有上下文的情况下自行执行 - 系统的结构部分。
图2.状态机
如果我们想根据状态更新值属性,例如主动齿轮(图 3),我们需要保存这些属性的上下文。
图3.具有用于更新属性值的条目操作的状态机
最终状态机图(图4)取决于齿轮:改变差速齿轮比(1),增加RPM(2),在RPM上改变开关齿轮(3)。
图4.最终状态机
变速器的结构
我们将用框定义图(BDD)描述传输的结构(图5)。BDD 用于根据块的特征和与其他块的结构关系来定义块。在 SysML 中,系统由称为块的基本结构元素构建。块包括允许我们在系统模型中描述相同真实世界属性的特征。
图5.传动系统结构
请注意,状态机由块拥有,它所代表的行为(图 6)。
图6.状态机应该在它所描述的行为的系统上下文中
项目结构很重要。行为描述需要包含在执行的元素下面。可执行元素只能有一个主要行为。对于控制其他行为的主要行为,建议使用 状态机 图。状态机图可以用其他行为来丰富,例如在进入状态时启动活动,或者执行代码作为状态之间切换的效果。
车速分析
我们定义了行为描述并连接到结构。现在我们想用更多的参数来丰富模型,并希望做额外的静态和动态计算。对于这些任务,我们需要创建参数化图。
参数图将 SysML 约束块连接为可重用约束网络,这些约束表示约束的数学表达式,这些表达式约束系统的物理属性。SysML 参数图提供了一种将数学方程和约束中描述的工程分析模型与描述系统结构和行为方面的设计模型集成在一起的方法。
我们的目标是根据发动机每分钟转数 (RPM) 计算车速。我们将使用以下四个(图 7)数学表达式。我们将在 SysML 约束块中将它们形式化。
图7.使用约束块的表达式形式化
作为输入,我们需要车轮特性(图 8)。
图8.车速计算所需的车轮特性
我们将在传输控制单元中创建值属性,以保存分析的输入、中间值和结果值(图 9)。
图9.具有值属性的变速器控制单元
现在,在传输控制单元中,我们将创建 SysML 参数图,以将约束与值属性连接起来(图 10)。
图 10.根据RPM计算车速的参数图
我们将执行参数化模型以根据输入获得结果。执行以 SysML 参数图表示的数学模型,可在仿真过程中随时自动更新相关参数值。数学表达式可以使用 build-inn 数学引擎或众所周知的数学求解器求解。
图 11 显示了 (1) 参数化图执行按钮,(2) 带有已执行模型和即时计算值的仿真对话框变量选项卡。
图 11.参数化图执行
用户界面模型
可以使用用户界面建模图创建用户界面模型。使用拖放,它将各种系统部件连接到GUI组件。
- 类/块到框架
- 按钮信号
- 标签的属性
- 图像到有源元件切换器
在用户界面图(图 12)中,我们将定义模型(蓝色线)并连接到系统模型(红色线)。
图 12.用户界面模型
此外:
- 基于 Web 的 UI – 能够远程运行模拟。
- 开放 API 允许使用选择的专用第三方工具来创建和插入逼真的系统模型;
仿真配置
为了在模型中建立用户界面模型,我们将创建仿真配置图(图 13)。在仿真配置图中,仿真配置元素 (2) 定义需要执行的元素、使用的 UI 以及所有与执行相关的属性。一个人的配置已创建,它会出现,并且可以从下拉列表执行列表 (1) 启动。为了获得齿轮手柄切换动画,我们将使用图像切换器 (3),它允许使用代表不同系统状态的多个图像进行动画处理。
图 13.模型执行配置图
需求验证
对于自动需求验证,我们将创建从变速器控制单元块属性 RPM 到它应满足的要求的满足关系(图 14)。在模型执行和分析的帮助下,我们将检查此属性(和设计)的值是否满足要求。
但什么是成功标准?如何将基于文本的需求形式化为约束块值属性?为此,我们创建了约束块来细化需求。因此,满足需求的属性受到约束块约束的约束,约束块约束细化了需求(图 14)。
图 14.系统特性与需求关系
请注意,在简单情况下,不需要使用约束块手动细化需求。现代建模工具中提供的自然语言分析功能可识别基于预定义和可自定义的文本模式,并自动创建约束 [1]。
协调实体的模拟
仿真配置
用于定义需要执行的元素、使用的 UI 以及所有与执行相关的属性、图表、结果和输入位置。
结构和行为
项目结构很重要。行为描述需要包含在执行的元素下面。可执行元素只能有一个主要行为。主行为使用属性“分类器行为”定义。建议使用状态机图的主要行为。状态机图作为治理图
状态机和其他行为图,例如活动关系
由于OMG fUML执行模型是各种执行的基础,但不支持状态机,因此SCXML引擎封装到fUML执行接口来填补这一空白,并提供不同UML行为的完整集成执行。它允许在 CallBehaviorActions 中调用 Statemachine,使用 Activity 来定义状态的进入/执行/退出活动,使用 SendSignalAction 在状态机中触发转换。
参数化图
它应该包含在需要执行的结构元素中。
可重复使用的元素
可重用元素(接口块、行为(如果不是主要行为)信号、约束块等)可以包含在模型中的任何位置。
子系统的通信
在某些情况下,您希望描述两个独立的子系统如何相互通信。一个块行为发送的信号可以控制另一个块行为,例如触发sate转换(图15)。此任务可以在工具中执行,但需要具有:
- 描述这些子系统如何通信(IBD);
- 应通过哪个端口发送信号
图 15.端口和发送信号动作的关系
用于发送信号的活动可以连接到状态机图,并在执行期间作为转换的影响或作为进入/执行/退出状态时执行的行为进行调用(图 16)。
图 16.状态机的一部分,其中用户的活动作为对传输的影响以发送信号
我们可以在活动图中描述基于概率的 RPM,而不是简单的 RPM(图 18)。
图 18.描述 RPM 更改逻辑的活动图
运行模型执行
一个人的传输模型被创建后就可以执行(图17)(1)。执行时,模拟窗口将打开 (2)。它包含四个选项卡:会话、控制台、变量和断点。此时,将创建变速箱控制单元的实例,您可以在“变量”选项卡中看到该实例。此外,还创建了一个用于执行变速器控制单元块的仿真会话,您可以在模拟窗口的“会话”选项卡中看到该会话。传输控制单元块的分类器行为(状态机)开始执行 (3)。在变速器控制单元 (2) 的模拟会话下创建一个执行状态机的新会话,并且变速器控制单元状态机图打开并从初始伪状态启动并自动移动到停车状态,因为连接初始伪状态和 停车 状态之间的转换没有定义的触发器。当进入 就绪 状态时,将执行其条目行为,这将执行属性更新 gear=“P”。
在计算参数图的同时,它采用默认值并根据表达式计算结果。在任何值变化上重新计算参数图。RPM 值标记为绿色或红色,具体取决于它是否满足的连接要求(图 14)。
显示最后一个用户界面模型和齿轮开关动画 (4)。
图 17.变速器控制单元系统执行
挑战
执行分析以找到齿轮或齿轮速率差之间的最佳切换,并优化传动系统以实现最快的加速(图 19)。为此,将执行结果保存到实例或文件中,并在不同配置之间进行比较。
图 19.变速箱优化,为探索提供更多动力。来源: https://www.youtube.com/watch?v=36H9BVeMYMI
SysML传输模型控制乐高头脑风暴NXT衬套变速箱
在本系列文章的第二部分中,我们将 SysML 传输模型连接到乐高头脑风暴 NXT 衬套变速箱(图 20)。模型将控制齿轮之间的切换。
图 20.乐高4档线性传动模型用于原型。来源: https://www.youtube.com/watch?v=0Aw23jQkP2g
|