Patent ID: 9122461
Filing Date: 2015-09-01
Classification: G06F

Abstract:
1. In a computing environment including continuation based runtime programs, wherein a continuation based runtime executes activities, where an activity represents a unit of executable code including a plurality of discrete elements of work, and wherein composition of the activities enables custom control flows that can be implemented through the scheduling of child activities 0, 1 or n times, a method of partitioning the activities of a given continuation based runtime program into a plurality of distinct visibility spaces based on a differentiation between public and implementation activities, the method comprising: identifying each of a plurality of activities of a continuation based runtime program as one of a public child activity and an implementation child activity, a public child being an activity intended to be provided by a consumer of a parent activity and an implementation child activity being an activity an author constructed or configured; partitioning the continuation based runtime into visibility spaces based on the identified public child and implementation child activities, the visibility spaces having boundaries based on the identified implementation children activities of the plurality of activities, such that within a given visibility space all activities in the given visibility space are at least one of a root activity, an implementation child activity, or descendants of either the root activity or an implementation child activity included in the given visibility space, and wherein any intervening activity between the root activity or implementation child activity and any descendent of either the root activity or an implementation child activity included in the given visibility space, as well as any descendent of either the root activity or an implementation child activity included in the given visibility space, is a public child of its parent, and wherein any given activity is included in only a single visibility space; and partially processing the continuation based runtime at a visibility space granularity using the visibility spaces to uniquely identify the activity by numerically identifying the activity in the given visibility space from a perspective of the given visibility space, identifying a parent activity for the given visibility space, and iteratively identifying parents for activity trees until the root activity is reached.