Paulweber, P. (2014). An optimizing compiler for the abstract state machine language CASM [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2014.24884
Die Abstrakte Zustandsmaschine (Abstract State Machine, ASM) ist eine mathematisch basierte formale Methode. In dieser Arbeit wird die Corinthian Abstract State Machine (CASM) Programmiersprache vorgestellt, welche eine konkrete Implementierung einer ASM basierenden Allzweck-Programmiersprache ist. CASM unterstützt das Verschachteln von paralleler und sequenzieller Ausführungssemantik und ist eine statisch getypte Sprache. In dieser Arbeit wird die Laufzeit-Umgebung (Run-Time) und der Codegenerator von CASM vorgestellt, wobei beide Teile auf optimierte Ausführung des erzeugten Programms bezüglich der Ausführungszeit ausgelegt sind. Der Codegenerator erzeugt aus dem CASM Quellcode ein C Programm und die dazugehörige Run-Time ist ebenfalls in C implementiert. Der optimierende Compiler, bestehend aus Codegenerator und Run-Time, beinhaltet zusätzlich ein neues Optimierungs-Framework mit einer speziellen CASM Zwischendarstellung (Intermediate Representation, IR). Basierend auf dieser CASM IR werden verschiedene Analysen und Transformationen in dieser Arbeit beschrieben. Die Evaluierung zeigt, dass CASM gegenüber anderen ASM Implementierungen die Performanteste ist. Die Ergebnisse von Benchmark-Tests zeigen, dass die generierten Programme zwei bis drei Größenordnungen schneller ausgeführt werden als von anderen ASM Implementierungen. Das Optimierungs-Framework und die vorgestellten Transformationen verbessern die Ausführungszeit der generierten Programme noch weiter um den Faktor 2 bis 3.
de
The Abstract State Machine (ASM) is a well known formal method which is based on an algebraic concept. This thesis describes the Corinthian Abstract State Machine (CASM) language which is an implementation of an ASM-based general purpose programming language. Features of this language are its combination of sequential and parallel execution semantics and a statically strong type system. Furthermore, this thesis outlines an optimizing run-time and code generator which enables an optimized execution of CASM programs. The code generator is a CASM to C source-to-source translator and the run-time is implemented in C as well. Moreover the CASM optimizing compiler (run-time and code generator) includes a novel optimization framework with the specialized CASM Intermediate Representation (IR). The CASM IR enables powerful analysis and transformation passes which are presented in detail. The evaluation of this thesis shows that CASM is currently the best performing ASM implementation available. Benchmark results show that the CASM compiler is 2 to 3 orders of magnitude faster than other ASM implementations. Furthermore, the presented optimization passes eliminate run-time costs which increases the execution speed of CASM generated programs by a factor 2 to 3 even further.
en
Additional information:
Zsfassung in dt. Sprache. - Literaturverz. S. 87 - 91