首页> 中国专利> 基于元模型的工具中的实体变形

基于元模型的工具中的实体变形

摘要

公开了一种用于在基于元模型的业务流程模型和标记(BPMN)工具中变形实体的系统和方法。接收用于将实体从第一非抽象实体类型变形到第二非抽象实体类型的命令。建模基础设施(MOIN)基于与该实体相关联的元模型中的继承层次结构返回该实体的所有非抽象子类型或兄弟。从该实体的非抽象子类型或兄弟中确定第二非抽象实体类型,并且将所选出的实体从第一非抽象实体类型变形到第二非抽象实体类型。

著录项

  • 公开/公告号CN102054217A

    专利类型发明专利

  • 公开/公告日2011-05-11

    原文格式PDF

  • 申请/专利权人 SAP股份公司;

    申请/专利号CN201010533283.8

  • 发明设计人 鲁文·戴;

    申请日2010-11-05

  • 分类号G06Q10/00;

  • 代理机构北京市柳沈律师事务所;

  • 代理人邵亚丽

  • 地址 德国瓦尔多夫

  • 入库时间 2023-12-18 02:09:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-01-22

    授权

    授权

  • 2012-06-06

    实质审查的生效 IPC(主分类):G06Q10/00 申请日:20101105

    实质审查的生效

  • 2011-05-11

    公开

    公开

说明书

技术领域

本发明一般地涉及模型驱动的流程开发(model driven process development),更具体来说,涉及用于基于元模型细化(refine)模型实体的系统和方法。

背景技术

业务流程管理(Business Process Management,BPM)工具允许用户可以基于通用流程模型来对自己的业务流程进行建模、执行和监视。业务流程模型和标记法(Business Process Model and Notation(BPMN))是用于表示业务流程工作流的工业标准图形标记法。BPMN以流程图类型的风格示出业务流程的端到端的流,并通常与面向用户接口的BPMN工具一起使用。BPMN工具的例子之一是SAP的NetWeaver BPM组件(NW BPM,也称为“银河系(Galaxy)”),其被设计用来帮助用户提高业务流程的效率,减少复杂重复任务中的错误,以及降低异常处理的费用。利用SAP BPM,用户可以编排流程步骤、定义业务规则和异常(exception)、使用BPMN对流程的流进行建模、有效地执行流程模型,以及通过个性化的用户接口或交互的形式来支持与运行的流程的交互。

在这样的模型驱动的开发中,元模型是描述如何构建模型的模型。在元模型中,可以规定表达域(domain)实体以及定义它们之间的关系的类(class)。这些实体以及它们的关系也包含关于建立在该元模型顶层的工具的信息,所述工具例如BPMN工具。然而,该信息目前在建模基础设施中没有提供任何基于给定的元模型定义快速调整图元(diagram element)的功能。

发明内容

大体上,本文档讨论使用元模型中的继承层次结构(inheritance hierarchy)作为如何基于元模型的定义细化模型实体的工具的手册的系统和方法。该信息在建模基础设施中提供基于给定的元模型定义快速调整(如BPMN工具的)图元的通用功能。

在一个方面中,提出一种计算机实现的用于在基于元模型的业务流程模型和标记(BPMN)工具中变形实体的方法。该方法通过至少一个计算机系统的至少一个处理器运行计算机可读程序代码来执行。在另一方面中,该方法由一种包括存储设备以及与该存储设备通信的BPMN工具计算机的系统来实现。

该方法包括:接收用于将实体从第一非抽象实体类型变形到第二非抽象实体类型的命令;基于与该实体相关联的元模型中的继承层次结构,从建模基础设施(MOIN)返回该实体的所有非抽象子类型或兄弟。该方法还包括从该实体的非抽象子类型或兄弟中确定第二非抽象实体类型,并将所选出的实体从第一非抽象实体类型变形到第二非抽象实体类型。

另一方面,提出一种用于在基于元模型的业务流程模型和标记(BPMN)工具中变形实体的计算机程序产品。该产品包括可由至少一个处理器读取并存储由该至少一个处理器执行的用于以下操作的指令的存储介质,所述操作包括:接收用于将实体从第一非抽象实体类型变形到第二非抽象实体类型的命令,以及基于与该实体相关联的元模型中的继承层次结构返回该实体的所有非抽象子类型或兄弟。这些指令还包括从该实体的非抽象子类型或兄弟中确定第二非抽象实体类型,以及将所选出的实体从第一非抽象实体类型变形到第二非抽象实体类型。

在附图和下面的描述中阐述了一个或更多个实施例的细节。从所述描述和附图以及从权利要求中,其它的特征和优点将会很明显。

附图说明

现在将参考后面的附图来详细描述这些和其他方面以及其它方面。

图1示出将顺序连接符(Sequence Connector)变形到条件顺序连接符(Conditional Sequence Connector);

图2示出实体变形系统;

图3描述用户接口,通过该用户接口可以执行实体变形技术;

图4示出用于执行实体变形过程的子菜单;

图5是实体变形方法的流程图;

图6示出元模型的一个例子。

各个图中相似的参考符号表示相似的元素。

