JBoss.orgCommunity Documentation

Scribble

User Guide


This is the installation guide for the Scribble tools. Scribble is a notation for describing interaction based protocols between multiple parties.

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. For example, if you edit the supplied file, and change the keyword participant to append an 'X', then the following error would be produced:

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:

This section describes how to embed the Scribble tools into an application.