引理
用于微服务架构建模的语言生态系统
促进设计开发 ?和部署?复杂的微服务架构
模型驱动工程
由 Florian Rademacher 和贡献者使用 ❤︎ 构建
目录
特征
- 模型驱动:利用模型驱动工程的力量抽象微服务架构的复杂性
- 协作:为微服务架构的利益相关者群体(从领域专家到微服务开发人员和运维人员)提供面向关注的集成建模语言
- 面向实践:符合现实世界微服务架构的要求,包括分布式开发、基于 DevOps 的团队和技术异构性
- 广泛的适用性: LEMMA 已用于(i)将领域驱动的微服务设计转换为实现; (ii) 架构恢复和质量属性分析; (iii) 微服务代码生成
- IDE 支持:得益于 Eclipse 生态系统,LEMMA 配备了专用编辑器,包括语法突出显示、代码完成和键入时验证
- 专为可扩展性而设计:有兴趣使用您自己的超酷框架来扩展 LEMMA 以进行微服务开发或部署吗?给我们发电子邮件
安装
LEMMA 可与任何大于或等于 2021-03 的 Eclipse 版本配合使用,并且可以使用专用的 Eclipse 更新站点或一组 Eclipse dropins 进行安装。
更新站点
您可以通过以下 Eclipse 更新站点从正在运行的 Eclipse 实例安装 LEMMA:https://microservices.fh-dortmund.de/lemma/。
德罗宾斯
作为 Eclipse 更新站点的替代方案,您还可以下载最新版本的 LEMMA Eclipse 插件作为一组 Eclipse dropins。您可以在 GitHub 上找到这些作为 LEMMA 最新版本的资产的 dropins。但是,在这种情况下,您还需要手动安装 ATL 转换语言和 EMFTVM 4.5 或更高版本的 Eclipse 插件。相应的 Eclipse 更新站点位于:https://download.eclipse.org/mmt/atl/updates/releases/。
示例
我们提供了几个使用 LMMA 来描述连贯(部分)微服务架构的示例,包括它们的域数据、微服务 API 和操作。您可以在 GitHub 上找到这些示例:
- 充电站管理示例
- 停车位示例
- 电动汽车充电示例
- 外带食品示例
- 保险公司示例
文档
LEMMA 文档可以在 https://seelabfhdo.github.io/lemma-docs 找到。该文档目前正在进行中,但会定期收到更新。例如,它已经包含全面的安装指南和快速浏览!
变更日志
有关 LEMMA 当前版本的信息,请参阅其变更日志。
科学
LEMMA 植根于软件工程研究,更具体地说,植根于软件架构和模型驱动工程研究社区。因此,有几篇论文涉及 LEMMA 的设计及其应用:
2022年
- Rademacher、Florian“用于微服务架构建模的语言生态系统”。博士论文。卡塞尔大学电气工程与计算机科学系。
- 拉德马赫、弗洛里安等人。 “使用 LEMMA 实现生成式微服务开发和部署的可扩展方法。”软件架构(ECSA 2021)。施普林格,2022。
- 贾洛伦佐、萨维里奥等人。 “模型驱动的微服务接口生成:从 LEMMA 域模型到 Jolie API。”协调模型和语言(COORDINATION 2022)。施普林格,2021。276-284。
2021年
- 贾洛伦佐、萨维里奥等人。 “Jolie 和 LEMMA:模型驱动工程和编程语言在微服务上相遇。”协调模型和语言(协调 2021)。施普林格,2021。276-284。
- 拉德马赫、弗洛里安等人。 “使用 LEMMA 进行微服务架构的整体建模。” 2021 年第 15 届欧洲软件架构会议配套论文集。CEUR-WS,2021。
- 索加拉,乔纳斯,等人。 “应用模型驱动工程来刺激中小型开发组织采用 DevOps 流程。” SN 计算机科学。施普林格,2021。
2020年
- 拉德马赫、弗洛里安等人。 “图形和文本模型驱动的微服务开发。”微服务。施普林格,2020。147-179。
- 拉德马赫、弗洛里安、萨宾·萨赫韦和阿尔伯特·尊多夫。 “使用支持 DevOps 的建模语言和模型转换从未指定的域模型中派生微服务代码。” 2020 年第 46 届 Euromicro 软件工程和高级应用会议 (SEAA)。 IEEE,2020。
- 拉德马赫、弗洛里安、萨宾·萨赫韦和阿尔伯特·尊多夫。 “一种基于微服务的软件系统系统架构重构的建模方法”。企业、业务流程和信息系统建模。施普林格,2020。311-326。
- 索加拉,乔纳斯,等人。 “微服务架构建模:两种方法有效性的比较实验。”第 35 届 ACM 应用计算年度研讨会论文集。 2020.
- 索加拉,乔纳斯,等人。 “微服务架构的模型驱动开发:基于 UML 和 DSL 方法的使用质量实验。” (2020)。
- 索加拉、乔纳斯、萨宾·萨赫韦和阿尔伯特·尊多夫。 《探索中小型组织的微服务开发流程》以产品为中心的软件流程改进。施普林格,2020。453-460。
2019年
- 拉德马赫、弗洛里安、萨宾·萨赫韦和阿尔伯特·尊多夫。 “微服务架构中技术异构性的面向方面建模。” 2019 年 IEEE 软件架构国际会议 (ICSA)。 IEEE,2019。
- 拉德马赫、弗洛里安等人。 “用于分布式微服务开发的模型驱动工作流程。”第 34 届 ACM/SIGAPP 应用计算研讨会论文集。 2019.
- 拉德马赫、弗洛里安等人。 “微服务架构和模型驱动开发:单身,很快就结婚了(?)。”第 19 届敏捷软件开发国际会议论文集:同伴。 2018.
2018年
- 拉德马赫、弗洛里安、乔纳斯·索加拉和萨宾·萨赫韦。 “领域驱动的微服务设计的挑战:模型驱动的视角。” IEEE 软件 35.3 (2018):36-43。
- 索加拉,乔纳斯,等人。 “协作模型驱动的软件工程和微服务架构:完美匹配?”第 19 届敏捷软件开发国际会议论文集:同伴。 2018.
2017年
- 拉德马赫、弗洛里安、萨宾·萨赫韦和阿尔伯特·尊多夫。 “面向服务的模型驱动开发和微服务架构之间的差异。” 2017 年 IEEE 国际软件架构研讨会研讨会 (ICSAW)。 IEEE,2017。
- 拉德马赫、弗洛里安、萨宾·萨赫韦和阿尔伯特·尊多夫。 “面向微服务架构领域驱动设计的 UML 配置文件。”软件工程和形式化方法国际会议。施普林格,2017。
贡献者
感谢所有 LEMMA 贡献者???
执照
麻省理工学院