Macquarie University
Browse

Evaluating Kiama abstract state machines for a Java implementation

Download (2.39 MB)
thesis
posted on 2022-03-29, 02:35 authored by Pongsak Suvanpong
This thesis represents nine months of research in the area of embedded domain-specific programming languages. Kiama is a pure embedded lightweight language processing library in Scala. It provides classes for language processing paradigms such as attribute grammars, strategic term rewriting and abstract state machines (ASM) which can be used for analyzing, translating and executing languages. In this thesis, we evaluate the ASM component of Kiama by implementing several complex machines for executing the dynamic semantics of the Java language and the Java Virtual Machine byte code into which it is translated. We use the book “Java and the Java Virtual Machine: Definition, Verification and Validation” by R. Stärk, J. Schmid and E. Börger, as our reference. The book describes the Java language version 1.2 using the ASM method. We are able to implement the machines without any modifications to Kiama's ASM. The combination of Scala and Kiama allows us to closely replicate the book’s ASM notations in executable code. However, we find a few problems with the Kiama ASM library for which we show workarounds. In addition, we discover a few bugs in the book's machine definitions and provide fixes in our implementation.

History

Table of Contents

Chapter 1. Introduction -- Chapter 2. Related works -- Chapter 3. Kiama ASM -- Chapter 4. Scope of this study -- Chapter 5. The dynamic semantics of Java in Kiama -- Chapter 6. The dynamic semantics of Java and the Java compiler in Kiama -- Chapter 7. Testing and evaluation -- Chapter 8. Conclusion.

Notes

Bibliography: pages 52-53 Theoretical thesis.

Awarding Institution

Macquarie University

Degree Type

Thesis MRes

Degree

MRes, Macquarie University, Faculty of Science and Engineering, Department of Computing

Department, Centre or School

Department of Computing

Year of Award

2015

Principal Supervisor

Anthony M. Sloane

Rights

Copyright Pongsak Suvanpong 2015. Copyright disclaimer: http://www.copyright.mq.edu.au

Language

English

Extent

1 online resource (60 pages)

Former Identifiers

mq:46302 http://hdl.handle.net/1959.14/1083952