This paper introduces a formal framework to specify and test systems presenting both soft and hard deadlines. While hard deadlines must always be met on time, soft deadlines can be sometimes met in a different time, usually greater, from the specified one. It is this characteristic (to formally define sometimes) that produces several reasonable alternatives to define appropriate implementation relations, that is, relations to decide whether an implementation is correct with respect to a specification. In addition to introducing these relations, the paper also presents a formal testing framework to test implementations and provides an algorithm to derive sound and complete test suites with respect to the implementation relations previously defined. That is, an implementation conforms to a specification if and only if the implementation successfully passes all the tests belonging to the suite derived from the specification.
Definition 4Let M = (S, I, O, T r, s in ) be an IFSM. A timed trace, or simply trace, of M is a tuple (s, s , (i 1 /o 1 , . . .,i r /o r ), d) if there exist transitions (s 1 , s 2 , i 1 , o 1 , d 1 ), . . ., (s r , s r+1 , i r , o r , d r ) ∈ Tr, such that s = s 1 , s = s r+1 , and d = d i . The sequence (i 1 /o 1 , . . .,i r /o r ) is a non-timed evolution, or simply evolution, of M if (s in , s , (i 1 /o 1 , . . .,i r /o r ), d) is a trace of M for some d ∈ I R + and s ∈ S. NTEvol(M) denotes the set of non-timed evolutions of M.588 M. G. MERAYO, M. NÚÑEZ AND I. RODRÍGUEZ dist(C, d) = r∈C dist(r, d) 2 592 A FORMAL FRAMEWORK TO TEST SOFT AND HARD DEADLINES from up(r, d) = 0ifr ≤ a 2