“…They have been used as a basis for test case generation, to check the output of software on test inputs [32,40,42], and as a basis for formalizing test specifications (as opposed to functional specifications) [50,51,52]. This paper is primarily concerned with the first use, that of generating test cases from specifications, commonly referred to as specification-based testing.…”