通过序列图编写架构模型
您可以使用架构视图库中的协同创建和同步工作流来检查和维护 System Composer™ 架构模型与其对应的序列图之间的一致性。这些工作流允许您:
在序列图中创建新生命线和消息时,在架构模型中共建组件、端口和连接器。
反复检查架构与相应的序列图之间的一致性。
有关序列图主题的更多信息,请参阅使用序列图描述系统行为。
交通信号灯示例
使用与 System Composer 集成的序列图,在创建架构模型时高效描述系统行为。序列图与架构模型之间的协同工作流可确保在您对序列图进行更改时,模型保持同步。在序列图中添加生命线和消息会更新架构模型。
在此示例中,您将使用协同工作流与架构模型和序列图来描述行人穿越带交通信号灯的十字路口的场景。
注意
此示例与 以交互方式编写序列图 中的示例不同。TrafficLight
架构模型包含子系统和根架构端口,用于显示子生命线和门。
打开交通信号灯架构的序列图
此交通信号灯示例包含序列图,用于描述行人穿越十字路口的情况。该模型描述了以下步骤:
交通信号灯的周期为绿灯、黄灯、红灯。
当行人过街按钮被按下时,如果交通信号灯为绿色,交通信号灯将从黄色变为红色,并保持该状态一段时间。
行人应在行人通行信号灯亮起时过马路。
打开架构模型。
model = systemcomposer.openModel("TrafficLight");
该架构模型有一个名为 InputPollNested
的序列图。打开架构视图库中的图。
interaction = model.getInteraction("InputPollNested");
open(interaction)
InputPollNested
交互指定了这一系列消息事件。
当
poller
信号事件被识别为inValue
升至1
时,行人过街按钮被按下。当
switch
生命线检测到lampcontroller
生命线发生信号事件时,且switchPed
上升至1
,将触发行人通行信号。
为了描述另一个涉及交互的场景,TrafficLight
架构模型还提供了一个名为 PedLoop
的序列图。
interaction1 = model.getInteraction("PedLoop");
open(interaction1)
通过描述交互创建架构元素
序列图是交互行为的可视化表示。交互通过消息交换序列来指定系统各个部分的交互方式。您可以在序列图中使用生命线、消息、片段和操作数来表示交互的元素。
添加生命线以创建组件
生命线表示作为交互参与者的组件实例。您可以在序列图中添加生命线,以在架构模型中创建新组件。
从工具栏菜单中选择 组件 > 添加生命线。画布上出现另一个带有垂直虚线的框,用于表示生命线。在框中,输入新组件的名称
Machine
。请注意,
Machine
组件现在位于架构模型中。
添加消息以创建连接器和端口
消息表示两条生命线之间的通信。消息具有标签,用于指定消息发生的预期条件。您可以在序列图中添加消息,以在架构模型中创建新连接。
A 消息结束代表交互中消息的一端。将消息添加到序列图时,您可以选择现有端口作为消息端点,也可以创建新端口。
在创建消息后,您可以修改消息的来源和目的地。点击
trafficColor
消息末尾进行选择。点击并拖动
trafficColor
消息末尾到Controller
父生命线。选择trafficColor
端口。选择
trafficColor
端口后,消息末尾从controller
子生命线移至Controller
父生命线。您还可以通过双击消息端点的名称来重命名消息端点和相关的端口。
通过同步序列图和架构保持一致性
共同创作工作流根据您在相应的序列图中所做的更改更新架构模型。当元素不同步时,您可以使用同步工作流来检查一致性。该软件会突出显示序列图中任何不一致的元素。
本节中的同步工作流使用了 TrafficLight
架构模型和 PedLoop
序列图。
从架构模型中删除
Machine
组件。返回序列图,选择 同步 > 检查一致性。请注意,
Machine
生命线被高亮显示,因为组件Machine
在架构模型中不存在。要恢复一致性,您可以删除
Machine
生命线,或在架构模型中点击撤消以恢复Machine
组件。再次点击检查一致性。
有关高级序列图同步技术,请参阅同步序列图和架构模型。
将序列图的元素与需求关联起来
您可以将整个序列图或序列图中的单个元素链接到架构视图库中的需求。需要 Requirements Toolbox™ 许可证。
在序列图中,生命线和门与需求之间的链接连接到相应的架构元素。
将元素与需求链接起来:
要打开需求编辑器 (Requirements Toolbox),在视图选项卡中的需求部分,点击打开需求编辑器。在此处,您可以编写需求、创建需求集并将需求组织成层次结构。
打开需求编辑器,选择要链接到需求的序列图元素。要选择生命线、门、片段或消息,请点击序列图画布上的元素。要选择整个序列图,请点击视图浏览器窗格中的序列图名称。
在需求编辑器中,点击您想要链接所选序列图元素的需求。
您可以通过三种方式将所选序列图元素链接到需求。
在架构视图库中,在视图选项卡中的需求部分,点击链接到所选需求。
在需求编辑器中,右键点击所选需求,然后点击从 "<组件名称>" (组件)链接以获得特定的序列图元素。
在需求编辑器中,点击添加链接,然后为特定的序列图元素选择从 "<组件名称>" (组件)链接。
注意
您可以通过将生命线和门与对应架构元素的需求链接起来来创建已实现的链接。如果删除与生命线或门相对应的架构元素,则从该元素链接需求的选项将被禁用。如果在链接到需求后删除元素,则链接无效。
您可以通过本地链接序列图、消息和片段来创建经过验证的链接,这些链接指向序列图中的相应元素。
要查看从序列图元素链接的需求,请在序列图上选择一个元素。在视图选项卡的需求部分中,点击需求管理器。从所选元素链接的需求会列在窗口底部的需求链接窗格中。
如果按下需求管理器按钮,则与需求相关的每个序列图元素上都会出现一个灰色徽章。要显示相应的需求 ID
和需求 Summary
文本,请指向徽章。
要在需求编辑器中查看这些需求,请指向需求链接窗格中的需求,然后点击在链接视图中显示 按钮。您可以通过将光标停在需求名称上,然后点击删除链接
按钮,从序列图元素中删除需求链接。