×

Interface infrastructure for a continuation based runtime

  • US 9,354,847 B2
  • Filed: 12/29/2008
  • Issued: 05/31/2016
  • Est. Priority Date: 12/29/2008
  • Status: Active Grant
First Claim
Patent Images

1. A computer readable storage medium, the computer readable storage medium comprising at least one of RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, the computer readable storage medium having stored thereon computer executable instructions for implementing a framework for enabling the creation or execution of continuation-based declarative applications, the computer readable medium comprising computer readable instructions that when executed by one or more processors cause the following to be implemented:

  • a first plurality of application programming interfaces (APIs), using the processor, configured for writing continuation based runtimes, each of the first plurality of APIs included in a first common namespace for an activity model of a continuation-based. runtime, and each of the first plurality of APIs represented with a common namespace prefix for logical grouping of the first plurality of continuation-based runtime APIs, the first plurality of APIs comprising;

    a first API class that represents continuation-based functional behavior, wherein instances of the first API class include imperative code in their bodies that is executed by a processor to perform functions, and wherein the first API class is polymorphic; and

    a second API class used to store data in the continuation-based runtime, the second API class including a type and a name, anda plurality of argument classes, wherein each of the argument classes is a binding terminal that represents the flow of data for instances of the activity class, the plurality of argument classes comprising;

    an inargument class that has a direction of In;

    an outargument class that has a direction of Out; and

    an inoutargument class that has a direction of InOut;

    a second plurality of APIs organized in a second common namespace and that are represented with a second common namespace prefix for logical grouping, wherein the second plurality of APIs are used to host, execute, and manage instances of continuation-based, declarative programs;

    a third plurality of APIs organized in a third common namespace and that are represented with a third common namespace prefix for logical grouping, wherein the third plurality of APIs are used to implement a base layer of activities that add functionality to the continuation-based runtime and that are used to add concrete behaviors that build on top of a core activity model;

    a fourth plurality of APIs organized in a fourth common namespace and that are represented with a fourth common namespace prefix for logical grouping, wherein the fourth plurality of APIs are used for providing and executing build constraints and policy constraints, wherein build constraints validate that a given workflow does not violate any runtime or activity assumptions which would most likely cause runtime exceptions and wherein policy constraints warn of potential issues including one or more of best practice violations, design guideline violations, or company policy violations;

    a fifth plurality of APIs organized in a fifth common namespace and that are represented with a fifth common namespace prefix for logical grouping, wherein the fifth plurality of APIs are used for defining and consuming tracking events; and

    a sixth plurality of APIs organized in a sixth common namespace and that are represented with a sixth common namespace prefix for logical grouping, wherein the sixth plurality of APIs are used for modeling communication with other systems by sending and receiving messages in and out of a workflow, and for representing a continuation-based program as a service.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×