Main Content

Upgrade Advisor

Fix models and upgrade them to the current release

Description

Use the Upgrade Advisor to fix your Simulink® models and upgrade them to the current release.

The Upgrade Advisor helps you:

  • Identify models that no longer work because of behavior changes or improvements in Simulink.

  • Identify models that you can enhance by using newly released features and settings in Simulink.

  • Transition to new technologies and upgrade a model hierarchy by performing automatic upgrades or providing instructions for manual fixes.

For more information about using Upgrade Advisor with your models, see Upgrade Models Using Upgrade Advisor.

Upgrade Advisor tool

Open the Upgrade Advisor

  • Simulink Editor: On the Modeling tab, select Model Advisor > Upgrade Advisor.

  • MATLAB® Command Window:

    upgradeadvisor("modelname")

  • Model Advisor: In the Model Advisor, click Upgrade Advisor.

Examples

expand all

Open the vdp example model.

openExample("vdp.slx");
On the Modeling tab, select Model Advisor > Upgrade Advisor to open the Upgrade Advisor for this model.

  • To run one individual check, right-click the check and select Run This Check. Alternatively, select the check and use the button in the right pane.

    Upgrade Advisor with one check selected in the left pane and Run This Check button in the right pane

  1. Open the Upgrade Advisor for the vdp example model.

    openExample("vdp.slx");
    upgradeadvisor("vdp")
    

  2. Alternatively, you can open the Upgrade Advisor for the currently selected model.

    upgradeadvisor(bdroot)
    

This example shows how to analyze and upgrade your model, and then apply automatic fixes when they are available.

1. Load your model and create an upgrader object. In this example, to load and open the example model, open the project that contains the model.

openProject("ModelReferenceHierarchy");
upgrader = upgradeadvisor("sldemo_mdlref_depgraph.slx")
upgrader = 
  Upgrader with properties:

      ChecksToSkip: {}
     SkipLibraries: 0
     SkipBlocksets: 1
      OneLevelOnly: 0
        ShowReport: 1
    VerboseLogging: 0
     EnableBackups: 1
         RootModel: 'sldemo_mdlref_depgraph'
        ReportFile: ''

Run "upgrade" on this Upgrader object to analyze and automatically upgrade your models.

2. Analyze the model for recommended upgrades, following library links and model references.

