31、模型驱动开发与中间件介导分布式系统的技术探索

模型驱动开发与中间件介导分布式系统的技术探索

增量式模型驱动开发(MDD)的因果连接实现

在大多数模型驱动架构(MDA)和模型驱动开发(MDD)的实现中,建模环境和运行时环境是分离的。这就导致对运行时系统进行更改变得很麻烦,例如向正在运行的系统添加新类型,就需要重新生成系统代码、重新编译并重启系统,这会造成系统停机,影响正常业务。

Riehle等人指出,为了在不停止运行时系统的情况下实现这些更改,从而实现增量式模型驱动开发,建模环境和运行时环境之间需要直接的“因果”连接,这样每个更改或添加都能直接且仅在局部(不干扰其他模型及其运行时实例)影响运行时系统。他们描述了一种基于UML的模型驱动系统的因果连接实现,该实现基于“自适应对象模型”(AOMs)原则。AOMs的思想是,面向对象的应用程序可以通过运行时可用的元数据进行调整。然而,所有已知的AOM实现都基于解释,实例结构和行为都是通过解释实现的,这导致实例的存储结构效率不高,并且会失去编程支持,如优化、类型检查和正常调试。因此,这种方法仅用于通过交互式模型驱动开发创建令人满意的应用程序,最终系统仍以“传统”方式生成,无法再进行增量式更改。

本文的贡献在于描述了如何使用代码生成来实现因果连接,从而实现增量式模型驱动开发。通过代码生成,可以避免解释实现带来的问题,使建模和运行时环境之间的因果连接成为一个基本的、持久的特性。作者已经在集成建模和执行环境中实现了这一点,但由于需要代码生成,这在一定程度上牺牲了交互式开发的可能性。

以库存管理为例,库存系统中要管理的资源种类无法预先定义,且变化迅速。这里的例子是添加一种新的资源——自行车,需要对其进行库存管理。

实现方法

实现方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值