Model-Driven Code Generation for Microservices: Service Models

Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher [2022].
In proceedings of Microservices 2022, pp. 6:1-6:17.

We formally define and implement a translation of domain and service models expressed in the LEMMA modelling ecosystem for microservice architectures to source code in the Jolie microservice programming language. Specifically, our work extends previous efforts on the generation of Jolie code to the inclusion of the LEMMA service modelling layer. We also contribute an implementation of our translation, given as an extension of the LEMMA2Jolie tool, which enables the practical application of our encoding. As a result, LEMMA2Jolie now supports a software development process whereby microservice architectures can first be designed by microservice developers in collaboration with domain experts in LEMMA, and then be automatically translated into Jolie APIs. Our tool can thus be used to enhance productivity and improve design adherence.
Additional notes
Cite (BibTeX)
Click to expand
  author       = {Saverio Giallorenzo and
                  Fabrizio Montesi and
                  Marco Peressotti and
                  Florian Rademacher},
  editor       = {Gokila Dorai and
                  Maurizio Gabbrielli and
                  Giulio Manzonetto and
                  Aomar Osmani and
                  Marco Prandini and
                  Gianluigi Zavattaro and
                  Olaf Zimmermann},
  title        = {Model-Driven Code Generation for Microservices: Service Models},
  booktitle    = {Joint Post-proceedings of the Third and Fourth International Conference
                  on Microservices, Microservices 2020/2022, May 10-12, 2022, Paris,
  series       = {OASIcs},
  volume       = {111},
  pages        = {6:1--6:17},
  publisher    = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r Informatik},
  year         = {2022},
  url          = {},
  doi          = {10.4230/OASICS.MICROSERVICES.2020-2022.6},
  timestamp    = {Mon, 05 Feb 2024 20:35:37 +0100},
  biburl       = {},
  bibsource    = {dblp computer science bibliography,}

A PDF is available (possibly a preprint):

Download PDF