AnsweredAssumed Answered

Is It A Bug?

Question asked by VRFuser on Sep 12, 1997
send q VRf-Bug_Not ww liron_n vrf

from: Greg Goebel / HP-MXD
      gvg@lvld.hp.com / 970-679-3030 / FAX 970-679-5971
      website:  ftp://fcext3.external.hp.com/dist/mxd/index.html
to:   VRf-Noli Liron
date: Sunday, 14 September 1997 1146 MDT

> To: HP-VEE USER GROUP <hpvxd_xc@hpislsup.lvld.hp.com>
> Subject: Is It A Bug?
>
> I use HP-VEE 4.01 on a Pentium Machine runs under Windows 95.
> To my knowledge, the same program should run the same, no matter which
> line you connect first. Well, suprisingly it isn't so!!
> Can you explain the problem occurred in the attached file?
> --
> Noli Liron,
> 9 Harakafot Street, Haifa 34745 Israel
> Home Tel: 972-4-838-9741, 972-4-838-1394
> Work Tel: 972-4-879-2112, 972-4-879-5023, Work Fax: 972-4-879-2746
> Email: lironno@rafael.co.il

Sir:

Considering your program:

   +-------+
   | Start |
   +---+---+
       |
   +---+---+
   | Until |
   | Break +---+----------+
   +---+---+   |          |
       |       |      +---+---+
       |       |      | Break |
       |       |      +-------+
       |       |
       |       |  +------------+
       |       |  |   Timer    |
       |       |  +------------+
       |       +->| T1         |
       +--------->| T2         |
            +------------+

The fact that you are getting an error that says that T2 is being executed
before T1 is logical -- we've seen it before.

What happens is that the Break object is being executed before the T1 pin of
the Timer object; this forces an *immediate* exit of the Until Break loop,
meaning the T1 pin is not pinged.  It fires its Sequence Out pin and pings
the T2 pin of the Timer object, forcing the error.

This is as per VEE operational specifications (and can be seen if the program
is traced; without constraints, there is no way to tell which object on the
output of the Until Break will be executed first.  That is why tinkering with
the wiring will get things to work (and is, in fact, a good indication of a
propagation ambiguity like this one).

Many programs that worked in VEE 3.0 were dependent on a specific propagation
order that was actually undefined in practice.  VEE 4.0's compiled mode in
general follows the same rules of propagation, but that doesn't mean it will
choose the same arbitrary order of propagation when there is an ambiguity.

If you have more questions, please let us know.

[<>] regards -- gvg

Outcomes