HasConnector
Create query to select architectural elements with connector based on specified subconstraint
Since R2020a
Description
creates a query query
= HasConnector(subconstraint
)query
that the find
and createView
functions use to select architectural elements with a connector
that satisfies the given subconstraint subconstraint
.
Examples
Find All Components with Connectors with Stereotype
Import the namespace that contains all of the System Composer™ queries.
import systemcomposer.query.*
Create a profile for latency characteristics and save it.
profile = systemcomposer.profile.Profile.createProfile("LatencyProfile"); latencybase = profile.addStereotype("LatencyBase"); latencybase.addProperty("latency",Type="double"); latencybase.addProperty("dataRate",Type="double",DefaultValue="10"); connLatency = profile.addStereotype("ConnectorLatency",... Parent="LatencyProfile.LatencyBase"); connLatency.addProperty("secure",Type="boolean"); connLatency.addProperty("linkDistance",Type="double"); nodeLatency = profile.addStereotype("NodeLatency",... Parent="LatencyProfile.LatencyBase"); nodeLatency.addProperty("resources",Type="double",DefaultValue="1"); portLatency = profile.addStereotype("PortLatency",... Parent="LatencyProfile.LatencyBase"); portLatency.addProperty("queueDepth",Type="double"); portLatency.addProperty("dummy",Type="int32"); profile.save
Specify the LatencyProfile.NodeLatency
stereotype as a component
stereotype. Set the default connector stereotype.
nodeLatency.AppliesTo = "Component"; nodeLatency.setDefaultElementStereotype("Connector","LatencyProfile.ConnectorLatency");
Create a model, apply the profile to the model, and add a component. Apply the stereotype on the component. Then, open the Profile Editor.
modelName = "archModel"; arch = systemcomposer.createModel(modelName); systemcomposer.openModel(modelName); arch.applyProfile("LatencyProfile"); newComponent = addComponent(arch.Architecture,"Component"); newComponent.applyStereotype("LatencyProfile.NodeLatency"); systemcomposer.profile.editor(profile)
Create two child components. Add ports. Then, create a connection between the ports and get stereotypes on the connector.
childComponent1 = addComponent(newComponent.Architecture,"Child1"); childComponent2 = addComponent(newComponent.Architecture,"Child2"); outPort1 = addPort(childComponent1.Architecture,"testSig","out"); inPort1 = addPort(childComponent2.Architecture,"testSig","in"); srcPort = getPort(childComponent1,"testSig"); destPort = getPort(childComponent2,"testSig"); connector = connect(srcPort,destPort); stereotypes = getStereotypes(connector)
stereotypes = 1×1 cell array {'LatencyProfile.ConnectorLatency'}
Create a query for all the elements with connectors with the
ConnectorLatency
stereotype and run the query.
constraint = HasConnector(HasStereotype(Property("Name") == "ConnectorLatency")); baseComp = find(arch,constraint,Recurse=true,IncludeReferenceModels=true)
baseComp = 1×1 cell array {'archModel/Component'}
Input Arguments
subconstraint
— Condition restricting the query
query constraint object
Condition restricting the query, specified as a systemcomposer.query.Constraint
object.
Output Arguments
query
— Query
query constraint object
Query, returned as a systemcomposer.query.Constraint
object.
More About
Definitions
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 R2020a
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 (한국어)