Systems and methods for building applications using building blocks linkable with metadata
First Claim
1. A computer-implemented method comprising:
- providing an interface configured to enable a user to build an application, wherein building the application includes linking building blocks, and wherein the building blocks are configured to process data from data structures;
receiving, via the interface, first input corresponding to a request to build a new building block;
building the new building block by;
defining one or more open input/output (I/O) features to the new building block, wherein the one or more open I/O features comprise one or more unassigned inputs to the new building block or one or more unassigned outputs from the new building block, wherein the one or more unassigned inputs define a first type of input to be inputted into the new building block, and wherein the one or more unassigned outputs define a second type of output to be outputted from the new building block;
accessing a plurality of existing building blocks, wherein each existing building block of the plurality of existing building blocks corresponds to a data structure comprising one or more external I/O features, and wherein each external I/O feature of the one or more external I/O features includes an input defined for storage in the data structure or an output defined for retrieval from the data structure;
generating a menu object that facilitates a selection of one or more existing building blocks from amongst the plurality of existing building blocks, wherein an identifier of each of the one or more existing building blocks is displayed when the menu object is selected;
receiving second input corresponding to a selection, identified using the menu object, of a particular existing building block of the plurality of existing building blocks;
receiving third input corresponding to a selection of a particular external I/O feature of the particular existing building block to link to a particular open I/O feature of the new building block;
assigning the particular external I/O feature of the particular existing building block to the particular open I/O feature of the new building block, wherein assigning includes storing assignment metadata in association with the new building block, wherein the assignment metadata indicates a link from the particular external I/O feature to the particular open I/O feature, and wherein the link represents an input of the particular existing building block being mapped to an output of the new building block or an output of the particular existing building block being mapped to an input of the new building block; and
storing a definition of the new building block, wherein the definition comprises the one or more open I/O features and the assignment metadata, and wherein storing the definition of the new building block causes a new identifier corresponding to the new building block to be available for selection using the menu object, wherein the new building block becomes available for selection as an existing building block using the menu object,wherein the menu object, in response to being selected, is configured to display a list of the plurality of existing building blocks, the list being generated to include a collection of building blocks and/or corresponding assignment metadata of the building blocks that are available at a time the menu object is selected.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods relate to creating applications using building blocks linked together with metadata. A user interface can enable a user to create an application. Creating the application can include defining a new building block configured to generate output data. The new building block can include one or more existing building blocks and the metadata associated with the existing building blocks. For example, a building block can include at least one input/output (I/O) feature configured to receive inputs and/or generate outputs. Further, the existing building block can correspond to a data structure including external I/O features. The new building block can be linked to an existing building block by mapping an external I/O feature of the existing building block to an open I/O feature of the new building block. The mapping can be stored in metadata associated with the new building block.
-
Citations
15 Claims
-
1. A computer-implemented method comprising:
-
providing an interface configured to enable a user to build an application, wherein building the application includes linking building blocks, and wherein the building blocks are configured to process data from data structures; receiving, via the interface, first input corresponding to a request to build a new building block; building the new building block by; defining one or more open input/output (I/O) features to the new building block, wherein the one or more open I/O features comprise one or more unassigned inputs to the new building block or one or more unassigned outputs from the new building block, wherein the one or more unassigned inputs define a first type of input to be inputted into the new building block, and wherein the one or more unassigned outputs define a second type of output to be outputted from the new building block; accessing a plurality of existing building blocks, wherein each existing building block of the plurality of existing building blocks corresponds to a data structure comprising one or more external I/O features, and wherein each external I/O feature of the one or more external I/O features includes an input defined for storage in the data structure or an output defined for retrieval from the data structure; generating a menu object that facilitates a selection of one or more existing building blocks from amongst the plurality of existing building blocks, wherein an identifier of each of the one or more existing building blocks is displayed when the menu object is selected; receiving second input corresponding to a selection, identified using the menu object, of a particular existing building block of the plurality of existing building blocks; receiving third input corresponding to a selection of a particular external I/O feature of the particular existing building block to link to a particular open I/O feature of the new building block; assigning the particular external I/O feature of the particular existing building block to the particular open I/O feature of the new building block, wherein assigning includes storing assignment metadata in association with the new building block, wherein the assignment metadata indicates a link from the particular external I/O feature to the particular open I/O feature, and wherein the link represents an input of the particular existing building block being mapped to an output of the new building block or an output of the particular existing building block being mapped to an input of the new building block; and storing a definition of the new building block, wherein the definition comprises the one or more open I/O features and the assignment metadata, and wherein storing the definition of the new building block causes a new identifier corresponding to the new building block to be available for selection using the menu object, wherein the new building block becomes available for selection as an existing building block using the menu object, wherein the menu object, in response to being selected, is configured to display a list of the plurality of existing building blocks, the list being generated to include a collection of building blocks and/or corresponding assignment metadata of the building blocks that are available at a time the menu object is selected. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising:
-
one or more data processors; and a non-transitory computer-readable storage medium containing instructions which, when executed on the one or more data processors, cause the one or more data processors to perform operations including; providing an interface configured to enable a user to build an application, wherein building the application includes linking building blocks, and wherein the building blocks are configured to process data from data structures; receiving, via the interface, first input corresponding to a request to build a new building block; building the new building block by; defining one or more open input/output (I/O) features to the new building block, wherein the one or more open I/O features comprise one or more unassigned inputs to the new building block or one or more unassigned outputs from the new building block, wherein the one or more unassigned inputs define a first type of input to be inputted into the new building block, and wherein the one or more unassigned outputs define a second type of output to be outputted from the new building block; accessing a plurality of existing building blocks, wherein each existing building block of the plurality of existing building blocks corresponds to a data structure comprising one or more external I/O features, and wherein each external I/O feature of the one or more external I/O features includes an input defined for storage in the data structure or an output defined for retrieval from the data structure; generating a menu object that facilitates a selection of one or more existing building blocks from amongst the plurality of existing building blocks, wherein an identifier of each of the one or more existing building blocks is displayed when the menu object is selected; receiving second input corresponding to a selection, identified using the menu object, of a particular existing building block of the plurality of existing building blocks; receiving third input corresponding to a selection of a particular external I/O feature of the particular existing building block to link to a particular open I/O feature of the new building block; assigning the particular external I/O feature of the particular existing building block to the particular open I/O feature of the new building block, wherein assigning includes storing assignment metadata in association with the new building block, wherein the assignment metadata indicates a link from the particular external I/O feature to the particular open I/O feature, and wherein the link represents an input of the particular existing building block being mapped to an output of the new building block or an output of the particular existing building block being mapped to an input of the new building block; and storing a definition of the new building block, wherein the definition comprises the one or more open I/O features and the assignment metadata, and wherein storing the definition of the new building block causes a new identifier corresponding to the new building block to be available for selection using the menu object, wherein the new building block becomes available for selection as an existing building block using the menu object; wherein the menu object, in response to being selected, is configured to display a list of the plurality of existing building blocks, the list being generated to include a collection of building blocks and/or corresponding assignment metadata of the building blocks that are available at a time the menu object is selected. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to perform operations including:
-
providing an interface configured to enable a user to build an application, wherein building the application includes linking building blocks, and wherein the building blocks are configured to process data from data structures; receiving, via the interface, first input corresponding to a request to build a new building block; building the new building block by; defining one or more open input/output (I/O) features to the new building block, wherein the one or more open I/O features comprise one or more unassigned inputs to the new building block or one or more unassigned outputs from the new building block, wherein the one or more unassigned inputs define a first type of input to be inputted into the new building block, and wherein the one or more unassigned outputs define a second type of output to be outputted from the new building block; accessing a plurality of existing building blocks, wherein each existing building block of the plurality of existing building blocks corresponds to a data structure comprising one or more external I/O features, and wherein each external I/O feature of the one or more external I/O features includes an input defined for storage in the data structure or an output defined for retrieval from the data structure; generating a menu object that facilitates a selection of one or more existing building blocks from amongst the plurality of existing building blocks, wherein an identifier of each of the one or more existing building blocks is displayed when the menu object is selected; receiving second input corresponding to a selection, identified using the menu object, of a particular existing building block of the plurality of existing building blocks; receiving third input corresponding to a selection of a particular external I/O feature of the particular existing building block to link to a particular open I/O feature of the new building block; assigning the particular external I/O feature of the particular existing building block to the particular open I/O feature of the new building block, wherein assigning includes storing assignment metadata in association with the new building block, wherein the assignment metadata indicates a link from the particular external I/O feature to the particular open I/O feature, and wherein the link represents either an input of the particular existing building block being mapped to an output of the new building block or an output of the particular existing building block being mapped to an input of the new building block; and storing a definition of the new building block, and wherein the definition comprises the one or more open I/O features and the assignment metadata, and wherein storing the definition of the new building block causes a new identifier corresponding to the new building block to be available for selection using the menu object, wherein the new building block becomes available for selection as an existing building block using the menu object, wherein the menu object, in response to being selected, is configured to display a list of the plurality of existing building blocks, the list being generated to include a collection of building blocks and/or corresponding assignment metadata of the building blocks that are available at a time the menu object is selected. - View Dependent Claims (12, 13, 14, 15)
-
Specification