Parent-Version: 0.68
Version-Log:
wtree.ml,mli: (deleted)
automa.ml,mli: (new files)
control.ml,mli: (new files)
Replace the [wtree] module by an [automata] module, that basically
does the same job, but in a different way. Namely, it no more uses
the [wtree] DS to use [graph]s instead. Indeed, the product of
wtrees introduces some problems, in particular to ensure its
correctness wrt to the automata run concurrently. Now, everything a
dead-simple wrt product: we simply perform a quasi-classical automata
product (well, at least, much closer from a classical product, cf
paper).
The way loop counters are handled has also changed. Now, counters are
handled via expressions of a simple arithmetic language that
basically lets one initialise a variable to an exact or a random
value (uniform or normal draw) and decrement it. Arcs are now
labelled by a formula plus 2 expressions of that mini-language (no
more weigth nor cpt_init stuff). The 1st expression is evaluated
during the draw, basically performs any operations on counters, and
returns a positive int that is used as the formula weigth. The second
expression (a kind of post-condition) is evaluated if its arc is the
one that has been elected to perform the step.
At several locations long lines (< 80) are reindented.
parse_env.ml:
In the ima format, IfThenElseExpr becomes IfThenElseNum.
Also, parse list more cleanly.
graph.ml,mli:
Add a function that test whether a transition is in the graph.
Do not sort list of transitions anymore (what was the point?).
Also do not sort nodes in any way.
show_env_env.ml,mli:
Abstract away nodes and arcs data types (so that I can display
Automata graphs). rename generate_env_graph into ima_to_dot.
lurette.ml:
ima_exe.ml:
Fix a bug where bbd table were filled by asserted non regression expr.
lurette.ml:
Fix a bug where incorrect data was sent to sim2chro (ie, the output of the
previous step instead of the ones of the current step.
env_state.ml:
solver.ml:
gne.ml:
Fix a performance bug where I was storing formula indexes even if
they were depending on inputs or pre, which is stupid as they generally
won't be used again. In order to fix that, I introduced new
atomic_formula <-> indexes table to stote the ones that do not depend
on inputs apart. It was also necassery to propogate the <<depend on pre>>
flag inside Gne.gn_expr (which i renamed Gne.t BTW).
Project-Description: Lurette