写点什么

Obeo 发布 Obeo 设计器 5.0

  • 2011-03-18
  • 本文字数:2603 字

    阅读完需:约 9 分钟

上周,Obeo 发布了对其 Obeo 设计器产品的一次较大规模的升级。该产品的一个核心目标就是只需基于 Eclipse GMF(图形化建模框架)而无需 GMF(或 EMF, Eclipse 建模框架)方面的知识就能提供创建域特定建模工具的能力。该工具是基于“视角”的概念:

视角这个名词是一种抽象概念,它为某一系统提供某种规范,且这一系统只存在某一系列的特定问题。在 IEEE 1471 规范中有详细介绍。在本文中,我们用它来为用户提供针对某一特定关注点的一系列可视化呈现。

针对每个视角,用户可以定义展现的内容及其图形化功能、工具面板以及相关行为。图形化部分被分离成多个行为部分。Obeo 设计器提供了不同视角之间以及和 UML 的集成。UML 建模器将在几个月后发布。

InfoQ 就这次新发布与来自 Obeo 的 Jerome Benois 和 Freddy Allilaire 进行了交谈。

InfoQ:为什么你们认为企业需要加强建模能力?

Obeo:建模从广义上是从技术中得以抽象,使其达到“为人所理解”的层次。工具也可以关注解决业务难题,而不仅仅是技术限制。使用 Obeo 设计器,业务经理和软件架构师们就有能力定义并共享一套通用的语言。建模形成了自然也就有助于他们交流的一致性。企业里的每个角色都可以根据其特定的词汇和关注点表现出某一通用的模型。

Obeo 的建模方法通过基于 DSL(领域特定语言)和视图从而上升到这种抽象层面。通过分析系统必须满足的需求和约束条件,我们可以很方便地开发一些模型去呈现系统。最初的建模工具在对待类似 MDA 和 UML 这类标准上都有些“教条化”。这些标准不能够针对客户情况进行调整从而使信息技术适配业务需求。每逢这种情况,用户只能调整其语法来适应这些工具,妥协必不可少。工具提供商不得不面临定义一套最综合全面的语言的难题。

DSLs 为每个域提供了专门的形式体系而只需要尽可能少的语法和概念。结果就是与业务更进一步的协调以及建模的简化。然而,如果一个较大的组织中存在几个截然不同的业务单元时,整套 DSL 方法开发起来还是比较困难的。这必然会导致出现针对各个业务单元的多个体系。我们认为最好是定义一套由所有利益关系人共享的通用语言,一种无所不在的语言。为了提高效率并被所有利益关系人所共享,有必要采用一种投射性的方法。IEEE 1471/D4.1 标准以在一个系统中视角的概念解构了这种方法。每个视角关注在每个给定的问题上。这种解构使得分析流程变得简化,因为流程被划分成了几个清晰定义的关注点上。各视角都针对某一既定方面的信息回答了一系列问题,分析人员使用“各个视角”来验证某一给定的架构是否符合透视的不同规则。这种方法基于的是关注点分离和完善迭代信息的原则,但主要还是从多个特定视角去挖掘统一模型。模型工程学和 MDA 是与此类方法可以达到最大的一致性的方法,因为它们能够准确无误并清楚的定义这些概念并相对应这些概念来操作统一的模型。

InfoQ:可以跟我们分享一下你们的用户使用 Obe 设计器解决的一些问题吗?

Obeo:通常,用户使用 Obeo 设计器来协同设计一些受制于很多约束的复杂项目。用户可以开发若干个工具,这归功于 Obeo 设计器不同视角(逻辑的、物理的、安全方面等等)的分离。此方法非常通用,最近,我们惊奇的发现有人已经把我们的方法应用到机器人技术上了。

在业务建模领域,我们的产品可以用来,比如,支持保险服务产品及产品目录。在财务领域,我们有客户将产品给财务分析人员使用,以一种综合的语言来进行定价和制定业务规则。

在企业架构领域,Obeo 设计器被用来支持企业转型。它从几个关键的视角对 TOGAF(开发组织架构框架)提供支持:战略视角、业务视角、数据视角、应用视角和技术视角。该单元模块支持由开放组织规范定义的核心图表和矩阵。

在系统工程学领域,用户可以使用我们的产品来支持基于硬件 / 软件一致性和功能性分析的系统验证和核对。

在进行非功能需求分析时,Obeo 设计器可以用来支持生成时间约束性分析和风险分析工件。

我们很快会在我们的站点上增加一些新的案例分析。

InfoQ:你什么时候会推荐用户创建图形化设计器而不是文本型编辑器?

Obeo:有些用户,通常比较技术的那些,更喜欢文本性标注。基于文本语法的计算指令对于我们大多数人来说会更加自然和高效。而从另一方面来看,图形化标注提供了较高层次的抽象。业务一般也倾向于使用图形化方式呈现。有些图形化呈现对人们来说很自然,比如将一个集合以树状的形式表现,或者用箭头连线几个盒子的方式呈现一个串行化过程。使用画图来展现一个工作流或设计一个奇思妙想是更为自然的方式。Obeo 设计器能为你在图形化呈现上提供很大的帮助,这也是这个产品很重要的一个价值所在。除此之外,产品还提供了其他一些呈现方式,比如图表和矩阵。你也可以在同一个编辑器里混合使用图形和文本两种建模方式,这样可以结合利用两者各自的优点。我们的产品完全能够兼容 Xtext(一种为你的域模型提供文本语法的工具)和 EEF(一种为你的域模型提供表单呈现的工具)。

