Add variant components to architecture
adds a set of variant components specified by the array of names.
variants = addVariantComponent(
To remove a variant component, use the
Create Variant Components
Create a model, get its root architecture, and create two variant components.
model = systemcomposer.createModel("archModel",true); arch = get(model,"Architecture"); names = ["Component1","Component2"]; variantComps = addVariantComponent(arch,names)
variantComps=1×2 object 1×2 VariantComponent array with properties: Architecture Name Parent Ports OwnedPorts OwnedArchitecture Position Model SimulinkHandle SimulinkModelHandle UUID ExternalUID
arch — Architecture
Architecture, specified as a
variantComponents — Names of variant components
cell array of character vectors | array of strings
Names of variant components, specified as a cell array of character vectors or an array of strings.
position — Vector that specifies location of top corner and bottom corner of component
1x4 numeric array
Vector that specifies location of top corner and bottom corner of component,
specified as a
1x4 numeric array. The array denotes the top corner in
terms of its x and y coordinates followed by the
y coordinates of the bottom corner. When adding more than one
variant component, a matrix of size [
Nx4] may be specified where
N is the number of variant components being added.
variants — Variant components
array of components
Variant components, returned as an array of
systemcomposer.arch.VariantComponent objects. This array is the same size as
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.
A System Composer model is the file that contains architectural information, including 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|
A component is a nontrivial, nearly independent, and 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, a 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:
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.
There are different types of ports:
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.
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.
A variant control is a string that controls the active variant choice.
Set the variant control to programmatically control which variant is active.
|Set Variant Control Condition|
Introduced in R2019a
setActiveChoice | Variant