Abstract
The concept of an interrupt is one that appears across many paradigms, and used in many different areas. It may be used as a device to assist specifications to model failure, or to describe complex interactions between non co-operating components. It is frequently used in hardware to allow complex scheduling patterns. Although interrupts are ubiquitous in usage, the precise behaviour of a system incorporating interrupts can be difficult to reason about and predict. In this paper, a complete theory of the interrupt operator presented by Hoare in his original treatment of CSP is proposed. The semantics are given in the CSP model in Unifying Theories of Programming. New and existing algebraic laws are proposed and justified. The contribution of the paper is therefore a denotational semantics of an interrupt operator, and a collection of algebraic laws that assist in reasoning about systems incorporating interrupts.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bergstra, J.A., Klop, J.W.: Algebra of communicating processes with abstraction. Theoretical Computer Science 37(1), 77–121 (1985)
Cavalcanti, A., Woodcock, J.: A tutorial introduction to CSP in Unifying Theories of Programming. In: Pernambuco Summer School on Software Engineering 2004: Refinement. Springer, Heidelberg (2005)
Hoare, C.A.R.: Communicating sequential processes. Comm. ACM 21(8), 666–677 (1978)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1985)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall Series in Computer Science. Prentice-Hall, Englewood Cliffs (1998)
Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)
Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1989)
Roscoe, A.W.: Theory and Practice of Concurrency. Prentice Hall Series in Computer Science. Prentice Hall, Englewood Cliffs (1998)
Woodcock, J.C.P., Cavalcanti, A.L.C.: A concurrent language for refinement. In: 5th Irish Workshop on Formal Methods (2001)
Woodcock, J.C.P., Cavalcanti, A.L.C.: The semantics of Circus. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) Formal Specification and Development in Z and B. ZB 2002, pp. 184–203. Springer, Heidelberg (2002)
Woodcock, J.C.P., McEwan, A.A.: Verifying the safety of a railway signalling device. In: Ehrig, H., Kramer, B.J., Ertas, A. (eds.) Proceedings of IDPT 2002, The 6th Biennial World Conference on Integrated Design and Process Technology, Society for Design and Process Science, vol. 1 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
McEwan, A.A., Woodcock, J. (2010). Unifying Theories of Interrupts. In: Butterfield, A. (eds) Unifying Theories of Programming. UTP 2008. Lecture Notes in Computer Science, vol 5713. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14521-6_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-14521-6_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14520-9
Online ISBN: 978-3-642-14521-6
eBook Packages: Computer ScienceComputer Science (R0)