Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Denotational semantics and its algebraic derivation for an event-driven system-level language

Published: 01 January 2015 Publication History

Abstract

As a system-level modelling language, SystemC possesses several novel features such as delayed notifications, notification cancelling, notification overriding and delta-cycle. It also has real-time and shared-variable features. Previously we have studied an operational semantics for SystemC Peng et al. (An operational semantics of an event-driven system-level simulator, pp 190–200, 2006) and bisimulation has been introduced based on some aspects of reasonable abstractions. The denotational method is another approach to studying the semantics of a programming language. It provides the mathematical meaning to programs and can predict the behaviour of programs. Due to the novel features of SystemC, it is challenging to study the denotational semantics for SystemC. In this paper, we apply Unifying Theories of Programming (abbreviated as UTP) Hoare and He (Unifying theories of programming, 1998) in exploring the denotational semantics. Two trace variables are introduced, one to record the state behaviours and another to record the event behaviours. The timed model is formalized in a threedimensional structure. A set of algebraic laws is explored, which can be proved via the presented denotational semantics. In this paper, we also consider the linking between denotational semantics and algebraic semantics. The linking is obtained by deriving the denotational semantics from algebraic semantics for SystemC. A complete set of parallel expansion laws is explored, where the location status of an instantaneous action is studied. The location status indicates an instantaneous action is due to which exact parallel component. We introduce the concept of head normal form for each program and every program is expressed in the form of guarded choice with location status. Based on this, the derivation strategy for deriving denotational semantics from algebraic semantics is provided.

References

References

