Closed osankur closed 8 months ago
Dear Ocan, Clock bounds computation follows the algorithm presented in "Bouyer, Fleury and Larsen, TACAS 2003 and "Forward analysis of updatable timed automata", Bouyer, FMSD 2004.". A short description of the algorithm is given in file include/tchecker/clockbounds/solver.hh In short, we compute clock bounds by solving a system of constraints with one variable per clock and per location. The solver used in TChecker is based on a DBM representation of the constraints. In this settings, clock bounds are obtained using Floyd-Warshall algorithm. This results in a (n*k)^3 algorithm where n is the number of clocks and k is the number of locations. This grows quite fast. This approach is good for systems with shared clocks and extended resets. However, a faster bound propagation algorithm can be used, at least for subclasses of timed automata (e.g. no shared clocks and resets to constants). I will improve clock bounds computation in the next weeks and let you know once it is done. Best regards, Frédéric
The latest commit should fix the issue, as well as a bug in clock bounds computation in presence of complex resets like x:=1+y. Best regards, Frédéric
The following model is a straight-line automaton with 100 states and 2 clocks. But the clock bounds computation takes about 40s. This seems to increase quickly with the size of the model.