the first run checks the syntax and calculates
* overall number of nondeterministic choices, i.e. number of rows
* overall number of transitions, i.e. nonzero elements
* maximum node id, i.e. number of columns
Add new option --fix-deadlocks.
Check for deadlocks in nodes.
If option is not set, throw an error if a deadlock is found.
If option is set, give a warning and add self-loop.
Some minor cleanups in the parser.
AbstractModel is the new base class for every model.
If requires all models to implement ``ModelType getType()``
And implements ``as<ModelClass>()`` performing a dynamic cast on a shared pointer, assuming that we will always use Models within shared pointers.
Created a new make target (style) in CMakeLists.
This target will give all .h and .cpp files within src/ to cpplint.
Fixed most warnings in DeterministicTransitionParser to test what is found.
Remove unnecessary small example files.
Add reward files for synchronous leader example.
Added test procedures to main (commented out by default) to check all of the three main models (crowds, die, synchronous leader).
Markt und Straßen stehn verlassen,
still erleuchtet jedes Haus,
Sinnend' geh ich durch die Gassen,
alles sieht so festlich aus.
An den Fenstern haben Frauen
buntes Spielzeug fromm geschmückt,
Tausend Kindlein stehn und schauen,
sind so wunderstill beglückt.
Und ich wandre aus den Mauern
Bis hinaus ins freie Feld,
Hehres Glänzen, heil'ges Schauern!
Wie so weit und still die Welt!
Sterne hoch die Kreise schlingen,
Aus des Schnees Einsamkeit
Steigt's wie wunderbares Singen-
O du gnadenreiche Zeit!
Merry Christmas commit ;)
This parser shall parse transition systems having transitions of the form
<from> <choice> <to> <probability>
Where every node <from> can first decide nondeterministically on a <choice>.
Then, for every <choice> he has a given set of nodes <to> with assigned <probability>.
While the parsing itself works and the number of non-zero non-diagonal entries for each choice class works, we have not decided on the exact way to store such transition systems in matrices...
* Transition-based rewards are parsed using the existing (Deterministic)SparseTransitionsParser.
* State-based rewards are parsed using a new SparseStateRewardParser that parses lines consisting of a state and an associated reward.
* The Dtmc class now stores the two reward models.
* The DtmcParser class now parses up to one transition-based and one state-based reward file. They may, however, be omitted in which case the respective reward model is set to null.