[1]
Bresciani R, Butterfield A (2012) A UTP semantics of pGCL as a homogeneous relation. In: Proceedings of IFM 2012: 9th International Conference on integrated formal methods, Pisa, Italy, June 18–21, 2012, volume 7321 of lecture notes in computer science. Springer, pp 191–205
[2]
Bresciani R, Butterfield A (2013) From distributions to probabilistic reactive programs. In: Proceedings of ICTAC 2013: 10th International Colloquium on theoretical aspects of computing, Shanghai, China, September 4–6, 2013, volume 8049 of lecture notes in computer science. Springer, pp 94–111
[3]
Bresciani R, Butterfield A (2013) A probabilistic theory of designs based on distributions. In: Proceedings of UTP 2012: 4th International Symposium, on unifuying theories of programming, Paris, France, 27–28 August, 2012, volume 7681 of lecture notes in computer science. Springer, pp 105–123
[4]
Börger E, Stärk R (2003) Abstract state machines: a method for high-level system design and analysis. Springer, London
[5]
Cimatti A, Griggio A, Micheli A, Narasamdya I, Roveri M (2011) Kratos—a software model checker for systemc. In: Proceedings of CAV 2011: 23rd International Conference on computer aided verification, Snowbird, UT, USA, July 14–20, 2011, volume 6806 of lecture notes in computer science, pp 310–316
[6]
Cimatti A, Micheli A, Narasamdya I, Roveri M (2010) Verifying SystemC: A software model checking approach. In: Proceedings of FMCAD 2010: 10th International Conference on formal methods in computer-aided design. IEEE Computer Society, pp 51–59
[7]
Cavalcanti A, Wellings AJ, and Woodcock J The safety-critical Java memory model formalised Formal Aspects Comput 2013 25 1 37-57
[8]
Desharnais J, Gupta V, Jagadeesan R, and Panangaden P Metrics for labelled Markov processes Theor Computer Sci 2004 318 3 323-354
[9]
Gawanmeh A, Habibi A, Tahar S (2004) An executable operational semantics for SystemC using abstract state machines. Technical report, Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada
[10]
He J (1994) Provably correct systems: modelling of communication languages and design of optimized compilers. The McGraw-Hill International Series in Software Engineering
[11]
Hoare CAR and He J From algebra to operational semantics Inf Process Lett 1993 45 75-80
[12]
Hoare CAR, He J (1998) Unifying theories of programming. Prentice Hall International Series in Computer Science
[13]
Hoare CAR, Hayes IJ, He J, Morgan C, Roscoe AW, Sanders JW, Sørensen IH, Spivey JM, and Sufrin B Laws of programming. Commun ACM 1987 38 8 672-686
[14]
Hoare CAR, He J, and Sampaio A Normal form approach to compiler design Acta Inf 1993 30 701-739
[15]
Hoare CAR, He J, Sampaio A (1997) Algebraic derivation of an operational semantics. In: Plotkin G, Stirling C, Tofte M (eds) Proof, language and interaction: essays in honour of Robin Milner, foundations of computer science series. The MIT Press, London
[16]
He J, Li X, and Liu Z rCOS: a refinement calculus of object systems Theor Computer Sci 2006 365 1-2 109-142
[17]
Hoare CAR (1985) Communicating sequential processes. Prentice Hall International Series in computer science
[18]
Hoare CAR (2011) Algebra of concurrent programming. In: Meeting 52 of WG 2.3
[19]
He J, Seidel K, and McIver A Probabilistic models for the guarded command language Sci Computer Progr 1997 28 2–3 171-192
[20]
Habibi A and Tahar S SystemC fixpoint semantics 2005 Technical report Department of Electrical and Computer Engineering
[21]
Hoare T and van Staden S In praise of algebra Formal Aspects Comput 2012 24 4–6 423-431
[22]
Hoare T, van Staden S, Möller B, Struth G, Villard J, Zhu H, O’Hearn P (2014) Developments in concurrent kleene algebra. In: Proceedings of RAMiCS 2014: 14th International Conference on Relational and Algebraic Methods in Computer Science, Marienstatt im Westerwald, Germany 28 April–1 May 2014, volume 8428 of lecture notes in computer science. Springer, pp 1–18
[23]
Jones RB (1992) Methods and tools for the verification of critical properties. In: Proceedings of the 5th Refinement Workshop, organised by BCS-FACS. Springer, London, pp 88–118
[24]
McIver A, Morgan C (2004) Abstraction, refinement and proof of probability systems. Monographs in computer science. Springer
[25]
Oliveira M, Cavalcanti A, and Woodcock J A UTP semantics for Circus Formal Aspects Comput 2009 21 1–2 3-32
[26]
Oliveira M, Cavalcanti A, and Woodcock J Unifying theories in ProofPower-Z Formal Aspects Comput 2013 25 1 133-158
[27]
Open SystemC Initiative (OSCI) (2001) Functional specification for SystemC 2.0
[28]
Open SystemC Initiative (OSCI) (2003) SystemC 2.0.1 language reference manual
[29]
Owre S, Shankar N, Rushby JM, and Stringer-Calvert DWJ PVS language reference 1999 SRI International Computer Science Laboratory
[30]
Owre S, Shankar N, Rushby JM, and Stringer-Calvert DWJ PVS system guide 1999 SRI International Computer Science Laboratory
[31]
Plotkin G (2004) A structural approach to operational semantics. Technical Report 19, University of Aahus, 1981. J Logic Alg Progr 60–61:17–139
[32]
Peng X, Zhu H, He J, Jin N (2006) An operational semantics of an event-driven system-level simulator. In: Proceedings of SEW-30: The 30th IEEE/NASA software engineering workshop, Columbia, Maryland, USA. IEEE Computer Society Press, pp 190–200
[33]
Ruf J, Hoffmann DW, Gerlach J, Kropf T, Rosenstiel W, Müller W (2001) The simulation semantics of SystemC. In: DATE ’01: Proceedings of the conference on design, automation and test in Europe. IEEE Press, Piscataway, pp 64–70
[34]
Salem A (2003) Formal semantics of synchronous SystemC. In: Proceedings of Date’03: design, automation and test in Europe Conference and exposition. IEEE Computer Society, pp 10376–10381
[35]
Sampaio A (1997) An algebraic approach to compiler design. World Scientific
[36]
Sherif A, Cavalcanti A, He J, and Sampaio A A process algebraic framework for specification and validation of real-time systems Formal Aspects Comput 2010 22 2 153-191
[37]
Shankar N, Owre S, Rushby JM, Stringer-Calvert DWJ (1999) PVS prover guide. Computer Science Laboratory, SRI International, Menlo Park
[38]
Stoy J Denotational semantics: the Scott–Strachey approach to programming language 1977 New York MIT Press
[40]
Verilog (2001) IEEE standard hardware description language based on the Verilog hardware description language, volume IEEE Standard 1364-2001. IEEE
[41]
van Staden S, Hoare T (2013) Algebra unifies operational calculi. In: Proceedings of UTP 2012: 4th International Symposium, on unifuying theories of programming, Paris, France, 27–28 August, 2012, volume 7681 of lecture notes in computer science. Springer, pp 88–104
[42]
Watt D Programming language syntax and semantics 1991 London Prentice Hall
[43]
Woodcock J, Cavalcanti A (2001) The steam boiler in unified theory of Z and CSP. In: Proceedings of APSEC 2001: 8th Asia-Pacific software engineering conference. IEEE Computer Society Press, pp 291–298
[44]
Woodcock J, Cavalcanti A (2002) The semantics of Circus. In: Proceedings of ZB 2002: 2nd International Conference of B and Z Users, Grenoble, France, January 23–25, 2002, volume 2272 of lecture notes in computer science. Springer, pp 184–203
[46]
Zhu H, He J, Peng X, Jin N (2010) Denotational approach to event-driven system level language. In: Proceedings of UTP 2008: 2nd International Symposium on unifying theories of programming, Dublin, Ireland, 8–10 September, 2008, volume 5713 of lecture notes in computer science. Springer, pp 258–278
[47]
Zhu H (2005) Linking the semantics of a multithreaded discrete event simulation language. PhD thesis, London South Bank University
[48]
Zhu H, Yang F, He J (2010) Generating denotational semantics from algebraic semantics for event-driven system-level language. In: Proceedings of UTP 2010: 3rd International Symposium on unifying theories of programming, Shanghai, China, 15–16 November, 2010, volume 6445 of lecture notes in computer science. Springer, pp 286–308
[49]
Zeng N, Zhang W (2013) A SystemC semantics in guarded assignment systems and its applications with verds. In: Proceedings of APSEC 2013: 20th Asia-Pacific software engineering conference. IEEE Computer Society Press, pp 371–379

