Automata Construction for Regular Expressions in Model Checking

Industrial temporal languages like PSL/Sugar and ForSpec have augmented the language with Regular Expressions ( REs). An RE specification represents a sequence of Boolean events a model may or may not exhibit. A common way of usingREs for specification is in a negative way: a not RE! property describes an undesirable behavior of the model. A not r! formula has the nature that it is sufficient to find one execution path of the model satisfying r in order to conclude the formula does not hold in the model. This nature allows a not r! formula to be modeled by a non-deterministic finite automaton ( NFA) Nr, which accepts sequences satisfying r, and which is linear in the size of r. In this paper we discuss the translation of a not RE! into an NFA. While many translation methods exist in the literature ([12, 11]), to the best of our knowledge, the adoption of such a method to model-checking has never been explicitly discussed before. We present our method, which adopts that of Glushkov [11] to better suit model checking needs, and discuss its advantages.