UPPAALModelChecker / UPPAAL-Meta

This is the offcial meta repo for issue reporting, feature request and public roadmap for the development of UPPAAL.
http://www.uppaal.org
1 stars 0 forks source link

Too many enabled transitions in concrete simulator for Uppaal classic model with channel arrays #256

Open magoorden opened 8 months ago

magoorden commented 8 months ago

Describe the bug A student has worked on a model for the Buzzing Boys / Gossiping Girls problem. With this model we found a discrepancy between the symbolic simulator/verifier and the concrete simulator. The concrete simulator is often enabling or disabling more transitions than the symbolic simulator/verifier, resulting in weird behavior.

The model and one problematic (short) trace can be downloaded here: BuzzingBoys-bug.zip (I have permission from the student to share this model here.)

The included trace results in a deadlock, while the verifier confirms that A[] deadlock imply forall (i:id_b) Boy(i).Idle and Boy(i).secrets == all_secrets holds, i.e., the system only deadlocks if all boys have shared all secrets.

To Reproduce Steps to reproduce the behavior:

  1. Open the supplied model.
  2. Open the concrete simulator trace and observe the deadlock. (Alternatively, run a random simulation, which will very likely run at some point into a deadlock.)
  3. Redo the two steps in the symbolic simulator and observe that the system does not deadlock.

Expected behavior For this classic Uppaal model, the symbolic and concrete simulator should be in agreement with each other.

Version(s) of UPPAAL tested

Desktop (please complete the following information):