Skip to main content
Log in

prialt in Handel-C: an operational semantics

  • Special section on formal methods for industrial critical systems
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

  2. 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

  3. Butterfield A (2001) Denotational semantics for prialt-free Handel-C. Technical Report TCD-CS-2001-53, Dept. of Computer Science, Trinity College, Dublin University

  4. Butterfield A (2001) Interpretative semantics for prialt-free Handel-C. Technical Report TCD-CS-2001-54, Dept. of Computer Science, Trinity College, Dublin University

  5. 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

  6. 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

  7. Celoxica Ltd. (2002) Handel-C language reference manual, v3.0. URL: www.celoxica.com

  8. 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

  9. 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

  10. 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

  11. Fidge CJ (1993) A formal definition of priority in CSP. ACM Trans Programm Lang Syst 15(4):681–705

    Article  Google Scholar 

  12. Haskell 98 language and libraries: the revised report, December 2002. www.haskell.org

  13. Hoare CAR, Jifeng H (1998) Unifying theories of programming. Series in computer science. Prentice Hall, Upper Saddle River, NJ

  14. Hoare CAR (1985) Communicating sequential processes. International series in computer science. Prentice Hall, Upper Saddle River, NJ

  15. Jones CB (1990) Systematic Software Development using VDM. International series in computer science, 2nd edn. Prentice Hall, Upper Saddle River, NJ

  16. 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

  17. Lawrence AE (2002) Acceptances, Behaviours and infinite activity in CSPP. In: Communicating process architectures – 2002, Concurrent systems engineering, Amsterdam, September. IOS Press, Amsterdam

  18. Lawrence AE (2002) HCSP and true concurrency. In: Communicating process architectures – 2002, Concurrent systems engineering, Amsterdam, September. IOS Press, Amsterdam

  19. Lee TK, Yusuf S, Luk W, Sloman M, Lupu E, Dulay N. Development framework for firewall processors. www.celoxica.com, in Academic Papers section

  20. 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

  21. 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

  22. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrew Butterfield.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-004-0181-6

Keywords

Navigation