SYSTEM OF TYPE INFERENCE FOR TUPLE GRAPH PROGRAMS METHOD OF EXECUTING A TUPLE GRAPH PROGRAM ACROSS A NETWORK
First Claim
1. A method for type inference in programming operations, comprising:
- receiving information defining one or more attributes of an operation, the information specifying a field including a field name and a field type identifier for each of the attributes;
receiving information defining a behavior for the operation, the behavior being configured with reference to the one or more attributes;
determining, by one or more computing devices, constraints for the operation based on the attributes and the behavior, wherein the constraints restrict at least one of a type of input for the operation or a type of output for the operation;
receiving information defining an input for the operation;
determining, based on the constraints and the received information defining the input, the type of output for the operation; and
associating the type of output with an output for the operation.
2 Assignments
0 Petitions
Accused Products
Abstract
A programming model provides a method for type inference in programming operations. Information defining one or more attributes of an operation is received, the information specifying a field including a field name and a field type identifier for each of the attributes. Constraints for the operation are determined at least based on the attributes, wherein the constraints restrict at least one of a type of input for the operation or a type of output for the operation. Information defining an input for the operation is received, and it is determined, based on the constraints and the received information defining the input, the type of output for the operation. The type of output is associated with an output for the operation.
-
Citations
19 Claims
-
1. A method for type inference in programming operations, comprising:
-
receiving information defining one or more attributes of an operation, the information specifying a field including a field name and a field type identifier for each of the attributes; receiving information defining a behavior for the operation, the behavior being configured with reference to the one or more attributes; determining, by one or more computing devices, constraints for the operation based on the attributes and the behavior, wherein the constraints restrict at least one of a type of input for the operation or a type of output for the operation; receiving information defining an input for the operation; determining, based on the constraints and the received information defining the input, the type of output for the operation; and associating the type of output with an output for the operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for type inference in a program including a directed graph wherein nodes in the graph represent operators and wherein edges in the graph represent streams of tuples that flow from one operator to another along the edges during program execution:
-
receiving first type information for one or more input streams of the program, receiving, for each operator, an output type annotation; determining, for each operator, second type information for one or more output streams based on the first type information associated with one or more incoming streams of the operator and the output type annotation associated with the operator, wherein the second type information includes constraints that restrict the tuples included in the one or more streams; and associating the second type information with the respective one or more output streams. - View Dependent Claims (13, 14, 15)
-
-
16. A system for type inference in programming operations, comprising:
one or more processors configured to; receive information defining one or more attributes of an operation, the information specifying a field including a field name and a field type identifier for each of the attributes; determining constraints for the operation based on the attributes, wherein the constraints restrict at least one of a type of input for the operation or a type of output for the operation; receive information defining an input for the operation; determine, based on the constraints and the received information defining the input, the type of output for the operation; and associate the type of output with an output for the operation. - View Dependent Claims (17, 18, 19)
Specification