A model reference is a reference to another model using a Model block. These references create model hierarchy. Each referenced model has a defined interface that specifies the properties of its inputs and outputs. The defined interface makes the behavior of the referenced model independent of its context in the model hierarchy. For simulation and code generation, a referenced model executes like a single block, or atomic unit, when the parent model executes. Model references are ideal for code reuse, unit testing, parallel builds, and large components. They can also reduce file contention and merge issues.
To determine whether referenced models meet your modeling requirements, see Component-Based Modeling Guidelines.
To learn about code generation for model reference hierarchies, see Referenced Models (Simulink Coder).
To create a protected model, see Model Protection (Simulink Coder).
|Analyze and visualize model referencing dependencies with or without library dependencies|
|Find referenced models and Model blocks in model hierarchy|
|Fully specified Simulink block path|
|Specify root folders for files generated by diagram updates and model builds|
|Update Model blocks to reflect changes to referenced models|
|Convert subsystem to model reference|
|Build standalone executable file or model reference target for model|
|Query contents of Simulink cache files|
|Unpack simulation and code generation targets from Simulink cache file|
|Create harness model that provides isolated environment for testing protected model|
|Return information about publisher that signed the protected model|
|Verify digital signature on protected model|
|Suppress digital signature verification of protected models|
Determine When to Reference Models
- Component-Based Modeling Guidelines
Consider componentization for large models and multiuser development teams.
- Model Reference Basics
Create a model hierarchy by referencing one model in another model. A referenced model contains blocks that execute together as a unit.
- Model Reference Requirements and Limitations
Model references have requirements and limitations relating to features such as reusability, simulation modes, masking, and debugging.
Create Model References
- Reference Existing Models
Include a model in another model.
- Reference Protected Models from Third Parties
Use a protected model that you received from a third party.
- Convert Subsystems to Referenced Models
Prepare a subsystem for conversion, convert the subsystem to a model, and compare simulation results before and after conversion.
- Model Reference Interface and Boundary
Ports in the referenced model correspond with ports at the model reference. Signals that cross the model boundary must meet certain requirements.
- Inspect Model Hierarchies
Examine the contents, structure, model versions, and logged signals in a model hierarchy.
Configure Model References
- Set Configuration Parameters for Model Hierarchies
Configuration parameter values can be different in top models and referenced models. Some configuration parameter values have special requirements or behavior with model referencing.
- Conditionally Execute Referenced Models
Execute referenced models conditionally, similar to conditionally executed subsystems.
- Referenced Model Sample Times
A referenced model can inherit sample times from the model that references it.
- Parameterize Instances of a Reusable Referenced Model
When you model a reusable component as a referenced model, to configure each instance of the component to use different values for block parameters, create model arguments.
- Parameterize a Referenced Model Programmatically
This example shows how to programmatically configure multiple instances of a referenced model to use different values for the same block parameter.
- Group Multiple Model Arguments into a Single Structure
This example shows how to programmatically configure multiple instances of a referenced model to use different values for the same block parameter by using structures.
- Configure Instance-Specific Data for Lookup Tables Programmatically
When you use
Simulink.LookupTableobjects to store and configure lookup table data for ASAP2 or AUTOSAR code generation (for example, STD_AXIS or CURVE), you can configure the objects as model arguments.
Simulate Model Hierarchies
- Choose Simulation Modes for Model Hierarchies
Select the simulation mode for models in a model hierarchy.
- Manage Simulation Targets for Referenced Models
A simulation target, or SIM target, is a MEX-file that implements a referenced model that executes in accelerator mode.
- Share Simulink Cache Files for Faster Simulation
Use Simulink cache files to share build artifacts that let you avoid the cost of a first-time build.
- Reduce Update Time for Referenced Models by Using Parallel Builds
Reduce diagram update time for large model reference hierarchies by using parallel builds.
- Simulate Conditionally Executed Referenced Models
Run a standalone simulation of a conditionally executed referenced model.
- Simulate Multiple Referenced Model Instances in Normal Mode
Simulate a model that contains multiple instances of a referenced model.