WEB开发网
开发学院软件开发Java 使用MDSD开发安全可靠的软件 阅读

使用MDSD开发安全可靠的软件

 2010-06-30 00:00:00 来源:WEB开发网   
核心提示: 语言变更 当使用模型驱动的技术时,我们经常使用一些领域特定语言(DSLs)来描述我们的模型,使用MDSD开发安全可靠的软件(6),这些领域特定语言非常适合描述目标领域,因为它们为我们提供了对所需要的领域特定的表达与抽象,此时,不同版本变换可以在反腐化层内部被清晰地分离出来,与一些通用意图语言(g

语言变更

当使用模型驱动的技术时,我们经常使用一些领域特定语言(DSLs)来描述我们的模型。这些领域特定语言非常适合描述目标领域,因为它们为我们提供了对所需要的领域特定的表达与抽象。与一些通用意图语言(general purpose languages,GPLs)相比,DSLs不会像GPLs那样死板,并且不受语言变更约束。随着DSL描述的领域与元模型的演化,一些新增的概念与结构体(constructs)将被添加或替换,语言本身也在演化。不幸的是,领域特定语言本身对于不兼容性是没有任何免疫力的。

使用MDSD开发安全可靠的软件

而对于潜在的冲突还是有办法解决的。我们可以使用文献[9]中提到的反腐化层(Anticorruption Layer)模式处理这类冲突。就像其名字一样,该模式可以解决腐化问题。在一个语言变更场景中,腐化发生于我们变更语言元模型的地方。对于新版本元模型而言,所有满足旧的元模型的模型都腐化了。遗留的元模型不再被系统支持,并且客户端将被强制迁移到基于新元模型的语言上。通过特定的反腐化层,我们既能保护旧的元模型,也能让元模型朝着更合理的方向演化。反腐化层是一系列门面、适配器以及描述不同模型变换的变换器的组合。客户端对于元模型可见的同时,我们也维护这一个内部元模型。该内部元模型作为主元模型将被用于未来的模型处理。所有的外部模型实例将被变换成对应内部元模型的模型实例。外部元模型提供了目标领域的特定视图。通过反腐化层,我们可以将多个视图正确映射到一个通用的元模型上。此时,不同版本变换可以在反腐化层内部被清晰地分离出来,元模型过时策略也可以被更容易地实现。

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 MDSD 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接