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.

Use the Model Transformer to:

  • 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 multiple Interpolation Using Prelookup blocks that qualify for transformation into a single Interpolation Using Prelookup block in a modeling pattern. This transformation improves the generated code efficiency.

Use the Clone Detector to:

  • 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.

  • Identify and replace clones in a model with the subsystem references.


expand all

mdltransformerOpen Model Transformer
Simulink.ModelTransform.CommonSourceInterpolation.identifyCandidatesIdentify eligible Interpolation Using Prelookup blocks to transform
Simulink.ModelTransform.CommonSourceInterpolation.refactorModelReplace Interpolation Using Prelookup blocks
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.highlightCloneHighlight clone in a Simulink model


expand all

Simulink.ModelTransform.CommonSourceInterpolation.ResultsResults of search for eligible Interpolation Using Prelookup blocks
Simulink.ModelTransform.CommonSourceInterpolation.RefactorResultsRefactored model results
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

Clone Detector