Software Specification Languages Based on Regular Expressions

The behavior of a software system can be modelled in terms of sequences of events, flows, or operations that may occur during execution. To support this approach, a number of non-procedural description languages based on regular expressions have been proposed. These include event expressions, flow expressions, and the many variations of path expressions. The purpose of this paper is to survey and assess these notations, and to suggest some directions for future research.