Formal Methods and Patterns for Microservices

Larisa Safina

Research output: ThesisPh.D. thesis

Abstract

Microservices is an architectural style that organizes an application as a set of highly granular loosely-coupled services. Microservices often use choreography instead of orchestration as a model of coordination. A choreography is a global specification of how endpoints in a concurrent system should communicate. The algorithm of End Point Projection translates a global choreography model to a set of local specifications. The inverse choreography extraction algorithm recreates a global choreography from local specifications.

This thesis investigates the microservices architectural style, its quality model and formal approaches to data communication and querying. It provides three main contributions.

The first contribution is the comparison of microservices against previous engineering approaches and the analysis of their strong and weak sides, which can be exploited for developing solid architecture patterns.

The second is the implementation of the choreography extraction algorithm proposed by Cruz-Filipe et al. and conducting the empirical analysis of its performance. Also, some improvements to the original algorithm were investigated.

The third is the development of TQuery, a framework for document-oriented queries, inspired by MQuery, the sound variant of the MongoDB query language. TQuery was implemented as a sub-language inside of the microservices-based programming language Jolie.
Original languageEnglish
Awarding Institution
  • University of Southern Denmark
Supervisors/Advisors
  • Montesi, Fabrizio, Supervisor
  • Mazzara, Manuel, Supervisor, External person
  • Cruz-Filipe, Luís, Supervisor
Publisher
Publication statusPublished - Oct 2019

Note re. dissertation

Print copy of the thesis is restricted to reference use in the Library.

Fingerprint

Dive into the research topics of 'Formal Methods and Patterns for Microservices'. Together they form a unique fingerprint.
  • Ephemeral data handling in microservices with Tquery

    Giallorenzo, S., Montesi, F., Safina, L. & Zingaro, S. P., Jul 2022, In: PeerJ Computer Science. 8, e1037.

    Research output: Contribution to journalJournal articleResearchpeer-review

    Open Access
    File
    47 Downloads (Pure)
  • Ephemeral data handling in microservices

    Giallorenzo, S., Montesi, F., Safina, L. & Zingaro, S. P., 2019, Proceedings of the 2019 IEEE International Conference on Services Computing, SCC 2019 - Part of the 2019 IEEE World Congress on Services. Bertino, E., Chang, C. K., Chen, P., Damiani, E., Damiani, E., Goul, M. & Oyama, K. (eds.). IEEE, p. 234-236 (IEEE International Conference on Services Computing (SCC), Vol. 2019).

    Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

    Open Access
    File
    178 Downloads (Pure)
  • Microservices: Yesterday, today, and tomorrow

    Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M., Montesi, F., Mustafin, R. & Safina, L., 1. Nov 2017, Present and Ulterior Software Engineering. Mazzara, M. & Meyer, B. (eds.). Springer, p. 195-216

    Research output: Chapter in Book/Report/Conference proceedingBook chapterResearchpeer-review

    File
    597 Downloads (Pure)

Cite this