Reasoning about timeouts


Autoria(s): Hayes, I. J.
Contribuinte(s)

E. Boiten

B. Moller

Data(s)

01/01/2002

Resumo

In real-time programming a timeout mechanism allows exceptional behaviour, such as a lack of response, to be handled effectively, while not overly affecting the programming for the normal case. For. example, in a pump controller if the water level has gone below the minimum level and the pump is on and hence pumping in more water, then the water level should rise above the minimum level within a specified time. If not, there is a fault in the system and it should be shut down and an alarm raised. Such a situation can be handled by normal case code that determines when the level has risen above the minimum, plus a timeout case handling the situation when the specified time to reach the minimum has passed. In this paper we introduce a timeout mechanism, give it a formal definition in terms of more basic real-time commands, develop a refinement law for introducing a timeout clause to implement a specification, and give an example of using the law to introduce a timeout. The framework used is a machine-independent real-time programming language, which makes use of a deadline command to represent timing constraints in a machine-independent fashion. This allows a more abstract approach to handling timeouts.

Identificador

http://espace.library.uq.edu.au/view/UQ:96935

Idioma(s)

eng

Publicador

Springer-Verlag

Palavras-Chave #E1 #280302 Software Engineering #700199 Computer software and services not elsewhere classified
Tipo

Conference Paper