《基于元模型的工具中的实体变形.pdf》由会员分享,可在线阅读,更多相关《基于元模型的工具中的实体变形.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102054217 A (43)申请公布日 2011.05.11 CN 102054217 A *CN102054217A* (21)申请号 201010533283.8 (22)申请日 2010.11.05 12/613,351 2009.11.05 US G06Q 10/00(2006.01) (71)申请人 SAP 股份公司 地址 德国瓦尔多夫 (72)发明人 鲁文戴 (74)专利代理机构 北京市柳沈律师事务所 11105 代理人 邵亚丽 (54) 发明名称 基于元模型的工具中的实体变形 (57) 摘要 公开了一种用于在基于元模型的业务流程模 型和标记 (BPM。
2、N) 工具中变形实体的系统和方法。 接收用于将实体从第一非抽象实体类型变形到第 二非抽象实体类型的命令。建模基础设施 (MOIN) 基于与该实体相关联的元模型中的继承层次结构 返回该实体的所有非抽象子类型或兄弟。从该实 体的非抽象子类型或兄弟中确定第二非抽象实体 类型, 并且将所选出的实体从第一非抽象实体类 型变形到第二非抽象实体类型。 (30)优先权数据 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 6 页 CN 102054224 A1/2 页 2 1. 一种计算机实现的用于在基于元模型的业务流程模型和标记 B。
3、PMN 工具中变形实体 的方法, 该方法通过至少一个计算机系统的至少一个处理器运行计算机可读程序代码来执 行, 该方法包括 : 接收用于将实体从第一非抽象实体类型变形到第二非抽象实体类型的命令 ; 基于与该实体相关联的元模型中的继承层次结构, 从建模基础设施 MOIN 返回该实体 的所有非抽象子类型或兄弟 ; 从该实体的非抽象子类型或兄弟中确定第二非抽象实体类型 ; 以及 将所选出的实体从第一非抽象实体类型变形到第二非抽象实体类型。 2. 根据权利要求 1 所述的方法, 其中, 确定第二非抽象实体类型还包括 : 调用流程编排器插件中的变形代码, 该变形代码通过构造器创建变形命令对象, 该构 造。
4、器从 MOIN 获得到 MOIN 的连接、 该变形命令的人类可读描述、 要迁移的元素, 以及该元素 要被变形到的子类型的类描述符。 3. 根据权利要求 1 所述的方法, 还包括 : 向用户接口提供该命令的人类可读描述。 4. 根据权利要求 2 所述的方法, 其中, 所述命令包括用于用来对要被变形的实体操作 的 MOIN 功能的包装器。 5. 根据权利要求 2 所述的方法, 其中, 所述构造器还包括第二非抽象实体子类型的类 描述符。 6. 根据权利要求 2 所述的方法, 其中, 所述变形代码插件产生要被变形为第二非抽象 实体类型的实体的表示。 7. 一种用于在基于元模型的业务流程模型和标记 BP。
5、MN 工具中变形实体的计算机程序 产品, 该产品包括可由至少一个处理器读取并存储由该至少一个处理器执行的指令的存储 介质, 该指令被该至少一个处理器执行以进行以下操作 : 接收用于将实体从第一非抽象实体类型变形到第二非抽象实体类型的命令 ; 基于与该实体相关联的元模型中的继承层次结构, 返回该实体的所有非抽象子类型或 兄弟 ; 从该实体的非抽象子类型或兄弟中确定第二非抽象实体类型 ; 以及 将所选出的实体从第一非抽象实体类型变形到第二非抽象实体类型。 8. 根据权利要求 7 所述的计算机程序产品, 其中, 用于确定第二非抽象实体类型的指 令还包括 : 用于调用流程编排器插件中的变形代码的指令,。
6、 该变形代码通过构造器创建变形命令 对象, 该构造器从MOIN获得到MOIN的连接、 该变形命令的人类可读描述、 要迁移的元素, 以 及该元素要被变形到的子类型的类描述符。 9. 根据权利要求 7 所述的计算机程序产品, 所述指令还包括用于向用户接口提供该命 令的人类可读描述的指令。 10. 根据权利要求 8 所述的计算机程序产品, 其中, 所述命令包括用于用来对要被变形 的实体操作的 MOIN 功能的包装器。 11. 根据权利要求 8 所述的计算机程序产品, 其中, 所述构造器还包括第二非抽象实体 子类型的类描述符。 权 利 要 求 书 CN 102054217 A CN 102054224。
7、 A2/2 页 3 12. 根据权利要求 8 所述的计算机程序产品, 其中, 所述变形代码插件产生要被变形为 第二非抽象实体类型的实体的表示。 13. 一种用于在基于元模型的业务流程模型和标记 BPMN 工具中变形实体的系统, 该系 统包括 : 存储设备 ; 以及 与该存储设备通信的 BPMN 工具计算机, 该 BPMN 工具计算机包括用于实施以下方法的 软件, 该方法包括 : 接收用于将实体从第一非抽象实体类型变形到第二非抽象实体类型的命令 ; 基于与该实体相关联的元模型中的继承层次结构, 将该实体的所有非抽象子类型或兄 弟从建模基础设施 MOIN 返回该 BPMN 工具计算机 ; 从该实体。
8、的非抽象子类型或兄弟中确定第二非抽象实体类型 ; 以及 将所选出的实体从第一非抽象实体类型变形到第二非抽象实体类型。 14. 根据权利要求 13 所述的系统, 其中, 确定第二非抽象实体类型还包括 : 调用流程编排器插件中的变形代码, 该变形代码通过构造器创建变形命令对象, 该构 造器从 MOIN 获得到 MOIN 的连接、 该变形命令的人类可读描述、 要迁移的元素, 以及该元素 要被变形到的子类型的类描述符。 15. 根据权利要求 13 所述的系统, 所述方法还包括 : 向用户接口提供该命令的人类可读描述。 16. 根据权利要求 14 所述的系统, 其中, 所述命令包括用于用来对要被变形的实。
9、体操 作的 MOIN 功能的包装器。 17. 根据权利要求 14 所述的系统, 其中, 所述构造器还包括第二非抽象实体子类型的 类描述符。 18. 根据权利要求 14 所述的系统, 其中, 所述变形代码插件产生要被变形为第二非抽 象实体类型的实体的表示。 权 利 要 求 书 CN 102054217 A CN 102054224 A1/5 页 4 基于元模型的工具中的实体变形 技术领域 0001 本发明一般地涉及模型驱动的流程开发 (model driven process development), 更具体来说, 涉及用于基于元模型细化 (refine) 模型实体的系统和方法。 背景技术 0。
10、002 业务流程管理(Business Process Management, BPM)工具允许用户可以基于通用 流程模型来对自己的业务流程进行建模、 执行和监视。业务流程模型和标记法 (Business Process Model and Notation(BPMN) 是用于表示业务流程工作流的工业标准图形标记 法。BPMN 以流程图类型的风格示出业务流程的端到端的流, 并通常与面向用户接口的 BPMN 工具一起使用。BPMN 工具的例子之一是 SAP 的 NetWeaver BPM 组件 (NW BPM, 也称为 “银 河系 (Galaxy)” ), 其被设计用来帮助用户提高业务流程的效率。
11、, 减少复杂重复任务中的错 误, 以及降低异常处理的费用。 利用SAP BPM, 用户可以编排流程步骤、 定义业务规则和异常 (exception)、 使用 BPMN 对流程的流进行建模、 有效地执行流程模型, 以及通过个性化的用 户接口或交互的形式来支持与运行的流程的交互。 0003 在这样的模型驱动的开发中, 元模型是描述如何构建模型的模型。 在元模型中, 可 以规定表达域 (domain) 实体以及定义它们之间的关系的类 (class)。这些实体以及它们 的关系也包含关于建立在该元模型顶层的工具的信息, 所述工具例如 BPMN 工具。然而, 该 信息目前在建模基础设施中没有提供任何基于给。
12、定的元模型定义快速调整图元 (diagram element) 的功能。 发明内容 0004 大体上, 本文档讨论使用元模型中的继承层次结构 (inheritance hierarchy) 作 为如何基于元模型的定义细化模型实体的工具的手册的系统和方法。 该信息在建模基础设 施中提供基于给定的元模型定义快速调整 ( 如 BPMN 工具的 ) 图元的通用功能。 0005 在一个方面中, 提出一种计算机实现的用于在基于元模型的业务流程模型和标记 (BPMN)工具中变形实体的方法。 该方法通过至少一个计算机系统的至少一个处理器运行计 算机可读程序代码来执行。在另一方面中, 该方法由一种包括存储设备以。
13、及与该存储设备 通信的 BPMN 工具计算机的系统来实现。 0006 该方法包括 : 接收用于将实体从第一非抽象实体类型变形到第二非抽象实体类型 的命令 ; 基于与该实体相关联的元模型中的继承层次结构, 从建模基础设施 (MOIN) 返回该 实体的所有非抽象子类型或兄弟。该方法还包括从该实体的非抽象子类型或兄弟中确定 第二非抽象实体类型, 并将所选出的实体从第一非抽象实体类型变形到第二非抽象实体类 型。 0007 另一方面, 提出一种用于在基于元模型的业务流程模型和标记 (BPMN) 工具中变 形实体的计算机程序产品。 该产品包括可由至少一个处理器读取并存储由该至少一个处理 器执行的用于以下操。
14、作的指令的存储介质, 所述操作包括 : 接收用于将实体从第一非抽象 说 明 书 CN 102054217 A CN 102054224 A2/5 页 5 实体类型变形到第二非抽象实体类型的命令, 以及基于与该实体相关联的元模型中的继承 层次结构返回该实体的所有非抽象子类型或兄弟。 这些指令还包括从该实体的非抽象子类 型或兄弟中确定第二非抽象实体类型, 以及将所选出的实体从第一非抽象实体类型变形到 第二非抽象实体类型。 0008 在附图和下面的描述中阐述了一个或更多个实施例的细节。 从所述描述和附图以 及从权利要求中, 其它的特征和优点将会很明显。 附图说明 0009 现在将参考后面的附图来详细。
15、描述这些和其他方面以及其它方面。 0010 图 1 示 出 将 顺 序 连 接 符 (Sequence Connector) 变 形 到 条 件 顺 序 连 接 符 (Conditional Sequence Connector) ; 0011 图 2 示出实体变形系统 ; 0012 图 3 描述用户接口, 通过该用户接口可以执行实体变形技术 ; 0013 图 4 示出用于执行实体变形过程的子菜单 ; 0014 图 5 是实体变形方法的流程图 ; 0015 图 6 示出元模型的一个例子。 0016 各个图中相似的参考符号表示相似的元素。 具体实施方式 0017 本申请描述了一种用于在基于元模型。
16、的工具中进行实体变形 (morphing) 的系统 和方法。具体来说, 该系统在建模基础设施中包括基于给定的元模型定义快速调整图元的 功能。 根据一些实现方案, 功能模块被配置为基于给定的元模型定义将模型的实体 “变形” , 并可以作为通用命令显露在BPMN工具使用的建模基础设施(MOIN)中。 MOIN使得能够进行 模型驱动的开发, 这意味着由用户建模的内容 (things)( 如 BPMN 工件 (artifacts) 基于 给定的元模型以模型的形式存储在 MOIN 中。 0018 在此使用的术语 “变形” 有若干含义, 例如, 改变到更具体的类型, 或者改变成一个 兄弟 (sibling。
17、) 同时尽可能保持现有的属性值、 关系和身份。变形可以在继承层次结构的 一个层次上进行, 也可以在多个层次上进行。 在更复杂的情况中, 变形还可以意味着工具可 以在层次结构的同一层上进行兄弟到兄弟的变形。 0019 在 示 例 实 现 方 案 中,变 形 与 迁 移 命 令 (migrate command) 相 关 联, 如 在 SAP 的 Netweaver BPM 中 使 用 的 MOIN 中 的 用 于 迁 移 到 子 类 型 的 命 令 “MigrateToSubTypeCommand( 迁移到子类型命令 )” 。这样的命令有两个参数 : 1) 要被迁移 的元素 ; 以及 2) 该元。
18、素将被迁移到的子类型的类描述符 (class descriptor)。在一些实 现方案中, 应用编程接口 (API) 提供一组能够用于基于元模型中的继承层次结构来变形给 定元素的子类型。 在执行时, 迁移命令将给定的模型元素迁移到其非抽象子类型(或兄弟) 之一, 并尽可能接管 (take over) 所有的属性值和关系。 0020 一旦用户或程序决定将模型元素变形到其非抽象子类型之一, 如在图 1 的 例子中所示的将 Sequence Connector( 顺序连接符 ) 变形到 Conditional Sequence Connector( 条件顺序连接符 ), 就可通过代码来执行迁移命令。。
19、下面的开发者工作室 说 明 书 CN 102054217 A CN 102054224 A3/5 页 6 (developer studio) 的 bpem.ide(integrated development environment, 集成开发环 境 ) 插件中的代码是可以被调用的迁移命令的一个例子。作为示例, 该插件包含下面的使 用 “MigrateToSubTypeCommand” API 的代码片段 (snippet) : 0021 0022 Command comm new MigrateToSubTypeCommand( 0023 getConnection(), 0024 Glx。
20、IdeMessages.ConvertAbstract2BPMNType_0, 0025 seqConn, 0026 ConditionalSequenceConnector.CLASS_DESCRIPTOR) ; 0027 comm.execute() ; 0028 RefObject element (MigrateToSubTypeCommand)comm). getMigratedElement() ; 0029 if(element instanceof ConditionalSequenceConnector) 0030 csc (ConditionalSequenceConnec。
21、tor)element ; 0031 0032 如图 2 所示, 其中示出实体变形系统 100, 插件 110 可以是为用户产生工作空间 116 的 BPMN 工具 114 的流程编排器 (process composer)112 的一部分。流程编排器 112 是 应用和计算机程序产品, 并且可以在服务器计算机上运行并通过网络为客户端计算机提供 服务, 而工作空间 116 则在一个或更多个客户端计算机上运行。 0033 实体变形由MOIN 104中的实体变形引擎102来执行, 并且在一些实现方案中该实 体变形引擎被实现为 Java 代码。在这样的实现方案中, Java 代码被配置成在 ECLI。
22、PSE 平 台内运行。MOIN 104 允许模型驱动的开发, 意思是用户建模的内容 ( 如 BPMN 工件 ) 根据给 定的元模型 108 以实体模型 106 的形式存储在 MOIN 104 内。图 6 中示出元模型的一个例 子。 0034 除其它信息外, 流程编排器 112 和工作空间 116 还可以提供描绘 BPMN 流程和实体 的图形标记的用户接口。图 3 示出由流程编排器提供的 BPMN 工具的示例性用户接口 150。 除一组功能控件和菜单外, 该用户接口还包括具有若干文件夹的文件夹树 152, 用于指示模 型化的流程和可以用于触发流程的消息触发器。在用户接口 150 的图形建模窗口 。
23、154 中可 以定义、 建模和产生流程, 使用 BPMN 的图形标记和流程图技术根据元模型来表达域实体及 它们的关系。用户接口 150 还可以包括特性定义区 156, 用户可以在其中定义流程的特性、 实体以及关系。图 4 表示用于执行实体变形过程的子菜单。 0035 图5是实体变形方法200的流程图。 在步骤202, 选择要变形到新的子类型的模型 元素的子类型。 该选择可由用户操作用户接口并选择要被变形的模型元素的图形表示来进 行。基于该选择, 在步骤 204, 通过实体变形引擎来调用流程编排器中的变形代码插件。该 调用可以基于由实体变形引擎处理以执行该变形代码插件的用户命令。 在步骤206,。
24、 变形代 码插件创建变形命令对象, 其实现变形命令对象的构造器。 0036 在 一 些 实 体 变 形 过 程 实 现 方 案 中,首 先 通 过 构 造 器 创 建 新 命 令 “MigrateToSubTypeCommand” 。命令是用来在 MOIN 实体模型上操作的 MOIN 功能的包装 器 (wrapper)。构造器需要到 MOIN 的连接, 该 MOIN 用来执行该命令, 并其提供命令的人 说 明 书 CN 102054217 A CN 102054224 A4/5 页 7 类可读描述、 要被迁移的元素以及子类型的类描述符。在步骤 208, 在命令对象被创建之 后, 通过调用 ex。
25、ecute() 方法来执行该命令。例如, 作为结果, 可以在该命令对象上调用 “getMigratedElement()” , 并在步骤 210 接收可以被塑造成其新的子类型并进一步被使用 的被迁移的元素。 0037 在可替代的实现方案中, 可以将 MOIN 配置为用于基于元模型为给定的模型元素 提供所有非抽象子类型。然后, 该列表可以被显现给终端用户, 即以图形显示可视地表示, 该终端用户然后可以决定模型元素应当被变形到给定的子类型中的哪一个。 该代码在构造 “MigrateToSubTypeCommand” 命令之前执行。 0038 本说明书中描述的一些或全部功能操作可以用数字电子电路或计。
26、算机软件、 固 件, 或硬件来实现, 包括在本说明书中公开的结构以及它们的结构等同物, 或它们的组合。 本发明的实施方式可以实现为一个或多个计算机程序产品, 即一个或多个在计算机可读存 储介质(如机器可读存储设备、 机器可读存储介质、 存储器设备或机器可读的传播信号)上 编码的计算机程序指令模块, 用于由数据处理装置执行或用于控制数据处理装置的操作。 0039 术语 “数据处理装置” 包括所有用于处理数据的装置、 设备及机器, 例如包括可编 程处理器、 计算机或多个处理器或计算机。 除硬件外, 该装置还可以包括为所讨论的计算机 程序创建执行环境的代码, 例如构成处理器固件、 协议栈、 数据库管。
27、理系统、 操作系统或它 们的组合的代码。传输信号是人工产生的信号, 例如由机器产生的电、 光或电磁信号, 产生 该信号是为对信息进行编码以传输到合适的接收器装置。 0040 计算机程序(也称为程序、 软件、 应用、 软件应用、 脚本或代码)可以任何形式的编 程语言(包括编译的或解释的语言)来书写, 并可以任何形式部署, 包括作为独立的程序或 作为模块、 组件、 子程序或其它适合于在计算环境中使用的单元。 计算机程序不必对应于文 件系统中的文件。程序可以存储在保存其它程序或数据 ( 如存储在标记语言文档中的一个 或多个脚本 ) 的文件的一部分中、 存储在专用于所讨论的程序的单个文件中, 或存储在。
28、多 重协调的文件中(如存储一个或多个模块、 子程序或部分代码的文件)。 计算机程序可以部 署为在一台计算机上执行或者在位于一个地点或分布在多个地点且通过通信网络互联的 多台计算机上执行。 0041 在本说明书中描述的流程和逻辑流可由执行一个或多个计算机程序以通过对输 入数据进行操作并产生输出来执行功能的一个或多个可编程处理器来执行。 这些流程和逻 辑流还可以由特定目的逻辑电路如 FPGA( 现场可编程门阵列 ) 或 ASIC( 专用集成电路 ) 来 实现, 装置也可以实现为这样的特定目的逻辑电路。 0042 适于执行计算机程序的处理器例如包括通用的和专用的微处理器, 以及任何种类 的数字计算机。
29、的一个或多个处理器。一般来说, 处理器将从只读存储器或随机存取存储器 或两者接收指令和数据。 计算机的关键部件是用于执行指令的处理器以及一个或多个用于 存储指令和数据的存储器设备。 一般来说计算机还将包括通信接口或可操作地耦合到通信 接口, 以从一个或多个用于存储数据的海量存储设备(如磁盘、 磁光盘或光盘)接收数据或 者向一个或多个用于存储数据的海量存储设备(如磁盘、 磁光盘或光盘)传输数据, 或者二 者兼有。 0043 此外, 计算机还可以嵌入在另一设备中, 仅举几例来说, 如移动电话、 个人数字 助理 (PDA)、 移动音频播放器、 全球定位系统 (GPS) 接收器等。适于具体化计算机程序。
30、指 说 明 书 CN 102054217 A CN 102054224 A5/5 页 8 令和数据的信息载体包括所有形式的非易失性存储器, 例如包括 : 半导体存储器设备, 如 EPROM、 EEPROM 和快闪存储器设备 ; 磁盘, 如内部硬盘或可移动盘 ; 磁光盘 ; 以及 CD ROM 和 DVD-ROM 盘。处理器和存储器可以用特定目的逻辑电路来补充或合并在特定目的逻辑电路 中。 0044 为了提供与用户的交互, 本发明的实施例可以在具有用于向用户显示信息的显示 设备和用户可以用来向计算机提供输入的键盘和指示设备的计算机上实现, 所述显示设备 例如 CRT( 阴极射线管 ) 或 LCD。
31、( 液晶显示 ) 监视器 ), 所述指示设备例如鼠标或跟踪球。其 它类型的设备也可以用来提供与用户的交互 ; 例如, 提供给用户的反馈可以是任何形式的 感觉反馈, 如视觉反馈、 听觉反馈或触觉反馈 ; 来自用户的输入可以以任何形式来接收, 包 括声音输入、 语言输入或触觉输入。 0045 本发明的实施例可以在包括后端组件 ( 如数据服务器 ) 或中间件组件 ( 如应用服 务器)或前端组件(如具有用户通过其可与本发明的实现交互的图形用户接口或网页浏览 器的客户端计算机 ) 或任何这样的后端、 中间、 前端组件的组合的计算系统中实现。这些系 统的组件可以通过任何形式或媒介的数字数据通信 ( 如通信。
32、网络 ) 互联。通信网络的例子 包括局域网 (“LAN” ) 和广域网 (“WAN” ), 如互联网。 0046 计算系统可以包括客户机和服务器。 客户机和服务器通常彼此远离并且一般通过 通信网络交互。客户机和服务器的关系依靠运行在各个计算机上并且相互具有客户机 - 服 务器关系的计算机程序而产生。 0047 在本说明书中为清楚起见在不同实施例的上下文中描述的一些特征也可以在单 一的实施例中组合地提供。相反, 为简洁起见在单一实施例的上下文中描述的各种特征也 可以多个实施例中单独地或者以任何合适的子组合的形式提供。此外, 尽管特征在以上被 描述为以一定的组合的形式动作或者最初要求保护成这样, 。
33、但在一些情况下要求保护的组 合中的一个或多个特征也可以从该组合中分离出来, 并且要求保护的组合也可以指子组合 或子组合的变形。 0048 以上描述了本发明的特定实施例。其它实施例也落在后面权利要求的范围内。例 如, 权利要求中列举的步骤也可以不同的顺序执行而仍能获得期望的结果。 此外, 本发明的 实施例不局限于关系数据库体系结构 ; 例如本发明可以被实现以为在关系模型以外的模型 上建立的数据库 ( 如导航数据库或面向对象的数据库 ) 和包含具有复杂属性结构 ( 如面向 对象的编程对象或标记语言文档 ) 的记录的数据库提供索引 (indexing) 和归档方法和系 统。所描述的流程可以由专门执行。
34、存档和检索功能或嵌入在其它应用中的应用来实现。 说 明 书 CN 102054217 A CN 102054224 A1/6 页 9 图 1 说 明 书 附 图 CN 102054217 A CN 102054224 A2/6 页 10 图 2 说 明 书 附 图 CN 102054217 A CN 102054224 A3/6 页 11 图 3 说 明 书 附 图 CN 102054217 A CN 102054224 A4/6 页 12 图 4 说 明 书 附 图 CN 102054217 A CN 102054224 A5/6 页 13 图 5 说 明 书 附 图 CN 102054217 A CN 102054224 A6/6 页 14 图 6 说 明 书 附 图 CN 102054217 A 。