Gerber, Michael and Ruch, Victor (2018) Script Language Enhancements. Bachelor thesis, HSR Hochschule für Technik Rapperswil.
FS 2018-BA-EP-Gerber-Ruch-Script Language Enhancements.pdf - Supplemental Material
Download (1MB) | Preview
Abstract
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: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Bläser, Luc UNSPECIFIED |
Date Deposited: | 31 Jan 2019 11:50 |
Last Modified: | 31 Jan 2019 11:50 |
URI: | https://eprints.ost.ch/id/eprint/698 |