CN101819655A - 表达和实施非功能关注点的方法和系统 - Google Patents
表达和实施非功能关注点的方法和系统 Download PDFInfo
- Publication number
- CN101819655A CN101819655A CN201010113594A CN201010113594A CN101819655A CN 101819655 A CN101819655 A CN 101819655A CN 201010113594 A CN201010113594 A CN 201010113594A CN 201010113594 A CN201010113594 A CN 201010113594A CN 101819655 A CN101819655 A CN 101819655A
- Authority
- CN
- China
- Prior art keywords
- note
- profile
- group
- implementation modes
- explained
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明描述了在过程管理系统中表达和实施非功能特性的系统和方法。非功能特性通过注解来表达。注解和对应的约束被集合在简档中。此外,非功能特性通过与该注解相关联的实施模式中规定的规则来实施。实施模式利用在运行时实施非功能特性的额外的过程元素和逻辑对过程进行扩展。
Description
技术领域
本发明一般涉及业务过程管理和工作流系统,并且更具体来说,涉及在这样的系统中表达(express)和实施(enforce)非功能关注点(non-functionalconcern)。
背景技术
目前的业务过程管理(“BPM”)系统和工作流管理(“WFM”)系统主要支持业务过程和工作流过程的功能关注点(functional concern),比如控制流(即,活动的排序)、数据和信息流、以及组织关注点(organizational concern)。在大多数BPM系统和WFM系统中,没有对表达和实施非功能关注点的支持,诸如安全、性能、吞吐量、SLA约束、执行时间约束等等。这样的系统的用户可能需要对于非功能关注点的支持,以应对他们的使用情况或他们的应用领域的要求。目前的BPM系统和WFM系统不能由末端用户按需求进行扩展,以便在非功能关注点出现时支持这样的关注点。即便完全不能支持,这些系统仅支持预先定义的一组非功能关注点,即,仅支持那些软件提供商已然预见到的非功能关注点。
发明内容
在业务过程管理和工作流管理系统中表达和实施非功能关注点的系统和方法。非功能关注点经由在简档(profile)中定义和集合(group)的注解(annotation)来表达。此外,非功能关注点经由实施模式(enforcement pattern)来实施,该实施模式允许产生具有实施非功能关注点的额外的元素(element)和活动(activity)的过程。
附图说明
在附图部分的图中作为示例图示了本发明,而不是作为限制,在所述附图中,相似的参考标号指代类似的元素。请注意,在本公开中对“实施例”或“一个实施例”的引用不一定是指同一个实施例,并且这样的引用意味着至少一个。
图1是本发明的用于在业务或工作流过程中表达和实施非功能关注点的实施例的框图。
图2是本发明的用于在业务或工作流过程中表达和实施非功能关注点的实施例的流程图。
图3是本发明的用于创建注解以及定义关于注解的适用性(applicability)和相互依赖关系(interdependency)的约束的实施例的流程图。
图4是本发明的用于创建实施模式的实施例的流程图。
图5是本发明的用于在运行时对过程进行变换以实施非功能关注点的实施例的流程图。
具体实施方式
用于在需要时利用对于非功能关注点的支持按需求扩展业务过程管理(“BPM”)系统和工作流管理(“WFM”)系统的系统和方法。非功能关注点也被称为“额外功能”关注点(“extra-functional”concern)。本发明的一个实施例的方法定义了用于表达非功能关注点和实施模式的定制注解(custom annotation),该注解被过程变换工具用来生成附加的过程元素,用于实施由该注解规定的非功能关注点。过程元素的示例可以是但不限于数据声明、参与者声明、应用声明、控制流、数据流和活动。
业务过程是完成业务目标的活动(也称为任务或步骤)的收集(collection)。业务过程定义一组相互关联的活动,这些活动如果以规定的模式执行则可以产生期望的输出。工作流过程定义在组织中(across an organization)的工作的流程。BPM系统和WFM系统覆盖业务过程和工作流过程的功能关注点。功能关注点的示例可以是:要执行的活动、控制流(即,活动的排序和它们的依赖关系)、数据流(即,活动之间的数据和信息流)、组织方面(即,用户到活动的分配、组织结构和角色层级等等)以及技术方面(即,哪些软件应用支持给定任务的执行)。除了这些功能关注点之外,可能存在若干非功能关注点(也称为额外功能关注点),这些非功能关注点可能需要被BPM系统和WFM系统支持以确保可靠、安全以及符合服务级别协议(Service-LevelAgreement,“SLA”)地实现和执行业务过程和工作流过程。非功能关注点的示例可以是安全、执行时间约束、SLA符合性、性能、吞吐量、成本等等。除了这些示例之外,还可能存在特定于使用BPM系统或WFM系统的组织的非功能关注点。对于BPM系统或WFM系统的提供者来说,很难预测和实现客户组织可能需要的所有非功能关注点。因此,存在这样的需要,即,利用对于组织所需要的业务过程或工作流过程中的非功能关注点的支持,按需求扩展BPM系统和WFM系统。该支持可以包括在设计时(design-time)表达非功能关注点的能力和在运行时(runtime)实施非功能关注点的能力。
图1是本发明的用于在业务过程或工作流过程中表达和实施非功能关注点的实施例的框图。参照图1,系统100提供下列模块来表达过程中的非功能关注点:简档(profile)创建器110、注解创建器120和实施模式创建器130。简档创建器110、注解创建器120、实施模式创建器130和过程变换工具140可以加载到存储器102中。
注解是设计时元素,其可以附加到过程模型、过程模型的元素、或过程模型中的一组元素。对于各个活动或其它过程元素、或者过程元素组,注解可以用来作为整体表达关于工作流过程模型或业务过程模型整体的非功能特性(property)。例如,用户可以定义注解来表达一组活动应当以事务(transactional)的方式来执行。其它注解可以被定义为表达与第三方系统交互的活动应当被安全地执行。不同的安全注解可以被定义用于不同的目的,例如,完整性、机密性、认证等等。在本发明的示例实施例中,定义了注解secure_conversation_boundary(安全对话边界)。secure_conversation_boundary注解可以与子过程或与复合活动(即,具有子类活动的活动)相关联,以表达包括所有嵌套活动的活动或子过程应当使用安全上下文来执行。可以定义secure_conversation_participant(安全对话参与者)注解以指定在复合活动或子过程内部使用安全对话的各个活动。可以定义其它的注解,比如,confidnetiality_required(机密性需要的)、integrity_required(完整性需要的)、authentication_required(认证需要的)。这些注解可以与过程模型的活动或其它元素相关联,如数据对象或数据流,以定义它们的安全特性。也可以定义SLA相关的注解,比如,maximum_execution_time(最大执行时间),其可以规定允许用于一定活动或子过程的最大执行时间。除了注解名称之外,注解创建器120还可以定义具有规定注解的一定参数的键值对(key-value pairs)的一组属性。该属性的键部分(key part)可以表示该属性的名称。也可以为属性值规定类型以指定可接受的值。例如,安全注解authentication_required可以具有被称为“type”(类型)的属性,其可具有可能的值,如“username-password”(用户名-口令)和“X.509certificate”(X.509证书)等等。安全注解confidnetiality_required可以具有名称为“encryption algorithm”(加密算法)的属性,其可以将应当被用于确保机密性的特定算法的名称作为值。
简档创建器110可以创建简档以集合(group)相关的注解。例如,简档创建器110可以定义“security”(安全)简档以集合用于加密、机密性的注解,以及其它与安全相关的注解。在另一实施例中,简档创建器110可以定义集合注解secure_conversation_boundary和participates_in_secure_conversation的“secure conversation”(安全对话)简档。简档创建器110也可以定义关于注解对过程模型的元素的适用性的约束。它们可以是定义哪些注解可以与过程模型的哪些元素以及在哪些条件下相关联的约束。例如,简档创建器110可以定义注解participates_in_secure_conversation能够仅与子过程相关联,而不与数据对象相关联。此外,简档创建器110可以定义一个约束,其表达注解participates_in_secure_conversation可以仅与非复合活动相关联。此外,简档创建器110可以定义表达各个注解之间的依赖关系的约束。例如,简档创建器110可以规定注解participates_in_secure_conversation不可以用于活动,除非其父类(parent)活动之一是用注解secure_conversation_boundary来注解的。在本发明的替换实施例中,简档创建器110可以定义更多类型的约束。
实施模式创建器130创建实施模式,其规定在过程执行时应当如何实施由给定注解表达的非功能特性。实施模式是某种过程逻辑(即,一组过程元素,比如,数据声明、参与者声明和活动),其表达实施一定非功能特性的业务过程模型或工作流过程模型的变换。例如,在一个实施例中,实施模式可以规定具有注解secure_conversation_boundary的复合活动的执行应当根据下面的模式来进行。首先,应当执行用于创建安全对话上下文的活动。然后,对于嵌套在子过程中并具有注解participates_in_secure_conversation的每个活动,必须调用这样的活动,其调用中间件服务利用先前创建的上下文保护所注解的子类(child)活动的安全。在具有注解secure_conversation_boundary的复合活动之后,应当执行这样的活动,其毁坏(destroy)该安全对话上下文。
在另一实施例中,可以创建用于测量过程活动或子过程的执行时间的实施模式。假设存在能够与活动相关联的注解maximum_execution_time(最大执行时间),用于该注解的实施模式可以由调用计时服务以获得当前时间的活动组成。然后,该实施模式执行所注解的活动,并且在此之后执行下一个活动,其再次调用计时服务以获得在所注解的活动完成之后的时间。由调用计时服务的活动返回的两个日期允许计算具有注解maximum_execution_time的活动的执行时间。该实施模式也可以规定当所计算的执行时间高于在注解中规定的值时应当做什么(例如,应当丢弃错误、应当发送电子邮件通知等等)。
在简档创建器110、注解创建器120和实施模式创建器130创建简档、注解和实施模式之后,过程变换工具140使用实施模式、通过添加在执行时实施由注解表达的非功能特性的新过程元素和活动,来修改业务过程或工作流过程。简档创建器110、注解创建器120和实施模式创建器130也可以创建用于处理器104的输入。处理器104可以接收该输入并且按照简档创建器110、注解创建器120和实施模式创建器130所指示的那样创建输出。处理器104也可以创建用于过程建模设计时环境150的输入以进行显示。在一个实施例中,过程建模设计时环境150可以是图形用户接口的一部分。图形用户接口可以显示在屏幕、监视器或其它类型的呈现(rendering)设备上。
过程变换工具140识别所注解的过程模型元素,然后通过由可以包括所注解的活动本身的过程元素或活动来替换每个所注解的过程模型元素(例如,活动),来变换过程模型。该变换的结果是,实施模式中定义的过程元素和活动被添加到原始过程模型,由此确保当该过程被执行时非功能特性的实施。过程建模设计时环境150也可以被用于定义业务过程或工作流过程、将注解与过程元素相关联、以及显示通过过程变换工具140生成的变换后的过程。
在使用图1的系统实施非功能关注点时存在许多优点。首先,末端用户可以利用对于系统提供商未提供的非功能关注点的支持来扩展BPM系统和WFM系统。第二,当末端用户需要支持一定非功能关注点时,他们不依赖系统提供商,因为他们自己可以做到这一点。第三,系统提供商也受益,因为一定的需求(例如,那些特定于客户的需求)能够由客户来解决,由此为系统提供商节省了时间和金钱,因为不需要针对特定客户的定制开发。此外,如图1所述的系统100可以支持任何数目的非功能关注点,这是因为一般来说所有非功能关注点都以相同的方式定义和实施的。支持更多的非功能专注点不需要对图1所述的系统100进行任何改变。
图2是本发明的用于在业务过程或工作流过程中表达和实施非功能关注点的实施例的流程图。
参照图2,在过程块202,创建简档。该简档可以用于两个目的。第一,简档可以集合特定类型的注解,比如,安全注解、性能注解等等。第二,简档可以定义有关注解的各种类型的约束,其确保末端用户对注解的适当和正确的使用。这些约束包括关于注解对过程元素的适用性的约束(例如,给定注解可以只应用于过程模型中的数据对象而不应用于活动),以及表达注解之间的依赖关系的约束(例如,如果一个注解应用到一个过程模型元素,那么另一注解不可以应用到同一个元素)。在过程块204,定义用于该简档的一组注解。注解是设计时元素,其可以用来作为一个整体表达工作流过程模型或业务过程模型的非功能特性或过程模型中所选元素的非功能特性。在过程块206,定义关于该组注解中注解的适用性和相互依赖关系的约束。在过程块208,定义实施模式。在一个实施例中,可以针对一个简档定义若干实施模式。实施模式针对一个或一组相关注解规定该过程应当如何变换以便在运行时期间实施由该注解表达的非功能关注点。在过程块210,该简档和对应的一个或更多个实施模式加载到BPM或WFM设计时环境中。在过程块212,利用在该简档中提供的注解按照需要对过程进行注解。在过程块214,对该过程进行变换,以便在运行时实施在注解中表达的非功能关注点。在过程块216,执行变换后的过程,并且当执行时,变换后的过程包括如该组注解所规定的所有非功能关注点。
在本发明的替换实施例中,图2中描述的过程由图1中的组件来执行。参照图1和图2,在过程块202,简档创建器110创建简档。在过程块204,注解创建器120创建用于该简档的一组注解。在过程块206,简档创建器110创建关于该组注解中注解的适用性和相互依赖关系的约束。在过程块208,实施模式创建器130定义实施模式。在一个实施例中,实施模式创建器130针对一个简档可以定义多于一个的实施模式。在过程块210,处理器104将该简档和实施模式加载到过程建模设计时环境150中。在过程块212,利用该简档中提供的注解按照需要对过程进行注解。在过程块214,过程变换工具140对该过程进行变换,以便在运行时实施在注解中表达的非功能关注点。在过程块216,处理器执行变换后的过程。
在替换实施例中,图1中的每个组件可以经由处理器104执行图2的过程中的一个或更多个过程块。处理器104可以接收来自图1中的组件的输入,基于所接收的输入执行操作并且发送输出到图1中的一个或更多个组件。
图3是本发明的用于创建注解和定义关于它们的适用性和它们的相互依赖关系的约束的实施例的流程图。参照图3,在过程块302,定义注解的名称。在过程块304,定义用于注解的一组属性。属性由属性名称和属性值组成。属性也可以定义属性值的类型。例如,注解maximum_execution_time的可能的属性可以为“value”(值),其可以将数字值作为类型。注解maximum_execution_time的另一个可能的属性可以为“unit”(单位),其规定时间单位的类型(例如,秒、分种等等)。在过程块306,定义关于注解的适用性的约束。这些约束规定特定注解能够被应用到的过程元素。在过程块308,定义表达在注解之间的相互依赖关系的约束。这些约束可以规定,例如,某些注解是排他的(即,如果一个注解被应用到某个过程模型元素,那么其它注解就不能被应用到该元素),或者某个注解只有在某个其它注解已经应用到一个子类活动的父类活动的情况下才可以应用到该子类活动。
在本发明的替换实施例中,图3中描述的过程可以由图1中描述的组件来执行。参照图1和图3,在过程块302,注解创建器120定义注解的名称。在过程块304,注解创建器120定义属性以表达该注解定义的非功能关注点的参数。在过程块306,简档创建器110定义关于该注解的适用性的约束。在过程块308,简档创建器110定义关于注解之间的相互依赖关系的约束。
图4是本发明的用于创建实施模式的实施例的流程图。参照图4,在过程块402,加载简档。该简档可以定义注解和相应的约束。在过程块404,选择注解。在过程块406,创建实施模式。在过程块408,定义实施模式的过程元素和活动以确保由该注解表达的非功能特性在运行时的实施。这些过程元素可以包括所注解的过程元素本身。
在替换实施例中,一个注解可以与多于一个的实施模式相关联。在另一实施例中,可以针对一组注解定义一个实施模式。在一个实施例中,许多个实施模式可以与一个简档相关联。
在本发明的替换实施例中,图4中描述的过程由图1中描述的组件来执行。参照图1和图4,在过程块402,实施模式创建器130加载简档。在过程块404,实施模式创建器130从该简档中选择注解。在过程块406,实施模式创建器130针对所选择的注解创建实施模式。在过程块408,实施模式创建器130针对所创建的实施模式定义一组活动,该组活动当被添加到过程中时确保由该注解表达的非功能特性在运行时的实施。
在一个实施例中,实施模式创建器130可以为一组注解创建一个实施模式。在替换实施例中,实施模式创建器130可以创建要与一个简档相关联的若干实施模式。
图5是本发明的用于对过程进行变换以便在运行时实施非功能关注点的实施例的流程图。参照图5,在过程块502,加载所注解的过程。在过程块504,识别所注解的过程元素。在过程块506,加载用于该简档的实施模式。在过程块508,根据该实施模式由一个或更多个过程元素和活动来替换每个所注解的元素。
在本发明的替换实施例中,图5中描述的过程由图1中描述的组件来执行。参照图1和图5,在过程块502,过程变换工具140加载所注解的过程。在过程块504,过程变换工具140识别所注解的过程元素。在过程块506,过程变换工具140加载与该简档相关联的实施模式。在过程块508,过程变换工具140根据与所注解的过程元素相关联的实施模式用一个或更多个过程元素来替换每个所注解的过程元素。
在本发明的另一个实施例中,使用基于业务过程建模标注(BusinessProcess Modeling Notation,“BPMN”)的BPM系统。利用基于BPMN的工具,简档可以基于BPMN的注解概念来定义。由于BPMN是建模语言,简档约束可以使用诸如对象约束语言(“OCL”)的语言来表达。实施模式可以使用BPMN结构(constructs)来表达。过程变换工具可以使用诸如ATLAS变换语言(“ATL”)的模型-到-模型(Model-to-Model)变换技术来构造。
在本发明的替换实施例中,使用基于Web服务业务过程执行语言(“WS-BPEL”)的WFM系统。在此示例WFM系统中,注解可以使用WS-BPEL来定义。WS-BPEL提供可扩展性(extensibility)概念,其允许在过程模型中使用新元素,并且假定该新元素和属性具有非BPML名称空间,则将新属性添加到WS-BPEL语言结构。这意味着注解可以通过创建新XML元素或WS-BPEL元素的新属性(在此情况中,使用其它名称空间)来定义。有关这些注解的约束可以使用XML或XML模式(XML Schema)的约束语言来定义。简档可以定义XML元素,其实现不同的注解以及相应的适用性和约束以及关于适用性的相互依赖关系约束。此情况中的实施模式可以使用诸如伙伴、变量和活动的WS-BPEL语言结构来表达。由于WS-BPEL基于可扩展标记语言(“XML”),所以此示例性实施例中的过程变换可以使用XML变换语言可扩展样式表变换语言(“XSLT”)来实现。
下面的列表以BPEL示出示例性的序列活动(sequence activity),其包含经由调用活动嵌套的两个web服务调用。使用名称空间mns的新属性maxAllowedTime(最大允许时间)将注解应用到该序列活动。此属性的值以秒定义所注解的活动的最大允许时间。该属性不是该序列活动的标准属性。
<sequence name=″MySeq″mns:maxallowedTime=”60”>
<invoke name=″verifyCreditCardData″.../>
<invoke name=″performPayment″.../>
</sequence>
下面的列表以BPEL示出针对该注解mns:maxallowedTime的实施模式。该模式将所注解的活动嵌套在对计时web服务的两个调用之间(第一个调用是为了开启计时器,第二个调用是为了停止计时器)。
<!-实施模式的伙伴链接声明-->
<partnerLink name=”TimingServiceLink.../>
<sequence>
<invoke name=″startMeasuringTimer″operaion=”startTimer”.../>
<!-以下语句导致集成所注解的活动
<ins:placeholder value=”getActivity(maxAllowedTime)”>
<invoke name=″stopMeasuringTime″operaion=”stopTimer”/>
</sequence>
在此情形下,基于XSLT的过程变换工具使用该实施模式对WS-BPEL过程进行变换,以便实施使用诸如mns:maxallowedTime的注解表达的非功能特性。
本发明的实施例不限于特定的业务过程管理系统或特定的工作流管理系统。假如底层的业务过程语言或工作流语言支持注解或提供类似的可扩展性概念,那么本发明的实施例可以结合到任何这样的工具中。实施模式可以使用在该特定工具中使用的过程语言或工作流语言的结构来定义。过程变换工具可以要么通过使用针对模型、XML或文本文件的某种变换技术来实现,要么通过使用定制编码来实现。因此,本发明的实施例可以支持图形过程建模语言和基于文本的语言二者,比如基于XML的那些。
这里所描述的本发明的实施例的元素也可以提供作为用于存储机器执行指令的机器可读介质。该机器可读介质可以包括但不限于闪存、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁或光cares。
应当意识到,在整篇本说明书中对“一个实施例”或“实施例”的引用意思是与该实施例相关地描述的具体特征、结构或特性被包括在本发明的至少一个实施例中。因此,要强调并且应当意识到的是,在本说明书的各个部分对“实施例”、“一个实施例”或“替换实施例”的两次或更多次引用不一定都是指同一个实施例。再有,在本发明的一个或更多个实施例中,具体的特征、结构或特性可以适当地组合。在前面的说明书中,已经参照本发明的特定实施例描述了本发明。然而,很显然,可以对本发明的实施例进行各种修改和改变而不脱离如所附权利要求所陈述的本发明的更宽泛的精神和范围。因此,本说明书和附图被视为是说明性的而不是限制性的。
Claims (12)
1.一种计算系统,包括
简档创建器,用于在简档中定义一组注解;
注解创建器,用于在该简档中创建该组注解中的每个注解,每个注解用于表达过程的非功能特性;
实施模式创建器,用于创建实施模式,该实施模式用于定义在运行时关于该过程的非功能特性的实施;
过程变换工具,用于根据该实施模式对该过程进行变换;
存储模块,用于加载该注解创建器、简档创建器、实施模式创建器和过程变换工具;以及
处理器,用于响应于接收来自注解创建器、简档创建器、实施模式创建器和过程变换工具中的一个或更多个的输入而执行操作。
2.如权利要求1所述的计算系统,其中该处理器还发送指令到设计时环境以显示该过程。
3.如权利要求1所述的计算系统,其中该注解创建器包括:
用于定义该注解的名称的逻辑;以及
用于定义一个或更多个属性的逻辑,该属性用于包括规定用于实施由该注解所表达的特性的参数的键值对。
4.如权利要求1所述的计算系统,其中该简档创建器包括:
定义关于该组注解中注解的适用性的约束的逻辑;以及
定义关于该组注解中注解的相互依赖关系的约束的逻辑。
5.一种计算机实施的方法,包括:
创建简档,该简档用于集合一组注解;
在该简档中定义该组注解,该组注解用于表达过程的一个或更多个非功能特性;
定义针对该组注解的约束;
定义一个或更多个实施模式,以便在运行时实施关于该过程的该组注解;
将该简档加载到设计时环境;
利用该简档中的一个或更多个注解对该过程进行注解;
对该过程进行变换,以便在运行时实施由该注解表达的非功能特性;以及
执行变换后的过程。
6.如权利要求5所述的计算机实施的方法,其中定义该组注解包括:对于该组注解中的每个注解,
定义注解的名称;
定义该注解的一个或更多个属性;
定义关于该注解的适用性的约束;以及
定义关于注解之间的相互依赖关系的约束。
7.如权利要求5所述的计算机实施的方法,其中定义该实施模式包括:
加载简档;
在该简档中选择注解;以及
定义一组过程元素以替换由所选择的注解所注解的过程模型元素。
8.如权利要求5所述的计算机实施的方法,其中对该过程进行变换包括:
加载该过程;
识别关于过程元素的一个或更多个注解;
加载与所识别的注解相关联的一个或更多个实施模式;以及
根据与所识别的注解相关联的实施模式,利用一个或更多个过程元素替换带有所识别的注解的每个过程元素。
9.一种机器可读介质,该介质中具有指令,该指令当被该机器执行时,导致机器执行以下步骤:
创建简档,该简档用于集合一组注解;
在该简档中定义该组注解,该组注解用于表达过程的一个或更多个非功能特性;
定义针对该组注解的约束;
定义一个或更多个实施模式,以便在运行时实施关于该过程的该组注解;
将该简档加载到设计时环境;
利用该简档中的一个或更多个注解对该过程进行注解;
对该过程进行变换,以便在运行时实施由该注解表达的非功能特性;以及
执行变换后的过程。
10.如权利要求9所述的机器可读介质,其中导致该机器定义一组注解的指令,对于该组注解中的每个注解,导致该机器执行以下步骤:
定义注解的名称;
定义该注解的一个或更多个属性;
定义关于该注解的适用性的约束;以及
定义关于注解之间的相互依赖关系的约束。
11.如权利要求9所述的机器可读介质,其中导致该机器定义实施模式的指令导致该机器执行以下步骤:
加载简档;
在该简档中选择注解;以及
定义一组过程元素以替换由所选择的注解所注解的过程模型元素。
12.如权利要求9所述的机器可读介质,其中导致该机器对过程进行变换的指令导致该机器执行以下步骤:
加载该过程;
识别关于过程元素的一个或更多个注解;
加载与所识别的注解相关联的一个或更多个实施模式;以及
根据与所识别的注解相关联的实施模式,利用一个或更多个过程元素替换带有所识别的注解的每个过程元素。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/392,110 | 2009-02-25 | ||
US12/392,110 US20100218082A1 (en) | 2009-02-25 | 2009-02-25 | Method and system for expressing and enforcing non-functional concerns in business process management systems and workflow systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101819655A true CN101819655A (zh) | 2010-09-01 |
Family
ID=42109823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010113594A Pending CN101819655A (zh) | 2009-02-25 | 2010-02-25 | 表达和实施非功能关注点的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100218082A1 (zh) |
EP (1) | EP2224380A1 (zh) |
CN (1) | CN101819655A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732094B2 (en) * | 2010-07-30 | 2014-05-20 | Hewlett-Packard Development Company, L.P. | Enforcement of security requirements for a business model |
US10380233B2 (en) * | 2012-07-26 | 2019-08-13 | International Business Machines Corporation | Launching workflow processes based on annotations in a document |
US10296297B2 (en) * | 2013-08-09 | 2019-05-21 | Oracle International Corporation | Execution semantics for sub-processes in BPEL |
US11210457B2 (en) | 2014-08-14 | 2021-12-28 | International Business Machines Corporation | Process-level metadata inference and mapping from document annotations |
CN113360301B (zh) * | 2021-07-02 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种消息传输系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210038A1 (en) * | 2004-03-18 | 2005-09-22 | International Business Machines Corporation | Method for providing workflow functionality and tracking in an annotation subsystem |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035399A (en) * | 1995-04-07 | 2000-03-07 | Hewlett-Packard Company | Checkpoint object |
JP2002324155A (ja) * | 2001-04-26 | 2002-11-08 | Hitachi Ltd | ワークフロー・システムおよびプログラム |
US20030158811A1 (en) * | 2001-07-18 | 2003-08-21 | Ventanex | System and method for rules based electronic funds transaction processing |
US20030187743A1 (en) * | 2002-02-07 | 2003-10-02 | International Business Machines Corp. | Method and system for process brokering and content integration for collaborative business process management |
US7865867B2 (en) * | 2002-03-08 | 2011-01-04 | Agile Software Corporation | System and method for managing and monitoring multiple workflows |
WO2004044696A2 (en) * | 2002-11-08 | 2004-05-27 | Arbitration Forums, Inc. | A system and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-baser user interaction |
US7853546B2 (en) * | 2007-03-09 | 2010-12-14 | General Electric Company | Enhanced rule execution in expert systems |
US20090198532A1 (en) * | 2008-01-31 | 2009-08-06 | International Business Machines Corporation | Method and tool for business process adaptation using goal modeling and analysis |
US8635585B2 (en) * | 2009-02-14 | 2014-01-21 | International Business Machines Corporation | Capturing information accessed, updated and created by processes and using the same for validation of consistency |
-
2009
- 2009-02-25 US US12/392,110 patent/US20100218082A1/en not_active Abandoned
-
2010
- 2010-02-12 EP EP10001471A patent/EP2224380A1/en not_active Ceased
- 2010-02-25 CN CN201010113594A patent/CN101819655A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210038A1 (en) * | 2004-03-18 | 2005-09-22 | International Business Machines Corporation | Method for providing workflow functionality and tracking in an annotation subsystem |
Non-Patent Citations (1)
Title |
---|
ANIS CHARFI: "《Aspect-Oriented Workflow Language: AO4BPEL and Applications》", 7 February 2007 * |
Also Published As
Publication number | Publication date |
---|---|
EP2224380A1 (en) | 2010-09-01 |
US20100218082A1 (en) | 2010-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11973760B2 (en) | Hierarchical permissions model within a document | |
Döhring et al. | vBPMN: event-aware workflow variants by weaving BPMN2 and business rules | |
Decker et al. | Transforming BPMN diagrams into YAWL nets | |
Dhungana et al. | Configuration of multi product lines by bridging heterogeneous variability modeling approaches | |
CN101819655A (zh) | 表达和实施非功能关注点的方法和系统 | |
Mayer et al. | A model-driven approach to service orchestration | |
Delgado et al. | From BPMN business process models to SoaML service models: a transformation-driven approach | |
Liptchinsky et al. | A novel approach to modeling context-aware and social collaboration processes | |
Preiss et al. | Stakeholder discovery and classification based on systems science principles | |
Calero et al. | Quality in Use and Software Greenability. | |
Wolter et al. | Deriving XACML policies from business process models | |
Luthra et al. | Specifying evolving requirements models with TimedURN | |
Roman et al. | Semantic web service choreography: Contracting and enactment | |
Medeiros et al. | Designing a set of service-oriented systems as a software product line | |
Martini et al. | Architectural technical debt in embedded systems | |
Kluza et al. | Visual inference specification methods for modularized rulebases. Overview and integration proposal | |
Huergo et al. | MDCSIM: A method and a tool to identify services | |
KR101127701B1 (ko) | 비즈니스 프로세스로부터 사용자 맞춤형 웹 서비스를 생성하는 시스템 및 방법 | |
Schleicher et al. | Maintaining compliance in customizable process models | |
Rajabi et al. | Change management in business process modeling survey | |
Gutschier et al. | A pitfall with BPMN execution | |
Rajabi et al. | Modeling and analysis of change management in dynamic business process | |
Al-Ali et al. | Translating bpmn to business rules | |
Gimenes et al. | A product line for business process management | |
Luthra et al. | Visualizing evolving requirements models with timedURN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: German Waldo Applicant after: SAP AG Address before: German Waldo Applicant before: SAP AG |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100901 |