Project

General

Profile

Bug #1675

Transition Guard Expressions and Test Case Generation

Added by Bernhard Schätz about 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Bernhard Schätz
Category:
-
Start date:
09/03/2013
Due date:
% Done:

40%

Estimated time:

Description

Using the ACC Example from the Library:
If the Transition Guard of Transition "Break" is changed from
"BreakCmd != NoVal && BreakCmd > 0"
to
"BreakCmd > 0 "
the generation of test cases is no longer possible. It fails wihtout any warning or error (not even on the console).

This is especially annoying since the "BreakCmd != NoVal" is not necessary (it is implied from BreakCmd > 0) and only leads to a less readable specification.

History

#1 Updated by Bernhard Schätz about 7 years ago

Update: This has nothing to do with the NoVal-part of the guard label.

It seems that guard consisting of only one condition (i.e. not having a conjunction via "&&") make the test case generator fail without warning or error.

#2 Updated by Florian Hölzl about 7 years ago

  • Target version changed from Phoenix 2.4 (Release August 2013) to Phoenix 2.4.1 (September 2013)

Target changed to date when this issue is expected to be fixed.

#3 Updated by Anonymous about 7 years ago

This is especially annoying since the "BreakCmd != NoVal" is not necessary (it is implied from BreakCmd > 0) and only leads to a less readable specification.

we need the explicit NoVal check since in AF3 the rule is that ALL functions except "==" and "!=" are strict - so, in the simulator if BreakCmd is NoVal then the comparison leads to a simulation exception. This happens because NoVal > 0 returns NoVal which is not a boolean value expected in the guard.

#4 Updated by Anonymous about 7 years ago

  • Assignee changed from Anonymous to Anonymous

we can put this ticket in the backlog. I think a possible solution is to provide a "Check NoVal" button besides the guard input box, which check the usage of input ports in the guard and add necessary checks automatically

#5 Updated by Anonymous about 7 years ago

I would not make the check-button for state-machines. This would be a local solution - what happens with tables, code specs, etc?

Either: 1) we have to live with this limitation; or 2) we provide a generic solution

#6 Updated by Anonymous about 7 years ago

  • Status changed from New to Resolved
  • Assignee changed from Anonymous to Bernhard Schätz

The error message that BreakCmd is NoVal is now displayed.

#7 Updated by Anonymous about 7 years ago

  • Status changed from Resolved to In Progress
  • % Done changed from 0 to 40

We implemented a help function to help user check NoVal for the guard.

By clicking the Check NoVal button beside the GUARD box, a dialog with all non-checked variables will be prompted. User can decide which variable shall be checked, and the guard can be updated by pressing the ok button.

This is an experimental function and would be discussed in the jour fix meeting.

#8 Updated by Anonymous about 7 years ago

a quick look on the new dialog

#9 Updated by Anonymous about 7 years ago

  • Status changed from In Progress to Closed

Also available in: Atom PDF