Jolie and LEMMA: Model-Driven Engineering and Programming Languages Meet on Microservices | SpringerLink
Skip to main content

Jolie and LEMMA: Model-Driven Engineering and Programming Languages Meet on Microservices

  • Conference paper
  • First Online:
Coordination Models and Languages (COORDINATION 2021)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
JPY 3498
Price includes VAT (Japan)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
JPY 5719
Price includes VAT (Japan)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
JPY 7149
Price includes VAT (Japan)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Jolie website (2020). https://www.jolie-lang.org

  2. 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)

    Article  Google Scholar 

  3. Andrews, T., et al.: Business process execution language for web services (2003)

    Google Scholar 

  4. 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

    Chapter  Google Scholar 

  5. Berners-Lee, T., Fielding, R.T., Masinter, L.: Uniform Resource Identifier (URI): Generic syntax. RFC 3986, RFC Editor (2005)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Cheney, J., Lindley, S., Radanne, G., Wadler, P.: Effective quotation: relating approaches to language-integrated query. In: PEPM, pp. 15–26. ACM (2014)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. Daigneau, R.: Service Design Patterns, 1st edn. Addison-Wesley, Boston (2012)

    Google Scholar 

  10. 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

    Chapter  Google Scholar 

  11. Deantoni, J.: Modeling the behavioral semantics of heterogeneous languages and their coordination. In: 2016 Architecture-Centric Virtual Integration (ACVI), pp. 12–18 (2016)

    Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. Erdweg, S., Giarrusso, P.G., Rendel, T.: Language composition untangled. In: LDTA 2012. Association for Computing Machinery, New York (2012)

    Google Scholar 

  14. Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Pearson Education, New Delhi (2005)

    Google Scholar 

  15. Evans, E.: Domain-Driven Design, 1st edn. Addison-Wesley, Boston (2004)

    Google Scholar 

  16. Fernando, A., et al.: Ballerina and Jolie: connecting two frontiers of microservice programming. In: Microservices 2020 (2020)

    Google Scholar 

  17. Frankel, D.S.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, Hoboken (2003)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. Guidi, C., Lanese, I., Montesi, F., Zavattaro, G.: Dynamic error handling in service oriented applications. Fundam. Informaticae 95(1), 73–102 (2009)

    Article  MathSciNet  Google Scholar 

  20. 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

    Chapter  Google Scholar 

  21. 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

    Chapter  Google Scholar 

  22. McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine, part I. Commun. ACM 3(4), 184–195 (1960)

    Article  Google Scholar 

  23. Milner, R.: The tower of informatic models. From semantics to Computer Science (2009)

    Google Scholar 

  24. 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/

  25. Montesi, F.: Process-aware web programming with Jolie. Sci. Comput. Program. 130, 69–96 (2016)

    Article  Google Scholar 

  26. 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

    Chapter  Google Scholar 

  27. 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

  28. Newman, S.: Building Microservices: Designing Fine-Grained Systems, 1st edn. O’Reilly, Beijing (2015)

    Google Scholar 

  29. Oram, A.: Ballerina: A Language for Network-Distributed Applications, 1st edn. O’Reilly, Boston (2019)

    Google Scholar 

  30. Rademacher, F.: A non-intrusive approach to extend microservice modeling languages with architecture pattern support. In: Microservices 2020 (2020)

    Google Scholar 

  31. 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)

    Google Scholar 

  32. 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

    Chapter  Google Scholar 

  33. 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)

    Article  Google Scholar 

  34. 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

  35. Zimmermann, O.: Microservices tenets. Comput. Sci. Res. Dev. 32(3), 301–310 (2017)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Saverio Giallorenzo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics