SystemModelValidate[sys,req]
validates the requirement req in the system model sys.
SystemModelValidate[sys,req,spec]
validates the requirement req according to spec.
SystemModelValidate[sim,…]
validates the requirement for the SystemModelSimulationData object sim.
SystemModelValidate[…,"prop"]
gives the value of the property "prop".


SystemModelValidate
SystemModelValidate[sys,req]
validates the requirement req in the system model sys.
SystemModelValidate[sys,req,spec]
validates the requirement req according to spec.
SystemModelValidate[sim,…]
validates the requirement for the SystemModelSimulationData object sim.
SystemModelValidate[…,"prop"]
gives the value of the property "prop".
Details





- SystemModelValidate is typically used to validate system behaviors related either to safety or performance requirements.
- The requirement req is used to describe how signals evolve over time and will be either true or false as a whole for the system sys.
- The requirement req is specified using the following temporal scoping constructs:
-
SystemModelAlways[t,texpr] texpr is always true for SystemModelEventually[t,texpr] texpr is eventually true for - The global values
and
are given by the simulation interval of the system sys by default.
- The temporal expression texpr is a Boolean-valued function of time t and can be given as:
-
f1[t]<=f2[t], f1[t]>=f2[t], ... with f1[t] and f2[t] real valued b1[t]&&b2[t],b1[t]||b2[t], ... with b1[t] and b2[t] Boolean valued SystemModelSustain[texpr,{min,max}] when texpr is True at least min and at most max time units SystemModelUntil[texpr1,texpr2] when texpr1 is True until texpr2 first becomes True SystemModelDelay[texpr,δ] when texpr[t-δ] is True - The time variable t is specified in the scoping constructs SystemModelAlways or SystemModelEventually.
- SystemModelValidate returns a SystemModelValidationData object val by default that can be used to extract additional properties using the form val["prop"].
- SystemModelValidate[…,"prop"] can be used to directly get the value of val["prop"].
- Validations with uncertainty in parameter, initial values or input signals return success probability, with optional failure configuration reporting.
- Specifications in the association spec related to uncertainty include:
-
"InitialValues" {v1val1,…} variable vi has initial value vali "Inputs" {in1fun1,…} input ini has value funi "ParameterValues" {p1val1,…} parameter pi has value vali - Specifications in spec related to reporting and simulation include:
-
"MaxFailureIntervals" Automatic number of failure configurations to report "SimulationCount" 200 target number of simulations "SimulationInterval" {tmin,tmax} simulate from time tmin to tmax - Typical properties that can be retrieved with SystemModelValidate[…,"prop"] include:
-
"Configuration" failure configurations to report "FailureIntervals" intervals of t at which texpr is False "FailureIntervalsPlot" plot of failure intervals "FailurePlot" - plot of validation of texpr
"FirstFailureTime" first t at which texpr is False "SuccessProbability" requirement validation result - The system model sys can have the following forms:
-
SystemModel[…] general system model StateSpaceModel[…] state-space model TransferFunctionModel[…] transfer function model AffineStateSpaceModel[…] affine state-space model NonlinearStateSpaceModel[…] nonlinear state-space model DiscreteInputOutputModel[…] discrete input-output model - When multiple sources of uncertainty are provided, simulations are performed covering their combinations, using the target number of simulations as an upper bound.
- The values vali in "ParameterValues" and "InitialValues" can take the following forms:
-
pval a single value {pval1,…} custom list of values randomly sampled int an Interval or CenteredInterval uniformly sampled dist an Around or a distribution to sample reg a region to sample uniformly - Multidimensional regions and distributions vald for sets of d variables can be set with {v1,…,vd}vald.
- The inputs funi in "Inputs" can take the following forms:
-
f a single function f[t] at time t {f1,…} a custom list of functions randomly sampled rproc a random process to sample - Vector-valued functions and processes fund for sets of d inputs can be set with {in1,…,ind}fund.
- The following options can be given:
-
Method Automatic what simulation method to use ProgressReporting $ProgressReporting control display of progress SamplingPeriod Automatic sample period for random processes

