In reply to rgarcia07:
a. The user doesn’t need to explicitly know the name of the constraint block in order to disable the soft constraint, just the name of the variable.
b. It would be possible for the class writer to put several soft constraints within the same named constraint block and still allow the user to disable the soft constraints one at a time.
c. The soft constraint can be overridden from within the randomize () with {} block, rather than outside the block
d. The soft constraint can be temporarily overridden in a 1-shot manner, without having to disable before randomize() and enable after randomize()
See the original proposal