smartConnect - Auto-connect select components in model using port names or custom
policy - MATLAB ([original](https://www.mathworks.com/help/systemcomposer/ref/systemcomposer.arch.architecture.smartconnect.html)) ([raw](?raw))
Auto-connect select components in model using port names or custom policy
Since R2025a
Syntax
Description
[[connectors](#mw%5Fbe01809b-59bf-4aae-a4e0-f9522f559b53%5Fsep%5Fmw%5F6d04df0a-97d5-4b05-9d28-bf6ac0db83c4),[diag](#mw%5F29da9c07-3621-4555-9a31-add4f03ef14f)] = smartConnect([arch](#mw%5Fbe01809b-59bf-4aae-a4e0-f9522f559b53%5Fsep%5Fmw%5Feac4bd99-f7ec-4b2d-8753-44a4fc3f47d4))
auto-connects selected components in an architecture model using port names.
[[connectors](#mw%5Fbe01809b-59bf-4aae-a4e0-f9522f559b53%5Fsep%5Fmw%5F6d04df0a-97d5-4b05-9d28-bf6ac0db83c4),[diag](#mw%5F29da9c07-3621-4555-9a31-add4f03ef14f)] = smartConnect([arch](#mw%5Fbe01809b-59bf-4aae-a4e0-f9522f559b53%5Fsep%5Fmw%5Feac4bd99-f7ec-4b2d-8753-44a4fc3f47d4),Policy=[policy](#mw%5F41f3fe64-3c82-4222-8085-96f63ad3fbaf))
auto-connects selected components in an architecture model using a custom policy.
Examples
This example shows how to connect components in the mSmartConnect.slx
architecture model with default port name matching using the smartConnect
function.
model = systemcomposer.loadModel("mSmartConnect"); conns = smartConnect(model.Architecture)
conns=1×6 Connector array with properties: SourcePort DestinationPort Name Parent Ports Model SimulinkHandle SimulinkModelHandle UUID ExternalUID
This example shows how to connect components in the mPortNameAmbiguous.slx
architecture model that lead to diagnostic warnings.
model = systemcomposer.loadModel('mPortNameAmbiguous'); [conns,diag] = smartConnect(model.Architecture); diag
diag = MSLException with properties:
handles: {[0×1 double]}
identifier: 'systemcomposer_operations:EditorOperationsImpl:ConnectorCreationFailed'
message: 'Unable to create connector.'
cause: {3×1 cell}
stack: [10×1 struct]
Correction: []
ans = MSLException with properties:
handles: {[0×1 double]}
identifier: 'systemcomposer_operations:EditorOperationsImpl:CreateConnectorPortInterfaceMismatch'
message: 'Unable to connect input port 'mPortNameAmbiguous/Y/p5'. Multiple output ports with same name are available, but their interfaces do not match.'
cause: {}
stack: [10×1 struct]
Correction: []
ans = MSLException with properties:
handles: {[0×1 double]}
identifier: 'systemcomposer_operations:EditorOperationsImpl:CreateConnectorPortInterfaceMismatch'
message: 'Unable to connect input port 'mPortNameAmbiguous/Z/p2'. Multiple output ports with same name are available, but their interfaces do not match.'
cause: {}
stack: [10×1 struct]
Correction: []
ans = MSLException with properties:
handles: {[0×1 double]}
identifier: 'systemcomposer_operations:EditorOperationsImpl:CreateConnectorPortInterfaceMismatch'
message: 'Unable to connect input port 'mPortNameAmbiguous/Y/p1'. Multiple output ports with same name are available, but their interfaces do not match.'
cause: {}
stack: [10×1 struct]
Correction: []
Input Arguments
Output Arguments
More About
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 |
Version History
Introduced in R2025a
See Also
Functions
- iterate | getQualifiedName | lookup | systemcomposer.createModel | systemcomposer.loadModel | systemcomposer.openModel | open | save | close | createArchitectureModel | createArchitectureSubsystem | linkToModel | inlineComponent | addComponent | addPort | getPort | setName | connect | setMaskImage | IsAdapterComponent | getUnconnectedPorts | getSmartConnectPolicy | setSmartConnectPolicy | destroy
Objects
- systemcomposer.arch.Element | systemcomposer.arch.Architecture | systemcomposer.arch.Component | systemcomposer.arch.ComponentPort | systemcomposer.arch.ArchitecturePort | systemcomposer.arch.Connector | systemcomposer.arch.PhysicalConnector