50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

模型驱动开发:成功在何方?

  • 2010-09-24
  • 本文字数:1220 字

    阅读完需:约 4 分钟

Ulrik Eklund 发表了关于 Jon Whittle 在 SPLC 2010 大会上的主题演讲摘要。在演讲中,他讲述了在 EA-MDE 项目中所得到的使用基于模型开发的实战经验。 项目的目的在于了解模型驱动工程(MDE)导致成功或失败的因素,从而有助于设计下一代的 MDE 工具。这并不是个新问题,两年前,Sven Efftinge、Peter Friese 和 Jan Köhnlein 就曾经发表了一篇名为《MDD 最佳实践》的文章,而Mendix 公司的CTO,Johan Den Haan 也发表了一篇关于 MDD 在初始阶段为何会失败的文章。采用 MDE 方法可能会让人气馁。 这样,Johan 根据他的文章做出以下结论:

我们的目的不是要让你在模型驱动软件开发过程的开始阶段就丧失信心。我只是想要向你展示它的复杂性,并且想要分享一些想法,它会指引你工作的方向,从而有助于让你克服 MDE 的复杂性问题。

两周前,他还在博客上发表了一篇文章,详细说明了在创建模型驱动的软件工厂方法的过程中所得到的教训,并且重申了相同的怀疑态度:

我认为模型驱动软件开发是未来软件开发的重要组成部分。然而,我也看到很多人在实际使用模型驱动技术,并将它应用在日常的工作中时遇到了很多困难。 因此,创建成功的模型驱动的软件工厂方法(MDSF)是很重要的。

这个问题实际上非常流行。上周,Marco Bramballi 和 Stefano Butti 也做了一次同样主题的演讲,其中讲述的是在大规模的银行项目中应用 BPM 和 MDD,其中包括 BPMN、WebML 和 WebRation

在他的演讲中,Jon 提供了成功的 MDE 方法的一些关键成功因素,这也是他所从事的研究的一部分:

  1. 保持领域(我想是建模的领域)紧而窄。
  2. 将目标定位为众所周知的领域。
  3. 在关键的项目中实行 MDD(他的意思是,试验性的项目永远都不会得到充分的关注和资源)。
  4. MDD 在设计时最容易发挥作用。
  5. 仔细确认成果,其中到处都会有偏差。
  6. 不要沉迷于自动生成代码。
  7. 并非所有人都能够抽象地思考。
  8. 大多数项目在规模膨胀时都会失败。
  9. 让费用和过程与人们思考的方式一致,而不是与其它方式一致。

在他们的文章中,Swen、Peter 和 Jan 还警告说:

我们为读者提出的最重要的建议是: 要有成效。当恰当地使用 DSL 和代码生成器的时候,它们会是相当有用的工具。 但我们始终应该专注于所要解决的问题。 在很多情况下,比较合理的做法是使用 DSL 来描述特定的问题,而不是所有方面。

尽管 MDE 还在快速地发展,但 Jon 关于 EA-MDE 调查的报告指出,响应者“认为MDE 是个好东西”。

模型驱动架构、开发和工程学以及丰富的模型驱动开发环境——像 NeXTStep ——都是在 80 年代末出现的,在十多年之后,模型已经无处不在,然而,开发工具的数量还是很少,我们的业界还在寻找让模型驱动开发成为主流的方法。只有这么少的成功案例,我们真的可以定义“得到的教训”或者“最佳实践”吗? 是什么阻碍了我们的发展呢? 是模型的关注点和准确度吗?是缺少工具?还是标准?或者是抽象的级别让大多数人难于创建可用的软件工厂方法?你的意见如何?

查看英文原文: Model-Driven Development: Where are the Successes?

2010-09-24 04:383667
用户头像

发布了 340 篇内容, 共 143.6 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

CAD文字样式如何修改?快来试试多行文字+自定义样式!

在路上

cad cad看图 CAD看图王

浩辰CAD看图王:携手鸿蒙,CAD技术创新驱动企业数字化转型

在路上

cad 浩辰CAD CAD看图王

《Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving》阅读笔记

AI布道Mr.Jin

Redis 数据恢复的月光宝盒,闪回到任意指定时间

Baidu AICLOUD

数据库 redis

时序数据库 Apache IoTDB V2.0.3 发布|新增元数据导入导出脚本适配表模型功能

Apache IoTDB

员工如何构建核心岗位能力?这里有答案

YG科技

MES系统:助力企业数字化转型

万界星空科技

数字化转型 制造业 mes 万界星空科技mes 数字化‘’

.NET8带来的一些新特性

电子尖叫食人鱼

.net

什么是安全访问服务边缘

天翼云开发者社区

安全 访问控制

SpringCloud Alibaba Seata 分布式事务处理的详细使用以及详细剖析

量贩潮汐·WholesaleTide

分布式 #SpringCloud

基于华为开发者空间,部署Cherry Studio+高德地图MCP Server构建出行规划助手

华为云开发者联盟

华为云ModelArts AI‘’ 华为开发者空间 MCP

谷云科技发布业内首份 Oracle OSB 迁移到 iPaaS 技术白皮书

谷云科技RestCloud

oracle API 白皮书 集成平台 ipaas

掘金 AI 编程社区- 人人都是 AI 编程家竞赛

Captain

MCP

英特尔代工:先进制造与全球供应网络齐头并进

E科讯

【万字长文】大模型开源开发全景与趋势解读

蚂蚁开源

人工智能 开源 大模型 开源生态 AI趋势

YashanDB金融特性数据库根原创实验室成果发布,1:1替代Oracle能力获数十家金融权威专家验证

极客天地

下一代入口之战:大厂为何纷纷押注智能体?

Alter

Fusion引擎赋能:流利说如何用阿里云Serverless Spark实现数仓计算加速

阿里云大数据AI技术

大数据 spark Serverless 运维 数据处理

WAAP对提升网站访问速度有什么作用?

天翼云开发者社区

WAAP

HAProxy 可观测性最佳实践

观测云

HAProxy

Redis 集群操作配置(超详细配图,配截图详细说明)

量贩潮汐·WholesaleTide

redis

ETL脚本节点使用的方式

谷云科技RestCloud

数据处理 API 脚本 ETL 数据集成

项目管理协作软件:禅道 VS Leangoo

axe

项目管理工具 办公软件 禅道 leangoo

RocketMQ实战—基于RocketMQ升级订单系统架构

不在线第一只蜗牛

RocketMQ

开源 TTS 模型 Chatterbox:支持实时合成,0.5B 规模;Odyssey:实时互动视频,30 帧/秒流式传输丨日报

声网

天翼云出席中国系统架构师大会,以科技创新引领产业升级!

天翼云开发者社区

云计算 天翼云 息壤

Netty实战入门教程

不在线第一只蜗牛

Netty

分布式系统学习:分布式事务

电子尖叫食人鱼

学习 分布式

企业数字化转型的7个难点

优秀

数字化转型 数字化

DevOps效能引擎:模板版本管理,让每一次变更可控可追溯

嘉为蓝鲸

DevOps 持续集成 智能运维

华为开发者空间 - MindSpore魔法课堂:手把手教你玩转AI框架

华为云开发者联盟

Jupyter Notebook 昇思MindSpore AI‘’ 华为开发者空间

模型驱动开发:成功在何方?_架构_Jean-Jacques Dubray_InfoQ精选文章