findElementsWithInterface
Syntax
Description
finds all elements elements
= findElementsWithInterface(containerObj
,kind
,interfaces
)elements
of type kind
whose
type is set by one of the specified interfaces interfaces
.
finds all elements whose type is set by one of the specified interfaces with additional
options specified by one or more name-value argumentselements
= findElementsWithInterface(___,Name=Value
)
Examples
Find Elements Using Query Programmatic Interfaces
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: [0x0 systemcomposer.profile.Stereotype] AppliesTo: 'Port' Abstract: 1 Icon: '' ComponentHeaderColor: [210 210 210] ConnectorLineColor: [168 168 168] ConnectorLineStyle: 'Default' FullyQualifiedName: 'mProfile.BasePort' Profile: [1x1 systemcomposer.profile.Profile] OwnedProperties: [0x0 systemcomposer.profile.Property] Properties: [0x0 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
containerObj
— Container object
model object | dictionary object
Container object, specified as one of these options:
kind
— Element type
"Port"
| "InterfaceElement"
Element type, specified as one of these options:
"Port"
"InterfaceElement"
Data Types: string
interfaces
— Interfaces
array of data interface objects
Interfaces, specified as an array of systemcomposer.interface.DataInterface
objects.
Name-Value Arguments
Specify optional pairs of arguments as
Name1=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)
NegateResult
— Whether to negate query result
0
(false
) (default) | 1
(true
)
Whether to negate query result, specified as 1
(true
) or 0
(false
).
Data Types: logical
IncludeReferences
— Option to search through reference architectures
1
(true
) (default) | 0
(false
)
Option to search through reference architectures, specified as 1
(true
) or 0
(false
).
Data Types: logical
Output Arguments
elements
— Elements found
array of component objects | array of port objects | array of connector objects | array of physical connector objects | array of data interface objects | array of data element objects | array of value type objects | array of physical interface objects | array of physical element objects | array of service interface objects | array of function element objects | array of stereotype objects
Elements found, returned as an array of these objects:
More About
Definitions
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. | |
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. | |
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:
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 | 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. |
| |
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. |
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. | |
element group | An element group is a grouping of components in a view. | Use element groups to programmatically populate a view. | |
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. |
System Composer has two types of hierarchy diagrams:
| Display Component Hierarchy and Architecture Hierarchy Using Views |
Version History
Introduced in R2023a
See Also
Tools
Objects
Functions
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)