微软加入OMG并发布下一代建模架构“Oslo”
微软宣布加入对象管理组织(OMG),并准备发布其下一代建模架构“Oslo”的社区技术预览版(CTP)。微软在过去对BizTalk、软件工厂和VSX工具等建模架构进行了大量投资,此次加入OMG标志着其在建模领域的进一步扩展。
项目Oslo的核心目标
微软服务器和工具部门的高级副总裁Bob Muglia表示,Oslo项目的目标是将模型深度集成到系统中,使系统本身的运行由模型驱动。这种模型驱动的方法旨在提高系统的灵活性和可维护性。
OMG的建模架构元素
OMG控制着多个建模架构元素,包括:
- UML:通用建模语言
- MDA:模型驱动架构方法
- BPMN:业务流程建模符号
- 行业垂直组:定义特定行业的模型
微软对UML的支持
微软最近宣布将在Visual Studio Team System的下一个版本“Rosario”中支持五种UML 2.1图表(类图、用例图、组件图、序列图和活动图)。这一举措引发了关于UML与领域特定语言(DSL)之间关系的讨论。
DSL与UML的关系
微软的Cameron Skinner强调,微软对DSL战略非常坚定,特别是对作为VS SDK一部分的DSL工具包。他表示,支持两种建模方法(UML和DSL)可以为开发人员和架构师提供“适合工作的正确工具”。UML适用于描述高级概念和初始词汇,而DSL适用于已确定实现策略的场景。
MDA与DSL的对比
Johan den Haan指出,Cameron Skinner的观点与MDA(模型驱动架构)的概念相似。UML用于定义平台无关模型(PIM),而DSL用于定义平台特定模型(PSM)。然而,Steven Kelly批评了这种方法,认为DSL应该针对问题领域,而不是解决方案领域。
DSL的类型与挑战
Johan den Haan将DSL分为两类:问题领域DSL和解决方案领域DSL。问题领域DSL具有更高的抽象级别,但其设计、实施、培训材料开发、语言支持、标准化和维护可能会成为耗时且复杂的问题。
GPL与DSL的区别
微软的Jack Greenfield解释了通用语言(GPL)和领域特定语言(DSL)的区别。GPL适用于问题领域尚未明确或快速变化的早期阶段,而DSL适用于问题领域已经明确或变化缓慢的后期阶段。GPL可以通过扩展机制(如UML中的原型)提高精度,但在某些情况下,定义DSL可能更为有效。
结论
微软通过加入OMG和支持UML,展示了其在建模领域的持续投入。同时,微软强调DSL的重要性,认为UML和DSL应相辅相成,而不是相互替代。这种“DSL + UML”的方法旨在为开发人员提供更灵活和精确的工具,以满足不同场景的需求。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。