具体实施方式

本申请描述了一种用于在基于元模型的工具中进行实体变形(morphing)的系统和方法。具体来说,该系统在建模基础设施中包括基于给定的元模型定义快速调整图元的功能。根据一些实现方案,功能模块被配置为基于给定的元模型定义将模型的实体“变形”,并可以作为通用命令显露在BPMN工具使用的建模基础设施(MOIN)中。MOIN使得能够进行模型驱动的开发,这意味着由用户建模的内容(things)(如BPMN工件(artifacts))基于给定的元模型以模型的形式存储在MOIN中。

在此使用的术语“变形”有若干含义,例如,改变到更具体的类型,或者改变成一个兄弟(sibling)同时尽可能保持现有的属性值、关系和身份。变形可以在继承层次结构的一个层次上进行,也可以在多个层次上进行。在更复杂的情况中,变形还可以意味着工具可以在层次结构的同一层上进行兄弟到兄弟的变形。

在示例实现方案中,变形与迁移命令(migrate command)相关联,如在SAP的Netweaver BPM中使用的MOIN中的用于迁移到子类型的命令“MigrateToSubTypeCommand(迁移到子类型命令)”。这样的命令有两个参数:1)要被迁移的元素;以及2)该元素将被迁移到的子类型的类描述符(class descriptor)。在一些实现方案中,应用编程接口(API)提供一组能够用于基于元模型中的继承层次结构来变形给定元素的子类型。在执行时,迁移命令将给定的模型元素迁移到其非抽象子类型(或兄弟)之一,并尽可能接管(take over)所有的属性值和关系。

一旦用户或程序决定将模型元素变形到其非抽象子类型之一,如在图1的例子中所示的将Sequence Connector(顺序连接符)变形到Conditional Sequence Connector(条件顺序连接符),就可通过代码来执行迁移命令。下面的开发者工作室(developer studio)的bpem.ide(integrated development environment,集成开发环境)插件中的代码是可以被调用的迁移命令的一个例子。作为示例,该插件包含下面的使用“MigrateToSubTypeCommand”API的代码片段(snippet):

<...>

Command comm=new MigrateToSubTypeCommand(

     getConnection(),

     GlxIdeMessages.ConvertAbstract2BPMNType_0,

     seqConn,

     ConditionalSequenceConnector.CLASS_DESCRIPTOR);

comm.execute();

RefObject element=((MigrateToSubTypeCommand)comm).getMigratedElement();

