README.md 1.03 KB
Newer Older
Christian Müller's avatar
Christian Müller committed
1 2 3 4 5 6 7 8 9 10 11
# 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``.

For now, it is possible to generate the LTL formula for a workflow using
``Encoding.toFOLTL(w)``
and translate it to pure LTL that can be parsed by Spot.

Christian Müller's avatar
Christian Müller committed
12 13 14
## 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
15

Christian Müller's avatar
Christian Müller committed
16
(You can generate an eclipse project file for use with Scala IDE by running ``sbt eclipse`` after installing the sbt plugin)
Christian Müller's avatar
Christian Müller committed
17 18 19

## Testing

Christian Müller's avatar
Christian Müller committed
20 21 22
An example can be found at ``de.tum.workflows.Main``
It can be run using ``sbt run`` and logs the resulting LTL formulas for the example workflow to the console.

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