IP Library Patent Application 11617577
Patent Application
App. No. 11/617,577

Using Status Models with Preconditions in a Computer System

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.
11/617,577
Abstract

A design-time status schema model describes the progress of a data object through a computing process. The status schema model includes status variables, processing actions and constraints for performing actions. The status schema model also may describe permitted changes to a status variable in response to performing an action. At runtime, the status schema model is used to control processing performed by, or on, an instance of a data object corresponding to the status schema model.

Claims (71)

1 . A computer program product tangibly embodied in an computer readable medium for controlling actions in a computer-based process, the computer program product comprising:

a status schema model defined at design-time, stored in a computer-readable medium and including a precondition identifying how a status affects whether an action is to be allowed to be performed at runtime by a data object node instance having the status, and

instructions stored in a computer-readable medium that, when executed, perform operations comprising:

creating a status schema instance for a particular data object node instance being used in a computer-based process, the status schema instance corresponding to the status schema model, and the data object node instance including values for variables and methods capable of being performed by the data object node instance;

based on the precondition and the status of the data object node instance, determining whether a particular action is allowed to be performed by the data object node instance; and

in response to a determination that the particular action is allowed, enabling the particular action to be executed.

2 . The computer program product of claim 1 wherein:

the status schema model includes multiple preconditions, each precondition identifying how a status affects whether an action is to be allowed to be performed at runtime by a data object node instance having the status, and

each precondition is associated with one of multiple precondition types.

3 . The computer program product of claim 2 wherein a precondition type comprises an enabling precondition for an action from a status variable such that the enabling precondition is fulfilled based on a specified status value of the set of possible status values for the status variable.

4 . The computer program product of claim 3 wherein:

the status schema model includes two enabling preconditions,

each enabling precondition corresponds to an action to be performed on the application object node instance, and

the action is allowed when either of the two enabling preconditions are fulfilled.

5 . The computer program product of claim 3 wherein:

the status schema model includes:

a first status variable and a second status variable,

an enabling precondition from the first status variable for an action,

a precondition having a requiring type from the second status variable for the same action, the requiring precondition from the second status variable prohibits the action permitted by the enabling precondition if the current status value of the second status variable reflects a specified status value of the set of possible status values for the second status variable, and

the action is allowed only when both the enabling precondition and the requiring precondition are fulfilled.

6 . The computer program product of claim 3 wherein:

the status schema model includes:

a first status variable and a second status variable,

an enabling precondition from the first status variable for an action,

a precondition having an inhibiting type from the second status variable for the same action, the inhibiting precondition from the second status variable prohibits the action permitted by the enabling precondition unless the current status value of the second status variable reflects a specified status value of the set of possible status values for the second status variable, and

the action is allowed when the enabling precondition is fulfilled and the inhibiting precondition is not fulfilled.

7 . The computer program product of claim 1 wherein the status schema instance includes a logical expression indicating a manner in which preconditions are to be evaluated to determine whether the action is allowed.

8 . The computer program product of claim 1 wherein the status schema instance includes:

a first logical expression indicating a manner in which preconditions are to be evaluated to determine whether the action is allowed,

a second logical expression indicating a manner in which preconditions are to be evaluated to determine whether the action is allowed, and

a logical operator connects the first logical expression with the second logical expression.

9 . The computer program product of claim 1 wherein:

the status schema model corresponds to a data object node, and

the data object node instance corresponds to the data object node.

10 . The computer program product of claim 1 wherein:

the status of the data object node instance comprises a status variable and a particular status value, and

the particular status value is one of a set of possible status values for the status variable.

11 . The computer program product of claim 1 wherein:

the variables of the data object node instance comprise one or more status variables, and

each status variable is associated with a set of possible status values for the status variable.

12 . The computer program product of claim 1 wherein the particular action corresponds to at least one status value in the set of possible status values for the status variable.

13 . A computer-implemented for controlling actions in a computer-based business process, the method comprising:

accessing a status schema model that is defined at design-time, stored in a computer-readable medium and includes a precondition identifying how a status affects whether an action is to be allowed to be performed at runtime by a data object node instance having the status, and

creating a status schema instance for a particular data object node instance being used in a computer-based process, the status schema instance corresponding to the status schema model, and the data object node instance including values for variables and methods capable of being performed by the data object node instance;

based on the precondition and the status of the data object node instance, determining whether a particular action is allowed to be performed by the data object node instance; and

in response to a determination that the particular action is allowed, enabling the particular action to be executed.

14 . The method of claim 13 wherein:

the status schema model includes multiple preconditions, each precondition identifying how a status affects whether an action is to be allowed to be performed at runtime by a data object node instance having the status, and

each precondition is associated with one of multiple precondition types.

15 . The method of claim 14 wherein a precondition type comprises an enabling precondition for an action from a status variable such that the enabling precondition is fulfilled based on a specified status value of the set of possible status values for the status variable.

16 . The method of claim 15 wherein:

the status schema model includes two enabling preconditions,

each enabling precondition corresponding to an action to be performed on the application object node instance, and

the action is allowed when either of the two enabling preconditions are fulfilled.

17 . The method of claim 15 wherein:

the status schema model includes:

a first status variable and a second status variable,

an enabling precondition from the first status variable for an action,

a precondition having a requiring type from the second status variable for the same action, the requiring precondition from the second status variable prohibits the action permitted by the enabling precondition if the current status value of the second status variable reflects a specified status value of the set of possible status values for the second status variable, and

the action is allowed only when both the enabling precondition and the requiring precondition are fulfilled.

18 . The method of claim 17 wherein:

the status schema model includes:

a first status variable and a second status variable,

an enabling precondition from the first status variable for an action,

a precondition having an inhibiting type from the second status variable for the same action, the inhibiting precondition from the second status variable prohibits the action permitted by the enabling precondition unless the current status value of the second status variable reflects a specified status value of the set of possible status values for the second status variable, and

the action is allowed when the enabling precondition is fulfilled and the inhibiting precondition is not fulfilled.

19 . The method of claim 13 wherein the status schema instance includes a logical expression indicating a manner in which preconditions are to be evaluated to determine whether the action is allowed.

20 . The method of claim 13 wherein the status schema instance includes:

a first logical expression indicating a manner in which preconditions are to be evaluated to determine whether the action is allowed,

a second logical expression indicating a manner in which preconditions are to be evaluated to determine whether the action is allowed, and

a logical operator connects the first logical expression with the second logical expression.

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 Mar 30, 2007
From: KRAFT, FRANK MICHAEL; PECHT-SEIBERT, GUENTER; MEYER, KLAUS; THIMMEL, BERNHARD; BARDROFF, PATRICK JOSEF; SCHILBERTH, GREGOR; SADIQ, WASIM
To: SAP AG
Reel/Frame 019108/0102 →