if(element instanceof ConditionalSequenceConnector){

   csc=(ConditionalSequenceConnector)element;

<...>

如图2所示,其中示出实体变形系统100,插件110可以是为用户产生工作空间116的BPMN工具114的流程编排器(process composer)112的一部分。流程编排器112是应用和计算机程序产品,并且可以在服务器计算机上运行并通过网络为客户端计算机提供服务,而工作空间116则在一个或更多个客户端计算机上运行。

实体变形由MOIN 104中的实体变形引擎102来执行,并且在一些实现方案中该实体变形引擎被实现为Java代码。在这样的实现方案中,Java代码被配置成在ECLIPSE平台内运行。MOIN 104允许模型驱动的开发,意思是用户建模的内容(如BPMN工件)根据给定的元模型108以实体模型106的形式存储在MOIN 104内。图6中示出元模型的一个例子。

除其它信息外,流程编排器112和工作空间116还可以提供描绘BPMN流程和实体的图形标记的用户接口。图3示出由流程编排器提供的BPMN工具的示例性用户接口150。除一组功能控件和菜单外,该用户接口还包括具有若干文件夹的文件夹树152,用于指示模型化的流程和可以用于触发流程的消息触发器。在用户接口150的图形建模窗口154中可以定义、建模和产生流程,使用BPMN的图形标记和流程图技术根据元模型来表达域实体及它们的关系。用户接口150还可以包括特性定义区156,用户可以在其中定义流程的特性、实体以及关系。图4表示用于执行实体变形过程的子菜单。

图5是实体变形方法200的流程图。在步骤202,选择要变形到新的子类型的模型元素的子类型。该选择可由用户操作用户接口并选择要被变形的模型元素的图形表示来进行。基于该选择,在步骤204,通过实体变形引擎来调用流程编排器中的变形代码插件。该调用可以基于由实体变形引擎处理以执行该变形代码插件的用户命令。在步骤206,变形代码插件创建变形命令对象,其实现变形命令对象的构造器。

在一些实体变形过程实现方案中,首先通过构造器创建新命令“MigrateToSubTypeCommand”。命令是用来在MOIN实体模型上操作的MOIN功能的包装器(wrapper)。构造器需要到MOIN的连接,该MOIN用来执行该命令,并其提供命令的人类可读描述、要被迁移的元素以及子类型的类描述符。在步骤208,在命令对象被创建之后,通过调用execute()方法来执行该命令。例如,作为结果,可以在该命令对象上调用“getMigratedElement()”,并在步骤210接收可以被塑造成其新的子类型并进一步被使用的被迁移的元素。

在可替代的实现方案中,可以将MOIN配置为用于基于元模型为给定的模型元素提供所有非抽象子类型。然后,该列表可以被显现给终端用户,即以图形显示可视地表示,该终端用户然后可以决定模型元素应当被变形到给定的子类型中的哪一个。该代码在构造“MigrateToSubTypeCommand”命令之前执行。

本说明书中描述的一些或全部功能操作可以用数字电子电路或计算机软件、固件,或硬件来实现,包括在本说明书中公开的结构以及它们的结构等同物,或它们的组合。本发明的实施方式可以实现为一个或多个计算机程序产品,即一个或多个在计算机可读存储介质(如机器可读存储设备、机器可读存储介质、存储器设备或机器可读的传播信号)上编码的计算机程序指令模块,用于由数据处理装置执行或用于控制数据处理装置的操作。

术语“数据处理装置”包括所有用于处理数据的装置、设备及机器,例如包括可编程处理器、计算机或多个处理器或计算机。除硬件外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们的组合的代码。传输信号是人工产生的信号,例如由机器产生的电、光或电磁信号,产生该信号是为对信息进行编码以传输到合适的接收器装置。

计算机程序(也称为程序、软件、应用、软件应用、脚本或代码)可以任何形式的编程语言(包括编译的或解释的语言)来书写,并可以任何形式部署,包括作为独立的程序或作为模块、组件、子程序或其它适合于在计算环境中使用的单元。计算机程序不必对应于文件系统中的文件。程序可以存储在保存其它程序或数据(如存储在标记语言文档中的一个或多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文件中,或存储在多重协调的文件中(如存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以部署为在一台计算机上执行或者在位于一个地点或分布在多个地点且通过通信网络互联的多台计算机上执行。

在本说明书中描述的流程和逻辑流可由执行一个或多个计算机程序以通过对输入数据进行操作并产生输出来执行功能的一个或多个可编程处理器来执行。这些流程和逻辑流还可以由特定目的逻辑电路如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来实现,装置也可以实现为这样的特定目的逻辑电路。

适于执行计算机程序的处理器例如包括通用的和专用的微处理器,以及任何种类的数字计算机的一个或多个处理器。一般来说,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的关键部件是用于执行指令的处理器以及一个或多个用于存储指令和数据的存储器设备。一般来说计算机还将包括通信接口或可操作地耦合到通信接口,以从一个或多个用于存储数据的海量存储设备(如磁盘、磁光盘或光盘)接收数据或者向一个或多个用于存储数据的海量存储设备(如磁盘、磁光盘或光盘)传输数据,或者二者兼有。

此外,计算机还可以嵌入在另一设备中,仅举几例来说,如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器等。适于具体化计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,例如包括:半导体存储器设备,如EPROM、EEPROM和快闪存储器设备;磁盘,如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以用特定目的逻辑电路来补充或合并在特定目的逻辑电路中。

为了提供与用户的交互,本发明的实施例可以在具有用于向用户显示信息的显示设备和用户可以用来向计算机提供输入的键盘和指示设备的计算机上实现,所述显示设备例如CRT(阴极射线管)或LCD(液晶显示)监视器),所述指示设备例如鼠标或跟踪球。其它类型的设备也可以用来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,如视觉反馈、听觉反馈或触觉反馈;来自用户的输入可以以任何形式来接收,包括声音输入、语言输入或触觉输入。

本发明的实施例可以在包括后端组件(如数据服务器)或中间件组件(如应用服务器)或前端组件(如具有用户通过其可与本发明的实现交互的图形用户接口或网页浏览器的客户端计算机)或任何这样的后端、中间、前端组件的组合的计算系统中实现。这些系统的组件可以通过任何形式或媒介的数字数据通信(如通信网络)互联。通信网络的例子包括局域网(“LAN”)和广域网(“WAN”),如互联网。

计算系统可以包括客户机和服务器。客户机和服务器通常彼此远离并且一般通过通信网络交互。客户机和服务器的关系依靠运行在各个计算机上并且相互具有客户机-服务器关系的计算机程序而产生。

在本说明书中为清楚起见在不同实施例的上下文中描述的一些特征也可以在单一的实施例中组合地提供。相反,为简洁起见在单一实施例的上下文中描述的各种特征也可以多个实施例中单独地或者以任何合适的子组合的形式提供。此外,尽管特征在以上被描述为以一定的组合的形式动作或者最初要求保护成这样,但在一些情况下要求保护的组合中的一个或多个特征也可以从该组合中分离出来,并且要求保护的组合也可以指子组合或子组合的变形。

以上描述了本发明的特定实施例。其它实施例也落在后面权利要求的范围内。例如,权利要求中列举的步骤也可以不同的顺序执行而仍能获得期望的结果。此外,本发明的实施例不局限于关系数据库体系结构;例如本发明可以被实现以为在关系模型以外的模型上建立的数据库(如导航数据库或面向对象的数据库)和包含具有复杂属性结构(如面向对象的编程对象或标记语言文档)的记录的数据库提供索引(indexing)和归档方法和系统。所描述的流程可以由专门执行存档和检索功能或嵌入在其它应用中的应用来实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号