incaseoftrouble / eve-parity

Equilibrium Verification Environment (EVE) is a formal verification tool for the automated analysis of temporal equilibrium properties of concurrent and multi-agent systems.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EVE

Equilibrium Verification Environment

EVE (Equilibrium Verification Environment) is a formal verification tool for the automated analysis of temporal equilibrium properties of concurrent and multi-agent systems represented as multi-player games. Systems are modelled using the Simple Reactive Module Language (SRML) as a collection of independent system components (players/agents in a game), which are assumed to have goals expressed using Linear Temporal Logic (LTL) formulae. In particular, EVE checks for the existence of Nash equilibria in such systems and can be used to do rational synthesis and verification automatically.

EVE ONLINE

EVE can be used via webservice from http://eve.cs.ox.ac.uk/eve

PUBLICATION

EVE has been tested on the following platforms:

  1. Fedora
  2. Ubuntu

EVE is also available preinstalled in Open Virtual Appliance (OVA) image running Lubuntu (lightweight Linux based on Ubuntu). This image (1.5 GB) can be downloaded from https://goo.gl/ikdSnw and can be directly run on VirtualBox (https://www.virtualbox.org/).


INSTALLATION

Prerequisites

  1. python 3.x

  2. OPAM (https://opam.ocaml.org/doc/Install.html) + OCaml version 4.03.x or later (https://ocaml.org/docs/install.html). To install OPAM (along with OCaml):

    • Fedora
      • sudo yum install patch
      • sudo yum install m4
      • sudo wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin
      • echo "y" | opam init
      • eval `opam config env`
    • Ubuntu
      • sudo apt-get install m4
      • sudo wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin
      • echo "y" | opam init
      • eval `opam config env`
  3. Cairo (https://cairographics.org/download/) or from sourcecode (https://cairographics.org/releases/). To install Cairo:

    • Fedora
      • sudo yum install cairo-devel
      • sudo yum install pycairo
    • Ubuntu
      • sudo apt-get install libcairo2-dev
      • sudo apt-get install python-cairo
  4. IGraph version 0.7 (http://igraph.org/python/)

    • You need to have a C/C++ compiler installed on your machine. To install
    • Fedora
      • sudo yum install python-igraph
    • Ubuntu
      • sudo apt-get install python-igraph

Configurations

  1. Make sure you have all of the prerequisites
  2. Go inside eve-py folder
  3. Run shell script ./config.sh (you may need to run chmod +x config.sh) Make sure OCaml is version 4.03.x or later before running config.sh

How to use

  • usage: From inside folder eve-py/src execute the following command: $ main.py [problem] [path/name of the file] [options]

  • List of problems:

    a Parameter to solve A-Nash

    e Parameter to solve E-Nash

    n Parameter to solve Non-Emptiness

  • List of optional arguments:

    -d Option to draw the structures

    -v Option to execute in verbose mode

  • Example:

    $ main.py a ../examples/a-nash_1 -d solves the A-Nash problem and draws the structures

Running experiments

  1. Go to folder eve-py/src/experiments, there are 8 scripts (you may need to run chmod +x <script_filename.sh> to run these scripts):
    • bisim_ne_emptiness.sh
    • bisim_none_emptiness.sh
    • gossip_protocol_emptiness.sh
    • gossip_protocol_enash.sh
    • gossip_protocol_anash.sh
    • replica_control_emptiness.sh
    • replica_control_enash.sh
    • replica_control_anash.sh
  2. Execute the script "experiment_name".sh using the command ./experiment_name.sh 8
  3. This will run the experiment "experiment_name" up until 8 steps.
  4. The experiment results are reported in the generated file exetime_experiment_name.txt with the following respective values separated by semicolons:
    • parser performance (ms)
    • construction peformance (ms)
    • PGSolver performance (ms)
    • non-emptiness/E-Nash/A-Nash performance (ms)
    • total number of parity game states
    • total number of parity game edges
    • maximum total number of sequentialised parity game states
    • maximum total number of sequentialised parity game edges
    • total time performance (ms)

About

Equilibrium Verification Environment (EVE) is a formal verification tool for the automated analysis of temporal equilibrium properties of concurrent and multi-agent systems.

License:GNU General Public License v3.0


Languages

Language:Python 71.8%Language:C 25.4%Language:Shell 2.3%Language:Makefile 0.4%Language:Dockerfile 0.1%