Abstract
We describe an operational semantics for the hardware compilation language Handel-C [7], which is a C-like language with channel communication and parallel constructs which compiles down to mainly synchronously clocked hardware. The work in this paper builds on previous work describing the semantics of the “prialt” construct within Handel-C [5] and a denotational semantics for part of the language [6]. We describe a key subset of the language and show how a design decision for the real language, namely that default guards in a prialt statement executed in “zero-time”, has consequences for the complexity of the operational semantics. We present the operational semantics, along with a revised and completed prialt semantics, indicating clearly the interface between them. We then describe a notion of observational equivalence and present an example illustrating how we handle the complexity of nested prialts in default guards.
Similar content being viewed by others
References
Abdallah J, Hawkins AE (2003) Formal behavioural synthesis of Handel-c parallel hardware implementation for functional specifications. In: Proceedings of the 36th annual Hawaii international conference on system sciences. IEEE Press, pp 278–288
Barrett G, Goldsmith M, Jones G, Kay A (1988) The meaning and implementation of PRI ALT in occam. In: Askew C (ed) Occam and the transputer, research and applications (OUG-9), July 1988
Butterfield A (2001) Denotational semantics for prialt-free Handel-C. Technical Report TCD-CS-2001-53, Dept. of Computer Science, Trinity College, Dublin University
Butterfield A (2001) Interpretative semantics for prialt-free Handel-C. Technical Report TCD-CS-2001-54, Dept. of Computer Science, Trinity College, Dublin University
Butterfield A, Woodcock J (2002) Semantics of prialt in Handel-C. In: Pasco J, Welch P, Loader R, Sunderam V (eds) Communicating process architectures – 2002, Concurrent Systems Engineering, Amsterdam, September. IOS Press, Amsterdam, pp 1–16
Butterfield A, Woodcock J (2003) Semantic domains for Handel-c. In: Flynn S, Hurley T, Mac an Airchinnigh M, Madden N, McGettrick M, Schellekens M, Seda A (eds) Electronic notes in theoretical computer science, vol 74. Elsevier, Amsterdam
Celoxica Ltd. (2002) Handel-C language reference manual, v3.0. URL: www.celoxica.com
Cleaveland R, Hennessy M (1988) Priorities in process algebra. In: Proceedings of the 3rd annual symposium on logic in computer science, Edinburgh. IEEE Press, New York, pp 193–202
Cleaveland R, Luettgen G, Natarajan V (2001) Priority in process algebra. In: Bergstra JA, Ponse A, Smolka SA (eds) Handbook of process algebra. Elsevier, Amsterdam, pp 711–765
Cleaveland R, Luettgen G, Natarajan V, Sims S (1996) Modeling and verifying distributed systems using priorities: a case study. In: 2nd international workshop on tools and algorithms for the construction and analysis of systems (TACAS ’96), Passau, Germany, March 1996. Lecture notes in computer science, vol 1055. Springer, Berlin Heidelberg New York, pp 287–297
Fidge CJ (1993) A formal definition of priority in CSP. ACM Trans Programm Lang Syst 15(4):681–705
Haskell 98 language and libraries: the revised report, December 2002. www.haskell.org
Hoare CAR, Jifeng H (1998) Unifying theories of programming. Series in computer science. Prentice Hall, Upper Saddle River, NJ
Hoare CAR (1985) Communicating sequential processes. International series in computer science. Prentice Hall, Upper Saddle River, NJ
Jones CB (1990) Systematic Software Development using VDM. International series in computer science, 2nd edn. Prentice Hall, Upper Saddle River, NJ
Lawrence AE (2001) Cspp and event priority. In: Chalmers MMA, Muller H (eds) Communicating process architectures 2001, Concurrent Systems Engineering, Amsterdam, September. IOS Press, Amsterdam
Lawrence AE (2002) Acceptances, Behaviours and infinite activity in CSPP. In: Communicating process architectures – 2002, Concurrent systems engineering, Amsterdam, September. IOS Press, Amsterdam
Lawrence AE (2002) HCSP and true concurrency. In: Communicating process architectures – 2002, Concurrent systems engineering, Amsterdam, September. IOS Press, Amsterdam
Lee TK, Yusuf S, Luk W, Sloman M, Lupu E, Dulay N. Development framework for firewall processors. www.celoxica.com, in Academic Papers section
Mac an Airchinnigh M (1991) The Irish school of VDM. In: VDM ’91, Lecture notes in computer science, vol 552. Springer, Berlin Heidelberg New York
Page I, Luk W (1991) 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, Abingdon, UK, pp 271–283
Woodcock J, Cavalcanti A (2002) The semantics of Circus. 2nd international conference of B and Z users, Grenoble, France, January 2002. Lecture notes in computer science, vol 2272. Springer, Berlin Heidelberg New York
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Butterfield, A., Woodcock, J. prialt in Handel-C: an operational semantics. Int J Softw Tools Technol Transfer 7, 248–267 (2005). https://doi.org/10.1007/s10009-004-0181-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-004-0181-6