Joss, Marcel and Schuetz, Leonard and Honegger, Pascal (2023) SAMT: Compiler and Tools for an Extensible API Modeling Language. Other thesis, OST Ostschweizer Fachhochschule.
FS 2023-BA-EP-Joss-Schuetz-Honegger-SAMT Compiler and Tools for an Extensible API Modeling Lang.pdf - Supplemental Material
Download (2MB)
Abstract
Zürcher Kantonalbank maintains various services built on diverse technologies, using proprietary domain-specific languages to model technology-agnostic data and service contracts.
This proven approach is implemented using the Xtext framework, which provides the core infrastructure for parsing source code, validating the resulting model, and integrating with the Eclipse IDE.
As the maintenance roadmap for Xtext is uncertain, Zürcher Kantonalbank faces a long-term operational risk and is looking for a sustainable solution.
The goal of this project is to design and develop a new open-source domain-specific language called Simple API Modeling Toolkit, or SAMT for short.
It retains the technology-agnostic modeling capabilities and employs custom generators that provide support for a specific target language and technology.
A Visual Studio Code extension is developed to provide an easy-to-use and modern development experience.
The development process includes an initial requirements engineering and language design phase, guided by developers familiar with the existing modeling language.
All critical requirements were fully met, with substantial "should-have" and "could-have" requirements also realized.
The project successfully developed the core systems of the new language, including a proof-of-concept code generator for the Kotlin-based Web framework Ktor and the SAMT Visual Studio Code Extension.
Usability tests with employees of Zürcher Kantonalbank have yielded positive feedback.
Future work includes improving the generator architecture and adding more functionality to the SAMT Visual Studio Code Extension.
Item Type: | Thesis (Other) |
---|---|
Subjects: | Topics > Software Area of Application > Development Tools Area of Application > Banking & Finance 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 Zimmermann, Olaf UNSPECIFIED |
Date Deposited: | 21 Oct 2023 12:13 |
Last Modified: | 21 Oct 2023 12:13 |
URI: | https://eprints.ost.ch/id/eprint/1148 |