遵循軟件產品線方法專注於域特定語言(DSL)開發是否有意義?針對領域特定語言(DSL)的軟件產品線(SPL)
有誰知道任何其他方法來同時創建和維護幾個相關的領域特定語言?請注意,要支持自定義語言,需要支持多種工具,從解析器,編譯器,解釋器到當前最新的IDE等。
遵循軟件產品線方法專注於域特定語言(DSL)開發是否有意義?針對領域特定語言(DSL)的軟件產品線(SPL)
有誰知道任何其他方法來同時創建和維護幾個相關的領域特定語言?請注意,要支持自定義語言,需要支持多種工具,從解析器,編譯器,解釋器到當前最新的IDE等。
我們的DMS Software Reengineering Toolkit是正好這個想法。 DMS提供通用分析,樹形建設,分析(名稱解析,控制流分析,數據流分析,調用圖和點對點分析,自定義分析器,任意轉換)。它具有各種傳統語言前端,以及現成的一些DSL(例如,HTML,XML,時態邏輯方程,工業控制器語言......),但對定義其他DSL有很好的支持。
我們使用DMS既可以構建定製分析儀和轉換工具,也可以作爲產品線生成器。例如,我們爲各種語言提供測試覆蓋率,分析器,智能差異和克隆檢測......因爲DMS使這成爲可能。是的,這降低了我們的開發和維護成本,因爲這些工具類型中的每一種都直接使用DMS作爲基礎。從根本上說,它允許語言解析器,分析器和變換器不僅跨越特定語言,還跨越這些語言的方言甚至不同語言。
我認爲遵循軟件產品線方法專注於DSL是有意義的。如果你正確地定義了DSL,它將基本上定義一個框架,用於在一個域和一個運行環境中創建應用程序。在操作環境中,我的意思是操作系統,硬件和數據庫,以及代碼實現DSL的語義或運行時環境。框架和操作環境將成爲跨產品線重用的工件。您可能必須創建一個由多個DSL支持多個產品線的運行時環境組成的操作環境。