A lightweight tool is proposed to aid in the development of operational semantics. To use LETOS an operational semantics must be expressed in its meta-language, which itself is a superset of Miranda. The LETOS compiler is smaller than comparable tools, yet LETOS is powerful enough to support publication quality rendering using LaTeX, fast enough to provide competitive execution using Haskell, and versatile enough to support browsing of execution traces using Netscape. LETOS can be characterised as an experiment in creative laziness, showing how far one can get by gluing existing components together. The major specifications built using LETOS to-date are a smart card version of the Java Virtual Machine, a deterministic version of the -calculus, and an electronic payment protocol. In addition, we have specified the semantics of many small programming languages and systems, totaling over 9000 lines of formal text. LETOS is unique in that it helps to check that a specification is operationally conservative.
|Number of pages||38|
|Journal||Software : practice and experience|
|Publication status||Published - Sep 1999|
Hartel, P. H. (1999). LETOS -- A Lightweight Execution Tool for Operational Semantics. Software : practice and experience, 29(15), 1379-1416. https://doi.org/10.1002/(SICI)1097-024X(19991225)29:15<1379::AID-SPE286>3.0.CO, https://doi.org/10.1002/(SICI)1097-024X(19991225)29:15<1379::AID-SPE286>3.0.CO;2-V