Script Language Enhancements

Gerber, Michael and Ruch, Victor (2018) Script Language Enhancements. Bachelor thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of FS 2018-BA-EP-Gerber-Ruch-Script Language Enhancements.pdf]
FS 2018-BA-EP-Gerber-Ruch-Script Language Enhancements.pdf - Supplemental Material

Download (1MB) | Preview


Eaton, our business partner, manufactures automation control solutions that can be programmed with a custom scripting language called Galileo Script. Our task was to extend Galileo Script with modern language features to enable Galileo users to write more concise, well structured, intuitive and reusable code. This would require us to extend all the components within Galileo that turn a script into runnable byte code on the devices.
To this end, we analyzed the existing code base and gathered a list of language features that we considered to be major improvements for Galileo Script. We took into consideration time estimates for the implementation, compatibility with existing concepts and impacts on the runtime. We then compiled a list of recommendations including the necessary changes to the language definition and asked Eaton to prioritize them.
Once we knew their priorities, we proceeded to implement all the features that were important to our business partner. Examples of this would be parametrized functions, foreach loops and range assignments. To prove the functionality of our extensions we refactored the Galileo Demo Application using the new language features and wrote a small game within Galileo to showcase its new capabilities.
We are very happy with the improvements we were able to bring to Galileo Script and hope the hundreds of people using it will be too.

Item Type: Thesis (Bachelor)
Subjects: Topics > Software > Refactoring
Topics > Software > Optimization
Area of Application > Development Tools
Area of Application > Industry
Technologies > Programming Languages
Divisions: Bachelor of Science FHO in Informatik > Bachelor Thesis
Depositing User: HSR Deposit User
Thesis advisor
Bläser, Luc
Date Deposited: 31 Jan 2019 11:50
Last Modified: 31 Jan 2019 11:50

Actions (login required)

View Item
View Item