Variant Component - Add components with alternative designs - Simulink (original) (raw)
Add components with alternative designs
Alternative Configurations of Variant Component Block:
Variant Assembly Component
Description
Use a Variant Component block to create multiple design alternatives for a component.
Add ports to the block to connect to other components. Define an interface for the ports, add properties associated with the component using stereotypes, and define parameters.
To add or connect System Composer⢠components:
- Add an architecture Variant Component block from theModeling tab or the palette. You can also click and drag a box on the canvas, then select the Variant Component block. You can also create a variant component from a Component block or Reference Component block. Right-click on the component and select Add Variant Choice.
- To add a port, select an edge of the component and choose a direction from the menu:
Input
orOutput
- Click and drag the port to create a connection. Connect to another component. You can also create a new component to complete the connection.
- To connect Variant Component blocks to architecture or composition model root ports, drag from the component ports to the containing model boundary. When you release the connection, a root port is created at the boundary.
Note
You can add a mask icon to your component to illustrate the system represented by your component. For more information, see Add Mask Icon on Component.
To manage Variant Component choices:
- By default, two variant choices are created when you create a Variant Component block. Right-click the Variant Component block and select > , then select the active choice.
- To add an additional variant choice, right-click on the Variant Component block and select > .
- Double-click into the Variant Component block to design the variants within it.
- Use the Variant Manager to easily switch between variant choices in a complex model hierarchy. Right-click on the Variant Component block and select > . For more information, see Variant Manager for Simulink.
Examples
Ports
Input
If you connect to a source component, the interfaces on the ports are shared.
Output
If you connect to a destination component, the interfaces on the ports are shared.
Alternative Configurations
Since R2023b
A Variant Assembly Component block is a template that enables you to add or remove its variant choices from external sources without modifying the model. AVariant Assembly Component block can contain Model blocks, Subsystem Reference blocks, or both as its variant choices. You specify the source of variant choices in the block parameter dialog box once and then modify the source to add or remove the variant choices from the block. Unlike Variant Component, you cannot add inline components as the variant choices inside the Variant Assembly Component block. To convert a Variant Component block to a Variant Assembly Component block, follow the steps in Convert Variant Component to Variant Assembly Component. The conversion from Variant Component to Variant Assembly Component is not supported for software architecture and AUTOSAR architecture. The Variant Assembly Component is the same as the Variant Assembly Subsystem block in SimulinkĀ®.
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 |
Term | Definition | Application | More Information |
---|---|---|---|
Variant | A variant is one of many structural or behavioral choices in a variant component. | Use variants to quickly swap different architectural designs for a component while performing analysis. | Create Variants |
Variant control | A variant control is a string that controls the active variant choice. | Set the variant control programmatically to control which variant is active. | Set Variant Control Condition |
Version History
Introduced in R2019a