Skip to content

rhu1/scribble-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,356 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README for

    scribble-dist-0.3.2-SNAPSHOT.zip

This distribution can also be manually built from the "master" branch of

    https://github.com/scribble/scribble-java

by

    mvn install

(Output to dist/target)


Scribble distribution zip contents:
---

- lib            jars needed to run the Scribble Java command line tool
- scribblec.sh   script for running the command line tool


Command line usage:
---

> List command line options.

    ./scribblec.sh --help


> Check well-formedness of global protocols in, e.g., Test.scr.

    ./scribblec.sh Test.scr

Notes:
- This basic version of Scribble uses a conservative (restricted) form of
  well-formedness.
- Snapshot builds have debug options enabled: error feedback by the tool
  will return full stack traces.


> Project local protocol for role "C" of protocol "Proto" in Test.scr

    ./scribblec.sh Test.scr -project Proto C


> Get 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 Test.scr -api Proto C -d .


Examples:
---

> 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/core/src/test/scrib/demo

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 modules/core/src/test/scrib/demo/fase/adder/Adder.scr
        -api Adder C -d .

About

Core components for the Scribble Java tools

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Java 98.6%
  • Other 1.4%