Visual programming system
First Claim
Patent Images
1. A method for defining a process on a visual programming canvas, the method comprising:
- controlling a client device to display a visual programming canvas;
controlling the client device to display, adjacent to the visual programming canvas, a plurality of programming blocks that can be added to the visual programming canvas;
receiving a selection of a first programming block of the plurality of programming blocks to be executed within the process, wherein the first programming block refers to a class, and wherein the class comprises constituent components;
controlling the client device to display a first visual block representing the first programming block on the visual programming canvas, wherein the first visual block provides access to the constituent components of the class, and wherein the constituent components include an input parameter;
receiving a selection of the input parameter for the first programming block;
controlling the client device to display an indication of the input parameter within the first visual block on the visual programming canvas;
receiving a selection of a second programming block of the plurality of programming blocks to be executed subsequent to the first programming block in the process, wherein the second programming block refers to a method that returns a return value;
controlling the client device to display a second visual block representing the second programming block and the return value on the visual programming canvas;
controlling the client device to display a prototype compound block;
after displaying the prototype compound block, forming a compound programming block from the first programming block and the second programming block;
controlling the client device to display a compound visual block representing the compound programming block on the visual programming canvas, wherein the compound visual block identifies the input parameter as an input of the compound block and the return value as an output of the compound block; and
generating output programming code for the compound block.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and system for generating code using visual blocks. A selection is made from a list of one or more programming blocks. One or more of the programming blocks are selected and used to display a visual programming block that corresponds to the selected one or more programming blocks. This visual programming block is then used to generate or produce output code.
31 Citations
20 Claims
-
1. A method for defining a process on a visual programming canvas, the method comprising:
-
controlling a client device to display a visual programming canvas; controlling the client device to display, adjacent to the visual programming canvas, a plurality of programming blocks that can be added to the visual programming canvas; receiving a selection of a first programming block of the plurality of programming blocks to be executed within the process, wherein the first programming block refers to a class, and wherein the class comprises constituent components; controlling the client device to display a first visual block representing the first programming block on the visual programming canvas, wherein the first visual block provides access to the constituent components of the class, and wherein the constituent components include an input parameter; receiving a selection of the input parameter for the first programming block; controlling the client device to display an indication of the input parameter within the first visual block on the visual programming canvas; receiving a selection of a second programming block of the plurality of programming blocks to be executed subsequent to the first programming block in the process, wherein the second programming block refers to a method that returns a return value; controlling the client device to display a second visual block representing the second programming block and the return value on the visual programming canvas; controlling the client device to display a prototype compound block; after displaying the prototype compound block, forming a compound programming block from the first programming block and the second programming block; controlling the client device to display a compound visual block representing the compound programming block on the visual programming canvas, wherein the compound visual block identifies the input parameter as an input of the compound block and the return value as an output of the compound block; and generating output programming code for the compound block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
one or more processors; and memory having instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform functions of; controlling a client device to display a visual programming canvas, controlling the client device to display, adjacent to the visual programming canvas, a plurality of programming blocks that can be added to the visual programming canvas, receiving a selection of a first programming block of the plurality of programming blocks to be executed within the process, wherein the first programming block refers to a class, and wherein the class comprises constituent components, controlling the client device to display a first visual block representing the first programming block on the visual programming canvas, wherein the first visual block provides access to the constituent components of the class, and wherein the constituent components include an input parameter, wherein the input parameter comprises a table name that refers to an incident report table, receiving a selection of the input parameter for the first programming block, controlling the client device to display an indication of the input parameter within the first visual block on the visual programming canvas, receiving a selection of a second programming block of the plurality of programming blocks to be executed subsequent to the first programming block in the process, wherein the second programming block refers to a method that returns a return value, wherein the return value of the method is indicative of a value of a record in the incident report table, controlling the client device to display a second visual block representing the second programming block and the return value on the visual programming canvas, forming a compound programming block from the first programming block and the second programming block, and controlling the client device to display a compound visual block representing the compound programming block on the visual programming canvas, wherein the compound visual block identifies the input parameter as an input of the compound block and the return value as an output of the compound block, and generating output programming code for the compound block. - View Dependent Claims (14, 15, 16)
-
-
17. A method for defining a process on a visual programming canvas, the method comprising:
-
controlling a client device to display a visual programming canvas; controlling the client device to display a plurality of programming blocks that can be added to the visual programming canvas; receiving a selection of a first programming block of the plurality of programming blocks to be executed within the process, wherein the first programming block has an associated input parameter; controlling the client device to display on the visual programming canvas a first visual block representing the first programming block and the input parameter; receiving a selection of a second programming block of the plurality of programming blocks to be executed subsequent to the first programming block in the process, wherein the second programming block refers to a method that returns a return value; controlling the client device to display on the visual programming canvas a second visual block representing the second programming block and the return value on the visual programming canvas; forming a compound programming block from the first programming block and the second programming block, wherein forming the compound programming block comprises defining the input parameter of the first programming block as an input to the compound programming block and defining the return value as an output of the compound programming block, wherein forming the compound programming block comprises determining whether any required elements are missing from the first programming block and the second programming block and, responsive to determining that a required element is missing, providing a placeholder for the required element; and generating output programming code for the compound block. - View Dependent Claims (18, 19)
-
-
20. A method for defining a process on a visual programming canvas, the method comprising:
-
controlling a client device to display a visual programming canvas; controlling the client device to display a plurality of programming blocks that can be added to the visual programming canvas; receiving a selection of a first programming block of the plurality of programming blocks to be executed within the process, wherein the first programming block has an associated input parameter; controlling the client device to display on the visual programming canvas a first visual block representing the first programming block and the input parameter; receiving a selection of a second programming block of the plurality of programming blocks to be executed subsequent to the first programming block in the process, wherein the second programming block refers to a method that returns a return value; controlling the client device to display on the visual programming canvas a second visual block representing the second programming block and the return value on the visual programming canvas; forming a compound programming block from the first programming block and the second programming block, wherein forming the compound programming block comprises defining the input parameter of the first programming block as an input to the compound programming block and defining the return value as an output of the compound programming block, wherein forming the compound programming block comprises determining whether an output data type of the first programming block differs from an expected input data type of the second programming block; and generating output programming code for the compound block.
-
Specification