Main Content

Check usage of identical modeling patterns

mathworks.hism.hisl_0078

Since R2024a

Dependencies: Simulink® Check™

Usage: High-Integrity System Modeling

Guideline: hisl_0078: Usage of identical modeling patterns

Description

This check identifies identical or similar modeling patterns (clones) in a model that can increase model complexity, complexity of generated code, and testing effort.

  • Modeling patterns – Group of blocks and signal line connections.

  • Identical modeling patterns – Modeling patterns that have identical blocks, signal connections, and parameter values.

  • Similar modeling patterns – Modeling patterns that have identical block types and connections, but can have different block parameter values or signal names.

  • You can manage the parameters evaluated during the clone detection analysis by using the Clone Detector app.

This check identifies two types of modeling patterns:

  • Similar or identical modeling patterns or subsystems that have already been componentized and have no mapped duplicates in the model.

    • The check looks for similar modeling patterns, subsystems, or charts in the library models linked to it.

    • In the Model Advisor report, the check provides a list of groups of blocks, signal lines, subsystems, or charts that are not linked and includes recommended links to existing library subsystems.

  • Similar or identical subsystems in the model that can be componentized and reused.

    • In the Model Advisor report, the check provides a list of groups of subsystems or charts for which libraries can be created, and these groups can be replaced with new library links.

Recommended Actions and Results

Review the violations that are flagged by the check and the recommended action for fixing the issue. After applying the changes, save the model and rerun the check analysis.

Modeling ConditionRecommended Action
The model consists of subsystems, charts, or a group of model elements that are similar or identical to existing libraries.Replace the model elements with links from the existing library blocks.
The model consists of a group of identical or similar subsystems or charts that do not have an existing pattern in the library.Create library blocks for a group of subsystems or charts and replace them with links to those library blocks.
Results for similar modeling patterns are not flagged.Use the Clone Detector app to manage the conditions evaluated during the clone detection analysis.

In addition to the Model Advisor exclusions, the check also considers and displays Clone Detection exclusions in the report. For more information on Clone Detection exclusions, see Exclude Components from Clone Detection.

When the check is run, both library and subsystem clones appear in a single report. However, the Clone Detector app supports reporting of either library or subsystem clones at a time.

Capabilities and Limitations

  • Allows exclusions of blocks and charts

  • Does not support beyond library clones and subsystem clones in the model

  • Does not detect modeling patterns inside charts

  • Does not run on library models

  • Analyzes both active and inactive variant choices

  • Does not require model compilation

Version History

Introduced in R2024a