主要内容

找到

使用查询查找体系结构模型元素

描述

例子

路径= find(模型约束名称,值属性开始的模型根体系结构的所有元素路径约束查询,使用由一个或多个名称-值参数指定的其他选项。

例子

路径元素= find(___返回组件元素元素和他们的路径满足约束查询输入参数遵循上面的语法。如果rootArch如果未提供,则该函数将在模型的根体系结构中查找模型元素。输出参数路径中每个组件的完全限定命名路径元素从给定的根结构。

例子

元素= find(___查找所有组件、端口或连接器元素元素,满足约束查询,使用由一个或多个名称-值参数指定的其他选项,该参数必须包括“端口”“连接器”“应用”

例子

路径= find(模型约束rootArch名称,值查找从指定根体系结构开始的所有元素路径rootArch满足约束查询,使用由一个或多个名称-值参数指定的其他选项。

例子

全部折叠

导入一个模型并运行一个查询来选择具有基于指定子约束的原型的架构元素。

进口systemcomposer.query。*;scKeylessEntrySystem modelObj = systemcomposer.openModel(“KeylessEntryArchitecture”);找到(modelObj HasStereotype (IsStereotypeDerivedFrom (“AutoProfile。BaseComponent”)),...递归= true, IncludeReferenceModels = true)

创建查询以查找包含字母的组件c在他们的的名字财产。

constraint = contains(systemcomposer.query.Property(“名称”),“c”);找到(modelObj、约束递归= true, IncludeReferenceModels = true)

根据System Composer™查询查找架构模型中的元素。

创建模型

创建具有两个组件的体系结构模型。

m = systemcomposer.createModel(“exModel”);comps = m.Architecture.addComponent([“c1”“c2”]);

创建概要和原型

为您的架构模型创建概要文件和原型。

pf = systemcomposer.profile.Profile.createProfile(“mProfile”);b = pf.addStereotype(“BaseComp”AppliesTo =“组件”、抽象= true);s = pf.addStereotype(“在sComp”、家长= b);

应用概要文件和原型

将概要文件和原型应用到您的体系结构模型。

m.Architecture.applyProfile (pf.Name)比较(1).applyStereotype (s.FullyQualifiedName)

找到元素

根据查询查找架构模型中的元素。

进口systemcomposer.query。*[p, elem] = find(m, HasStereotype(IsStereotypeDerivedFrom(“mProfile。BaseComp”)),...递归= true, IncludeReferenceModels = true)
p =1x1单元阵列{' exModel / c1 '}
elem =带有属性的组件:IsAdapterComponent: 0 Architecture: [1x1 systemcomposer.arch.]名称:'c1'父节点:[1x1 systemcomposer.arch.]端口:[0x0 systemcomposer.arch.]ComponentPort] OwnedPorts: [0x0 systemcomposer.arch.]ComponentPort] ownearchitect: [1x1 systemcomposer.arch.]参数:[0x0 systemcomposer.arch.]参数]位置:[15 15 65 76]型号:[1x1 systemcomposer.arch.]Simulin金宝appkModelHandle: 1.2207e-04 UUID: '81e58214-e2ba-400f-a69f-2227de230494' ExternalUID: "

清理

移除模型和概要文件。

cleanUpFindElementsInModel

创建一个模型来查询和创建两个组件。

m = systemcomposer.createModel(“exModel”);comps = m.Architecture.addComponent([“c1”“c2”]);port = comps(1).Architecture.addPort(“cport1”“在”);

创建一个查询以查找包含字母的端口c在他们的的名字财产。

constraint = contains(systemcomposer.query.Property(“名称”),“c”);找到(m、约束递归= true, IncludeReferenceModels = true,应用=“端口”
进口systemcomposer.query。*;scKeylessEntrySystem modelObj = systemcomposer.openModel(“KeylessEntryArchitecture”);找到(modelObj HasStereotype (IsStereotypeDerivedFrom (“AutoProfile。BaseComponent”)),...递归= true, modelObj.Architecture IncludeReferenceModels = true)

输入参数

全部折叠

体系结构模型,指定为systemcomposer.arch.Model对象。

查询,指定为systemcomposer.query.Constraint表示特定条件的对象。

约束可以包含子约束,子约束可以使用.约束可以使用

查询约束的对象和条件

查询对象 条件
财产 给定属性或原型属性的未评估值。
PropertyValue 来自System Composer对象或原型属性的已评估属性值。
HasPort 组件有一个满足给定子约束的端口。
HasInterface 端口具有满足给定子约束的接口。
HasInterfaceElement 接口具有满足给定子约束的接口元素。
HasStereotype 架构元素具有满足给定子约束的原型。
IsInRange 属性值在给定范围内。
AnyComponent 元素是一个组件,而不是一个端口或连接器。
IsStereotypeDerivedFrom 原型是从给定的原型派生出来的。

模型的根体系结构,指定为systemcomposer.arch.Architecture对象或体系结构的属性systemcomposer.arch.Model对象。

例子:modelObj。一个rchitecture

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:找到(模型、约束、递归= true, IncludeReferenceModels = true)

选项来递归搜索模型或只搜索特定的层,指定为1 (真正的)来递归搜索或0 ()只搜索特定的层。

例子:找到(模型、约束、递归= true)

数据类型:逻辑

选项,用于搜索作为逻辑指定的参考体系结构。

例子:找到(模型、约束IncludeReferenceModels = true)

数据类型:逻辑

选项,按类型进行搜索,指定为这些类型之一

  • “组件”查找满足查询的组件

  • “端口”查找满足查询的端口

  • “连接器”以查找满足查询的连接器

例子:找到(模型、约束应用=“港口”)

数据类型:字符|字符串

输出参数

全部折叠

元素路径,作为满足的字符向量单元格数组返回约束

数据类型:字符

元素,返回为systemcomposer.arch.Element满足的对象约束

更多关于

全部折叠

定义

术语 定义 应用程序 更多的信息
体系结构

系统编写器体系结构表示一个由组件组成的系统,以及它们如何在结构上和行为上相互连接。您可以使用备用视图表示特定的体系结构。

不同类型的体系结构描述了系统的不同方面:

  • 功能体系结构描述系统中的数据流。

  • 逻辑架构描述系统的预期操作。

  • 物理架构描述系统中的平台或硬件。

属性在体系结构级别上定义参数参数编辑器

模型

系统编写者模型包含体系结构信息的文件,包括组件、端口、连接器、接口和行为。

对模型进行操作:

  • 提取模型中包含的根级体系结构。

  • 应用概要文件。

  • 链接接口数据字典。

  • 从模型体系结构生成实例。

System Composer模型存储为SLX文件。

创建带有接口和需求链接的架构模型
组件

一个组件是系统中重要的、几乎独立的、可替换的部分,在体系结构上下文中实现明确的功能。组件定义一个体系结构元素,如功能、系统、硬件、软件或其他概念性实体。组件也可以是子系统或子功能。

组件以块的形式表示,是体系结构模型的一部分,可以分离为可重用构件。通过以下方式在组件之间传递信息:

组件
港口

一个港口是组件或体系结构上的节点,表示与其环境的交互点。端口允许信息流进出其他组件或系统。

有不同类型的端口:

  • 组件端口是组件上与其他组件的交互点。

  • 架构的港口是系统边界上的端口,无论边界是在组件内还是在整体体系结构模型内。

港口
连接器

连接器是提供端口之间连接的线路。连接器描述了信息如何在组件或体系结构之间流动。

连接器允许两个组件进行交互,而无需定义交互的性质。在端口上设置接口以定义组件如何交互。

连接

术语 定义 应用程序 更多的信息
视图

一个视图显示模型中可自定义的元素子集。视图可以基于构造型或组件、端口和接口的名称,以及接口元素的名称、类型或单元进行筛选。通过手动添加元素来创建视图。视图通过关注体系结构设计的某些部分,创建了一种处理复杂体系结构的简化方法。

你可以使用不同类型的视图来表示系统:

  • 操作视图演示系统将如何使用,以及应该如何与需求分析集成。

  • 功能视图关注系统必须做什么才能运行。

  • 物理视图展示如何构造和配置系统。

视点表示指定视图内容的涉众透视图。

无钥匙门禁系统的建模体系结构
元素组

一个元素组视图中组件的分组。

使用元素组以编程方式填充视图。

查询

一个查询是描述模型元素要满足的某些约束或标准的规范。

使用查询搜索具有约束条件的元素并过滤视图。

使用查询在模型中查找元素
组件图

一个组件图根据模型的结构方式表示包含组件、端口和连接器的视图。

组件图允许您以编程方式或手动方式从视图中添加和删除组件。

在自定义体系结构视图中检查组件
层次结构关系图

你可以想象层次结构关系图作为一个包含组件、端口、引用类型、组件构造型和构造型属性的视图。

有两种类型的层次图:

  • 组件层次结构图以树的形式显示组件,父元素高于子元素。在组件层次结构视图中,每个被引用的模型都被表示为它被使用的次数。

  • 体系结构层次图使用组合连接显示独特的组件体系结构类型及其关系。在体系结构层次结构视图中,每个引用的模型只表示一次。

使用视图显示组件层次结构和架构层次结构

版本历史

在R2019a中引入