找到
使用查询查找体系结构模型元素
语法
描述
例子
查找满足查询的模型元素路径
导入一个模型并运行一个查询来选择具有基于指定子约束的原型的架构元素。
进口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 |
原型是从给定的原型派生出来的。 |
rootArch
- - - - - -模型根结构
架构对象|体系结构
模型对象的属性
模型的根体系结构,指定为systemcomposer.arch.Architecture
对象或体系结构
的属性systemcomposer.arch.Model
对象。
例子:modelObj。一个rchitecture
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:找到(模型、约束、递归= true, IncludeReferenceModels = true)
递归
- - - - - -选项递归搜索模型
真正的
或1(默认)|假
或0
选项来递归搜索模型或只搜索特定的层,指定为1 (真正的
)来递归搜索或0 (假
)只搜索特定的层。
例子:找到(模型、约束、递归= true)
数据类型:逻辑
IncludeReferenceModels
- - - - - -选项搜索参考体系结构
假
或0(默认)|真正的
或1
选项,用于搜索作为逻辑指定的参考体系结构。
例子:找到(模型、约束IncludeReferenceModels = true)
数据类型:逻辑
应用的
- - - - - -选项按类型搜索
“组件”
(默认)|“端口”
|“连接器”
选项,按类型进行搜索,指定为这些类型之一
“组件”
查找满足查询的组件“端口”
查找满足查询的端口“连接器”
以查找满足查询的连接器
例子:找到(模型、约束应用=“港口”)
数据类型:字符
|字符串
输出参数
路径
-元素路径
字符向量的单元格数组
元素路径,作为满足的字符向量单元格数组返回约束
.
数据类型:字符
元素
——元素
元素对象
元素,返回为systemcomposer.arch.Element
满足的对象约束
.
更多关于
定义
术语 | 定义 | 应用程序 | 更多的信息 |
---|---|---|---|
体系结构 | 系统编写器体系结构表示一个由组件组成的系统,以及它们如何在结构上和行为上相互连接。您可以使用备用视图表示特定的体系结构。 |
不同类型的体系结构描述了系统的不同方面:
属性在体系结构级别上定义参数参数编辑器. |
|
模型 | 系统编写者模型包含体系结构信息的文件,包括组件、端口、连接器、接口和行为。 |
对模型进行操作:
System Composer模型存储为SLX文件。 |
创建带有接口和需求链接的架构模型 |
组件 | 一个组件是系统中重要的、几乎独立的、可替换的部分,在体系结构上下文中实现明确的功能。组件定义一个体系结构元素,如功能、系统、硬件、软件或其他概念性实体。组件也可以是子系统或子功能。 |
组件以块的形式表示,是体系结构模型的一部分,可以分离为可重用构件。通过以下方式在组件之间传递信息: |
组件 |
港口 | 一个港口是组件或体系结构上的节点,表示与其环境的交互点。端口允许信息流进出其他组件或系统。 |
有不同类型的端口:
|
港口 |
连接器 | 连接器是提供端口之间连接的线路。连接器描述了信息如何在组件或体系结构之间流动。 |
连接器允许两个组件进行交互,而无需定义交互的性质。在端口上设置接口以定义组件如何交互。 |
连接 |
术语 | 定义 | 应用程序 | 更多的信息 |
---|---|---|---|
视图 | 一个视图显示模型中可自定义的元素子集。视图可以基于构造型或组件、端口和接口的名称,以及接口元素的名称、类型或单元进行筛选。通过手动添加元素来创建视图。视图通过关注体系结构设计的某些部分,创建了一种处理复杂体系结构的简化方法。 |
你可以使用不同类型的视图来表示系统:
视点表示指定视图内容的涉众透视图。 |
无钥匙门禁系统的建模体系结构 |
元素组 | 一个元素组视图中组件的分组。 |
使用元素组以编程方式填充视图。 |
|
查询 | 一个查询是描述模型元素要满足的某些约束或标准的规范。 |
使用查询搜索具有约束条件的元素并过滤视图。 |
使用查询在模型中查找元素 |
组件图 | 一个组件图根据模型的结构方式表示包含组件、端口和连接器的视图。 |
组件图允许您以编程方式或手动方式从视图中添加和删除组件。 |
在自定义体系结构视图中检查组件 |
层次结构关系图 | 你可以想象层次结构关系图作为一个包含组件、端口、引用类型、组件构造型和构造型属性的视图。 |
有两种类型的层次图:
|
使用视图显示组件层次结构和架构层次结构 |
版本历史
在R2019a中引入
Beispiel offnen
Sie haben eine geänderte版本dieses Beispiels。Möchten Sie dieses Beispiel mit Ihren Änderungen öffnen?
MATLAB-Befehl
你的身体和身体之间的联系MATLAB-Befehl
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。web浏览器unterstützen keine MATLAB-Befehle。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。