with Model-driven Engineering
- model-driven: abstract the complexity of microservice architectures with the power of Model-driven Engineering
- collaborative: provide concern-oriented, integrated modeling languages for stakeholder groups of microservice architectures ranging from domain experts to microservice developers and operators
- practice-oriented: aligned to the requirements of real-world microservice architectures including distributed development, DevOps-based teams, and technology heterogeneity
- broad applicability: LEMMA has been used for, e.g., (i) the translation of domain-driven microservice designs into implementations; (ii) architecture recovery and quality attribute analysis; and (iii) microservice code generation
- IDE support: thanks to the Eclipse ecosystem LEMMA comes with dedicated editors including syntax highlighting, code completion, and as-you-type validation
- designed for extensibility: interested in extending LEMMA with your own super cool framework for microservice development or deployment? drop us an e-mail
LEMMA works with any Eclipse version greater or equal 2021-03. However, your Eclipse installation must meet the following prerequisites. If it does, you can either install LEMMA's latest release from its Eclipse updatesite or as a set of dropins.
- Optional: To leverage LEMMA's model processors, LEMMA requires the installation of the Eclipse plugins for the ATL Transformation Language and EMFTVM. You may install
ATL/EMFTVM
, e.g., from the Eclipse Marketplace.
You can install LEMMA from a running Eclipse instance via the following Eclipse updatesite: https://microservices.fh-dortmund.de/lemma/.
As an alternative to the Eclipse updatesite, you may also download the LEMMA Eclipse plugins for its latest release as a set of Eclipse dropins. You can find these dropins as an asset of LEMMA's latest release on GitHub.
We provide three examples in the form of a set of LEMMA models that describe coherent microservice architectures including their domain data, microservice APIs, and their operation. You can find the modeling examples on GitHub:
The LEMMA documentation can be found at https://seelabfhdo.github.io/lemma-docs. The documentation is currently work in progress but will receive updates on a regular basis. For example, it already contains a comprehensive installation guideline and a quick tour!
For information about the current version of LEMMA please refer to its Changelog.
LEMMA has its roots in Software Engineering research, and more specifically in the Software Architecture and Model-driven Engineering research communities. Thus, there are several papers that concern LEMMA's design and its application:
- Rademacher, Florian, et al. "Graphical and textual model-driven microservice development." Microservices. Springer, Cham, 2020. 147-179.
- Rademacher, Florian, Sabine Sachweh, and Albert Zündorf. "Deriving Microservice Code from Underspecified Domain Models Using DevOps-Enabled Modeling Languages and Model Transformations." 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). IEEE, 2020.
- Rademacher, Florian, Sabine Sachweh, and Albert Zündorf. "A Modeling Method for Systematic Architecture Reconstruction of Microservice-Based Software Systems." Enterprise, Business-Process and Information Systems Modeling. Springer, Cham, 2020. 311-326.
- Sorgalla, Jonas, et al. "Modeling microservice architecture: a comparative experiment towards the effectiveness of two approaches." Proceedings of the 35th Annual ACM Symposium on Applied Computing. 2020.
- Sorgalla, Jonas, et al. "Model-driven Development of Microservice Architecture: An Experiment on the Quality in Use of a UML-and a DSL-based Approach." (2020).
- Rademacher, Florian, Sabine Sachweh, and Albert Zündorf. "Aspect-oriented modeling of technology heterogeneity in microservice architecture." 2019 IEEE International Conference on Software Architecture (ICSA). IEEE, 2019.
- Rademacher, Florian, et al. "A model-driven workflow for distributed microservice development." Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing. 2019.
- Rademacher, Florian, et al. "Microservice architecture and model-driven development: yet singles, soon married (?)." Proceedings of the 19th International Conference on Agile Software Development: Companion. 2018.
- Rademacher, Florian, Jonas Sorgalla, and Sabine Sachweh. "Challenges of domain-driven microservice design: a model-driven perspective." IEEE Software 35.3 (2018): 36-43.
- Sorgalla, Jonas, et al. "Collaborative model-driven software engineering and microservice architecture: a perfect match?." Proceedings of the 19th International Conference on Agile Software Development: Companion. 2018.
- Rademacher, Florian, Sabine Sachweh, and Albert Zündorf. "Differences between model-driven development of service-oriented and microservice architecture." 2017 IEEE International Conference on Software Architecture Workshops (ICSAW). IEEE, 2017.
- Rademacher, Florian, Sabine Sachweh, and Albert Zündorf. "Towards a UML profile for domain-driven design of microservice architectures." International Conference on Software Engineering and Formal Methods. Springer, Cham, 2017.
Kudos to all LEMMA contributors 🎉🎉🎉