Theoretical and practical aspects of linking operational and algebraic semantics for MDESL

Feng Sheng, Huibiao Zhu, Jifeng He, Zongyuan Yang, Jonathan P. Bowen

Research output: Contribution to journalArticlepeer-review

10 Scopus citations

Abstract

Verilog is a hardware description language (HDL) that has been standardized and widely used in industry. Multithreaded discrete event simulation language (MDESL) is a Verilog-like language. It contains interesting features such as event-driven computation and shared-variable concurrency. This article considers how the algebraic semantics links with the operational semantics for MDESL. Our approach is from both the theoretical and practical aspects. The link is proceeded by deriving the operational semantics from the algebraic semantics. First, we present the algebraic semantics for MDESL. We introduce the concept of head normal form. Second, we present the strategy of deriving operational semantics from algebraic semantics.We also investigate the soundness and completeness of the derived operational semantics with respect to the derivation strategy. Our theoretical approach is complemented by a practical one, and we use the theorem proof assistant Coq to formalize the algebraic laws and the derived operational semantics. Meanwhile, the soundness and completeness of the derived operational semantics is also verified via the mechanical approach in Coq. Our approach is a novel way to formalize and verify the correctness and equivalence of different semantics for MDESL in both a theoretical approach and a practical approach.

Original languageEnglish
Article number14
JournalACM Transactions on Software Engineering and Methodology
Volume28
Issue number3
DOIs
StatePublished - Aug 2019

Keywords

  • Coq
  • Multithreaded discrete event simulation language
  • Semantics relating
  • Unifying theories of programming (UTP)
  • Verilog

Fingerprint

Dive into the research topics of 'Theoretical and practical aspects of linking operational and algebraic semantics for MDESL'. Together they form a unique fingerprint.

Cite this