Verify compliance with style guidelines and modeling standards
Simulink Check™ provides industry-recognized checks and metrics that identify standard and guideline violations during development. Supported high-integrity software development standards include DO-178, ISO 26262, IEC 61508, IEC 62304, and MathWorks Automotive Advisory Board (MAAB) Style Guidelines. Edit-time checks identify compliance issues as you edit. You can create custom checks to comply with your own standards or guidelines.
Simulink Check provides metrics such as size and complexity that you can use to evaluate your model’s architecture and compliance to standards. A consolidated metrics dashboard lets you assess design status and quality. Automatic model refactoring lets you replace duplicate design elements, reduce design complexity, and identify reusable content. The Model Slicer tool isolates problematic behavior in a model and generates a simplified model for debugging.
Support for industry standards is available through IEC Certification Kit (for ISO 26262 and IEC 61508) and DO Qualification Kit (for DO-178).
Ready-to-Use Checks for Developing High-Integrity Software
To improve the quality and security of models and generated code, Simulink Check provides preconfigured checks for industry standards such as DO-178C, DO-331, ISO 26262, IEC 61508, and EN 50128 as well as MISRA C:2012, MAAB style guidelines, IEC 62304 standards for developing high-integrity software, and secure coding standards such as CERT C, CWE, and ISO/IEC TS 17961.
Identify and Fix Errors As You Edit
Much like spell checking helps you avoid spelling errors in a document, edit-time checking notifies you of violations as you edit the model. You can correct errors as you go to minimize costly rework and additional testing late in the development process.
Configure, Customize, and Automate Model Checks
To ensure your model complies with your organization’s own standards or guidelines, you can tailor modeling checks and configurations using Model Advisor APIs or the Model Advisor Configuration Editor. You can run checks on multiple machines in parallel to accelerate compliance verification.
Check for Compliance to Security Standards
To improve compliance of your generated code to CERTC, CWE, and ISO/IEC TS 17961, you can check your model to identify potential modeling constructs that may introduce coding standard compliance.
Collect Model Metrics
Simulink Check collects model metrics that you can use to assess your model’s architecture, complexity, and readability in compliance with DO-178, DO-331, IEC 61508, IEC 62304, ISO 26262, and EN 50128 standards.
View Consolidated Metrics Using a Dashboard
The Metrics Dashboard integrates metrics such as model size, lines of code, status of guideline compliance, reuse, and complexity in a single view, providing you with insight into the quality of your project.
Model Slicer uses static dependency analysis to highlight interdependencies of blocks, signals, and model components and dynamic dependency analysis based on active behavior during simulation to better understand functional dependencies in a large or complex model.
Create Simplified Standalone Model
Model Slicer can isolate a portion of the model based on a user-specified starting point, logged signals, or simulation time window and save it as a smaller model that preserves simulation behavior to help debugging and improve performance.
Activity-Based Time Slicing with Stateflow
The model highlighting can be constrained to simulation time intervals when only selected states and transitions in Stateflow™ are simultaneously active during a simulation to isolate the behavior of interest.
Identify and Refactor Modeling Clones
The Identify Modeling Clones tool analyzes a model to locate duplicate modeling patterns. These duplicated clones can then be automatically refactored with a reusable library to improve maintainability and reduce design complexity.
Transform Models to Improve Component Reusability and Model Readability
The Model Transformer tool identifies modeling patterns that can be transformed into Variant Source or Variant Subsystem blocks and refactors the model to improve model componentization and reusability. It can identify data store blocks that can be eliminated to improve readability.
Detect subsystem or library pattern clones, refactor, and check equivalency of refactored model
Identify blocks not supported by code generation
Launch model slicer to debug property proving violations from Simulink Design Verifier