Conversational programming
First Claim
1. A method comprising:
- allowing software code associated with one or more of a plurality of programming building blocks to be concurrently edited and executed within a programming environment, including, responsive to advancement of time or input by an end user of the programming environment, revising a current situation relating to the plurality of programming building blocks or revising the software code;
receiving, by a conversational programming agent of the programming environment, (i) information regarding the plurality of programming building blocks and (ii) information indicative of the current situation; and
evaluating, by the conversational programming agent, the plurality of programming building blocks based on the current situation;
responsive to said evaluating, facilitating detection of one or more logical errors in one or more of the plurality of programming building blocks by proactively providing, by the conversational programming agent, real-time, human perceptible semantic feedback regarding those of the plurality of programming building blocks to which the current situation is relevant to the end user based on the evaluating;
wherein the real-time, human perceptible semantic feedback comprises annotating one or more of the plurality of programming building blocks; and
wherein the conversational programming agent is implemented in one or more processors and one or more computer-readable media of one or more computer systems, the one or more computer-readable media having instructions tangibly embodied therein that are executable by the one or more processors.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for providing rich semantic feedback to programmers by executing programs, or parts of programs, in data contexts relevant to the programmer are provided. According to one embodiment, software code associated with one or more of multiple programming building blocks is enabled to be concurrently edited and executed within a programming environment. A conversational programming agent of the programming environment receives (i) information regarding the programming building blocks and (ii) information indicative of a current situation relating to the programming building blocks. The conversational programming agent evaluates the programming building blocks based on the current situation. Then, detection of one or more logical errors in one or more of the programming building blocks is facilitated by the conversational programming agent proactively providing semantic feedback regarding those of the programming building blocks to which the current situation is relevant to the programmer based on results of the evaluation.
-
Citations
18 Claims
-
1. A method comprising:
-
allowing software code associated with one or more of a plurality of programming building blocks to be concurrently edited and executed within a programming environment, including, responsive to advancement of time or input by an end user of the programming environment, revising a current situation relating to the plurality of programming building blocks or revising the software code; receiving, by a conversational programming agent of the programming environment, (i) information regarding the plurality of programming building blocks and (ii) information indicative of the current situation; and evaluating, by the conversational programming agent, the plurality of programming building blocks based on the current situation; responsive to said evaluating, facilitating detection of one or more logical errors in one or more of the plurality of programming building blocks by proactively providing, by the conversational programming agent, real-time, human perceptible semantic feedback regarding those of the plurality of programming building blocks to which the current situation is relevant to the end user based on the evaluating; wherein the real-time, human perceptible semantic feedback comprises annotating one or more of the plurality of programming building blocks; and wherein the conversational programming agent is implemented in one or more processors and one or more computer-readable media of one or more computer systems, the one or more computer-readable media having instructions tangibly embodied therein that are executable by the one or more processors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by one or more processors of one or more computer systems, cause the one or more processors to perform a method comprising:
-
allowing software code associated with one or more of a plurality of a plurality of programming building blocks to be concurrently edited and executed within a programming environment, including, responsive to advancement of time or input by an end user of the programming environment, revising a current situation relating to the plurality of programming building blocks or revising the software code; receiving (i) information regarding the plurality of programming building blocks and (ii) information indicative of the current situation; and evaluating the plurality of programming building blocks based on the current situation; and responsive to said evaluating, facilitating detection of one or more logical errors in one or more of the plurality of programming building blocks by proactively providing real-time, human perceptible semantic feedback regarding those of the plurality of programming building blocks to which the current situation is relevant to the end user based on the evaluating, wherein the real-time, human perceptible semantic feedback comprises annotating one or more of the plurality of programming building blocks. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-implemented method comprising:
-
allowing software code associated with one or more of a plurality of programming building blocks to be concurrently edited and executed within a programming environment, including concurrently displaying, by the programming environment, (i) a visual representation of a programming building block of the plurality of programming building blocks within a behavior editor and (ii) a visual representation of a current situation, wherein the current situation includes (a) a selection identifying a selected agent of a plurality of agents represented by the plurality of programming building blocks and (b) data describing at least the selected agent and wherein the programming building block corresponds to the selected agent and represents one or more behavioral rules of the selected agent; responsive to selection of the selected agent by an end user of the programming environment, a conversational programming agent of the programming environment, evaluating, based on the current situation, the one or more behavior rules and other behavior rules of one or more other of the plurality of agents to which the current situation is relevant; and responsive to said evaluating, facilitating detection of one or more logical errors in the one or more behavior rules by the end user by conveying results of said evaluating, by the conversational programming agent, in a form of one or more annotation to the visual representation of the programming building block, wherein the one or more annotations provide real-time semantic feedback to the end user regarding a meaning of the one or more behavior rules in a context of the current situation. - View Dependent Claims (18)
-
Specification