Tama Compiler Overhaul

Schuetz, Leonard and Joss, Marcel and Honegger, Pascal (2023) Tama Compiler Overhaul. Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of HS 2022 2023-SA-EP-Schuetz-Joss-Honegger-Compilerbau - Tama Compiler Overhaul.pdf] Text
HS 2022 2023-SA-EP-Schuetz-Joss-Honegger-Compilerbau - Tama Compiler Overhaul.pdf - Supplemental Material

Download (744kB)

Abstract

Triamec Motion AG manufactures ultra-precision servo drives that can be programmed using the C# programming language and the Tama framework. These servo drives run a virtual machine that executes a proprietary bytecode format, which is generated by the Tama compiler. The compiler previously relied on Microsoft's deprecated CCI library to read C# assembly files and transpile them to the Tama bytecode format.

In this project, our goal was to replace the unmaintained CCI library with a modern, actively maintained alternative. After evaluating several options, we chose to replace the CCI library with ILSpy. ILSpy is a modern, actively maintained and well documented .NET decompiler with an active community.

In addition to ensuring the ability to support newer versions of .NET in the future, we also implemented a computed goto performance optimization in the servo's runtime, resulting in an overall performance increase of approximately 16%. There is still potential for further performance gains, for example by implementing a template-based just-in-time (JIT) compiler in the servo's runtime.

Item Type: Thesis (Other)
Subjects: Topics > Software
Topics > Software > Optimization
Area of Application > Industry
Technologies > Programming Languages > C#
Technologies > Frameworks and Libraries > .NET
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Kramer, Philipp
UNSPECIFIED
Date Deposited: 22 Feb 2023 08:27
Last Modified: 22 Feb 2023 08:27
URI: https://eprints.ost.ch/id/eprint/1080

Actions (login required)

View Item
View Item