padv.builtin.query.FindModels Class
Namespace: padv.builtin.query
Superclasses: padv.Query, padv.builtin.query.FindArtifacts
Query for finding models
Description
The padv.builtin.query.FindModels class provides a query that can return
models in your project folder. By default, the query finds the Simulink® and System Composer™ models in your project folder. You can automatically include or exclude certain
files by using the optional name-value arguments.
You can use this query in your process model to find models for your tasks to iterate over or use as inputs.
The padv.builtin.query.FindModels class is a handle class.
Creation
Description
creates a query for finding each of the models in your project folder.query = padv.builtin.query.FindModels()
sets certain properties using one or more name-value arguments. For example,
query = padv.builtin.query.FindModels(Name=Value)padv.builtin.query.FindModels(IncludePathRegex =
"modelPrefix.*\.slx") creates a query that can find SLX files where the path
contains modelPrefix.
The padv.builtin.query.FindModels class also has other properties, but you cannot set
those properties during query creation.
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN, where Name is
the argument name and Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: query = padv.builtin.query.FindModels(IncludePathRegex =
"modelPrefix.*\.slx")
Unique identifier for query, specified as a string or a character vector.
Example: "FindMyModels"
Data Types: char | string
Find models with specific project label, specified as a cell array where the first entry is the project label category and the second entry is the project label name.
Example: {"Classification","Design"}
Data Types: cell
Exclude models with specific project label, specified as a cell array where the first entry is the project label category and the second entry is the project label name.
Example: {"Classification","Design"}
Data Types: cell
Find models where the path contains specific text, specified as a string.
Consider using IncludePathRegex instead.
Example: "Control"
Data Types: char | string
Exclude models where the path contains specific text, specified as a string or a
character vector. Consider using ExcludePathRegex
instead.
Example: "Control"
Data Types: string
Find models where the path matches a regular expression pattern, specified as a
character vector or string. IncludePathRegex
expects UNIX®-style path separators.
If you want to use a literal path, use IncludePath instead.
You can specify either IncludePath or
IncludePathRegex but not both.
Example: "modelPrefix.*\.slx"
Data Types: char | string
Exclude models where the path matches a regular expression pattern, specified as
a string or a character vector. ExcludePathRegex
expects UNIX-style path separators.
If you want to use a literal path, use ExcludePath instead.
You can specify either ExcludePath or
ExcludePathRegex but not both.
Example: "modelPrefix.*\.slx"
Data Types: char | string
Include only artifacts that have been added to the current open project or
referenced projects, specified as a numeric or logical 1
(true) or 0 (false).
Note
If you specify InProject as true, you
cannot use the query as an input query.
Example: true
Data Types: logical
Include only artifacts that have been added to the current open project,
specified as a numeric or logical 1 (true) or
0 (false).
Note
If you specify InCurrentProject as
true, you cannot use the query as an input query.
Example: true
Data Types: logical
Properties
Type of artifact, specified as one or more of the values in this table. To specify multiple values, use an array.
| Category | Artifact Type | Description |
|---|---|---|
MATLAB® | "m_class" | MATLAB class |
"m_file" | MATLAB file | |
"m_func" | MATLAB function | |
"m_method" | MATLAB class method | |
"m_property" | MATLAB class property | |
Model Advisor | "ma_config_file" | Model Advisor configuration file |
"ma_justification_file" | Model Advisor justification file | |
Model Finder | "mf_database" | Model Finder database file |
Process Advisor | "padv_dep_artifacts" | Related artifacts that current artifact depends on |
"padv_output_file" | Process Advisor output file | |
Project | "project" | Current project file |
Requirements | "mwreq_file" | Requirement file (since R2024b) |
"mwreq_item" | Requirement (since R2024b) | |
| Requirement (for R2024a and earlier) | |
"sl_req_file" | Requirement file (for R2024a and earlier) | |
"sl_req_table" | Requirements Table | |
Stateflow® | "sf_chart" | Stateflow chart |
"sf_graphical_fcn" | Stateflow graphical function | |
"sf_group" | Stateflow group | |
"sf_state" | Stateflow state | |
"sf_state_transition_chart" | Stateflow state transition chart | |
"sf_truth_table" | Stateflow truth table | |
Simulink | "sl_block_diagram" | Block diagram |
"sl_data_dictionary_file" | Data dictionary file | |
"sl_embedded_matlab_fcn" | MATLAB function | |
"sl_block_diagram" | Block diagram | |
"sl_library_file" | Library file | |
"sl_model_file" | Simulink model file | |
"sl_protected_model_file" | Protected Simulink model file | |
"sl_subsystem" | Subsystem | |
"sl_subsystem_file" | Subsystem file | |
System Composer | "zc_block_diagram" | System Composer architecture |
"zc_component" | System Composer architecture component | |
"zc_file" | System Composer architecture file | |
| Tests | "harness_info_file" | Harness info file |
"sl_harness_block_diagram" | Harness block diagram | |
"sl_harness_file" | Test harness file | |
"sl_test_case" | Simulink Test™ case | |
"sl_test_case_result" | Simulink Test case result | |
"sl_test_file" | Simulink Test file | |
"sl_test_iteration" | Simulink Test iteration | |
"sl_test_iteration_result" | Simulink Test iteration result | |
"sl_test_report_file" | Simulink Test result report | |
"sl_test_result_file" | Simulink Test result file | |
"sl_test_resultset" | Simulink Test result set | |
"sl_test_seq" | Test Sequence | |
"sl_test_suite" | Simulink Test suite | |
"sl_test_suite_result" | Simulink Test suite result |
Example: "sl_model_file"
Example: ["sl_model_file" "zc_file"]
Find models with specific project label, specified as a cell array where the first entry is the project label category and the second entry is the project label name.
Example: {"Classification","Design"}
Data Types: cell
Exclude models with specific project label, specified as a cell array where the first entry is the project label category and the second entry is the project label name.
Example: {"Classification","Design"}
Data Types: cell
Find models where the path matches a regular expression pattern, specified as a
string or character vector. IncludePathRegex expects
UNIX-style path separators.
If you want to use a literal path, use IncludePath instead. You
can specify either IncludePath or
IncludePathRegex but not both.
Example: "modelPrefix.*\.slx"
Data Types: char | string
Exclude models where the path matches a regular expression pattern, specified as a
string or a character vector. ExcludePathRegex
expects UNIX-style path separators.
If you want to use a literal path, use ExcludePath instead. You
can specify either ExcludePath or
ExcludePathRegex but not both.
Example: "modelPrefix.*\.slx"
Data Types: char | string
Filter out sub-file artifacts from query results, specified as a numeric or logical
1 (true) or 0
(false).
A sub-file is a part of a larger file. For example, a
subsystem is a sub-file of a model file. If you want a query to return both models and
subsystems, you can specify FilterSubFileArtifacts as
false and ArtifactType as
["sl_model_file" "sl_subsystem"].
Example: false
Data Types: logical
Include only artifacts that have been added to the current open project or
referenced projects, specified as a numeric or logical 1
(true) or 0 (false).
Note
If you specify InProject as true, you
cannot use the query as an input query.
Example: true
Data Types: logical
Include only artifacts that have been added to the current open project, specified
as a numeric or logical 1 (true) or
0 (false).
Note
If you specify InCurrentProject as true,
you cannot use the query as an input query.
Example: true
Data Types: logical
Query title, specified as a string or a character vector.
Example: "Find my models"
Data Types: string
Default artifact type returned by the query, specified as one or more of the values in this table. To specify multiple values, use an array.
| Category | Artifact Type | Description |
|---|---|---|
MATLAB | "m_class" | MATLAB class |
"m_file" | MATLAB file | |
"m_func" | MATLAB function | |
"m_method" | MATLAB class method | |
"m_property" | MATLAB class property | |
Model Advisor | "ma_config_file" | Model Advisor configuration file |
"ma_justification_file" | Model Advisor justification file | |
Model Finder | "mf_database" | Model Finder database file |
Process Advisor | "padv_dep_artifacts" | Related artifacts that current artifact depends on |
"padv_output_file" | Process Advisor output file | |
Project | "project" | Current project file |
Requirements | "mwreq_file" | Requirement file (since R2024b) |
"mwreq_item" | Requirement (since R2024b) | |
| Requirement (for R2024a and earlier) | |
"sl_req_file" | Requirement file (for R2024a and earlier) | |
"sl_req_table" | Requirements Table | |
Stateflow | "sf_chart" | Stateflow chart |
"sf_graphical_fcn" | Stateflow graphical function | |
"sf_group" | Stateflow group | |
"sf_state" | Stateflow state | |
"sf_state_transition_chart" | Stateflow state transition chart | |
"sf_truth_table" | Stateflow truth table | |
Simulink | "sl_block_diagram" | Block diagram |
"sl_data_dictionary_file" | Data dictionary file | |
"sl_embedded_matlab_fcn" | MATLAB function | |
"sl_block_diagram" | Block diagram | |
"sl_library_file" | Library file | |
"sl_model_file" | Simulink model file | |
"sl_protected_model_file" | Protected Simulink model file | |
"sl_subsystem" | Subsystem | |
"sl_subsystem_file" | Subsystem file | |
System Composer | "zc_block_diagram" | System Composer architecture |
"zc_component" | System Composer architecture component | |
"zc_file" | System Composer architecture file | |
| Tests | "harness_info_file" | Harness info file |
"sl_harness_block_diagram" | Harness block diagram | |
"sl_harness_file" | Test harness file | |
"sl_test_case" | Simulink Test case | |
"sl_test_case_result" | Simulink Test case result | |
"sl_test_file" | Simulink Test file | |
"sl_test_iteration" | Simulink Test iteration | |
"sl_test_iteration_result" | Simulink Test iteration result | |
"sl_test_report_file" | Simulink Test result report | |
"sl_test_result_file" | Simulink Test result file | |
"sl_test_resultset" | Simulink Test result set | |
"sl_test_seq" | Test Sequence | |
"sl_test_suite" | Simulink Test suite | |
"sl_test_suite_result" | Simulink Test suite result |
Example: "sl_model_file"
Example: ["sl_model_file" "zc_file"]
Initial query that runs before iteration query, specified as either a
padv.Query object or the Name of a
padv.Query object. When you specify an iteration query for a task,
the parent query is the initial query that the build system runs before running the
specified iteration query.
For information on how to improve Process Advisor load times by sharing query instances across your process model, see Best Practices for Process Model Authoring.
Example: sharedQuery
Example: "FindMyInitialArtifacts"
Unique identifier for query, specified as a string or a character vector.
Example: "FindMyModels"
Data Types: char | string
Show file extensions in the Alias property of returned models,
specified as a numeric or logical 1 (true) or
0 (false). The Alias
property controls the display name for the artifact in the Tasks
column in Process Advisor.
By default, queries strip file extensions from the Alias
property of each task iteration artifact. To show file extensions for
all artifacts in the
Tasks column, select the project setting Show file
extensions. To keep file extensions in the results for a specific query,
specify the query property ShowFileExtension as
true.
Example: true
Data Types: logical
Setting for automatically sorting artifacts by address, specified as a numeric or
logical 1 (true) or 0
(false). When a query returns artifacts, the artifacts should be in
a consistent order. By default, the build system sorts artifacts by the artifact
address.
Alternatively, you can sort artifacts in a different order by overriding the
internal sortArtifacts method in a subclass that defines a custom sort
behavior. For an example, see Sort Artifacts in Specific Order.
The build system automatically calls the sortArtifacts method when
using the process model. The sortArtifacts method expects two input
arguments: a padv.Query object and a list of
padv.Artifact objects returned by the run method.
The sortArtifacts method should return a list of sorted
padv.Artifact objects.
Example: SortArtifacts = false
Data Types: logical
Handle to the function that a function-based query
runs, specified as
a function_handle.
If you define your query functionality inside a function and you or the build system
call run on the query, the query runs the function specified by the
function_handle.
The built-in queries are defined inside classes and do not use the
FunctionHandle.
Example: FunctionHandle = @FunctionForQuery
Data Types: function_handle
Methods
This class overrides the following inherited methods.
run | Run query to find the artifacts that meet the criteria specified by the query. The query returns a Note You do not need to manually invoke this method inside your process
model. The build system automatically invokes the
The function artifacts = run(obj,~) ... end |
Examples
You can use the FindModels query in your task
definition to find models that your tasks can iterate over
(IterationQuery) or use as inputs (InputQueries).
For example, suppose that you only want to run the Check Modeling
Standards task for SLX model files where the model name contains
Control.
Open a project. For this example, open the Process Advisor example project.
processAdvisorExampleStart
padv.builtin.query.FindModels as the
IterationQuery.In the process model, reconfigure which models the Check Modeling
Standards task iterates over by updating the
IterationQuery for the task. The associated built-in task is
padv.builtin.task.RunModelStandards. You can update the code to find the
models in the project by using the built-in query
padv.builtin.query.FindModels, but use the
IncludePathRegex argument to have the query only return SLX files
where the model name contains
Control.
if includeModelStandardsTask maTask = pm.addTask(padv.builtin.task.RunModelStandards()); ... % Specify which set of artifacts to run for maTask.IterationQuery = ... padv.builtin.query.FindModels(IncludePathRegex = "Control.*\.slx"); end
For this example, when you save the process model and refresh Process
Advisor, the model AHRS_Voter.slx does not appear under the
task title in Process Advisor because AHRS_Voter.slx does not include
Control in the path.

Although you typically use a query inside your process model, you can
run an instance of the FindModels query outside of your process model to
confirm which artifacts the query returns.
Open a project. For this example, you can open the Process Advisor example project.
processAdvisorExampleStart
Create an instance of the query. You can use the arguments of the query to filter
the query results. For example, you can use the IncludeLabel
argument to have the query only return artifacts that use the Design
project label from the Classification project label
category.
q = padv.builtin.query.FindModels(... IncludeLabel = {"Classification","Design"});
Run the query and inspect the array of artifacts that the query returns.
run(q)
ans =
1×5 Artifact array with properties:
Type
Parent
ArtifactAddressCapabilities and Limitations
This table identifies functionality that is supported by the query.
| Functionality | Supported? |
|---|---|
Input query for task | Only when the query properties |
Iteration query for task | Yes. |
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)