Tutorial Troubleshooting the Setup: Difference between revisions

(Created page with 'Category:User Manual We assume that you grasped the way that ProB setups up the initial states of a B machine as outlined in Tutorial Setup Phases. In this lesson, we …')
 
No edit summary
Line 10: Line 10:
The main ProB window should look more or less as follows:
The main ProB window should look more or less as follows:


[[file:ProB_JukeboxAfterLoad.png|center||200px]]
[[file:ProB_JukeboxAfterLoad.png|center||300px]]
 
 
Now edit the file, and type <tt>& limit>99</tt> after <tt>PROPERTIES limit:NAT1</tt>.
Save the machine and reload it. Hint: there is a "Save and reopen" command in the "File" menu for this action.
 
ProB should now popup the following message:
[[file:ProB_Jukebox_UnsatProp.png|center||300px]]
 
If you click "Yes" (or Ja), you will get the following window:
 
[[file:ProB_Jukebox_DebugUnsatProp.png|center||300px]]
 
What ProB does is add conjuncts from the PROPERTIES (and CONSTRAINTS clause) one-by-one, until it can no longer find a solution. This can often give you an indication of what is wrong, and where the trouble (or inconsistency) stems from.
 
An alternate means to figure out the source of the problem is ProB's graphical formula viewer.
For this, choose the "Analyse Graphically"...
 
 
[[file:ProB_Jukebox_AnalyseGraphicallyCommand.png|center||300px]]
 
This will result in the following visualisation:
 
[[file:ProB_Jukebox_AnalyseGraphicallyUnsatProp.png|center||300px]]

Revision as of 16:46, 18 January 2010


We assume that you grasped the way that ProB setups up the initial states of a B machine as outlined in Tutorial Setup Phases.

In this lesson, we examine what can go wrong in these phases and how one can find a solution. Indeed, setting up the constants and initial values of a machine is often the most difficult step for an animator. Unfortunately, it is also the very first step an animator has to perform.


First, open the machine "Jukebox.mch" which can be found in the SchneiderBook/Jukebox_Chapter13 subdirectory of the ProB Examples folder. The main ProB window should look more or less as follows:

ProB JukeboxAfterLoad.png


Now edit the file, and type & limit>99 after PROPERTIES limit:NAT1. Save the machine and reload it. Hint: there is a "Save and reopen" command in the "File" menu for this action.

ProB should now popup the following message:

ProB Jukebox UnsatProp.png

If you click "Yes" (or Ja), you will get the following window:

ProB Jukebox DebugUnsatProp.png

What ProB does is add conjuncts from the PROPERTIES (and CONSTRAINTS clause) one-by-one, until it can no longer find a solution. This can often give you an indication of what is wrong, and where the trouble (or inconsistency) stems from.

An alternate means to figure out the source of the problem is ProB's graphical formula viewer. For this, choose the "Analyse Graphically"...


ProB Jukebox AnalyseGraphicallyCommand.png

This will result in the following visualisation:

ProB Jukebox AnalyseGraphicallyUnsatProp.png