自动生成特定领域模型和图表


PDF文件的内容是一篇关于特定领域建模语言(Domain-Specific Modeling, DSM)的学术论文,标题为《Automated Annotations in Domain-Specific Models: Analysis of 23 Cases》,作者是Steven Kelly和Juha-Pekka Tolvanen,来自芬兰的MetaCase公司。这篇论文主要研究了在特定领域建模语言中自动化注释的显示方式,并对23种案例进行了分析。

23种案例覆盖了不同的问题领域,包括但不限于以下领域:

  1. 家庭自动化 (Home automation)
  2. 数据库应用 (Database applications)
  3. 数据架构 (Data architecture)
  4. 保险产品 (Insurance products)
  5. 保险系统 (Insurance systems)
  6. 企业应用 (Enterprise applications)
  7. 大数据应用 (Big data applications)
  8. 电话用户界面应用 (Phone UI applications)
  9. 政府企业架构 (Government EA)
  10. 人工智能机器人 (AI bot)
  11. 呼叫处理 (Call processing)
  12. 医疗 (Medical)
  13. 安全 (Security)
  14. 工业自动化 (Industrial automation)
  15. 消费电子 (Consumer electronics)
  16. 区块链生态系统 (Blockchain ecosystems)
  17. 软件测试 (Software testing)
  18. 电信 (Telecom)
  19. 性能测试 (Performance testing)
  20. 航空 (Aerospace)
  21. 消费电子 (Consumer electronics) - 此条目重复,可能是不同案例
  22. 汽车电子控制单元 (Automotive ECU)
  23. 汽车架构 (Automotive architecture)

以下是对论文内容的详细解读:

摘要
论文指出,建模语言通常专注于表达它们认为与系统相关的方面,如结构、行为、交互、时序等。然而,大多数语言并不明确地可视化与模型的正确性、一致性或不完整性相关的方面,也不展示系统执行期间的信息或基于执行的模型动画。特定领域的信息通常在构建特定领域的语言时被考虑,因为这些语言希望遵循特定领域的约束和规则。本文通过注释的形式,研究了特定领域建模如何自动化地在模型中显示这类信息,并基于早期研究和作者自己的经验,形成了对这些信息的语义和视觉表示的分类。

关键词

  • 特定领域建模(Domain-Specific Modeling)
  • 可视化(Visualization)
  • 领域知识(domain knowledge)
  • 语言设计(language design)

引言
论文讨论了建模语言的局限性,即它们通常只可视化建模者创建的数据,而不显示与模型正确性或一致性相关的错误、未完成的部分或运行时信息。作者提出,对于用于生成代码、配置、测试或其他工件的模型,提供此类注释更有价值,甚至是必须的。

相关工作
论文回顾了领域特定建模的基础,即适当的语言可以减少错误。作者还讨论了关于模型缺陷注释的研究,特别是UML的案例,以及在Web表单中错误注释的研究。

分类注释
作者将注释定义为通过分析模型数据并为建模者提供附加值的所有显示信息。注释根据其语义内容(错误、警告等)和在工具中的视觉表示(图标、文本报告等)进行分类。

研究方法
作者采用了实证研究方法,分析了实际案例中的特定领域建模解决方案,以识别所使用的注释方法。

分析
论文展示了一个表格,列出了案例的问题领域、历史和使用信息,以及根据视觉类别和语义类别发现的注释方法。作者还绘制了一个图表,展示了注释与特定领域建模语言使用的相关性。

讨论
作者讨论了添加注释对语言工程师来说并不是一项巨大的工作,并指出注释的可用性与更长时间的使用和更多用户的使用呈正相关。

结论
尽管特定领域建模语言排除了在通用建模或编程语言中发现的大量错误,但自动化注释对于显示模型中的错误和其他分析对建模者来说似乎是有用的。随着语言使用的增加,注释的使用也有所增加,特别是更图形化、实时的注释。

这篇论文为特定领域建模语言的设计者和实践者提供了有价值的见解,特别是在如何通过自动化注释来提高模型的质量和可用性方面。
点击标题

附加:通过自动化方式可视化特定领域模型和图表几种工具

  1. 可视化需求:有些情况下,需要将模型与特定细节进行可视化。这可以通过创建模型的各种视图(例如图表、矩阵、表格或树)来实现,或者通过将内置可视化或注释集成到领域特定语言 (DSM) 中来实现,类似于提供的 PDF 中回顾的 23 个案例。
  2. 访问建模工具:查看这些模型通常需要访问建模工具。
  3. 替代方法 - 图表即代码:除了手动创建,另一种方法是使用架构图表工具或“图表即代码”,让所有利益相关者都可以轻松访问模型。这些工具提供了概览,并促进了会议和协作环境中的讨论。
  4. Ilograph:作者之所以选择 Ilograph,是因为它在定义元素类型方面具有灵活性,允许将现有的领域概念直接表示为资源。这是有益的,因为它与领域特定建模中使用的元模型紧密结合。
  5. Structurizr:另一个提到的工具是 Structurizr,它是为 C4 模型设计的。但是,使用 Structurizr 需要将模型转换为 C4 模型格式,而 C4 模型格式具有不同的元模型。
  6. 自动生成:作者主张根据现有数据自动生成这些可视化,以获得更快、更简单、更精确的结果。
  7. MetaEdit+ 生成器:作者在 MetaEdit+ 中创建了生成器,可以生成使用 MetaEdit+ 创建的任何模型的可视化效果,包括使用自定义语言创建的模型。这些生成器可以在提供的 GitHub 链接中找到。
  8. 定制:根据用户希望可视化的具体方面,可以定制这些生成器。这包括添加特定行为、图标或方法来处理要在 Ilograph 中可视化的模型中的子图。

这种模型可视化方法强调效率和可访问性,使更广泛的受众无需专门的建模工具即可更轻松地参与和理解复杂模型。