The replicated information system verification tool for the development of applications with strong guarantees on weakly consistent data stores.
See User Documentation.
To use Repliss there are several options:
-
Run the web interface using Docker:
docker run -i --rm -p 8080:8080 peterzel/repliss --server -h 0.0.0.0 -p 8080
-
Run Repliss on a single file using docker. The following example assumes
chatapp.rpls
is the file to check in the current working directory. Themodel
directory is mounted to have access to the outputs generated by Repliss.docker run -i --rm -v $(pwd):/code -v $(pwd)/model:/opt/repliss/model peterzel/repliss /code/chatapp.rpls --quickcheck --symbolicCheck
-
Compile and run manually using the steps below.
Software Requirements:
- The Scala Build Tool (SBT)
- Operation system: x86_64-linux (for other operating systems, the CVC4 library must be added manually)
- Graphviz
To run the Repliss Demo webserver run:
sbt "run --server"
Hostname and port can be configured with the --host
and --port
arguments.
Other useful commands, which can be used in an SBT console:
-
Build an executable jar file with
replissJVM/assembly
-
Compile with
compile
-
Run tests with
test
-
For continuous building of the web server:
- Run the main project with
~reStart --server
- Run the
js
subproject withdev
and open port8081
.
- Run the main project with
-
Run a specific file with
replissJVM/run <filename>
By default Repliss only parses and typechecks the file. Use the--quickcheck
option to enable automatic tests and the--symbolicCheck
option to verify the input.For example:
replissJVM/run verified/userbase.rpls --symbolicCheck --quickcheck