README.md 1.41 KB
Newer Older
Christian Müller's avatar
Christian Müller committed
1 2 3 4 5 6 7
# Looping Workflows

Scala Implementation of the workflow language with loops.

Workflows can be written directly in Scala by instantiating case classes.
You can find implicits helping with that in ``de.tum.workflows.Implicits``.

Christian Müller's avatar
Christian Müller committed
8 9 10
## Building
To get sbt to build the project properly, you have to add the Supersafe Compiler plugin by adding 
``resolvers += "Artima Maven Repository" at "http://repo.artima.com/releases"`` to ``~/.sbt/0.13/global.sbt``
Christian Müller's avatar
Christian Müller committed
11

Christian Müller's avatar
Christian Müller committed
12
(You can generate an eclipse project file for use with Scala IDE by running ``sbt eclipse`` after installing the sbt eclipse plugin)
Christian Müller's avatar
Christian Müller committed
13 14 15

## Testing

Christian Müller's avatar
Christian Müller committed
16 17
``de.tum.workflows.Main`` will use any ``.spec`` files in ``/examples/`` and logs the resulting LTL formulas for the example workflows to results/.
To get a feel for the code, see the tests in ``src/test/scala``
Christian Müller's avatar
Christian Müller committed
18

19 20 21 22
### Aalta
The resulting LTL formulas can be tested for satisfiability.
We recommend to use Aalta for this. It has been bundled with this software and resides in ``aalta``.
It can be built by issuing ``make`` in ``aalta/Aalta_v2.0/``. To do this, ``bison`` and ``flex`` must be installed.
Christian Müller's avatar
Christian Müller committed
23
However, there should be a ready-built version at ``aalta/Aalta_v2.0/aalta``.
24 25

Call it by using (for example)
Christian Müller's avatar
Christian Müller committed
26
``time aalta/Aalta_v2.0/aalta < results/easychair3_stubborn_size4.ltl``
27 28 29

### Spot
Generating an accepting run can also be done by locally installing Spot (https://spot.lrde.epita.fr),
Christian Müller's avatar
Christian Müller committed
30 31
or at https://spot.lrde.epita.fr/trans.html.

32 33