IP Library Patent Application 12392110
Patent Application
App. No. 12/392,110

METHOD AND SYSTEM FOR EXPRESSING AND ENFORCING NON-FUNCTIONAL CONCERNS IN BUSINESS PROCESS MANAGEMENT SYSTEMS AND WORKFLOW SYSTEMS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/392,110
Abstract

A system and method to express and enforce non-functional properties in process management systems are described. Non-functional properties are expressed via annotations. Annotations and corresponding constraints are grouped in profiles. Further, non-functional properties are enforced via rules specified in enforcement patterns that are associated with the annotations. The enforcement patterns extend processes with additional process elements and logic for enforcing non-functional properties at runtime.

Claims (60)

1 . A computing system, comprising:

a profile creator to define a set of annotations in a profile;

an annotation creator to create each of the annotations in the set in the profile, each of the annotations to express a non-functional property of a process;

an enforcement pattern creator to create an enforcement pattern, the enforcement pattern to define the enforcement of the non-functional property on the process at runtime;

a process transformation tool to transform the process according to the enforcement pattern;

a memory module to load the annotation creator, profile creator, enforcement pattern creator, and process transformation tool; and

a processor to perform operations responsive to receiving input from one or more of the annotation creator, profile creator, enforcement pattern creator, and process transformation tool.

2 . The computing system of claim 1 , wherein the processor is further to send instructions to a design time environment to display the process.

3 . The computing system of claim 1 , wherein the annotation creator comprises:

a logic to define a name for the annotation; and

a logic to define one or more attributes, the attributes to include key-value pairs specifying parameters for enforcing the property expressed by the annotation.

4 . The computing system of claim 1 , wherein the profile creator comprises:

a logic to define constraints on the applicability of the annotations in the set; and

a logic to define constraints on the interdependencies the annotations in the set.

5 . A computer-implemented method, comprising:

creating a profile, the profile to group a set of annotations;

defining the set of annotations in the profile, the set of annotations to express one or more non-functional properties of a process;

defining constraints for the set of annotations;

defining one or more enforcement patterns to enforce the set of annotations on the process at runtime;

loading the profile in a design time environment;

annotating the process with one or more of the annotations in the profile;

transforming the process to enforce the non-functional properties expressed by the annotations at runtime; and

executing the transformed process.

6 . The computer-implemented method of claim 5 , wherein defining the set of annotations comprises, for each of the annotations in the set:

defining a name for an annotation;

defining one or more attributes of the annotation;

defining constraints on the applicability of the annotation; and

defining constraints on the interdependencies between annotations.

7 . The computer-implemented method of claim 5 , wherein defining the enforcement pattern comprises:

loading a profile;

selecting an annotation in the profile; and

defining a set of process elements to replace a process model element annotated by the selected annotation.

8 . The computer-implemented method of claim 5 , wherein transforming the process comprises:

loading the process;

identifying one or more annotations on process elements;

loading one or more enforcement patterns associated with the identified annotations; and

replacing each process element with an identified annotation with one or more process elements according to the enforcement pattern associated with the identified annotation.

9 . A machine-readable medium having instructions therein that when executed by the machine, cause the machine to:

create a profile, the profile to group a set of annotations;

define the set of annotations in the profile, the set of annotations to express one or more non-functional properties of a process;

define constraints for the set of annotations;

define one or more enforcement patterns to enforce the set of annotations on the process at runtime;

load the profile in a design time environment;

annotate the process with one or more of the annotations in the profile;

transform the process to enforce the non-functional properties expressed by the annotations at runtime; and

executing the transformed process.

10 . The machine-readable medium of claim 9 , wherein instructions causing the machine to define a set of annotations, for each annotation in the set, cause the machine to:

define a name for an annotation;

define one or more attributes of the annotation;

define constraints on the applicability of the annotation; and

define constraints on the interdependencies between annotations.

11 . The machine-readable medium of claim 9 , wherein instructions causing the machine to define an enforcement pattern, cause the machine to:

load a profile;

select an annotation in the profile; and

define a set of process elements to replace a process model element annotated by the selected annotation.

12 . The machine-readable medium of claim 9 , wherein instructions causing the machine to transform the process, cause the machine to:

load the process;

identify one or more annotations on process elements;

load one or more enforcement patterns associated with the identified annotations; and

replace each process element with an identified annotation with one or more process elements according to the enforcement pattern associated with the identified annotation.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2010
From: CHARFI, ANIS
To: SAP AG
Reel/Frame 023793/0119 →