Variant System Design

With MATLAB® and Simulink®, you can develop models that address a variety of tasks and requirements. You can adapt your models to specific design requirements by activating a predefined set of variants that are integral parts of a model design. Simulink variant capabilities let you create flexible models to manage, configure, and reuse your designs.

With Simulink, you can:

  • Manage variants in your models throughout the development lifecycle, from requirements to deployment
  • Evaluate multiple designs with a single model
  • Select model variants interactively and programmatically
  • Control variant activation at different stages of simulation and code generation workflows
  • Visualize and analyze variant configurations

“Simulink and Powertrain Blockset enabled us to start with a dynamic engine reference model, automatically resize it for multiple engine variants, and then reuse the resulting parameterized models for both MIL and HIL, saving time and improving the overall quality of our engine control software.”

Hiroshi Katoh, Nissan Motor Corporation

Create Systems with Variants

Variant Topologies

Introduce variants to any aspect of your model. Implement variant designs in all domains, including control logic, state machines, flow charts, physical systems, and AUTOSAR architectures.

Include multiple implementations of a component in a separate hierarchy using component variants. Combine component variants with conditionally executed or event-driven functions to realize context-dependent system behaviors.

Design signal variants to visualize all possible implementations of variant choices at the same level, and automatically propagate variant conditions throughout the model.

Design parameter variants to model varying values of parameters and address different requirements of systems that have the same functionality.

Variants for Physical Modeling

Swap between different designs for your physical system, such as a hybrid or fully electric powertrain, using variants. Tailor the fidelity of your model to match your engineering task by switching to higher or lower fidelity variants.

Variants for System Architecture

Create several structural or behavioral design alternatives in a system architecture model using variant components. Assess different implementations with your overall system design.

Manage Model Variants

Configure Model Variants

Define, control, and visualize variant configurations with Variant Manager. Create predefined variant configurations. Activate and switch between these configurations to control multiple variant designs simultaneously. Define constraints for the configurations to prevent invalid variant combinations. Once variant configurations are defined, you can store, distribute, and reuse them with variant configuration data objects.

Visualize and Analyze Variant Configurations

Visually trace variant conditions directly in the Simulink canvas and compare multiple variant configurations in a tabular form. Validate variant configurations during edit time to identify issues without having to simulate or update your model. Analyze variant configurations to identify variants that will always or never be active, letting you locate and diagnose potential faults or inconsistencies in your configurations.

Simulate and Test Model Variants

Simulation and Testing Workflows with Variants

Perform simulations with different variant configurations in various simulation modes without having to rebuild or recompile the model.

Analyze variants, report coverage results, and perform tests for your variant models. Configure variant activation time to perform verification and validation for the active variant choice or all variant choices in your model.

Integrate Variant Design with Complete Development Lifecycle

Reduce Variant Models

Automatically generate a reduced model from a set of variant configurations or based on specified variant control values. To distribute and share models, use model reduction to protect intellectual property by removing unused variants. Analyze the reduced model in a detailed report to check for broken model dependencies and to validate model structure.

Deploy Variants

Code Generation for Variant Choices

Generate code for your models with variant designs and choose whether to include all variant choices or just the active variant in the code.

Activate the required variant choice in the generated code or the final executable without regenerating or recompiling code.

Model and Implement AUTOSAR Variants

Leverage Simulink variant capabilities to implement scalable AUTOSAR architectures used in software for multiple vehicle lines.

Model AUTOSAR software components with variation points to enable AUTOSAR interfaces or implementations based on predefined control conditions. Import and export ARXML files with AUTOSAR variants to integrate Simulink into the full AUTOSAR workflow.