2010-09-20 77 views
2

遵循软件产品线方法专注于域特定语言(DSL)开发是否有意义?针对领域特定语言(DSL)的软件产品线(SPL)

有谁知道任何其他方法来同时创建和维护几个相关的领域特定语言?请注意,要支持自定义语言,需要支持多种工具,从解析器,编译器,解释器到当前最新的IDE等。

回答

1

我们的DMS Software Reengineering Toolkit正好这个想法。 DMS提供通用分析,树形建设,分析(名称解析,控制流分析,数据流分析,调用图和点对点分析,自定义分析器,任意转换)。它具有各种传统语言前端,以及现成的一些DSL(例如,HTML,XML,时态逻辑方程,工业控制器语言......),但对定义其他DSL有很好的支持。

我们使用DMS既可以构建定制分析仪和转换工具,也可以作为产品线生成器。例如,我们为各种语言提供测试覆盖率,分析器,智能差异和克隆检测......因为DMS使这成为可能。是的,这降低了我们的开发和维护成本,因为这些工具类型中的每一种都直接使用DMS作为基础。从根本上说,它允许语言解析器,分析器和变换器不仅跨越特定语言,还跨越这些语言的方言甚至不同语言。

1

我认为遵循软件产品线方法专注于DSL是有意义的。如果你正确地定义了DSL,它将基本上定义一个框架,用于在一个域和一个运行环境中创建应用程序。在操作环境中,我的意思是操作系统,硬件和数据库,以及代码实现DSL的语义或运行时环境。框架和操作环境将成为跨产品线重用的工件。您可能必须创建一个由多个DSL支持多个产品线的运行时环境组成的操作环境。