Every day we witness the fast development of the hardware and software technology. This, of course, is the reason that new and more complex systems controlled by some kind of computational-based devices become an unseparated part of our daily life. As more as the system complexity increases, as more the reasoning about its correct behaviour becomes dif??cult. A variety of consequences may occur as a result of a failure, ranging from simple annoying to life threatening ones. Thus for some systems it is crucial that they exhibit a correct functioning. However, for systems with an extremely complex construction it is almost impossible to give an absolute guarantee for their correctness. In this case, it is still satisfactory to know that the p...