This block is used to verify a requirement. The input signal "property" can have the three values Violated, Undecided, or Satisfied. The goal is that "property" is always Satisfied. A requirement is violated, if property = Violated. It is untested, if property=Undecided. A Boolean signal can be casted to the three-valued logic required by "property" by cast blocks, such as ToProperty, During, or WhenRising

In the top level of a model, block PrintViolations has to be dragged. This block prints an information message at the end of a simulation, whether a Requirement has been violated or untested in the current simulation run. Furthermore, all Requirement instances store information about the Requirement in a log file (the default name is "<root-name>_log.txt"; this name can be changed via parameter logFile in the instance of PrintViolations. Exactly one line is printed in the log file for every used Requirement block that is either violated or untested:

If the Requirement instance is violated at least once:

   Requirement violated: <full path name> (at time = <first failure time> s)

If the Requirement instance is not tested:

   Requirement untested: <full path name>

For an example to use the Requirement block in graphical form, see Examples.Elementary.Verify.Requirement.
For an example to use the Requirement block in textual form, see Examples.Textual.Elementary.Verify.Requirement.

Generated at 2020-04-03T01:39:31Z by OpenModelicaOpenModelica 1.16.0~dev-260-g390e593 using GenerateDoc.mos