Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
This is the initial office action based on the application filed on May 27th, 2024, which claims 1-27 are presented for examination.
Internet E-mail
A written authorization by Applicant is required for the Examiner to respond via
internet e-mail to any Internet correspondence which contains information subject to the
confidentiality requirement as set forth in 35 U3.0. 122, such as proposed Examiner’s
Amendments or interview agenda items (MPEP 502.03; See Internet Usage Policy, 64
PR 33056 (June 21, 1999)). To authorize e-mail communications from the Examiner
(e.g. proposed Examiner’s Amendments), the Applicant must place a written
authorization in the record. Applicant may authorize electronic and email communication
by the Examiner via PTO Automated Interview Request web service. To schedule an
interview, applicant is encouraged to use the USPTO Automated Interview Request
(AER) at http://www.uspto.gov/interviewpractice.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on June 6th, 2024 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Objections
Claims 1-21 and 23-24 are objected to because of the following informalities:
Claims 1 and 2 recite the limitation “the configurable elements” in lines 12 and 1, respectively. They should be -- the physical configurable elements --.
Claims 3-21: are dependent on claim 1 but not cure the deficiencies of that claim. Accordingly, they are objected for the same reason.
Claim 3 recites the limitation “nodes represent dataflow dependencies” in line 2. It should be -- nodes represent the dataflow dependencies --.
Claim 7 recites the limitation “a line of code” in line 2. It should be -- a line of the code --.
Claim 9 recites the limitation “the source code of the outcome” in line 2. It should be -- the source code of [[the]] outcome --.
Claim 13 recites the limitation “a hardware representation indicating mapping of source code” in lines 4-5. It should be – [[a]] the hardware representation indicating mapping of the source code --.
Claim 16 recites the limitation “each computational cluster include” in line 4. It should be -- each computational cluster includes --.
Claims 23 and 24 recite the limitation “at least one computational cluster” in lines 9 and 4, respectively. They should be -- the at least one computational cluster --.
Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of the second paragraph of 35 U.S.C. 112:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 21 and 27 are rejected under 35 U.S.C. 112, second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which applicant regards as the invention.
Claim 21 recites the limitation “determining a portion of the source code… updating the GUI for visually distinguishing the portion of the source code” in lines 4-5. It is unclear if a portion means another portion, a sub-portion, or a second portion of the “a user selection of a portion of the source code” (from Claim 1, line 15).
Claim 27 recites the limitation “determining a portion of the source code… updating the GUI for visually distinguishing the portion of the source code” in lines 22-24. It is unclear if a portion means another portion, a sub-portion, or a second portion of the “a user selection of a portion of the source code” recited in line 15.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory obviousness-type double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the reference application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO internet Web site contains terminal disclaimer forms which may be used. Please visit http://www.uspto.gov/forms/. The filing date of the application will determine what form should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to http://www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. .
Claims 1, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, and 27 of the instant application are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims 1+2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20+2, 21+2, 22, 23, and 24+2 of U.S. Patent No. 11,995,419, respectively. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1+2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20+2, 21+2, 22, 23, and 24+2 of U.S. Patent No. 11,995,419 recite the elements of claims 1, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, and 27 of the instant application 18/674987, respectively. Both claim features of the instant application 18/674987 and U.S. Patent No. 11,995,419 can be compared as follows:
INSTANT APPLICATION
18/674987
PATENT NO.
11,995,419
Claim 1:
A computer implemented method of operating a graphical user interface (GUI) presenting a representation of code for execution by a dataflow processor, comprising:
presenting in the GUI, a source code;
presenting in the GUI simultaneously with the source code, an interactive graph of a plurality of nodes connected by edges representing the source code mapped to physical configurable elements of at least one computational cluster of the dataflow processor, each physical configurable element comprises hardware configurable and re-configurable for executing at least one mathematical operation of a dataflow,
wherein each node represents the at least one mathematical operation mapped to the physical configurable elements, and the edges between the nodes represent dataflow dependencies between the mathematical operations, mapped to physical dependency links between the configurable elements,
receiving, via the GUI, a user selection of a portion of the source code;
determining at least one of: at least one node and at least one edge of the interactive graph corresponding to the portion of the source code; and
updating the GUI for visually distinguishing the at least one of: the at least one node and the at least one edge of the interactive graph,
wherein the visually distinguished at least one node represents a mapping to certain physical configurable elements and the visually distinguished at least one edge represents certain dependency links between the certain physical configurable elements of the dataflow processor configured to execute the user selected portion of the source code.
Claim 1:
A computer implemented method of operating a graphical user interface (GUI) presenting a representation of code for execution by a processor, comprising:
presenting in the GUI, a source code;
presenting in the GUI simultaneously with the source code, an interactive graph of a plurality of nodes connected by edges representing the source code mapped to physical configurable elements of at least one computational cluster of the processor each configurable to execute mathematical operations,
Claim 2: The computer implemented method of claim 1, wherein the processor comprises a dataflow processor.
wherein each node represents the at least one mathematical operation mapped to the physical configurable elements, and the edges between the nodes represent dependencies between the mathematical operations, mapped to physical dependency links between the configurable elements;
obtaining compiler generated debug data corresponding to the plurality of nodes of the interactive graph;
traversing the plurality of nodes of the interactive graph;
mapping the debug data to lines of the source codes according to the traversing;
receiving, via the GUI, a user selection of a portion of the source code;
determining at least one of: at least one node and at least one edge of the interactive graph corresponding to the portion of the source code, wherein the determining is performed by executing a query of the user selected portion of the source code on an outcome of the mapping; and
updating the GUI for visually distinguishing the at least one of: the at least one node and the at least one edge of the interactive graph,
wherein the visually distinguished at least one node represents a mapping to certain physical configurable elements and the visually distinguished at least one edge represents certain dependency links between the certain physical configurable elements of the processor configured to execute the user selected portion of the source code.
Claim 4:
The computer implemented method of claim 1, further comprising: receiving, via the GUI, another user selection of at least one of: at least one node and at least one edge of the interactive graph; determining another portion of the source code corresponding to the selected at least one of: at least one node and at least one edge; and updating the GUI for visually distinguishing the portion of the source code.
Claim 4:
The computer implemented method of claim 1, further comprising: receiving, via the GUI, another user selection of at least one of: at least one node and at least one edge of the interactive graph; determining another portion of the source code corresponding to the selected at least one of: at least one node and at least one edge; and updating the GUI for visually distinguishing the portion of the source code.
Claim 5:
The computer implemented method of claim 1, wherein visually distinguishing comprises marking the at least one of: at least one node and at least one edge of the interactive graph corresponding to the user selected portion of the source code with a marking that is different from other nodes and/or other edges of the interactive graph.
Claim 5:
The computer implemented method of claim 1, wherein visually distinguishing comprises marking the at least one of: at least one node and at least one edge of the interactive graph corresponding to the user selected portion of the source code with a marking that is different from other nodes and/or other edges of the interactive graph.
Claim 6:
The computer implemented method of claim 1, wherein each node is associated with at least one of: a type of the node, connectivity to other nodes, and special traits of the node.
Claim 6:
The computer implemented method of claim 1, wherein each node is associated with at least one of: a type of the node, connectivity to other nodes, and special traits of the node.
Claim 7:
The computer implemented method of claim 1, wherein the user selection is selected from a group consisting of: a function, an execution block, and a line of code.
Claim 7:
The computer implemented method of claim 1, wherein the user selection is selected from a group consisting of: a function, an execution block, and a line of code.
Claim 10:
The computer implement method of claim 1, wherein nodes of the interactive graph that map to the source code include a visual marker, and other nodes of the interactive graph that do not map to the source code exclude the visual marker.
Claim 8:The computer implement method of claim 1, wherein nodes of the interactive graph that map to the source code include a visual marker, and other nodes of the interactive graph that do not map to the source code exclude the visual marker.
Claim 11:
The computer implemented method of claim 1, further comprising: in response to a toggling between different representations of the interactive graph of decreasing abstraction and increasing hardware representation of the dataflow processor received via the GUI, updating the GUI for visually distinguishing the at least one node and/or the at least one edge from a currently presented representation of the interactive graph to the toggled representation of the interactive graph according to a mapping of nodes and edges between the different representations of the interactive graph.
Claim 9:
The computer implemented method of claim 1, further comprising: in response to a toggling between different representations of the interactive graph of decreasing abstraction and increasing hardware representation of the processor received via the GUI, updating the GUI for visually distinguishing the at least one node and/or the at least one edge from a currently presented representation of the interactive graph to the toggled representation of the interactive graph according to a mapping of nodes and edges between the different representations of the interactive graph.
Claim 12:
The computer implemented method of claim 1, further comprising:
receiving via the GUI, a user selection of one of a plurality of representation of the interactive graph of decreasing abstraction and increasing hardware representation of the dataflow processor; determining a mapping between nodes and edges of a currently presented representation of the interactive graph presented in the GUI and nodes and edges of the user selected representation of the interactive graph;
updating the GUI from the currently presented representation of the interactive graph to the user selected representation of the interactive graph; and
visually distinguishing, according to the mapping, at least one of: at least one node and at least one edge of the user selected presentation of the interactive graph corresponding to the visually distinguished at least one of: at least one node and at least one edge of the currently presented representation of the interactive graph.
Claim 10:
The computer implemented method of claim 1, further comprising:
receiving via the GUI, a user selection of one of a plurality of representation of the interactive graph of decreasing abstraction and increasing hardware representation of the processor; determining a mapping between nodes and edges of a currently presented representation of the interactive graph presented in the GUI and nodes and edges of the user selected representation of the interactive graph;
updating the GUI from the currently presented representation of the interactive graph to the user selected representation of the interactive graph; and
visually distinguishing, according to the mapping, at least one of: at least one node and at least one edge of the user selected presentation of the interactive graph corresponding to the visually distinguished at least one of: at least one node and at least one edge of the currently presented representation of the interactive graph.
Claim 13:
The computer implemented method of claim 12, wherein the plurality of representations of the interactive graph include a logical representation closest to the source code, compute representation representing an intermediate representation indicating optimization of the logical representation towards the hardware representation, and a hardware representation indicating mapping of source code to regions of the dataflow processor executing the source code.
Claim 11:
The computer implemented method of claim 10, wherein the plurality of representations of the interactive graph include a logical representation closest to the source code, compute representation representing an intermediate representation indicating optimization of the logical representation towards the hardware representation, and a hardware representation indicating mapping of source code to regions of the processor executing the source code.
Claim 14:
The computer implemented method of claim 1, wherein updating comprises updating the presentation of the interactive graph within the GUI for depicting links between the visually distinguished at least one node, and excluding links between other nodes.
Claim 12:
The computer implemented method of claim 1, wherein updating comprises updating the presentation of the interactive graph within the GUI for depicting links between the visually distinguished at least one node, and excluding links between other nodes.
Claim 15:
The computer implemented method of claim 1, further comprising:
computing a projection graph of the interactive graph representing the source code, the projection graph including nodes mapped to computational clusters of the dataflow processor executing respective portions of the source code by respective computational clusters; and
presenting within the GUI the projection graph overlaid on a hardware representation of the dataflow processor executing the source code.
Claim 13:
The computer implemented method of claim 1, further comprising:
computing a projection graph of the interactive graph representing the source code, the projection graph including nodes mapped to computational clusters of the processor executing respective portions of the source code by respective computational clusters; and
presenting within the GUI the projection graph overlaid on a hardware representation of the processor executing the source code.
Claim 16:
The computer implemented method of claim 15, further comprising:
receiving via the GUI, a user input for a zoom in on the projection graph, and
updating the GUI for presenting nodes of the graph projected on computational clusters of the dataflow processor, wherein each computational cluster include a plurality of logical element units that are configurable to perform operations.
Claim 14:
The computer implemented method of claim 13, further comprising:
receiving via the GUI, a user input for a zoom in on the projection graph, and
updating the GUI for presenting nodes of the graph projected on computational clusters of the processor, wherein each computational cluster include a plurality of logical element units that are configurable to perform operations.
Claim 17:
The computer implemented method of claim 15, further comprising:
presenting within the GUI, the interactive graph representing the source code;
receiving, via the GUI, a user selection of the at least one node of the interactive graph;
determining the at least one node of the projection graph corresponding to the user selected at least one node; and
updating the GUI for visually distinguishing the at least one node of the projection graph overlaid on the hardware representation of the dataflow processor.
Claim 15:
The computer implemented method of claim 13, further comprising:
presenting within the GUI, the interactive graph representing the source code;
receiving, via the GUI, a user selection of the that least one node of the interactive graph;
determining the at least one node of the projection graph corresponding to the user selected at least one node; and
updating the GUI for visually distinguishing the at least one node of the projection graph overlaid on the hardware representation of the processor.
Claim 18:
The computer implemented method of claim 15, further comprising:
presenting within the GUI, the interactive graph representing the source code;
receiving, via the GUI, a user selection of at least one node of the projection graph;
determining at least one node of the interactive graph corresponding to the user selected at least one node of the projection graph; and
updating the GUI for visually distinguishing the at least one node of the interactive graph corresponding to the user selected at least one node of the projection graph.
Claim 16:
The computer implemented method of claim 13, further comprising:
presenting within the GUI, the interactive graph representing the source code;
receiving, via the GUI, a user selection of at least one node of the projection graph;
determining at least one node of the interactive graph corresponding to the user selected at least one node of the projection graph; and
updating the GUI for visually distinguishing the at least one node of the interactive graph corresponding to the user selected at least one node of the projection graph.
Claim 19:
The computer implemented method of claim 1, further comprising: receiving, via the GUI, a user selection of the at least one node of the interactive graph; and updating the GUI for presenting at least one of: (i) real time performance metrics of the at least one node of the interactive graph during execution of the source code by the dataflow processor, and (ii) historical data of the performance metrics, wherein the GUI is dynamically updated in real time for presenting updates of at least one of (i) the real time performance metrics, and (ii) the historical data of the performance metrics.
Claim 17:
The computer implemented method of claim 1, further comprising: receiving, via the GUI, a user selection of the at least one node of the interactive graph; and updating the GUI for presenting at least one of: (i) real time performance metrics of the at least one node of the interactive graph during execution of the source code by the processor, and (ii) historical data of the performance metrics, wherein the GUI is dynamically updated in real time for presenting updates of at least one of (i) the real time performance metrics, and (ii) the historical data of the performance metrics.
Claim 20:
The computer implemented method of claim 1, wherein each node of the interactive graph represents a sub-graph, wherein edges between the sub-graphs represent dependencies between the sub-graphs.
Claim 18:
The computer implemented method of claim 1, wherein each node of the interactive graph represents a sub-graph, wherein edges between the sub-graphs represent dependencies between the sub-graphs.
Claim 21:
The computer implemented method of claim 20, further comprising:
receiving, via the GUI, a user selection of at least one node of the connected nodes of the interactive graph representing at least one sub-graph;
determining a portion of the source code corresponding to the at least one sub-graph; and
updating the GUI for visually distinguishing the portion of the source code.
Claim 19:
The computer implemented method of claim 18, further comprising:
receiving, via the GUI, a user selection of at least one node of the connected nodes of the interactive graph representing at least one sub-graph;
determining a portion of the source code corresponding to the at least one sub-graph; and
updating the GUI for visually distinguishing the portion of the source code.
Claim 22:
A computer implemented method of operating a graphical user interface (GUI) presenting a representation of code for execution by a dataflow processor, comprising:
presenting in the GUI, a source code;
presenting in the GUI simultaneously with the source code, an interactive graph of a plurality of nodes connected by edges representing the source code mapped to physical configurable elements of at least one computational cluster of the dataflow processor, each physical configurable element comprises hardware configurable and re-configurable for executing at least one mathematical operation of a dataflow,
wherein each node represents the at least one mathematical operation mapped to the physical configurable elements, and the edges between the nodes represent dataflow dependencies between the mathematical operations, mapped to physical dependency links between the physical configurable elements,
wherein the interactive graph represents how the dataflow processor executes the source code;
receiving, via the GUI, a user selection of at least one of: at least one node and at least one edge of the interactive graph representing a mapping to certain physical configurable elements and certain dependency links between the certain physical configurable elements of the dataflow processor configured to execute a portion of the source code;
determining the portion of the source code corresponding to the at least one of: at least one node and at least one edge; and
updating the GUI for visually distinguishing the portion of the source code.
Claim 20:
A computer implemented method of operating a graphical user interface (GUI) presenting a representation of code for execution by a processor, comprising:
presenting in the GUI, a source code;
presenting in the GUI simultaneously with the source code, an interactive graph of a plurality of nodes connected by edges representing the source code mapped to physical configurable elements of at least one computational cluster of the processor each configurable to execute mathematical operations,
Claim 2: The computer implemented method of claim 1, wherein the processor comprises a dataflow processor.
wherein each node represents the at least one mathematical operation mapped to the physical configurable elements, and the edges between the nodes represent dependencies between the mathematical operations, mapped to physical dependency links between the physical configurable elements;
obtaining compiler generated debug data corresponding to the plurality of nodes of the interactive graph;
traversing the plurality of nodes of the interactive graph;
mapping the debug data to lines of the source codes according to the traversing;
receiving, via the GUI, a user selection of at least one of: at least one node and at least one edge of the interactive graph representing a mapping to certain physical configurable elements and certain dependency links between the certain physical configurable elements of the processor configured to execute a portion of the source code;
determining the portion of the source code corresponding to the at least one of: at least one node and at least one edge,
wherein the determining is performed by executing a query of the user selected at least one node and/or at least one edge, on an outcome of the mapping; and
updating the GUI for visually distinguishing the portion of the source code.
Claim 23:
A computer implemented method of operating a graphical user interface (GUI) presenting a schematic of a dataflow processor, comprising:
presenting in GUI, the schematic of the dataflow processor including a plurality of computational clusters, with visual indication of at least one computational cluster of the plurality of computational clusters executing a source code,
wherein physical configurable elements comprising hardware configurable and re-configurable for executing at least one mathematical operation of a dataflow are organized into the plurality of computational clusters;
receiving, via the GUI, a user selection of at least one computational cluster of the plurality of computational clusters executing the source code; and
updating the GUI, for visually distinguishing a portion of the source code being executed by the at least one computational cluster selected by the user.
Claim 21:
A computer implemented method of operating a graphical user interface (GUI) presenting a schematic of a processor, comprising:
presenting in the GUI, the schematic of the processor including a plurality of computational clusters, with visual indication of at least one computational cluster of the plurality of computational clusters executing a source code;
Claim 2: The computer implemented method of claim 1, wherein the processor comprises a dataflow processor.
presenting in the GUI simultaneously with the schematic of the processor, an interactive graph of a plurality of connected nodes representing the source code in a representation for execution by at least one computational cluster of the processor;
obtaining compiler generated debug data corresponding to the plurality of nodes of the interactive graph;
traversing the plurality of nodes of the interactive graph;
mapping the debug data to lines of the source codes according to the traversing;
receiving, via the GUI, a user selection of at least one computational cluster of the plurality of computational clusters executing the source code; and
updating the GUI, for visually distinguishing a portion of the source code being executed by the at least one computational cluster selected by the user;
in response to the user selection, updating the GUI for visually distinguishing at least one node of the plurality of connected nodes of the interactive graph corresponding to the user selected at least one computational cluster and to the portion of the source code corresponding to the user selected at least one computational cluster,
wherein the portion of the source code being executed by the at least one computational cluster for being visually distinguished is determined by executing a query of the user selected at least one computational cluster on an outcome of the mapping.
Claim 25:
The computer implemented method of claim 23, further comprising:
receiving, via the GUI, another user selection of at least one memory region of the dataflow processor; and
updating the GUI, for visually distinguishing a memory allocation request of the source code and/or a call stack up to an allocation routine at a time of allocation, corresponding to the at least one memory region selected by the user.
Claim 22:
The computer implemented method of claim 21, further comprising:
receiving, via the GUI, another user selection of at least one memory region of the processor; and
updating the GUI, for visually distinguishing a memory allocation request of the source code and/or a call stack up to an allocation routine at a time of allocation, corresponding to the at least one memory region selected by the user.
Claim 26:
The computer implemented method of claim 23, further comprising:
receiving, via the GUI, another user selection of at least one bin denoting a memory cache element of the dataflow processor; and
updating the GUI, for visually representing an element in at least one memory region of the dataflow processor corresponding to the at least one bin.
Claim 23:
The computer implemented method of claim 21, further comprising:
receiving, via the GUI, another user selection of at least one bin denoting a memory cache element of the processor; and
updating the GUI, for visually representing an element in at least one memory region of the processor corresponding to the at least one bin.
Claim 27:
A computer implemented method of operating a graphical user interface (GUI) presenting a representation of code for execution by a dataflow processor, comprising:
presenting in the GUI, a source code;
presenting in the GUI simultaneously with the source code, a projection graph of a plurality of nodes connected by edges representing the source code in a representation for execution by the dataflow processor, the projection graph presented as an overlay that visually represents a layout of the dataflow processor, wherein nodes of the projection graph corresponding to different portions of the source code are overlaid over corresponding computational clusters of the dataflow processor executing respective portions of the source code, the projection graph indicating physical locations of the computational clusters on the dataflow processor,
wherein physical configurable elements comprising hardware configurable and re-configurable for executing at least one mathematical operation of a dataflow are organized into the computational clusters;
at least one of:
(i) receiving, via the GUI, a user selection of a portion of the source code;
determining at least one of: at least one node and at least one edge of the projection graph corresponding to the portion of the source code; and
updating the GUI for visually distinguishing the at least one of: the at least one node and the at least one edge of the projection graph; and
(ii) receiving, via the GUI, a user selection of at least one of: at least one node and at least one edge of the projection graph;
determining a portion of the source code corresponding to the at least one of: the at least one node and the at least one edge of the projection graph; and
updating the GUI for visually distinguishing the portion of the source code.
Claim 24:
A computer implemented method of operating a graphical user interface (GUI) presenting a representation of code for execution by a processor, comprising:
presenting in the GUI, a source code;
presenting in the GUI simultaneously with the source code, a projection graph of a plurality of nodes connected by edges representing the source code in a representation for execution by the processor, the projection graph presented as an overlay, wherein nodes of the projection graph corresponding to different portions of the source code are overlaid over corresponding computational clusters of the processor executing respective portions of the source code;
Claim 2: The computer implemented method of claim 1, wherein the processor comprises a dataflow processor.
obtaining compiler generated debug data corresponding to the plurality of nodes of the projection graph;
traversing the plurality of nodes of the projection graph;
mapping the debug data to lines of the source codes according to the traversing;
at least one of:
(i) receiving, via the GUI, a user selection of a portion of the source code;
determining at least one of: at least one node and at least one edge of the projection graph corresponding to the portion of the source code, wherein the determining is performed by executing a query of the user selected portion of the source code on an outcome of the mapping; and
updating the GUI for visually distinguishing the at least one of: the at least one node and the at least one edge of the projection graph; and
(ii) receiving, via the GUI, a user selection of at least one of: at least one node and at least one edge of the projection graph;
determining a portion of the source code corresponding to the at least one of: the at least one node and the at least one edge of the projection graph,
wherein the determining is performed by executing a query of the user selected the at least one of: the at least one node and the at least one edge, on the outcome of the mapping; and
updating the GUI for visually distinguishing the portion of the source code.
Allowable Subject Matter
The combination of claims 8+9 are objected to as being dependent upon a rejected base claims 1, 22, and 27, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The combination of claims 8+9+24 are objected to as being dependent upon a rejected base claim 23, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Pereira (Pub. No.: US 2022/0058004) discloses techniques to process a source code program. The techniques include, by one or more processors, determining an analysis perspective is exhibited by one or more portions of the source code program based at least in part on processing the source code program and an analysis perspective definition collection. The techniques further include storing a mapping of the analysis perspective to event data that is generated by object code when executed by one or more processors of a target computing system, wherein the object code is associated with the one or more source code program portions that exhibit the analysis perspective. However, Pereira, singularly or in combination with the arts made of record, does not explicitly teach the above claim limitations.
Wang et al. (Patent No.: US 12,242,823) discloses techniques for visual software development. The techniques include generating, by a visual code editor, a data model of code elements in a set of source code; based on the data model, generating an adjustable graphical user interface (GUI) control corresponding to a subset of the set of source code; presenting the adjustable GUI control in a GUI of the visual code editor; and responsive to user input in the GUI to adjust the adjustable GUI control, modifying the set of source code according to the user input and executing the modified set of source code. However, Wang et al., singularly or in combination with the arts made of record, does not explicitly teach the above claim limitations.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HANH THI MINH BUI whose telephone number is (571)270-1976. The examiner can normally be reached Monday - Friday: 7-3.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung S. Sough can be reached at 571-272-6799. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/HANH THI-MINH BUI/Primary Examiner, Art Unit 2192 June 9th, 2026