Abstract
In microservices, Model-Driven Engineering (MDE) has emerged as a powerful methodology for architectural design. Independently, the community of programming languages has investigated new linguistic abstractions for effective microservice development. Here, we present the first preliminary study of how the two approaches can cross-pollinate, taking the LEMMA framework and the Jolie programming language as respective representatives. We establish a common ground for comparing the two technologies in terms of metamodels, discuss practical enhancements that can be derived from the comparison, and present some directions for future work that arise from our new viewpoint.
Work partially supported by Independent Research Fund Denmark, grant no. 0135-00219.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Jolie website (2020). https://www.jolie-lang.org
Ameller, D., Burgués, X., Collell, O., Costal, D., Franch, X., Papazoglou, M.P.: Development of service-oriented architectures using model-driven development: a mapping study. Inf. Softw. Technol. 62, 42–66 (2015)
Andrews, T., et al.: Business process execution language for web services (2003)
Balalaie, A., Heydarnoori, A., Jamshidi, P.: Migrating to cloud-native architectures using microservices: an experience report. In: Celesti, A., Leitner, P. (eds.) ESOCC Workshops 2015. CCIS, vol. 567, pp. 201–215. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33313-7_15
Berners-Lee, T., Fielding, R.T., Masinter, L.: Uniform Resource Identifier (URI): Generic syntax. RFC 3986, RFC Editor (2005)
Butting, A., Eikermann, R., Kautz, O., Rumpe, B., Wortmann, A.: Modeling language variability with reusable language components. In: SPLC 2018, p. 65–75. Association for Computing Machinery, New York (2018)
Cheney, J., Lindley, S., Radanne, G., Wadler, P.: Effective quotation: relating approaches to language-integrated query. In: PEPM, pp. 15–26. ACM (2014)
Cotton, I.W., Greatorex Jr, F.S.: Data structures and techniques for remote computer graphics. In: Proceedings of the December 9–11, 1968, fall joint Computer Conference, Part I, pp. 533–544 (1968)
Daigneau, R.: Service Design Patterns, 1st edn. Addison-Wesley, Boston (2012)
Dalla Preda, M., Gabbrielli, M., Guidi, C., Mauro, J., Montesi, F.: Interface-based service composition with aggregation. In: De Paoli, F., Pimentel, E., Zavattaro, G. (eds.) ESOCC 2012. LNCS, vol. 7592, pp. 48–63. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33427-6_4
Deantoni, J.: Modeling the behavioral semantics of heterogeneous languages and their coordination. In: 2016 Architecture-Centric Virtual Integration (ACVI), pp. 12–18 (2016)
Dragoni, N.: Microservices: yesterday, today, and tomorrow. In: Present and Ulterior Software Engineering, pp. 195–216. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67425-4_12
Erdweg, S., Giarrusso, P.G., Rendel, T.: Language composition untangled. In: LDTA 2012. Association for Computing Machinery, New York (2012)
Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Pearson Education, New Delhi (2005)
Evans, E.: Domain-Driven Design, 1st edn. Addison-Wesley, Boston (2004)
Fernando, A., et al.: Ballerina and Jolie: connecting two frontiers of microservice programming. In: Microservices 2020 (2020)
Frankel, D.S.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, Hoboken (2003)
Freeman, T., Pfenning, F.: Refinement types for ML. In: Proceedings of the ACM SIGPLAN 1991 Conference on Programming Language Design and Implementation, pp. 268–277 (1991)
Guidi, C., Lanese, I., Montesi, F., Zavattaro, G.: Dynamic error handling in service oriented applications. Fundam. Informaticae 95(1), 73–102 (2009)
Guidi, C., Lucchi, R., Gorrieri, R., Busi, N., Zavattaro, G.: SOCK: a calculus for service oriented computing. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294, pp. 327–338. Springer, Heidelberg (2006). https://doi.org/10.1007/11948148_27
Kapferer, S., Zimmermann, O.: Domain-driven service design. In: Dustdar, S. (ed.) SummerSOC 2020. CCIS, vol. 1310, pp. 189–208. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64846-6_11
McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine, part I. Commun. ACM 3(4), 184–195 (1960)
Milner, R.: The tower of informatic models. From semantics to Computer Science (2009)
Montesi, F.: JOLIE: a Service-oriented Programming Language. Master’s thesis, University of Bologna, Department of Computer Science (2010). http://amslaurea.cib.unibo.it/1226/
Montesi, F.: Process-aware web programming with Jolie. Sci. Comput. Program. 130, 69–96 (2016)
Montesi, F., Carbone, M.: Programming services with correlation sets. In: Kappel, G., Maamar, Z., Motahari-Nezhad, H.R. (eds.) ICSOC 2011. LNCS, vol. 7084, pp. 125–141. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-25535-9_9
Montesi, F., Guidi, C., Zavattaro, G.: Service-Oriented Programming with Jolie, pp. 81–107. Springer, New York (2014). https://doi.org/10.1007/978-1-4614-7518-7_4
Newman, S.: Building Microservices: Designing Fine-Grained Systems, 1st edn. O’Reilly, Beijing (2015)
Oram, A.: Ballerina: A Language for Network-Distributed Applications, 1st edn. O’Reilly, Boston (2019)
Rademacher, F.: A non-intrusive approach to extend microservice modeling languages with architecture pattern support. In: Microservices 2020 (2020)
Rademacher, F., Sachweh, S., Zündorf, A.: Aspect-oriented modeling of technology heterogeneity in Microservice Architecture. In: 2019 IEEE International Conference on Software Architecture (ICSA), pp. 21–30. IEEE (2019)
Rademacher, F., Sorgalla, J., Wizenty, P., Sachweh, S., Zündorf, A.: Graphical and textual model-driven microservice development. In: Microservices, pp. 147–179. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-31646-4_7
Terzić, B., Dimitrieski, V., Kordić, S., Milosavljević, G., Luković, I.: Development and evaluation of microBuilder: a model-driven tool for the specification of REST microservice software architectures. Enterpr. Inf. Syst. 12(8–9), 1034–1057 (2018)
Wurster, M., et al.: The essential deployment metamodel: a systematic review of deployment automation technologies. SICS Softw. Intens. Cyber-Phys. Syst. 63–75 (2019). https://doi.org/10.1007/s00450-019-00412-x
Zimmermann, O.: Microservices tenets. Comput. Sci. Res. Dev. 32(3), 301–310 (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 IFIP International Federation for Information Processing
About this paper
Cite this paper
Giallorenzo, S., Montesi, F., Peressotti, M., Rademacher, F., Sachweh, S. (2021). Jolie and LEMMA: Model-Driven Engineering and Programming Languages Meet on Microservices. In: Damiani, F., Dardha, O. (eds) Coordination Models and Languages. COORDINATION 2021. Lecture Notes in Computer Science(), vol 12717. Springer, Cham. https://doi.org/10.1007/978-3-030-78142-2_17
Download citation
DOI: https://doi.org/10.1007/978-3-030-78142-2_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-78141-5
Online ISBN: 978-3-030-78142-2
eBook Packages: Computer ScienceComputer Science (R0)