自動生成特定領域模型和圖表

banq發表於2024-06-14


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 中視覺化的模型中的子圖。

這種模型視覺化方法強調效率和可訪問性,使更廣泛的受眾無需專門的建模工具即可更輕鬆地參與和理解複雜模型。
 

相關文章