Cited By

View all
  • (2024)Theoretical and Practical Approach to the Soundness and Completeness of Operational Semantics based on Denotational Semantics for MDESLFormal Aspects of Computing10.1145/3696432Online publication date: 25-Sep-2024
  • (2024)An algebraic approach to simulation and verification for cyber-physical systems with shared-variable concurrencyJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.100973139(100973)Online publication date: Jun-2024
  • (2023)A Coq Implementation of the Program Algebra in Jifeng He’s New Roadmap for Linking Theories of ProgrammingTheories of Programming and Formal Methods10.1007/978-3-031-40436-8_15(395-412)Online publication date: 8-Sep-2023
  • Show More Cited By

Index Terms

  1. Denotational semantics and its algebraic derivation for an event-driven system-level language
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Information & Contributors

          Information

          Published In

          cover image Formal Aspects of Computing
          Formal Aspects of Computing  Volume 27, Issue 1
          Jan 2015
          232 pages
          ISSN:0934-5043
          EISSN:1433-299X
          Issue’s Table of Contents

          Publisher

          Springer-Verlag

          Berlin, Heidelberg

          Publication History

          Published: 01 January 2015
          Accepted: 10 July 2014
          Revision received: 16 April 2014
          Received: 06 February 2013
          Published in FAC Volume 27, Issue 1

          Author Tags

          1. Denotational semantics
          2. Algebraic semantics
          3. Semantic linking
          4. Head normal form
          5. SystemC

          Qualifiers

          • Research-article

          Contributors

          Other Metrics

          Bibliometrics & Citations

          Bibliometrics

          Article Metrics

          • Downloads (Last 12 months)60
          • Downloads (Last 6 weeks)6
          Reflects downloads up to 13 Jan 2025

          Other Metrics

          Citations

          Cited By

          View all
          • (2024)Theoretical and Practical Approach to the Soundness and Completeness of Operational Semantics based on Denotational Semantics for MDESLFormal Aspects of Computing10.1145/3696432Online publication date: 25-Sep-2024
          • (2024)An algebraic approach to simulation and verification for cyber-physical systems with shared-variable concurrencyJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.100973139(100973)Online publication date: Jun-2024
          • (2023)A Coq Implementation of the Program Algebra in Jifeng He’s New Roadmap for Linking Theories of ProgrammingTheories of Programming and Formal Methods10.1007/978-3-031-40436-8_15(395-412)Online publication date: 8-Sep-2023
          • (2022)UTP semantics for the MCA ARMv8 architectureJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2022.102438125:COnline publication date: 1-Apr-2022
          • (2020)A Unary Semigroup Trace AlgebraRelational and Algebraic Methods in Computer Science10.1007/978-3-030-43520-2_17(270-285)Online publication date: 26-Oct-2020
          • (2019)Theoretical and Practical Aspects of Linking Operational and Algebraic Semantics for MDESLACM Transactions on Software Engineering and Methodology10.1145/329569928:3(1-46)Online publication date: 29-Jul-2019
          • (2019)Angelic processes for CSP via the UTPTheoretical Computer Science10.1016/j.tcs.2018.10.008756(19-63)Online publication date: Jan-2019
          • (2019)The Inner and Outer Algebras of Unified ConcurrencyUnifying Theories of Programming10.1007/978-3-030-31038-7_8(157-175)Online publication date: 8-Oct-2019
          • (2018)A formal framework for software faults and permissions based on unified theory of programmingCluster Computing10.1007/s10586-018-2233-922:S6(14049-14059)Online publication date: 2-Mar-2018
          • (2018)A UTP approach for rTiMoFormal Aspects of Computing10.1007/s00165-018-0467-130:6(713-738)Online publication date: 1-Nov-2018
          • Show More Cited By

          View Options

          View options

          PDF

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          Login options

          Full Access

          Media

          Figures

          Other

          Tables

          Share

          Share

          Share this Publication link

          Share on social media