README for
scribble-dist-0.4-SNAPSHOT.zip
This distribution is built from the master branch
https://github.com/scribble/scribble-java/tree/master
by
mvn [clean] install
(Output written to dist/target)
Bugs and issues can be reported via the github Issues facility.
Or email rhu1234 [at] doc.ic.ac.uk excluding the 1234.
- lib jars needed to run the scribble-java tool
- scribblec.sh script for running the command line tool
List command line options.
./scribblec.sh --help
Check well-formedness of global protocols in, e.g., Test.scr.
./scribblec.sh Test.scr
Notes:
- Use the -oldwf command line flag to use the simpler syntactic protocol well-formedness from the previous version of Scribble.
- Use the -V command line flag to obtain full traces for errors according to the new protocol validation (and other details).
Project local protocol for role "C" of protocol "Proto" in Test.scr
./scribblec.sh Test.scr -project Proto C
Print dot representation of Endpoint FSM for role "C" of protocol "Proto" in Test.scr
./scribblec.sh Test.scr -fsm Proto C
Generate Java Endpoint API for role "C" of protocol "Proto" in Test.scr
./scribblec.sh -d . Test.scr -api Proto C
To make an HelloWorld test:
echo 'module Test; global protocol Proto(role C, role S) { Hello() from C to S; }' > Test.scr
Further examples can be found in:
https://github.com/scribble/scribble-java/tree/master/modules/demos/scrib
The distribution zip does not include these examples. They can be obtained as part of the source repository, or separately via the above link.
E.g. To generate the Java Endpoint API for role "C" of the "Adder" protocol from http://www.doc.ic.ac.uk/~rhu/scribble/fase16.pdf
./scribblec.sh -d modules/demos/scrib/fase16/src
modules/demos/scrib/fase16/src/fase16/adder/Adder.scr -api Adder C
To run the Scribble tool directly via java:
try scribblec.sh with the --verbose flag
to see the underlying java command with main class, classpath and other args.
Or try (from Nick Ng):
$ mvn dependency:build-classpath -Dmdep.outputFile=classpath $ java -cp $(cat dist/classpath) org.scribble.cli.CommandLine [args] MyModule.scr