findElementsWithInterface - Find all elements with type set by interface - MATLAB (original) (raw)

Find all elements with type set by interface

Since R2023a

Syntax

Description

[elements](#mw%5F3fe238c2-4c35-48cf-a935-7d01c40534b0%5Fsep%5Fmw%5F92ca4664-24f7-44a2-9bb6-69757d80520d) = findElementsWithInterface([containerObj](#mw%5Fc9ca1530-2300-4ce6-a982-9b5a5c105d9e),[kind](#mw%5F1412ed6b-5783-462e-a41c-c19cd3135b80),[interfaces](#mw%5Fbeb84820-6489-4870-a7b4-08c142fe06b6)) finds all elements elements of type kind whose type is set by one of the specified interfaces interfaces.

example

[elements](#mw%5F3fe238c2-4c35-48cf-a935-7d01c40534b0%5Fsep%5Fmw%5F92ca4664-24f7-44a2-9bb6-69757d80520d) = findElementsWithInterface(___,[Name=Value](#namevaluepairarguments)) finds all elements whose type is set by one of the specified interfaces with additional options specified by one or more name-value arguments

Examples

collapse all

Use functions in the System Composer™ query namespace to filter elements in a model.

Import the namespace that contains all of the System Composer queries.

import systemcomposer.query.*

Load the model and the profile.

sysModel = systemcomposer.loadModel("mBasicModel"); basicProfile = systemcomposer.loadProfile("mProfile");

Find all components in the model.

allComps = findElementsOfType(sysModel,"Component")

allComps=1×10 Component array with properties: IsAdapterComponent Architecture ReferenceName Name Parent Ports OwnedPorts OwnedArchitecture Parameters Position Model SimulinkHandle SimulinkModelHandle UUID ExternalUID

Find all ports in the model.

allPorts = findElementsOfType(sysModel,"Port")

allPorts=1×19 ComponentPort array with properties: Parent ArchitecturePort Name Direction InterfaceName Interface InheritsInterface Connectors Connected Model SimulinkHandle SimulinkModelHandle UUID ExternalUID

Find all stereotypes in the model.

allStereotypes = findElementsOfType(basicProfile,"Stereotype")

allStereotypes=1×10 Stereotype array with properties: Name Description Parent AppliesTo Abstract Icon ComponentHeaderColor ConnectorLineColor ConnectorLineStyle FullyQualifiedName Profile OwnedProperties Properties

Find all interfaces in the model.

allInterfaces = findElementsOfType(sysModel,"Interface")

allInterfaces=1×7 heterogeneous Interface (ValueType, PhysicalInterface, DataInterface) array with properties: UUID ExternalUID

Find components in the model with a name containing "c1".

nameComponents = findElementsWithProperty(sysModel,"Component","Name","c1","contains")

nameComponents=1×2 Component array with properties: IsAdapterComponent Architecture ReferenceName Name Parent Ports OwnedPorts OwnedArchitecture Parameters Position Model SimulinkHandle SimulinkModelHandle UUID ExternalUID

Find all stereotypes in the profile with a name containing "BasePort".

basePortStereotype = findElementsWithProperty(basicProfile,"Stereotype","Name","BasePort","eq")

basePortStereotype = Stereotype with properties:

                Name: 'BasePort'
         Description: ''
              Parent: [0×0 systemcomposer.profile.Stereotype]
           AppliesTo: 'Port'
            Abstract: 1
                Icon: ''
ComponentHeaderColor: [210 210 210]
  ConnectorLineColor: [168 168 168]
  ConnectorLineStyle: 'Default'
  FullyQualifiedName: 'mProfile.BasePort'
             Profile: [1×1 systemcomposer.profile.Profile]
     OwnedProperties: [0×0 systemcomposer.profile.Property]
          Properties: [0×0 systemcomposer.profile.Property]

Find all components in the model using the stereotype "BasePort".

basePorts = findElementsWithStereotype(sysModel,"Port",basePortStereotype)

basePorts=1×18 ComponentPort array with properties: Parent ArchitecturePort Name Direction InterfaceName Interface InheritsInterface Connectors Connected Model SimulinkHandle SimulinkModelHandle UUID ExternalUID

Find all elements using the first two found interfaces.

portsUsingInterfaces = findElementsWithInterface(sysModel,"Port",[allInterfaces(1) allInterfaces(2)])

portsUsingInterfaces=1×2 ComponentPort array with properties: Parent ArchitecturePort Name Direction InterfaceName Interface InheritsInterface Connectors Connected Model SimulinkHandle SimulinkModelHandle UUID ExternalUID

Input Arguments

collapse all

Element type, specified as one of these options:

Data Types: string

Name-Value Arguments

collapse all

Specify optional pairs of arguments asName1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: portsUsingInterfaces = systemcomposer.query.findElementsWithInterface(sysModel,"Port",[allInterfaces(1) allInterfaces(2)],NegateResult=true,IncludeReferences=false)

Whether to negate query result, specified as 1 (true) or 0 (false).

Data Types: logical

Option to search through reference architectures, specified as 1 (true) or 0 (false).

Data Types: logical

Output Arguments

More About

collapse all

Term Definition Application More Information
Architecture A System Composer™ architecture represents a system of components and how they interface with each other structurally and behaviorally. Different types of architectures describe different aspects of systems. You can use views to visualize a subset of components in an architecture. You can define parameters on the architecture level using the Parameter Editor. Compose Architectures VisuallyAuthor Parameters in System Composer Using Parameter Editor
Root A root is at the top of an architecture hierarchy. A root architecture has a boundary defined by its architecture ports that surround the system of interest. The root architecture has a system boundary surrounding your architecture model. You can add architecture ports that define interfaces across the boundary. Compose Architectures Visually
Model A System Composer model is the file that contains architectural information, such as components, ports, connectors, interfaces, and behaviors. Perform operations on a model including extracting root-level architecture, applying profiles, linking interface data dictionaries, or generating instances from model architecture. A System Composer model is stored as an SLX file. Create Architecture Model with Interfaces and Requirement Links
Component A component is a replaceable part of a system that fulfills a clear function in the context of an architecture. A component defines an architectural element, such as a function, another system, hardware, software, or other conceptual entity. A component can also be a subsystem or subfunction. Represented as a block, a component is a part of an architecture model that can be separated into reusable artifacts. Transfer information between components with port interfaces using the Interface Editor, and parameters using the Parameter Editor. Compose Architectures Visually
Port A port is a node on a component or architecture that represents a point of interaction with its environment. A port permits the flow of information to and from other components or systems. Component ports are interaction points on the component to other components. Architecture ports are ports on the boundary of the system, whether the boundary is within a component or the overall architecture model. The root architecture has a boundary defined by its ports. Compose Architectures Visually
Connector Connectors are lines that provide connections between ports. Connectors describe how information flows between components or architectures. A connector allows two components to interact without defining the nature of the interaction. Set an interface on a port to define how the components interact. Compose Architectures Visually
Term Definition Application More Information
View A view shows a customizable subset of elements in a model. Views can be filtered based on stereotypes or names of components, ports, and interfaces, along with the name, type, or units of an interface element. Create views by adding elements manually. Views create a simplified way to work with complex architectures by focusing on certain parts of the architectural design. You can use different types of views to represent the system. Switch between a component diagram, component hierarchy, or architecture hierarchy. For software architectures, you can switch to a class diagram view. A viewpoint represents a stakeholder perspective that specifies the contents of the view. Create Custom Views Using Architecture Views GalleryModeling System Architecture of Keyless Entry System
Element group An element group is a grouping of components in a view. Use element groups to programmatically populate a view. Create Architecture Views InteractivelyCreate Architecture Views Programmatically
Query A query is a specification that describes certain constraints or criteria to be satisfied by model elements. Use queries to search elements with constraint criteria and to filter views. Find Elements in Model Using Queries
Component diagram A component diagram represents a view with components, ports, and connectors based on how the model is structured. Component diagrams allow you to programmatically or manually add and remove components from the view. Inspect Components in Custom Architecture Views
Hierarchy diagram You can visualize a hierarchy diagram as a view with components, ports, reference types, component stereotypes, and stereotype properties. Component hierarchy diagrams display components in tree form with parents above children. In a component hierarchy view, each referenced model is represented as many times as it is used. Architecture hierarchy diagrams display unique component architecture types and their relationships using composition connections. In an architecture hierarchy view, each referenced model is represented only once. Display Component Hierarchy and Architecture Hierarchy Using Views

Version History

Introduced in R2023a

See Also

Tools

Objects

Functions

Topics