A Toolchain for Checking Domain- and Model-Driven Properties of Jolie Microservices

Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher, Sabine Sachweh, Philip Wizenty [2024].
In proceedings of ICSOC (2) 2024, pp. 161-175.

Abstract
We present Jolie Checker Toolchain (JCT), a plugin-based toolchain for model-code consistency and compliance analysis aimed at helping developers ensure that evolving implementations of Jolie microservices remain aligned with their intended architectural design—specified with domain- and model-driven engineering approaches like LEMMA and MDSL. One of JCT's strengths lies in providing a uniform surface for plugin development, based on the analysis of abstract syntax trees, that leverages existing code generation tools, framing checks as correspondence relations between the expected and actual programs. We present two JCT plugins to respectively check the consistency of domain-driven design annotations on Jolie APIs and verify Jolie code conformity to a given LEMMA data model. We illustrate both plugins via a use case drawn from the Lakeside Mutual architecture.
Links
doi.org
Additional notes
None
Cite (BibTeX)
Click to expand
@inproceedings{DBLP:conf/icsoc/GiallorenzoMPRSW24,
  author       = {Saverio Giallorenzo and
                  Fabrizio Montesi and
                  Marco Peressotti and
                  Florian Rademacher and
                  Sabine Sachweh and
                  Philip Wizenty},
  editor       = {Walid Gaaloul and
                  Michael Sheng and
                  Qi Yu and
                  Sami Yangui},
  title        = {A Toolchain for Checking Domain- and Model-Driven Properties of Jolie
                  Microservices},
  booktitle    = {Service-Oriented Computing - 22nd International Conference, {ICSOC}
                  2024, Tunis, Tunisia, December 3-6, 2024, Proceedings, Part {II}},
  series       = {Lecture Notes in Computer Science},
  volume       = {15405},
  pages        = {161--175},
  publisher    = {Springer},
  year         = {2024},
  url          = {https://doi.org/10.1007/978-981-96-0808-9\_13},
  doi          = {10.1007/978-981-96-0808-9\_13},
  timestamp    = {Wed, 08 Jan 2025 21:12:50 +0100},
  biburl       = {https://dblp.org/rec/conf/icsoc/GiallorenzoMPRSW24.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}
}

A PDF is available (possibly a preprint):

Download PDF