Visual programming system

US2017329579A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017329579-A1
Application numberUS-201715595213-A
CountryUS
Kind codeA1
Filing dateMay 15, 2017
Priority dateMay 15, 2016
Publication dateNov 16, 2017
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system comprising: one or more processors; and memory having instructions stored thereon that, when executed by the one or more processors, are configured to cause the one or more processors to: cause a display to display a plurality of programming blocks; receive a selection of a programming block of the plurality of programming blocks; responsive to receiving the selection, cause the display to display a visual programming block corresponding to the programming block; and produce output code based at least in part on the visual programming block. 2 . The system of claim 1 , wherein the selection comprises a drag-and-drop of the programming block into the visual programming block. 3 . The system of claim 1 , wherein the selection comprises a textual entry of a name of the programming block to incorporate the programming block into the visual programming block. 4 . The system of claim 1 , wherein the instructions are configured to cause the one or more processors to cause the display to display the plurality of programming blocks as a list of available functions, application programming interfaces, or previously generated visual programming blocks, or a combination thereof. 5 . The system of claim 1 , wherein producing the output code comprises: generating a preliminary source code; parsing the preliminary source code; and resolving variable conflicts using the parsed preliminary source code to produce the output code based at least in part on the resolved variable conflicts. 6 . The system of claim 1 , wherein the instructions are configured to cause the one or more processors to cause the display to display the visual programming block with constituent components of the visual programming block. 7 . The system of claim 6 , wherein the constituent components comprise a table. 8 . The system of claim 6 , wherein the constituent components comprise return values of the visual programming block. 9 . The system of claim 1 , wherein the plurality of programming blocks includes a previously generated visual programming block, and wherein the visual programming block comprises a compound block formed at least partially from the previously generated visual programming block. 10 . The system of claim 1 , wherein the visual programming block comprises a compound block incorporating the plurality of programming blocks, and wherein the instructions are configured to cause the one or more processors to scope variables of the compound block. 11 . The system of claim 10 , wherein scoping the variables comprises renaming all variables in each constituent block to be globally unique. 12 . The system of claim 10 , wherein scoping the variables comprises: creating a global list of variables in the compound block; and when redundant variables are on the global list, append a textual modifier to distinguish the redundant variables from each other. 13 . The system of claim 1 , wherein the instructions are configured to cause the one or more processors to generate the visual programming block from a class definition. 14 . The system of claim 1 , wherein the instructions are configured to cause the one or more processors to generate the visual programming block from a plurality of methods of an object-oriented programming language. 15 . The system of claim 1 , wherein causing the display of the visual programming block comprises generating display code from the visual programming block to display parameters input into or returned out of the visual programming block. 16 . Non-transitory, computer-readable, and tangible medium having instructions stored thereon that, when executed by a processor, are configured to cause the processor to: cause a display to display a plurality of programming blocks each corresponding to available functionality; receive a selection of two programming blocks of the plurality of programming blocks; generate display code to cause the display to display a visual programming block corresponding to the two programming blocks; responsive to receiving the selection of the two programming blocks, cause the display to display the visual programming block based on the display code; and generate final output code based at least in part on the visual programming block. 17 . The non-transitory, computer-readable, and tangible medium of claim 16 , wherein at least one of the two programming blocks includes a previously generated visual programming block. 18 . The non-transitory, computer-readable, and tangible medium of claim 16 , wherein the instructions are configured to cause the processor to: determine whether a hole exists in constituent blocks of the visual programming block; and responsive to determining that the hole exists, request an entry in an input device to fill the hole, wherein generating the final output code is based at least in part on the filled hole. 19 . The non-transitory, computer-readable, and tangible medium of claim 18 , wherein determining whether the hole exists comprises traversing the constituent blocks to determine whether any inputs or outputs from the constituent blocks are not used in the visual programming block. 20 . The non-transitory, computer-readable, and tangible medium of claim 16 , wherein the instructions are configured to cause the processor to cause the display to display assistance to ensure that data type mismatches do not exist in the visual programming block, wherein data type mismatches comprise an output of a first block of constituent blocks of the visual programming block to be input to a second block of the constituent blocks when the output data type of the first block differs in type from an expected input data type into the second block.

Assignees

Inventors

Classifications

  • Interaction with lists of selectable items, e.g. menus · CPC title

  • G06F8/34Primary

    Graphical or visual programming · CPC title

  • Drag-and-drop · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2017329579A1 cover?
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.
Who is the assignee on this patent?
Servicenow Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/34. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Nov 16 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).