Abstract
We present a denotational semantics for a fully functional subset of the Handel-C hardware compilation language [1], based on the concept of typed assertion traces. We motivate the choice of semantic domains by illustrating the complexities of the behaviour of the language, paying particular attention to the prialt (priority-alternation) construct of Handel-C. We then define the typed assertion traces over an abstract notion of actions, which we then instantiate as state-transformers. The denotational semantics is then given and some examples are discussed. As is fitting given those honoured at the Festschrift of which this paper is a part, we show how the work of both Dines Björner and Zhou Chaochen act as inspiration, from the past, into the future for this research work.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Celoxica Ltd.: Handel-C Language Reference Manual, v3.0. (2002), www.celoxica.com
Hoare, C.A.R.: Communicating Sequential Processes. Intl. Series in Computer Science. Prentice Hall, Englewood Cliffs (1985)
Page, I., Luk, W.: Compiling Occam into field-programmable gate arrays. In: Moore, W., Luk, W. (eds.) FPGAs, Oxford Workshop on Field Programmable Logic and Applications. Abingdon EE&CS Books, 15 Harcourt Way, Abingdon OX14 1NV, UK, pp. 271–283 (1991)
Butterfield, A., Woodcock, J.: An operational semantics for handel-c. In: Arts, T., Fokkink, W. (eds.) Electronic Notes in Theoretical Computer Science, vol. 80, Elsevier, Amsterdam (2003)
Butterfield, A., Woodcock, J.: prialt in Handel-C: an operational semantics. International Journal on Software Tool for Technology Transfer (STTT) (2005)
Butterfield, A.: Denotational semantics for prialt-free Handel-C. Technical Report TCD-CS-2001-53, Dept. of Computer Science, Trinity College, Dublin University (2001)
Butterfield, A.: Interpretative semantics for prialt-free Handel-C. Technical Report TCD-CS-2001-54, Dept. of Computer Science, Trinity College, Dublin University (2001)
Mac an Airchinnigh, M.: The irish school of vdm. In: Prehn, S., Toetenel, H. (eds.) VDM 1991. LNCS, vol. 552, Springer, Heidelberg (1991)
Björner, D., Jones, C.B.: Formal Specification & Software Development. Prentice-Hall, Englewood Cliffs (1982)
Bjørner, D.: TRain: The railway domain - A ”grand challenge” for computing science & transportation engineering. In: Jacquart, R. (ed.) IFIP Congress Topical Sessions, pp. 607–612. Kluwer, Dordrecht (2004)
Bjørner, D.: Software Engineering. In: Bjørner, D. (ed.) Domains, Requirements and Software Design. Texts in Theoretical Computer Science, vol. 3, Springer, Heidelberg (2006)
Butterfield, A., Woodcock, J.: Semantics of prialt in Handel-C. In: Pasco, J., Welch, P., Loader, R., Sunderam, V. (eds.) Communicating Process Architectures – 2002. Concurrent Systems Engineering, pp. 1–16. IOS Press, Amsterdam (2002)
Butterfield, A., Woodcock, J.: Semantic Domains for Handel-C. In: Madden, N., Seda, A. (eds.) Mathematical Foundations for Computer Science and Information Technology (MFCSIT 2003). Electronic Notes in Theoretical Computer Science, vol. 74 (2003), http://www.elsevier.nl/locate/entcs
Fidge, C.J.: A formal definition of priority in CSP. ACM Transactions on Programming Languages and Systems 15, 681–705 (1993)
Lawrence, A.E.: Cspp and event priority. In: Alan Chalmers, M.M., Muller, H. (eds.) Communicating Process Architectures 2001, Amsterdam, September 2001. Concurrent Systems Engineering, IOS Press, Amsterdam (2001)
Lawrence, A.E.: Acceptances, Behaviours and infinite activity in CSPP. In: Communicating Process Architectures - 2002. Concurrent Systems Engineering, IOS Press, Amsterdam (2002)
Lawrence, A.E.: HCSP and true concurrency. In: Communicating Process Architectures - 2002. Concurrent Systems Engineering, IOS Press, Amsterdam (2002)
Cleaveland, R., Hennessy, M.: Priorities in process algebra. In: Proceedings 3th Annual Symposium on Logic in Computer Science, Edinburgh, pp. 193–202. IEEE Computer Society Press, Los Alamitos (1988)
Cleaveland, R., Luettgen, G., Natarajan, V., Sims, S.: Modeling and Verifying Distributed Systems Using Priorities: A Case Study. In: Margaria, T., Steffen, B. (eds.) TACAS 1996. LNCS, vol. 1055, pp. 287–297. Springer, Heidelberg (1996)
Cleaveland, R., Luettgen, G., Natarajan, V.: Priority in process algebra. In: Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.) Handbook of Process Algebra, pp. 711–765. Elsevier, Amsterdam (2001)
Damianou, N., Dulay, N., Lupu, E., Sloman, M.: The ponder policy specification language. In: Sloman, M., Lobo, J., Lupu, E.C. (eds.) POLICY 2001. LNCS, vol. 1995, p. 18. Springer, Heidelberg (2001)
Lee, T., Yusuf, S., Luk, W., Sloman, M., Lupu, E., Dulay, N.: Development framework for firewall processors (in Academic Papers section), www.celoxica.com
Abdallah, A.E., Hawkins, J.: Formal Behavioural Synthesis of Handel-C Parallel Hardware Implementations from Functional Specifications. In: 36th Annual Hawaii International Conference on System Sciences (HICSS 2003), IEEE, Los Alamitos (2003)
Boussinot, F., Simone, R.D.: The ESTEREL language. Technical Report RR-1487, (Inria, Institut National de Recherche en Informatique et en Automatique)
Bouali, A.: Xeve: An Esterel verification environment. In: Vardi, M.Y. (ed.) CAV 1998. LNCS, vol. 1427, p. 500. Springer, Heidelberg (1998)
Tini: An axiomatic semantics for esterel. TCS: Theoretical Computer Science 269 (2001)
Holenderski, L.: LUSTRE. In: Lewerentz, C., Lindner, T. (eds.) Formal Development of Reactive Systems, Case Study Production Cell. LNCS, pp. 101–112. Springer, Heidelberg (1995)
Andriessens, C., Lindner, T.: AL: Using FOCUS, LUSTRE, and probability theory for the design of a reliable control program. In: Abrial, J.-R., Börger, E., Langmaack, H. (eds.) Formal Methods for Industrial Applications. LNCS, vol. 1165, pp. 35–51. Springer, Heidelberg (1996)
Brookes, S.D.: On the axiomatic treatment of concurrency. In: Brookes, S.D., Winskel, G., Roscoe, A.W. (eds.) Seminar on Concurrency. LNCS, vol. 197, pp. 1–34. Springer, Heidelberg (1985)
Woodcock, J., Cavalcanti, A.: The Semantics of Circus. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, Springer, Heidelberg (2002)
Butterfield, A., Sherif, A., Woodcock, J.: Slotted-Circus-A UTP-Family of Reactive Theories. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, Springer, Heidelberg (2007)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Series in Computer Science. Prentice Hall, Englewood Cliffs (1998)
Corcoran, B.J.: Testing Formal Semantics: Handel-C. M.Sc. in Computer Science, University of Dublin, Trinity College presented in partial fullfillment of the M.Sc. requirements (2005)
Jones, S.P., et al.: Report on the Programming Language Haskell 98 (1999), http://www.haskell.org/
Schneider, S.: Concurrent and Real-time Systems - The CSP Approach. Wiley, Chichester (2000)
Butterfield, A., Woodcock, J.: A ”hardware compiler” semantics for handel-c. Electr. Notes Theor. Comput. Sci. 161, 73–90 (2006)
Zhou, C.: Duration calculus, a logical approach to real-time systems. In: Haeberer, A.M. (ed.) AMAST 1998. LNCS, vol. 1548, pp. 1–7. Springer, Heidelberg (1998)
Chaochen, Z., Hoare, C.A.R.: A model for synchronous switching circuits and its theory of correctness. Formal Methods in System Design 1, 7–28 (1992)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Butterfield, A. (2007). A Denotational Semantics for Handel-C. In: Jones, C.B., Liu, Z., Woodcock, J. (eds) Formal Methods and Hybrid Real-Time Systems. Lecture Notes in Computer Science, vol 4700. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75221-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-75221-9_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75220-2
Online ISBN: 978-3-540-75221-9
eBook Packages: Computer ScienceComputer Science (R0)