Main Content

Refactor Models

Identify modeling clones and patterns to transform model

Use the Model Transformer and the Clone Detector to refactor a model to improve model componentization, readability and enable reuse.

Identify modeling patterns that qualify for transformation into Variant Source or Variant Subsystem blocks. Using Variant Subsystem and Variant Source blocks helps in the reusability of a model for different conditional expressions called variant choices. The active model is a combination of a fixed structure and variable components that you activate depending on the variant choice that you select.

Identify data store blocks that qualify for elimination. Eliminating data store blocks improves model readability by making data dependency explicit.

Identify n-D Lookup Table blocks that qualify for transformation into shared Prelookup blocks and multiple Interpolation blocks. This transformation improves the simulation efficiency.

Identify clones and create a model with the clones replaced by links to the subsystem blocks in a library. Replacing clones with links to library blocks enables component reuse.


mdltransformerOpen Model Transformer
clonedetectionOpen Clone Detector app
Simulink.CloneDetection.findClonesFind clones in a model
Simulink.CloneDetection.replaceClonesReplace clones in a model
Simulink.CloneDetection.checkEquivalencyCheck equivalency of clone-replaced model and original model


Simulink.CloneDetection.Settings Conditions for findClones function
Simulink.CloneDetection.ResultsResults of find clones
Simulink.CloneDetection.ReplacementConfigConditions for clone replacement function
Simulink.CloneDetection.ReplacementResultsResults of replace clones
Simulink.CloneDetection.EquivalencyCheckResultsResults of equivalency check


Clone DetectorEnable model refactorization and subsystem reuse in models by identifying and replacing clones with library links or subsystem references


Model Transformer

Transform Model to Variant System

Use the Model Transformer tool to transform a model into a variant system.

Improve Model Readability by Eliminating Local Data Store Blocks

Use the Model Transformer tool to make data dependency explicit in a model by replacing data store blocks with either a direct signal line, a Delay block or a Merge block.

Improve Efficiency of Simulation by Optimizing Prelookup Operation of Lookup Table Blocks

Use the Model Transformer tool to convert multiple n-D Lookup Table blocks into shared Prelookup blocks and multiple Interpolation blocks.

Clone Detector

Enable Component Reuse by Using Clone Detection

Use the Clone Detector app to replace subsystem clones with library blocks.

Replace Exact Clones with Subsystem Reference

Use the Clone Detector app to replace exact clones with subsystem reference blocks.

Detect and Replace Clones Programmatically

Use the Clone Detection APIs to identify and replace clones in a model.

Featured Examples