Variant System Design

MATLAB and Simulink for Variant System Design

Design, deploy, and manage system variants with Model-Based Design

With MATLAB and Simulink, you can design, deploy and manage variability with reuse for Model-Based Design and Model-Based Systems Engineering.

With MATLAB and Simulink, you can:

  • Model variants throughout the development lifecycle, from design to deployment
  • Introduce structural, parameter, and dimension variation in models
  • Select model variants interactively and programmatically
  • Control variant activation at different stages of simulation and code generation workflows
  • Visualize, define, analyze, and reduce variant configurations and constraints
  • Evaluate multiple product variants using a single model hierarchy

Create Systems with Variants

Variant Topologies

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

Include multiple implementations of a model or subsystem hierarchically using Variant Subsystem. Use inline variants to visualize all possible implementations of variant choices at the same level. Automatically propagate variant conditions throughout the model to ensure correctness and reduce computational load.

Model varying values of parameters using variant parameters to address different requirements of systems that share the same structure.

Variants for Physical Modeling

Use variants to switch between different designs, like a hybrid or fully electric powertrain. Tailor the fidelity of your model to suit your engineering task by selecting higher or lower fidelity variants. Additionally, use the Variant Connector block to activate or deactivate components within a physical system.

Variants for System Architecture

Create multiple structural or behavioral design alternatives in a system architecture model using variant components. Evaluate different implementations in the context of your overall system design.

Manage Design Variants

Configure Design Variants

Define, control, and visualize variant configurations using Variant Manager. Create custom predefined variant configurations or automatically generate them based on design variants. Activate and switch between configurations to manage multiple design alternatives. Define variant constraints to prevent invalid variant combinations. Store, distribute, and reuse variant configurations and variant constraints using variant configuration data objects.

Analyze Variant Configurations

Compare multiple variant configurations in a tabular format to visualize differences and coverage across variant configurations. Trace variant conditions directly in the Simulink canvas to visualize the logic used for variant selection.

Validate variant configurations to identify issues early in the design, without the need to simulate or update.

Analyze variant configurations to find variants that are always active or never active. This helps you locate and diagnose potential faults or inconsistencies in your configurations.

Simulate and Test Design Variants

Simulation and Testing Workflows with Variants

Run simulations with different variant configurations for comprehensive testing and coverage.

Author test cases for your variant model and code in different execution environments, run tests, view results, and create reports. Additionally, run the same test case for different variant configurations by creating test case iterations. Trace the test results to the variant configuration used for each test case or iteration.

Reducing variant configurations.

Reduce Variant Models

Automatically generate a model that includes only selected variant configurations. This can be a single variant configuration, called a 100% model, or a subset of variant configurations, called a 120% model. The source is a top-level 150% model that contains all variants. You can do this process by selecting variant configurations or specifying variant control values.

To distribute and share models, use Variant Reducer. This protects intellectual property by removing unused variants and dependent artifacts such as files, variables, and more. Generate a detailed standalone report with Simulink Report Generator to analyze differences between the original and simplified model, and address warnings due to broken dependencies.

Generate Deployable Code with Variants

Code Generation for Variant Choices

Generate code for models with variants and choose whether to include all variant choices or only the active variant in the generated code.

Activate the required variant choice in the generated code or final executable without needing to regenerate or recompile code. You can create a real-time application with a variant subsystem and run it on hardware connected to your physical system.

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.

Generate AUTOSAR-compliant code with conditional logic for variant handling. Use system constants and variant parameters to define behavior at compile time or run time. Import and export ARXML files with AUTOSAR variants to integrate Simulink into the complete AUTOSAR workflow.

Products

Learn about the products used for variant system design.