Clause: 17.11, 17.33.3, 29.4.3
Description
Currently, LRM mentions that if disable iff condition becomes true, the evaluation of property spec is true.
This makes it difficult for the users to identify the difference in match due to disable iff condition vs. match due to complete property evaluation. Therefore we propose to introduce another evaluation condition called “disabled”. This type of evaluation only occurrs when disable iff condition of the property becomes true.
Suggested Resolution
Clause 17.11, replace the following on page 267:
For an evaluation of the property_spec, there is an evaluation of the underlying
property_expr. If prior to the completion of that evaluation the reset expression becomes true, then the overall
evaluation of the property_spec is true.
By
For an evaluation of the property_spec, there is an evaluation of the underlying
property_expr. If prior to the completion of that evaluation the reset expression becomes true, then the overall evaluation
of the property results in disabled. A property has disabled evaluation if it was preempted due to disable iff condition. A disabled evaluation of a property does not result in success or failure.
Clause 29.4.3, change the following on page 482:
For any assertion, the number of attempts that have not
yet reached any conclusion (success or failure) can be derived from the formula:
in progress = attempts - (successes + vacuous success + disabled + failures)
The example below illustrates some of these queries:
Clause 28.3.2, Add the following:
cbAssertionSuccess
An assertion attempt reaches a success state.
cbAssertionVacuousSuccess
An assertion attempt reaches a vacuous success state.
cbAssertionDisabledEvaluation
An assertion attempt reaches a disabled state (e.g. as a result of disable iff condition becoming true).
Details:
a) In a failing transition, there shall always be at least one element in the expression array.
b) Placing a step callback results in the same callback function being invoked for both success and failure
steps.
c) The content of the cb_time field depends on the reason identified by the reason field, as follows:
— cbAssertionStart: cb_time is the time when the assertion attempt has been started.
— cbAssertionSuccess, cbAssertionVacuousSuccess, cbAssertionDisabledEvaluation and cbAssertionFailure: cb_time is the time when the assertion succeeded or failed.