Examples
open all close allBasic Examples (3)
Validate a bound in the voltage of a resistor in a model of a circuit:
Plot the voltage and the bound:
Validate safety bounds in the temperature response of a heating system when the incoming heat flow is in a region:
Set the interval for the heat flow and simulation count:
Validate for all times after 2000 seconds:
Plot the uncertainty in the temperature for the given heat flow interval together with the bounds:
Validate bounds for the position of a camera in a model of vertical stabilization against force disturbances in the form of white noise:
Set the noisy input and simulation count:
Validate the condition for the whole simulation interval:
Plot the uncertainty in the position of the camera together with the bounds:
Scope (21)
Basic Uses (3)
Validate the requirement, "The DC voltage in the rectifier should not exceed 540 V for more than 0.002 s.":
The DC voltage goes above 540 for 0.00252 s:
Start with a model of a tank system and simulate it for 30 s:
Validate the requirement, "Whenever the water level in the first tank is above 1.2 m, and for at least 6 s more, the water level in the second tank should be above 0.6 m.":
The water level in the second tank goes below 0.6 m too early:
Start with a model of a controlled inverted pendulum system:
Validate the requirement, "Whenever the angular velocity in the motor is below 700 rad/s until the position of the cart reaches 0.9 m, the angle of the pendulum must be between and 0.1 rad.":
Specify uncertainty for the resistance in the motor and set a number of simulations:
The model fails the requirement in all simulations:
Show the failure plot for the stored failure configuration:
Systems (3)
Validate a requirement for a state variable in an AffineStateSpaceModel:
Validate a SystemModelEventually requirement for the step response of an output variable in a TransferFunctionModel with a parameter that follows a normal distribution:
The requirement is for the output to have a lower bound:
This requirement generally fails:
Validate a requirement for the output and input variables in a DiscreteInputOutputModel:
Specify a parameter uncertainty on a, an input sequence u and a simulation count:
The requirement is that the output y[t] is bounded by the input u[t]:
Requirements (2)
The model simulation interval is used when time domain conditions are not given in a SystemModelAlways requirement:
The model simulation interval is used when time domain conditions are not given in an SystemModelEventually requirement:
Specifications (3)
Select a number of simulations to perform with "SimulationCount" when parameters, initial values or inputs have uncertainty:
Specify a parameter uncertainty on a and an input function:
Retrieve the number of simulations:
Select a simulation interval to use in validation with "SimulationInterval":
Specify a parameter uncertainty on a and an input function:
Retrieve the simulation interval:
Select a maximum number of failure configurations for each requirement with "MaxFailureIntervals":
Uncertainty in Values (5)
Validate a requirement with uncertainty generated from giving a list of values for a parameter:
Validate a requirement with uncertainty generated from sampling an interval for a parameter value:
Validate a requirement with uncertainty generated from sampling a distribution for a parameter value:
Validate a requirement with uncertainty generated from sampling a geometric region for a parameter value:
Validate a requirement with uncertainty generated from sampling a Circle for two initial values:
Uncertainty in Inputs (3)
Validate a requirement with uncertainty generated when an ARIMAProcess is used for an input:
Specify a simulation interval and a number of simulations:
Validate a requirement with uncertainty generated when using a two-dimensional process for two inputs:
Specify a number of simulations:
Validate a requirement with uncertainty generated when several functions are used as input:
Use these profiles for the input flow rate in a continuous stirred tank reactor:
Properties (2)
Validate a requirement producing a SystemModelValidationData object:
Specify a parameter uncertainty on a :
Set an input function and a number of simulations:
Retrieve the success probability:
Retrieve the stored failure configurations:
Retrieve the failure plot for the stored failure configuration:
Display a plot of the time intervals where the requirement failed for the stored failure configuration:
Validate a requirement producing a SystemModelValidationData object:
Specify a parameter uncertainty on a:
Set an input function and a number of simulations:
Retrieve the success probability:
Retrieve the stored failure configurations:
Options (3)
Method (1)
Set a custom simulation method with Method:
ProgressReporting (1)
Control progress reporting with ProgressReporting:
SamplingPeriod (1)
Validate a requirement with uncertainty generated when an ARIMAProcess is used for an input:
Specify a simulation interval and a number of simulations:
Set a custom sampling period when sampling the random process when validating:
Applications (4)
Measurement Validation (1)
Start with a model of a camera attached to the top of a moving vehicle:
Simulate the model with a vertical force perturbation:
Plot the position of the camera:
Compute the settling time for the position of the camera with a 25% settling threshold:
Compute the initial and final values for the position of the camera:
Use validation to verify the measurement of the settling time using its definition:
Electrical Vehicle (1)
Start with a simple model of an electrical vehicle following the US EPA Highway Fuel Economy Driving Schedule (HWFET):
Validate the requirement, "The temperature in the battery can only be above 28 ºC for an interval of at most 8.5 minutes.":
Plot the temperature with the bound:
The requirement fails only in one occasion. To see this, validate the requirement, "The temperature in the battery can reach at most 28 ºC.":
Compute the failure interval lengths to see that only one interval is longer than 8.5 minutes:
System Tolerance (1)
The performance of a circuit depends heavily on its components and parameter tolerances. When the resistance of one of the components in this model of a speaker follows a truncated normal distribution, the variation in the current going through the speaker can be measurable:
Set the resistance uncertainty:
Set the simulation interval and the number of simulations:
Plot the uncertainty in the speaker current:
Use the uncertainty to sample and validate a requirement for a bound for the distance between the simulation results and reference data:
Extract a failure configuration, simulate the model and fetch the simulation result:
Plot the distance between the result for the failure configuration and the reference data:
Orbit Stability (1)
Validate the stability of a toy spacecraft in a circular orbit against force disturbances:
Bounds for the radial coordinate should be respected when a radial force that follows a WienerProcess acts on it:
Set a number of stored failure configurations:
Extract the failure configurations and plot them together with the bounds:
Resample and plot the uncertainty for the radial coordinate:
Tech Notes
Related Guides
Related Links
History
Text
Wolfram Research (2025), SystemModelValidate, Wolfram Language function, https://reference.wolfram.com/language/ref/SystemModelValidate.html.
CMS
Wolfram Language. 2025. "SystemModelValidate." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SystemModelValidate.html.
APA
Wolfram Language. (2025). SystemModelValidate. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SystemModelValidate.html
BibTeX
@misc{reference.wolfram_2025_systemmodelvalidate, author="Wolfram Research", title="{SystemModelValidate}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/SystemModelValidate.html}", note=[Accessed: 04-August-2025]}
BibLaTeX
@online{reference.wolfram_2025_systemmodelvalidate, organization={Wolfram Research}, title={SystemModelValidate}, year={2025}, url={https://reference.wolfram.com/language/ref/SystemModelValidate.html}, note=[Accessed: 04-August-2025]}