Reactive systems continuously interact with their environment. Examples are concurrent, distributed or embedded systems. Such systems have become very widespread (eg as various forms of control systems or in computer networks), and their correctness is often critical but notably difficult to ensure. REACT-P aims to provide frameworks to help developers build correct reactive systems.
Verification methods for real time processes have been developed. A surprising new result that shows the decidability of verification problems for finite state processes communicating through unbounded lossy channels has been obtained.
Work on improving the efficiency of state space exploration is continuing and is giving increasingly better results, either through the use of partial order techniques or of abstraction.
Verification tools a common format that will allow the combined use of a number of tools are being defined.
The approach that was developed for modelling timed systems and introducing in process algebras has matured and is being widely acknowledged. Substantial progress has been made on modelling and verifying hybrid systems.
A joint case study of verification methods for lazy caching protocols has been undertaken, and an attempt to relate various techniques using prophecy variables has been undertaken.
APPROACH AND METHODS
The project is based on the symbiosis between two complementary approaches of ensuring the correctness of reactive systems. The first is refinement from a specification through correctness-preserving transformations; the second is verification. The refinement approach provides a guide to the construction of the system. It is usually insufficient to guarantee correctness, since there is rarely a complete and accurate specification of the system. The system is thus specified as it is being developed. Verification provides the means to check, at various stages of the design, that the system description is actually compatible with its expected properties. These properties can range from several forms of consistency to intricate requirements specified in a logical language. Verification is thus the tool that enables the designer to be confident that the formal description of the system obtained does indeeed satisfy the requirements.
The technical emphasis of the project is threefold. First, a heavy emphasis is placed upon the verification methods that can automatically and efficiently handle real life examples. Second, a framework that incorporates the key relevant features of reactive systems is sought. For instance, real-time constraints, the behaviour of hybrid systems where the program actually controls a continuous physical device, and the probabilistic behaviour of processes, are all fully taken into account. Finally, the problem of structuring the development process by compositionality or layering is addressed. Such approaches are stepping-stones towards the use of formal design methods in large systems.
New insights into the development of correct reactive systems, and especially into the development of real-time and hybrid systems, are likely to be gained from this project. Verification tools that can cope with industrial examples can be expected as a downstream result.
Topic(s)Data not available
Call for proposalData not available
Funding SchemeData not available
OX1 3QD Oxford