[sv-ec] EXT-14: 12.4.11 Object handle guards


Subject: [sv-ec] EXT-14: 12.4.11 Object handle guards
From: Ryan, Ray (Ray_Ryan@mentorg.com)
Date: Mon Sep 08 2003 - 10:32:43 PDT


In the description for EXT-14 the section 12.4.11 introduces
Object handle guards (for constraints).

In this section, a special case is made for predicate expressions
that involve comparisons between two object handles. I believe that
instead, a more general clarification should be made for predicated
constaints.

A predicated constraint consists of a 'expression' and a 'constraint
set' (12.4.5, 12.4.6). I propose that a distinction be made depending
on whether the 'expression' contains a reference to any active random
variable.
If the expression does not contain a reference to any active random
variable, then the expression is a guard for the constraint set. If the
value of the guard expression is false, then the constraint set is inactive.

This definition of a guard expression should apply to both the implication
and if..else forms of conditional constraints.

This construct could be used for other cases, where evaluation of
a constraint would be invalid (besides the special case involving
object handles).

The case of an object handle in a conditional expression may need the
clarification that an object handle itself is never a random variable.
Declaration of an object handle as random, declares all the variables
within the instance of the object to be random, but the handle itself
is not a random variable - the value of the handle is never randomized
(ie a new instance is never generated by randomization).
Therefore an expression that include a object handle (and no other
random variable) is a guard expression, and acts to control whether or
not the constraint set is active.

- Ray Ryan



This archive was generated by hypermail 2b28 : Mon Sep 08 2003 - 10:34:52 PDT