主要内容

找到

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

描述

例子

路径) =找到(对象约束名称,值查找从满足的模型的根架构开始的所有元素路径约束查询,并带有由一个或多个名称-值参数指定的附加选项。

例子

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

例子

元素) =找到(___查找所有组件、端口或连接器元素元素,满足约束查询,带有由一个或多个名称-值参数指定的附加选项,这些参数必须包括“端口”“连接器”“应用”

例子

路径) =找到(对象约束rootArch名称,值查找从指定的根架构开始的所有元素路径rootArch满足约束查询,并带有由一个或多个名称-值参数指定的附加选项。

例子

全部折叠

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

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

创建一个查询来查找包含字母的组件“c”在他们的“名字”财产。

约束=包含(systemcomposer.query.Property (“名字”),“c”);找到(modelObj、约束“递归”,真的,“IncludeReferenceModels”,真正的)

基于System Composer™查询查找体系结构模型中的元素。

创建模型

创建一个包含两个组件的体系结构模型。

m = systemcomposer.createModel (“exModel”);比较= m.Architecture.addComponent ({“c1”c2的});

创建概要文件和原型

为您的体系结构模型创建概要文件和原型。

pf = systemcomposer.profile.Profile.createProfile (“mProfile”);b = pf.addStereotype (“BaseComp”“AppliesTo”“组件”“抽象”,真正的);s = pf.addStereotype (“在sComp”“父”, b);

应用概要文件和原型

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

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

找到元素

根据查询查找体系结构模型中的元素。

进口systemcomposer.query。*[p, elem] = find(m, HasStereotype(IsStereotypeDerivedFrom(“mProfile。BaseComp”)),...“递归”,真的,“IncludeReferenceModels”,真正的)
p =1 x1单元阵列{' exModel / c1 '}
elem =具有属性的组件:IsAdapterComponent: 0名称:'c1' Parent: [1x1 systemcomposer.arch.]端口:[0x0 systemcomposer.arch.]ComponentPort] OwnedPorts: [0x0 systemcomposer.arch.]OwnedArchitecture: [1x1 systemcomposer.arch.]体系结构] Position: [15 15 65 76] Model: [1x1 systemcomposer.arch.Model] SimulinkHandle: 2.0032 SimulinkModelHandle: 0.0032 UUID: 'd23d27ff-6c50-4e4f-a477-712522fd43bf' ExternalUID: ''

清理

取消注释以删除模型和概要文件。

% m.close(力)% systemcomposer.profile.Profile.closeAll

创建一个用于查询的模型并创建两个组件。

m = systemcomposer.createModel (“exModel”);比较= m.Architecture.addComponent ({“c1”c2的});端口=比较(1).Architecture.addPort (“cport1”“在”);

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

约束=包含(systemcomposer.query.Property (“名字”),“c”);找到(m、约束“递归”,真的,“IncludeReferenceModels”,真的,“应用”“端口”
进口systemcomposer.query。*;scKeylessEntrySystem modelObj = systemcomposer.openModel(“KeylessEntryArchitecture”);找到(modelObj HasStereotype (IsStereotypeDerivedFrom (“AutoProfile。BaseComponent”)),...modelObj。架构,“递归”,真的,“IncludeReferenceModels”,真正的)

输入参数

全部折叠

模型,指定为systemcomposer.arch.Model对象来查询约束

指定为systemcomposer.query.Constraint对象表示特定条件。约束可以包含子约束,该子约束可以使用.约束可以使用

查询对象和约束条件

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

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

例子:modelObj。体系结构

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:找到(模型、约束“递归”,没错,‘IncludeReferenceModels’,真的)

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

例子:找到(模型、约束“递归”,真的)

数据类型:逻辑

选择是否搜索参考架构,指定为0 ()不搜索参考架构或1 (真正的)以搜索参考架构。

例子:找到(模型、约束IncludeReferenceModels,真的)

数据类型:逻辑

选项按类型搜索,指定为“组件”要找到满足查询的组件,“端口”查找满足查询的端口,或“连接器”查找满足查询的连接器。

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

数据类型:字符

输出参数

全部折叠

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

数据类型:字符

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

更多关于

全部折叠

定义

术语 定义 应用程序 更多的信息
体系结构 System Composer™体系结构表示一个组件系统,以及它们如何在结构上和行为上相互接口。您可以使用备用视图来表示特定的体系结构。

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

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

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

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

组成建筑视觉
模型 System Composer模型是包含架构信息的文件,包括组件、端口、连接器、接口和行为。

对模型进行操作:

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

  • 应用概要文件。

  • 链接接口数据字典。

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

System Composer模型存储为SLX文件。

创建具有接口和需求链接的体系结构模型
组件 组件是系统中重要的、几乎独立的、可替换的部分,在体系结构的上下文中实现明确的功能。组件定义架构元素,如功能、系统、硬件、软件或其他概念实体。组件也可以是一个子系统或子功能。 组件表示为块,它是体系结构模型的一部分,可以分离为可重用的构件。 组件
港口 端口是组件或体系结构上的一个节点,它表示与环境的一个交互点。端口允许信息进出其他部件或系统。

有不同类型的端口:

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

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

港口
连接器 连接器是在端口之间提供连接的线。连接器描述了信息如何在组件或体系结构之间流动。 连接器允许两个组件在不定义交互性质的情况下进行交互。在端口上设置接口以定义组件如何交互。 连接

术语 定义 应用程序 更多的信息
视图 视图显示了模型中可定制的元素子集。视图可以基于构造型或组件、端口和接口的名称,以及接口元素的名称、类型或单元进行筛选。通过手动添加元素来创建视图。通过关注架构设计的某些部分,视图创建了一种处理复杂架构的简化方法。

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

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

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

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

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

无钥匙输入系统体系结构建模
元素组 元素组是视图中组件的分组。 使用元素组以编程方式填充视图。
查询 查询是描述模型元素要满足的特定约束或标准的规范。 使用查询来搜索带有约束条件的元素和过滤视图。 使用查询查找模型中的元素
组件图 组件图表示基于模型结构的带有组件、端口和连接器的视图。 组件图允许您以编程方式或手动方式从视图中添加和删除组件。 在自定义架构视图中检查组件
层次结构关系图 您可以将层次图可视化为具有组件、端口、引用类型、组件原型和原型属性的视图。

层次图有两种类型:

  • 组件层次结构关系图以树的形式显示组件,父组件在子组件之上。在组件层次结构视图中,每个引用的模型被表示的次数与它被使用的次数相同。

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

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

介绍了R2019a