主要内容

在体系结构模型中使用序列图

您可以编写序列图,将预期的系统行为描述为system Composer™体系结构模型组件之间的交互序列。生命线对应于体系结构模型中的组件,而消息对应于组件之间的连接器。您可以创建多个序列图来表示系统的不同操作场景。序列图集成到建筑观景廊在系统作曲家。

有关序列图主题的路线图,请参见使用序列图描述系统行为

这个红绿灯的例子将告诉你如何:

  • 创建一个序列图。

  • 在序列图中添加子生命线。

  • 使用门与序列图中的根体系结构端口交互。

  • 共同创建组件并保持架构模型和序列图同步。

  • 在序列图中创建消息。

  • 使用模型浏览器添加组件。

请注意

本例使用Stateflow®块。如果没有Stateflow许可,则可以打开并模拟模型,但只能进行基本更改,例如修改块参数。

交通灯的例子与层次序列图

这个交通灯示例包含描述行人穿过十字路口的序列图。该模型描述了以下步骤:

  1. 交通信号由红到黄再到绿循环。

  2. 当行人过路按钮被按下时,如果交通信号是绿色的,交通信号将在限定的时间内由黄色转换为红色。

  3. 行人过马路时,步行信号是有效的。

打开包含序列图的System Composer模型。

systemcomposer.openModel(“TrafficLight”);

打开Architecture Views Gallery以查看序列图。

openViews(模型)

本例中的序列图表示架构模型中的操作场景。

1.InputPollNested序列图:当轮询器将信号事件识别为inValue上升到1,按下行人过路按钮。接下来,开关生命线识别到的信号事件lampcontroller作为switchPed上升到1,从而启动行人过路信号。

2.PedLoop顺序图:交通灯变化trafficColor从绿色(3.)至黄色(2)改为红色(1).在每次交通颜色变化后tSwitch价值就0,表示交通灯已更换。在按下人行横道按钮之前,循环重复几次。

模拟体系结构模型

您可以在设置这些变量之后执行模型。

createWorkSpaceVar (“SwitchInputs”,[0 11 18],[-1 1 -1]);createWorkSpaceVar (“inhibitFlag”1 0);

创建序列图

使用System Composer中的架构模型来表示交通灯示例。

具有输入子系统、控制器和灯子系统的交通灯体系结构模型

  1. 导航到建模>序列图中打开序列图建筑观景廊

  2. 要创建一个新的序列图,单击>序列图

  3. 元素的属性在右侧输入名称PedLoop

  4. 选择组件>添加的生命线菜单上的。带有垂直虚线的方框出现在画布上。这是新的生命线。

  5. 单击生命线上的向下箭头查看可用选项。选择命名为lampSubsystem由生命线表示。

一个序列图,其中打开一个菜单,为灯子系统选择一个新的生命线。

将子生命线添加到序列图中

您可以将子生命线添加到序列图中,以表示模型层次结构并描述生命线之间的交互。

  1. 从菜单中选择组件>添加的生命线.从出现的列表中选择控制器组件。

    选择了名为Controller的生命线的菜单。

  2. 子组件名为lampcontroller而且控制器都位于lampSubsystem而且控制器组件,分别。

    带有名为lampcontroller的子组件的灯子系统组件。

  3. 选择lampSubsystem生命线。导航到组件>添加的生命线>添加儿童生命线.选择lampcontroller.的lampcontroller儿童救生索现位于下方lampSubsystem在层级中。

  4. 重复这些步骤控制器生命线来添加控制器孩子的生命线。

    控制器生命线的两个名为controller和switch的子生命线的列表

创建序列图门

  1. 选择lampcontroller生命线,然后单击并拖动它到排水沟区域。开始键入tSwitch方框并选择tSwitch从名单上。看,有一扇门在叫tSwitch已使用来自lampcontroller港口救生索tSwitch

    tSwitch门和灯控制器生命线之间的消息。

  2. 返回到架构图。观察到tSwitch根体系结构端口是否连接到lampcontroller组件在层次结构中的lampSubsystem组件。

    体系结构图显示了tSwitch序列图中对应的根体系结构。

共同创造组件

当您对序列图进行更改时,序列图和体系结构模型之间的共同创建工作流使模型保持同步。在序列图中同时添加生命线和消息会导致对体系结构模型的更新。这个例子展示了组件的共同创建。

  1. 从工具条菜单中选择组件>添加的生命线.另一个带有垂直虚线的方框出现在画布上,表示生命线。在该框中,输入名为

    一个名为Machine的新组件显示在序列图中。

  2. 观察到组件是在体系结构图中共同创建的。

    架构图中添加了一个名为Machine的新组件。

同步序列图和模型

  1. 删除组件从体系结构图。

  2. 返回到序列图并选择Synchronize >一致性检查.看生命线突出显示,因为它不对应于组件。

    机器生命线高亮显示。

  3. 若要恢复一致性,可以删除生命线或按撤销在体系结构模型中恢复组件。

  4. 点击检查的一致性一次。

有关高级序列图同步技术,请参见同步序列图和体系结构模型

在序列图中创建消息

您可以从现有连接创建消息。

  1. 画一条线从控制器生命线lampcontroller生命线。开始打字交通框,在您输入时自动填充。填充文本后,选择交通

    一条名为流量连接的消息在生命线之间的总线和总线端口

  2. trafficColor港口和交通端口在模型中被连接时,消息从交通端口到trafficColor序列图中的端口。

    在灯控制器和控制器生命线之间的交通颜色和交通端口之间显示一条消息。

  3. 您可以在创建消息后修改消息的源和目标。单击trafficColor消息结束时选择它。

    在序列图中选择交通颜色消息结束。

  4. 单击并拖动trafficColor的消息结束。控制器父生命线,然后选择trafficColor端口。

    更改消息结束的位置,并在序列图中选择父生命线上的交通颜色端口。

  5. 一旦trafficColor端口选择后,消息端从控制器儿童生命线控制器父母的生命线。

    序列图中消息结束的新位置。

    还可以通过双击消息结束的名称来重命名消息结束和关联的端口。

使用模型浏览器修改序列图

  1. 位于画布左下角的视图库模型浏览器被称为模型组件.单击并拖动开关子组件到序列图中。

    Model Components面板位于屏幕的左侧。交换机组件高亮显示。

  2. 序列图使用新的生命线进行更新。

    最后的序列图显示了附加的模型组件。

  3. 单击并拖动以重新排序lampSubsystem控制器生命线。

    在序列图中交换了生命线。

从视图创建序列图

  1. 在MATLAB中®命令窗口,输入scKeylessEntrySystem.体系结构模型在Simulink编辑器中打开。金宝app

  2. 打开建筑观景廊对于模型,导航到建模>的观点>体系结构视图

  3. 右键单击音响系统供应商故障查看并选择新序列图

    视图浏览器在屏幕左侧打开。从声音系统供应商分解视图中创建新序列图的选项被选中。

  4. 使用视图中的所有组件创建了一个新的生命线序列图。

    来自声音系统视图的序列图具有声音控制器和仪表板扬声器组件。

相关的话题