InfoQ:在过去,代码生成器在融入软件构建过程中遇到了一些困难,目前有何改变呢?

Obeo:第一代代码生成器大多都是基于黑盒方法的。这些方案都不适用于特殊用户的需求。这种类型的方案仅仅可用于生成代码的框架。自然,你的入口点和与其对应生成的代码之间的同步也就很快失去了。从代码生成的观点来看,收效甚微。

我们可以注意到,代码生成其实一直都是存在的!那什么是代码编译呢?所幸目前大多数的人都不必去写汇编代码,代码生成对我们来说是完全透明的。

代码生成工具(尤其是那些基于建模的)着实有了进展:提供了更加简化的语法、高效的代码生成、可以与 IDE 工具(如 JDT)相提并论的高级特征。在 Obeo 设计器中,负责生成代码的是 Acceleo。Acceleo 是由 Eclipse 基金支持的一款基于 MDA(模型驱动架构)编程视图的开源代码生成环境。从 MOF(Meta-Object Facility,元对象机制)模型到文本语言,它推行 OMG 规范。它使得应用(或部分应用)可以自动生成,而且适用于敏捷开发活动。在应用体系中的调整可以比手工构建更快速。Acceleo 是可适配的,它提供了一些预设的满足特定需求的方案。除了 Acceleo,Obeo 设计器也提供了 Obeo 可追溯功能,可以用来探测并修正所有你的应用代码和模型之间出现的不一致和同步问题。

但是代码生成并不是万能解决方案。在开发过程中,软件架构师应该仔细地判断技术决策是归属于框架的还是代码生成器的。这没有一个统一的答案,要具体问题具体分析。


查看英文原文: Obeo Releases Obeo Designer 5.0

2011-03-18 21:198703
用户头像

发布了 52 篇内容, 共 21.3 次阅读, 收获喜欢 3 次。

关注

评论

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

消失与存续——应用交付行业的跌宕演进

通明湖

负载均衡 高可用 云原生 信创

可观测可回溯 | Continuous Profiling 实践解析

阿里巴巴云原生

阿里云 云原生 可观测

软件测试面试真题 | 请介绍一下Python中的深拷贝和浅拷贝

测试人

Python 软件测试 面试题 测试开发

Flink 读写多套 Kerberos 认证的 Kafka 方案

移动云大数据

穿越周期性调整 英特尔多举措布局半导体产业

科技之家

“程”风破浪的开发者|CTO浅谈数字化转型失败原因

CTO技术共享

学习方法 数字化转型 “程”风破浪的开发者

如何引发一场信创负载均衡领域的大变革?

通明湖

负载均衡 信创

ALL in ONE!博睿数据隆重举行ONE 2.0全面上线仪式

博睿数据

可观测性 智能运维 博睿数据 ONE平台

关于软件系统的帮助文档页面,你该知道的那些事儿

Baklib

帮助文档

英特尔财报彰显系统级代工渐成气候

科技之家

沉浸其境,共赴云栖数智硬核美学

阿里云CloudImagine

VR/AR 云栖大会 数智融合 超高清视频 云游戏

“程”风破浪的开发者|CTO浅谈数字化转型

CTO技术共享

学习方法 CTO 数字化转型 “程”风破浪的开发者

云科通明湖:金融业务可持续性能力建设,少不了这块“拼图”!

通明湖

负载均衡

SAP | ABAP程序结构中的处理块

暮春零贰

SAP 模块化 10月月更

中台“不火”了,企业“底座”却火了

BeeWorks

颠覆性突破重构企业价值

通明湖

负载均衡 云原生

Sanitizers 系列之 address sanitizer 用法篇

网易云信

算法 语言 & 开发

信息技术国产化浪潮中,云科通明湖如何助力企业转型蝶变?

通明湖

双活 高可用架构 自主可控

浅谈长连接负载均衡

捉虫大师

负载均衡 长连接 10月月更

网络安全hw蓝队实战之溯源

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

低代码又又又“出圈”了

优秀

低代码

API 动态更新 Upstream

通明湖

API upstream 动态更新

云原生颠覆实践,可持续性应用创新引擎

通明湖

负载均衡 云原生

【网易云信】Sanitizers 系列之 address sanitizer 用法篇

网易智企

算法 开发语言

千企千面,WorkPlus面向政企提供个性化的数智办公平台解决方案

BeeWorks

NFT质押挖矿分币系统开发模式定制

开发微hkkf5566

NFT质押挖矿分红dapp系统开发功能介绍

开发微hkkf5566

SAP | 如何全局处理消息文本

暮春零贰

SAP 10月月更 动态消息

阿里最新产,SpringCloud微服务核心技术全解手册Github星标50k

程序员小毕

Java 微服务 后端 SpringCloud springcloudAlibaba

可观测实践|如何使用阿里云 Prometheus 观测 ECS 应用

阿里巴巴云原生

阿里云 云原生

即时通讯IM WorkPlus支持国产化信创环境

BeeWorks

Obeo发布Obeo设计器5.0_方法论_Jean-Jacques Dubray_InfoQ精选文章