JBoss.orgCommunity Documentation

Chapter 2. Command Line Tools

2.1. Parsing a Protocol description
2.2. Validating a Protocol description
2.3. Checking Conformance a Protocol description
2.4. Projecting a Protocol description
2.5. Simulating a Protocol description against an Event List

This section describes how to use the command line tools that are available in the bin folder of the Scribble protocol tools distribution.

Information on the Scribble protocol notation (or language) can be found in the Scribble Protocol Guide .

The parse command takes a single parameter, which is the path to the file containing the protocol description to be parsed.

For example, if the user is in the top level folder of the Scribble tools distribution, without the bin folder being added to the system path, then the following command can be executed to parse one of the sample protocol descriptions:

If the supplied file path is not valid, then the command will report an error.

This command will read the protocol description, as shown below, and convert it into an internal object model representation.

If any errors are detected in the syntax of the parsed protocol description, then these will be reported to the command window.

The validate command takes a single parameter, which is the path to the file containing the protocol description to be validated.

For example, if the user is in the top level folder of the Scribble tools distribution, without the bin folder being added to the system path, then the following command can be executed to validate one of the sample protocol descriptions:

When this command is performed initially, it will complete without any errors. However if you edit the samples/purchasing/Purchasing.spr file, and change the following line:

For example, change the Seller role to Seller2 , and then re-run the validate command. This will result in the following error messages:

The conforms command takes two parameters, which are both paths to a file containing a protocol description. The first parameter is the protocol description to be checked for conformance against the second parameter's protocol description. So the second parameter is the reference protocol description.

For example, if the user is in the top level folder of the Scribble tools distribution, without the bin folder being added to the system path, then the following command can be executed to check one of the sample protocol descriptions as being conformant with another reference protocol description:

If you inspect the two process definitions, you will find one difference. The first protocol definition has the following interaction:

The second, reference protocol description, has the following interaction:

This results in the following conformance error message:

The project command takes two parameters. The first parameter is the protocol description to be projected and the second parameter is the participant .

For example, if the user is in the top level folder of the Scribble tools distribution, without the bin folder being added to the system path, then the following command can be executed to project one of the sample protocol descriptions:

This results in the following located Protocol being displayed on the console:

The simulate command takes two parameters. The first parameter is the located protocol description and the second parameter is the event list to be simulated against the protocol.

For example, if the user is in the top level folder of the Scribble tools distribution, without the bin folder being added to the system path, then the following command can be executed to simulate the protocol description:

The event file is a comma separated value (csv) format, with the first column representing the event type, and the second representing the value relevant for the event type. The event types are listed below:

The event file used in the sample command above is:

and the result of running the command is: