SAMT: Compiler and Tools for an Extensible API Modeling Language

Joss, Marcel and Schuetz, Leonard and Honegger, Pascal (2023) SAMT: Compiler and Tools for an Extensible API Modeling Language. Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of FS 2023-BA-EP-Joss-Schuetz-Honegger-SAMT  Compiler and Tools for an Extensible API Modeling Lang.pdf] Text
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

Actions (login required)

View Item
View Item