Data scoping and data flow in a continuation based runtime
First Claim
1. A computer-readable medium having computer-executable instructions, which when executed perform steps, comprising, processing activities of an activity tree in a continuation based runtime, in which at least one activity is associated with at least one parameter representing a flow of data relative to that activity, each parameter declared as an input parameter, an output parameter, or an input and output parameter, variables associated with activities of the activity tree within a scope defined by parent-child relationships of the activities in the activity tree, the variables representing data storage and providing for shared state among the in scope activities, the activities using the variables to produce result data when processed, and outputting the result data.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a data model used in a continuation based runtime that executes activities. The data model provides for declaring parameters to define data flow direction (in, out or both in and out) with respect to activities. The model further allows for the declaring of variables to provide for data storing and sharing between activities that are in scope, based on a tree relationship between activities. In one aspect, an activity tree includes a topmost parent composite activity and at least one child activity of that topmost parent composite activity. Variables are associated with one or more composite activities of the tree, and the ancestral relationships between composite activities and (non-composite) child activities determine the in-scope access to variables. Arguments such as binding expressions may bind variables to an activity'"'"'s parameters.
-
Citations
20 Claims
- 1. A computer-readable medium having computer-executable instructions, which when executed perform steps, comprising, processing activities of an activity tree in a continuation based runtime, in which at least one activity is associated with at least one parameter representing a flow of data relative to that activity, each parameter declared as an input parameter, an output parameter, or an input and output parameter, variables associated with activities of the activity tree within a scope defined by parent-child relationships of the activities in the activity tree, the variables representing data storage and providing for shared state among the in scope activities, the activities using the variables to produce result data when processed, and outputting the result data.
- 7. In a computing environment having a continuation based runtime, a system comprising, a data model for activities that are executed by the continuation based runtime, the activities arranged into an activity tree, including a topmost parent composite activity and at least one child activity of that topmost parent composite activity, the data model including a parameter set that defines an input and output flow of data with respect to the activities of the activity tree, the data model further including a variable set by which an ancestral relationship between a composite activity and any child activity of that composite activity defines a scope in which activities within that parental relationship may store and share data through variables in that scope, a binding mechanism that binds parameters to variables that are in its corresponding activity'"'"'s scope, and the continuation based runtime configured to process work items and relate data to variables corresponding to scheduled child activities to input and output data via the parameter set.
- 9. The system of claim 9 wherein a value for an input variable is pre-fetched when an activity is scheduled.
- 16. In a computing environment, a method comprising, processing work items corresponding to activities of an activity tree in a continuation based runtime, including, scheduling child activities of one or more composite activities, enforcing that parameters that define flow direction and data with respect to an activity are only bound to state or to variables in scope, in which scope is defined by parent and child relationships including ancestor relationships between composite and child activities, and in which variables are declared with respect to composite activities to provide a data storage and sharing mechanism for activities that share scope, and outputting data that results from the processing of the work items.
Specification