[IGSTK-Users] State Machine Validation

charles.garraud at irisa.fr charles.garraud at irisa.fr
Fri Jan 8 11:09:49 EST 2010


Hi,

We would like to introduce state machine validation in our testing 
process, but I think I miss something essential regarding the aim of the 
validation
tool included in the contribution package.

What we were thinking to do is to automatically:

- generate the .scxml file from the state machine
- launch run-coverage on the scxml file to generate one .xml for the 
node coverage and one .xml for the edge coverage
- launch run-simulator with a config file like the following:
<vtconfig>
<drool-files>
<file>rules/igstk_1.drl</file>
</drool-files>
<state-machines>
<state-machine id="2" name="Calibration">
<file>Calibration.xml</file>
<sendEventFile>Calibration_nodecoverage_test1.xml       </sendEventFile>
</state-machine>
<state-machine id="1" name="Calibration">
<file>Calibration.xml</file>
<sendEventFile> 
Calibration_edgecoverage_test_basispath1.xml</sendEventFile>
</state-machine>
</state-machines>
</vtconfig>

Here is what I miss:

- Node coverage: check all states are used
- Edge coverage: check all transitions are used. I don't understand how 
edge coverage can fail if node coverage succeed? I think I don't 
understand what really is edge coverage or how it works...
- The benefit of using sendEvent files generated from the .scxml is 
obscure to me compared to generating them from log files (functionnal 
tests)? It looks like a dog chasing its tail...
- How does the simulator work? What is the point of defining in the 
config file twice the same state machine with different sendEventFile 
(node and edge coverage) ? I though it was meant to run
with 2 different state machines and confront their states? In the 
examples, the rules files are sometimes empty. What is the default 
behaviour of the simulator if no specific rules are specified?

I know it's a lot of questions... But I'm a bit lost...


Thanks a lot.

Regards,




More information about the IGSTK-Users mailing list