analyze(upgrader);
(1/-) Analyzing Model "sldemo_mdlref_depgraph"
Updating Model Advisor cache...
Model Advisor cache updated. For new customizations, to update the cache, use the Advisor.Manager.refresh_customizations method.
(2/14) Analyzing Model "sldemo_mdlref_heat2cost"
(3/14) Analyzing Model "sldemo_mdlref_house"
(4/14) Analyzing Model "sldemo_mdlref_F2C"
(5/14) Analyzing Model "sldemo_mdlref_outdoor_temp"
(6/14) Analyzing Model "sldemo_mdlref_thermostat"
(7/14) Analyzing Model "sldemo_mdlref_heater"
(8/14) Analyzing Model "sldemo_mdlref_heat2cost" using compile time information
(9/14) Analyzing Model "sldemo_mdlref_house" using compile time information
(10/14) Analyzing Model "sldemo_mdlref_F2C" using compile time information
(11/14) Analyzing Model "sldemo_mdlref_outdoor_temp" using compile time information
### Searching for referenced models in model 'sldemo_mdlref_outdoor_temp'.
### Unable to find Simulink cache file "sldemo_mdlref_outdoor_temp.slxc".
### Unable to find Simulink cache file "sldemo_mdlref_F2C.slxc".
### Total of 2 models to build.
### Starting serial code generation build.
### Checking status of model reference code generation target for model 'sldemo_mdlref_F2C'.
### Model reference code generation target (sldemo_mdlref_F2C.c) for model sldemo_mdlref_F2C was out of date. sldemo_mdlref_F2C.c did not exist.
### Updating model reference code generation target for: sldemo_mdlref_F2C
### Generating code and artifacts to 'Model specific' folder structure
### Generating code into build folder: /tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_F2C
### Invoking Target Language Compiler on sldemo_mdlref_F2C.rtw
### Using System Target File: /mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/grt/grt.tlc
### Loading TLC function libraries
.......
### Initial pass through model to cache user defined code
.
### Caching model source code
.......................................
### Writing header file sldemo_mdlref_F2C_types.h
### Writing header file sldemo_mdlref_F2C.h
### Writing header file rtwtypes.h
### Writing header file multiword_types.h
### Writing source file sldemo_mdlref_F2C.c
.
### Writing header file sldemo_mdlref_F2C_private.h
### TLC code generation complete (took 2.496s).
### Saving binary information cache.
### Using toolchain: GNU gcc/g++ | gmake (64-bit Linux)
### Creating '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_F2C/sldemo_mdlref_F2C.mk' ...
### Building 'sldemo_mdlref_F2C_rtwlib': "/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/bin/glnxa64/gmake"  -j 4 -l 4 -f sldemo_mdlref_F2C.mk all
gcc -c -fwrapv -fPIC -O0 -DCLASSIC_INTERFACE=1 -DALLOCATIONFCN=0 -DMAT_FILE=0 -DONESTEPFCN=0 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0  -DTID01EQ=1 -DMODEL=sldemo_mdlref_F2C -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DRT -DUSE_RTMODEL -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_F2C -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/extern/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/simulink/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src/ext_mode/common -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/_sharedutils -o "sldemo_mdlref_F2C.o" "/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_F2C/sldemo_mdlref_F2C.c"
### Creating static library ./sldemo_mdlref_F2C_rtwlib.a ...
ar ruvs  ./sldemo_mdlref_F2C_rtwlib.a sldemo_mdlref_F2C.o
ar: `u' modifier ignored since `D' is the default (see `U')
ar: creating ./sldemo_mdlref_F2C_rtwlib.a
a - sldemo_mdlref_F2C.o
### Created: ./sldemo_mdlref_F2C_rtwlib.a
### Successfully generated all binary outputs.
gmake: Nothing to be done for `all'.
### Successfully updated the model reference code generation target for: sldemo_mdlref_F2C
### Simulink cache artifacts for 'sldemo_mdlref_F2C' were created in '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/sldemo_mdlref_F2C.slxc'.

Build Summary

Model reference code generation targets:

Model              Build Reason                                 Status                        Build Duration
============================================================================================================
sldemo_mdlref_F2C  Target (sldemo_mdlref_F2C.c) did not exist.  Code generated and compiled.  0h 0m 13.146s 

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 14.081s

### Searching for referenced models in model 'sldemo_mdlref_outdoor_temp'.
### Total of 1 models to build.
### Starting serial model build.
### Successfully updated the model reference simulation target for: sldemo_mdlref_F2C

Build Summary

Model reference simulation targets:

Model              Build Reason                                          Status                        Build Duration
=====================================================================================================================
sldemo_mdlref_F2C  Target (sldemo_mdlref_F2C_msf.mexa64) did not exist.  Code generated and compiled.  0h 0m 7.6576s 

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 8.0801s
### Searching for referenced models in model 'sldemo_mdlref_outdoor_temp'.
### Total of 1 models to build.
### Starting serial model build.
### Model reference simulation target for sldemo_mdlref_F2C is up to date.

Build Summary

0 of 1 models built (1 models already up to date)
Build duration: 0h 0m 1.201s
(12/14) Analyzing Model "sldemo_mdlref_thermostat" using compile time information
(13/14) Analyzing Model "sldemo_mdlref_heater" using compile time information
### Searching for referenced models in model 'sldemo_mdlref_heater'.
### Unable to find Simulink cache file "sldemo_mdlref_heater.slxc".
### Skipped unpacking from Simulink cache file "sldemo_mdlref_F2C.slxc" because the relevant build artifacts on disk are up to date.
### Unable to find Simulink cache file "sldemo_mdlref_thermostat.slxc".
### Total of 3 models to build.
### Starting serial code generation build.
### Checking status of model reference code generation target for model 'sldemo_mdlref_F2C'.
### Checking for structural changes in sldemo_mdlref_F2C because the model reference rebuild option is set to 'If changes detected'. Structural changes cause the model reference code generation target to be rebuilt.
### Checking for structural changes in model reference code generation target for: sldemo_mdlref_F2C
### Generating code and artifacts to 'Model specific' folder structure
### Code for the model reference code generation target for model sldemo_mdlref_F2C is up to date because no functional changes were found in referenced model.
### Model reference code generation target for sldemo_mdlref_F2C is up to date.
### Checking status of model reference code generation target for model 'sldemo_mdlref_thermostat'.
### Model reference code generation target (sldemo_mdlref_thermostat.c) for model sldemo_mdlref_thermostat was out of date. sldemo_mdlref_thermostat.c did not exist.
### Updating model reference code generation target for: sldemo_mdlref_thermostat
### Generating code and artifacts to 'Model specific' folder structure
### Generating code into build folder: /tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_thermostat
### Invoking Target Language Compiler on sldemo_mdlref_thermostat.rtw
### Using System Target File: /mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/grt/grt.tlc
### Loading TLC function libraries
.......
### Initial pass through model to cache user defined code
.
### Caching model source code
.......................................
### Writing header file sldemo_mdlref_thermostat_types.h
### Writing header file sldemo_mdlref_thermostat.h
### Writing source file sldemo_mdlref_thermostat.c
.
### Writing header file sldemo_mdlref_thermostat_private.h
### TLC code generation complete (took 1.358s).
### Saving binary information cache.
### Using toolchain: GNU gcc/g++ | gmake (64-bit Linux)
### Creating '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_thermostat/sldemo_mdlref_thermostat.mk' ...
### Building 'sldemo_mdlref_thermostat_rtwlib': "/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/bin/glnxa64/gmake"  -j 4 -l 4 -f sldemo_mdlref_thermostat.mk all
gcc -c -fwrapv -fPIC -O0 -DCLASSIC_INTERFACE=1 -DALLOCATIONFCN=0 -DMAT_FILE=0 -DONESTEPFCN=0 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0  -DTID01EQ=1 -DMODEL=sldemo_mdlref_thermostat -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DRT -DUSE_RTMODEL -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_thermostat -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/extern/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/simulink/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src/ext_mode/common -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/_sharedutils -o "sldemo_mdlref_thermostat.o" "/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_thermostat/sldemo_mdlref_thermostat.c"
### Creating static library ./sldemo_mdlref_thermostat_rtwlib.a ...
ar ruvs  ./sldemo_mdlref_thermostat_rtwlib.a sldemo_mdlref_thermostat.o
ar: `u' modifier ignored since `D' is the default (see `U')
ar: creating ./sldemo_mdlref_thermostat_rtwlib.a
a - sldemo_mdlref_thermostat.o
### Created: ./sldemo_mdlref_thermostat_rtwlib.a
### Successfully generated all binary outputs.
gmake: Nothing to be done for `all'.
### Successfully updated the model reference code generation target for: sldemo_mdlref_thermostat
### Simulink cache artifacts for 'sldemo_mdlref_thermostat' were created in '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/sldemo_mdlref_thermostat.slxc'.

Build Summary

Model reference code generation targets:

Model                     Build Reason                                        Status                        Build Duration
==========================================================================================================================
sldemo_mdlref_thermostat  Target (sldemo_mdlref_thermostat.c) did not exist.  Code generated and compiled.  0h 0m 4.5949s 

1 of 2 models built (1 models already up to date)
Build duration: 0h 0m 5.8765s

### Searching for referenced models in model 'sldemo_mdlref_heater'.
### Total of 1 models to build.
### Starting serial model build.
### Successfully updated the model reference simulation target for: sldemo_mdlref_thermostat

Build Summary

Model reference simulation targets:

Model                     Build Reason                                                 Status                        Build Duration
===================================================================================================================================
sldemo_mdlref_thermostat  Target (sldemo_mdlref_thermostat_msf.mexa64) did not exist.  Code generated and compiled.  0h 0m 4.6781s 

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 5.1393s
### Searching for referenced models in model 'sldemo_mdlref_heater'.
### Total of 1 models to build.
### Starting serial model build.
### Model reference simulation target for sldemo_mdlref_thermostat is up to date.

Build Summary

0 of 1 models built (1 models already up to date)
Build duration: 0h 0m 1.3311s
(14/14) Analyzing Model "sldemo_mdlref_depgraph" using compile time information
### Searching for referenced models in model 'sldemo_mdlref_depgraph'.
### Unable to find Simulink cache file "sldemo_mdlref_depgraph.slxc".
### Skipped unpacking from Simulink cache file "sldemo_mdlref_heat2cost.slxc" because the file does not have the relevant build artifacts.
### Skipped unpacking from Simulink cache file "sldemo_mdlref_heater.slxc" because the file does not have the relevant build artifacts.
### Skipped unpacking from Simulink cache file "sldemo_mdlref_F2C.slxc" because the relevant build artifacts on disk are up to date.
### Skipped unpacking from Simulink cache file "sldemo_mdlref_thermostat.slxc" because the relevant build artifacts on disk are up to date.
### Skipped unpacking from Simulink cache file "sldemo_mdlref_house.slxc" because the file does not have the relevant build artifacts.
### Unable to find Simulink cache file "sldemo_mdlref_outdoor_temp.slxc".
### Total of 7 models to build.
### Starting serial code generation build.
### Checking status of model reference code generation target for model 'sldemo_mdlref_heat2cost'.
### Model reference code generation target (sldemo_mdlref_heat2cost.c) for model sldemo_mdlref_heat2cost was out of date. sldemo_mdlref_heat2cost.c did not exist.
### Updating model reference code generation target for: sldemo_mdlref_heat2cost
### Generating code and artifacts to 'Model specific' folder structure
### Generating code into build folder: /tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_heat2cost
### Invoking Target Language Compiler on sldemo_mdlref_heat2cost.rtw
### Using System Target File: /mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/grt/grt.tlc
### Loading TLC function libraries
.......
### Initial pass through model to cache user defined code
.
### Caching model source code
..................................................
### Writing header file sldemo_mdlref_heat2cost_types.h
### Writing header file sldemo_mdlref_heat2cost.h
### Writing source file sldemo_mdlref_heat2cost.c
.
### Writing header file sldemo_mdlref_heat2cost_private.h
### TLC code generation complete (took 1.372s).
### Saving binary information cache.
### Using toolchain: GNU gcc/g++ | gmake (64-bit Linux)
### Creating '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_heat2cost/sldemo_mdlref_heat2cost.mk' ...
### Building 'sldemo_mdlref_heat2cost_rtwlib': "/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/bin/glnxa64/gmake"  -j 4 -l 4 -f sldemo_mdlref_heat2cost.mk all
gcc -c -fwrapv -fPIC -O0 -DCLASSIC_INTERFACE=1 -DALLOCATIONFCN=0 -DMAT_FILE=0 -DONESTEPFCN=0 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0  -DTID01EQ=0 -DMODEL=sldemo_mdlref_heat2cost -DNUMST=1 -DNCSTATES=1 -DHAVESTDIO -DRT -DUSE_RTMODEL -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_heat2cost -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/extern/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/simulink/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src/ext_mode/common -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/_sharedutils -o "sldemo_mdlref_heat2cost.o" "/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_heat2cost/sldemo_mdlref_heat2cost.c"
### Creating static library ./sldemo_mdlref_heat2cost_rtwlib.a ...
ar ruvs  ./sldemo_mdlref_heat2cost_rtwlib.a sldemo_mdlref_heat2cost.o
ar: `u' modifier ignored since `D' is the default (see `U')
ar: creating ./sldemo_mdlref_heat2cost_rtwlib.a
a - sldemo_mdlref_heat2cost.o
### Created: ./sldemo_mdlref_heat2cost_rtwlib.a
### Successfully generated all binary outputs.
gmake: Nothing to be done for `all'.
### Successfully updated the model reference code generation target for: sldemo_mdlref_heat2cost
### Checking status of model reference code generation target for model 'sldemo_mdlref_F2C'.
### Model reference code generation target for sldemo_mdlref_F2C is up to date.
### Checking status of model reference code generation target for model 'sldemo_mdlref_thermostat'.
### Model reference code generation target for sldemo_mdlref_thermostat is up to date.
### Checking status of model reference code generation target for model 'sldemo_mdlref_house'.
### Model reference code generation target (sldemo_mdlref_house.c) for model sldemo_mdlref_house was out of date. sldemo_mdlref_house.c did not exist.
### Updating model reference code generation target for: sldemo_mdlref_house
### Generating code and artifacts to 'Model specific' folder structure
### Generating code into build folder: /tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_house
### Invoking Target Language Compiler on sldemo_mdlref_house.rtw
### Using System Target File: /mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/grt/grt.tlc
### Loading TLC function libraries
.......
### Initial pass through model to cache user defined code
.
### Caching model source code
.......................................................
### Writing header file sldemo_mdlref_house_types.h
### Writing header file sldemo_mdlref_house.h
.
### Writing source file sldemo_mdlref_house.c
### Writing header file sldemo_mdlref_house_private.h
### TLC code generation complete (took 1.965s).
### Saving binary information cache.
### Using toolchain: GNU gcc/g++ | gmake (64-bit Linux)
### Creating '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_house/sldemo_mdlref_house.mk' ...
### Building 'sldemo_mdlref_house_rtwlib': "/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/bin/glnxa64/gmake"  -j 4 -l 4 -f sldemo_mdlref_house.mk all
gcc -c -fwrapv -fPIC -O0 -DCLASSIC_INTERFACE=1 -DALLOCATIONFCN=0 -DMAT_FILE=0 -DONESTEPFCN=0 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0  -DTID01EQ=0 -DMODEL=sldemo_mdlref_house -DNUMST=1 -DNCSTATES=1 -DHAVESTDIO -DRT -DUSE_RTMODEL -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_house -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/extern/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/simulink/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src/ext_mode/common -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/_sharedutils -o "sldemo_mdlref_house.o" "/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_house/sldemo_mdlref_house.c"
### Creating static library ./sldemo_mdlref_house_rtwlib.a ...
ar ruvs  ./sldemo_mdlref_house_rtwlib.a sldemo_mdlref_house.o
ar: `u' modifier ignored since `D' is the default (see `U')
ar: creating ./sldemo_mdlref_house_rtwlib.a
a - sldemo_mdlref_house.o
### Created: ./sldemo_mdlref_house_rtwlib.a
### Successfully generated all binary outputs.
gmake: Nothing to be done for `all'.
### Successfully updated the model reference code generation target for: sldemo_mdlref_house
### Checking status of model reference code generation target for model 'sldemo_mdlref_heater'.
### Model reference code generation target (sldemo_mdlref_heater.c) for model sldemo_mdlref_heater was out of date. sldemo_mdlref_heater.c did not exist.
### Updating model reference code generation target for: sldemo_mdlref_heater
### Generating code and artifacts to 'Model specific' folder structure
### Generating code into build folder: /tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_heater
### Invoking Target Language Compiler on sldemo_mdlref_heater.rtw
### Using System Target File: /mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/grt/grt.tlc
### Loading TLC function libraries
.......
### Initial pass through model to cache user defined code
.
### Caching model source code
............................................
### Writing header file sldemo_mdlref_heater_types.h
### Writing header file sldemo_mdlref_heater.h
### Writing source file sldemo_mdlref_heater.c
### Writing header file sldemo_mdlref_heater_private.h
.
### TLC code generation complete (took 1.291s).
### Saving binary information cache.
### Using toolchain: GNU gcc/g++ | gmake (64-bit Linux)
### Creating '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_heater/sldemo_mdlref_heater.mk' ...
### Building 'sldemo_mdlref_heater_rtwlib': "/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/bin/glnxa64/gmake"  -j 4 -l 4 -f sldemo_mdlref_heater.mk all
gcc -c -fwrapv -fPIC -O0 -DCLASSIC_INTERFACE=1 -DALLOCATIONFCN=0 -DMAT_FILE=0 -DONESTEPFCN=0 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0  -DTID01EQ=1 -DMODEL=sldemo_mdlref_heater -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DRT -DUSE_RTMODEL -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_thermostat -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_F2C -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_heater -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/extern/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/simulink/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src/ext_mode/common -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/_sharedutils -o "sldemo_mdlref_heater.o" "/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_heater/sldemo_mdlref_heater.c"
### Creating static library ./sldemo_mdlref_heater_rtwlib.a ...
ar ruvs  ./sldemo_mdlref_heater_rtwlib.a sldemo_mdlref_heater.o
ar: `u' modifier ignored since `D' is the default (see `U')
ar: creating ./sldemo_mdlref_heater_rtwlib.a
a - sldemo_mdlref_heater.o
### Created: ./sldemo_mdlref_heater_rtwlib.a
### Successfully generated all binary outputs.
gmake: Nothing to be done for `all'.
### Successfully updated the model reference code generation target for: sldemo_mdlref_heater
### Checking status of model reference code generation target for model 'sldemo_mdlref_outdoor_temp'.
### Model reference code generation target (sldemo_mdlref_outdoor_temp.c) for model sldemo_mdlref_outdoor_temp was out of date. sldemo_mdlref_outdoor_temp.c did not exist.
### Updating model reference code generation target for: sldemo_mdlref_outdoor_temp
### Generating code and artifacts to 'Model specific' folder structure
### Generating code into build folder: /tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_outdoor_temp
### Invoking Target Language Compiler on sldemo_mdlref_outdoor_temp.rtw
### Using System Target File: /mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/grt/grt.tlc
### Loading TLC function libraries
.......
### Initial pass through model to cache user defined code
.
### Caching model source code
...............................................
### Writing header file sldemo_mdlref_outdoor_temp_types.h
### Writing header file sldemo_mdlref_outdoor_temp.h
.
### Writing header file model_reference_types.h
### Writing source file sldemo_mdlref_outdoor_temp.c
### Writing header file sldemo_mdlref_outdoor_temp_private.h
### TLC code generation complete (took 1.221s).
### Saving binary information cache.
### Using toolchain: GNU gcc/g++ | gmake (64-bit Linux)
### Creating '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_outdoor_temp/sldemo_mdlref_outdoor_temp.mk' ...
### Building 'sldemo_mdlref_outdoor_temp_rtwlib': "/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/bin/glnxa64/gmake"  -j 4 -l 4 -f sldemo_mdlref_outdoor_temp.mk all
gcc -c -fwrapv -fPIC -O0 -DCLASSIC_INTERFACE=1 -DALLOCATIONFCN=0 -DMAT_FILE=0 -DONESTEPFCN=0 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0  -DTID01EQ=1 -DMODEL=sldemo_mdlref_outdoor_temp -DNUMST=2 -DNCSTATES=0 -DHAVESTDIO -DRT -DUSE_RTMODEL -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_F2C -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_outdoor_temp -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/extern/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/simulink/include -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src -I/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/rtw/c/src/ext_mode/common -I/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/_sharedutils -o "sldemo_mdlref_outdoor_temp.o" "/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/slprj/grt/sldemo_mdlref_outdoor_temp/sldemo_mdlref_outdoor_temp.c"
### Creating static library ./sldemo_mdlref_outdoor_temp_rtwlib.a ...
ar ruvs  ./sldemo_mdlref_outdoor_temp_rtwlib.a sldemo_mdlref_outdoor_temp.o
ar: `u' modifier ignored since `D' is the default (see `U')
ar: creating ./sldemo_mdlref_outdoor_temp_rtwlib.a
a - sldemo_mdlref_outdoor_temp.o
### Created: ./sldemo_mdlref_outdoor_temp_rtwlib.a
### Successfully generated all binary outputs.
gmake: Nothing to be done for `all'.
### Successfully updated the model reference code generation target for: sldemo_mdlref_outdoor_temp
### Simulink cache artifacts for 'sldemo_mdlref_heat2cost' were created in '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/sldemo_mdlref_heat2cost.slxc'.
### Simulink cache artifacts for 'sldemo_mdlref_house' were created in '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/sldemo_mdlref_house.slxc'.
### Simulink cache artifacts for 'sldemo_mdlref_heater' were created in '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/sldemo_mdlref_heater.slxc'.
### Simulink cache artifacts for 'sldemo_mdlref_outdoor_temp' were created in '/tmp/Bdoc25a_2864802_2845198/tp299cbcd4/simulink-ex10270988/ModelReferenceHierarchy/sldemo_mdlref_outdoor_temp.slxc'.

Build Summary

Model reference code generation targets:

Model                       Build Reason                                          Status                        Build Duration
==============================================================================================================================
sldemo_mdlref_heat2cost     Target (sldemo_mdlref_heat2cost.c) did not exist.     Code generated and compiled.  0h 0m 3.8553s 
sldemo_mdlref_house         Target (sldemo_mdlref_house.c) did not exist.         Code generated and compiled.  0h 0m 4.1931s 
sldemo_mdlref_heater        Target (sldemo_mdlref_heater.c) did not exist.        Code generated and compiled.  0h 0m 4.9562s 
sldemo_mdlref_outdoor_temp  Target (sldemo_mdlref_outdoor_temp.c) did not exist.  Code generated and compiled.  0h 0m 3.6838s 

4 of 6 models built (2 models already up to date)
Build duration: 0h 0m 17.518s

### Searching for referenced models in model 'sldemo_mdlref_depgraph'.
### Total of 5 models to build.
### Starting serial model build.
### Successfully updated the model reference simulation target for: sldemo_mdlref_heat2cost
### Model reference simulation target for sldemo_mdlref_thermostat is up to date.
### Successfully updated the model reference simulation target for: sldemo_mdlref_house
### Model reference simulation target for sldemo_mdlref_F2C is up to date.
### Successfully updated the model reference simulation target for: sldemo_mdlref_outdoor_temp

Build Summary

Model reference simulation targets:

Model                       Build Reason                                                   Status                        Build Duration
=======================================================================================================================================
sldemo_mdlref_heat2cost     Target (sldemo_mdlref_heat2cost_msf.mexa64) did not exist.     Code generated and compiled.  0h 0m 4.5599s 
sldemo_mdlref_house         Target (sldemo_mdlref_house_msf.mexa64) did not exist.         Code generated and compiled.  0h 0m 5.1964s 
sldemo_mdlref_outdoor_temp  Target (sldemo_mdlref_outdoor_temp_msf.mexa64) did not exist.  Code generated and compiled.  0h 0m 6.347s  

3 of 5 models built (2 models already up to date)
Build duration: 0h 0m 17.771s
### Searching for referenced models in model 'sldemo_mdlref_depgraph'.
### Total of 5 models to build.
### Starting serial model build.
### Model reference simulation target for sldemo_mdlref_heat2cost is up to date.
### Model reference simulation target for sldemo_mdlref_thermostat is up to date.
### Model reference simulation target for sldemo_mdlref_house is up to date.
### Model reference simulation target for sldemo_mdlref_F2C is up to date.
### Model reference simulation target for sldemo_mdlref_outdoor_temp is up to date.

Build Summary

0 of 5 models built (5 models already up to date)
Build duration: 0h 0m 0.18728s

3. Specify an output to find the location of the report.

reportLocation = upgrader.ReportFile;

4. Configure options before you analyze or upgrade your model.

  • By default, upgradeadvisor generates backup copies for models during the upgrade process. To turn off the generation of backup files, set the EnableBackups property.

upgrader.EnableBackups = false;
  • To skip a check, in the Upgrade Advisor, right-click the check, select Send Check ID to Workspace, and set the ChecksToSkip property.

upgrader.ChecksToSkip = {"mathworks.design.CSStoVSSConvert"};
  • To analyze or upgrade the current model without analyzing library links, model references, or test harnesses that are saved as external models, enable the OneLevelOnly property.

upgrader.OneLevelOnly = true;
  • To analyze or upgrade the current model and model references but not library links, enable the SkipLibraries property.

upgrader.SkipLibraries = true;
  • To analyze and upgrade the current models and files in blocksets or toolboxes, disable the SkipBlocksets property. By default, the Upgrade Advisor does not upgrade files in blocksets or toolboxes. The Upgrade Advisor detects blocksets from the output of the ver function and the existence of the Contents file.

upgrader.SkipBlocksets = false;
  • To turn off showing the report after you analyze or upgrade your model, disable the ShowReport property.

upgrader.ShowReport = false;

5. Upgrade the model and apply automatic fixes when they are available.

upgrade(upgrader);
(1/2) Upgrading Model "sldemo_mdlref_depgraph"
(2/2) Upgrading Model "sldemo_mdlref_depgraph" using compile time information
### Searching for referenced models in model 'sldemo_mdlref_depgraph'.
### Unable to find Simulink cache file "sldemo_mdlref_depgraph.slxc".
### Skipped unpacking from Simulink cache file "sldemo_mdlref_heat2cost.slxc" because the relevant build artifacts on disk are up to date.
### Skipped unpacking from Simulink cache file "sldemo_mdlref_heater.slxc" because the relevant build artifacts on disk are up to date.
### Skipped unpacking from Simulink cache file "sldemo_mdlref_F2C.slxc" because the relevant build artifacts on disk are up to date.
### Skipped unpacking from Simulink cache file "sldemo_mdlref_thermostat.slxc" because the relevant build artifacts on disk are up to date.
### Skipped unpacking from Simulink cache file "sldemo_mdlref_house.slxc" because the relevant build artifacts on disk are up to date.
### Skipped unpacking from Simulink cache file "sldemo_mdlref_outdoor_temp.slxc" because the relevant build artifacts on disk are up to date.
### Total of 7 models to build.
### Starting serial code generation build.
### Checking status of model reference code generation target for model 'sldemo_mdlref_heat2cost'.
### Model reference code generation target for sldemo_mdlref_heat2cost is up to date.
### Checking status of model reference code generation target for model 'sldemo_mdlref_F2C'.
### Model reference code generation target for sldemo_mdlref_F2C is up to date.
### Checking status of model reference code generation target for model 'sldemo_mdlref_thermostat'.
### Model reference code generation target for sldemo_mdlref_thermostat is up to date.
### Checking status of model reference code generation target for model 'sldemo_mdlref_house'.
### Model reference code generation target for sldemo_mdlref_house is up to date.
### Checking status of model reference code generation target for model 'sldemo_mdlref_heater'.
### Model reference code generation target for sldemo_mdlref_heater is up to date.
### Checking status of model reference code generation target for model 'sldemo_mdlref_outdoor_temp'.
### Model reference code generation target for sldemo_mdlref_outdoor_temp is up to date.

Build Summary

0 of 6 models built (6 models already up to date)
Build duration: 0h 0m 0.29324s

### Searching for referenced models in model 'sldemo_mdlref_depgraph'.
### Total of 5 models to build.
### Starting serial model build.
### Model reference simulation target for sldemo_mdlref_heat2cost is up to date.
### Model reference simulation target for sldemo_mdlref_thermostat is up to date.
### Model reference simulation target for sldemo_mdlref_house is up to date.### Searching for referenced models in model 'sldemo_mdlref_depgraph'.
### Total of 5 models to build.
### Starting serial model build.
### Model reference simulation target for sldemo_mdlref_heat2cost is up to date.
### Model reference simulation target for sldemo_mdlref_thermostat is up to date.
### Model reference simulation target for sldemo_mdlref_house is up to date.
### Model reference simulation target for sldemo_mdlref_F2C is up to date.
### Model reference simulation target for sldemo_mdlref_outdoor_temp is up to date.

Build Summary

0 of 5 models built (5 models already up to date)
Build duration: 0h 0m 0.10729s

The Upgrade Advisor displays the list of found issues and automatic fixes.

The Upgrade Advisor saves fixes to the model files.

Related Examples

Programmatic Use

expand all

upgradeadvisor("modelname") opens the Upgrade Advisor for the model specified by modelname. This command loads the model if necessary, but does not open it in the Simulink Editor. Use the Upgrade Advisor to upgrade and improve models with features in the current release.

upgrader = upgradeadvisor("modelname") returns an object that you can use to analyze and upgrade a hierarchy of models programmatically. If you specify an output, then the Upgrade Advisor does not open. You can use the analyze and upgrade object functions with the upgrader object that the upgradeadvisor function returns.

  • To programmatically analyze a model for recommended upgrades, create an upgrader object and use the analyze object function.

  • To programmatically analyze and upgrade a model, create an upgrader object and use the upgrade object function.

  • For information about how to configure options before you analyze or upgrade your model, see Programmatically Analyze and Upgrade Model.

Tips

  • For models with no hierarchy, by default, the Upgrade Advisor selects and runs all checks except the Analyze model hierarchy and continue upgrade sequence check.

    For model hierarchies, use the Analyze model hierarchy and continue upgrade sequence check to guide you through upgrade checks. You must run upgrade checks in this order: first the checks that do not require compile time information and do not trigger an Update Diagram, then the compile checks. For more information, see Analyze model hierarchy and continue upgrade sequence.

  • For the list of individual upgrade advisor checks, see Model Upgrades.

  • For an example that shows how to upgrade your entire MATLAB project, see Check for Compatibility Issues and Upgrade Simulink Models Using Project Upgrade.

Version History

Introduced in R2012b