Patent ID: 9411564
Filing Date: 2016-08-09
CPC Classification: G06F

Claim Text:
1. A system for extracting functional semantics and isolated dataflow from imperative object oriented languages, comprising: a memory; and an object oriented programming language module provided in the memory and including at least a plurality of property labels for declaring methods and classes in a computer code as being one or more of functional and isolated, the object oriented programming language module further comprising checking rules supporting the plurality of property labels that verify functional and isolation characteristics of the methods and classes as declared, one or more of the checking rules precluding a new subclass from being defined that would violate a declared class from being one or more of functional and isolated, wherein the plurality of property labels comprises at least valueness labels and the object oriented programming language module labels all classes in the computer code with the valueness labels, wherein the object oriented programming language module identifies said one or more of functional and isolation characteristics based on at least the valueness labels and the checking rules supporting the valueness labels, wherein the object oriented programming language module is operable to generate an executable instance of the computer code, the executable instance operable to execute on computer architecture comprising at least one or more of field-programmable gate array, reconfigurable functional unit, hardware function accelerator, wherein the object oriented programming language module further provides a task operator for transforming a plurality of methods in the computer code into a corresponding plurality of compute tasks, the task operator provided as a compiler keyword used in programming in an object oriented programming language the object oriented programming language module compiles, wherein the task operator is followed by a method identifier in the object oriented programming language, wherein the task operator performs construction of an object atomically with a creation of a task and returns a handle that enables a number of task operations without allowing direct object access to the object, a connect operator provided in the object oriented language operable to connect the compute tasks to convert the plurality of methods into a dataflow graph, the connect operator provided as a keyword in the object oriented language, wherein the dataflow graph represents a structure that can be executed and the compute tasks communicate only with other compute tasks in the graph, and only via explicit channels connecting them, wherein the compute tasks are identified as one or more of functional or isolated.