Recipe builder user interface

The user interface for the recipe building application addresses the inefficiencies in existing systems by providing intuitive graphical tools for adding transitions, editing parameters, and managing comments and deferments, thereby enhancing user interaction and storage efficiency.

WO2025117538A1PCT designated stage expired Publication Date: 2025-06-05SWIMC LLC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/057451
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-29
Filing Date
2024-11-26
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

Existing recipe building applications for batch automation of manufactured products lack intuitive user interfaces for efficiently adding transitions, editing step parameters, and managing comments and deferments within recipes.

Method used

A user interface for a recipe building application that allows users to add transitions and steps, edit parameters, add comments, and defer parameters through intuitive graphical icons and prompts, with visual representations of available levels for deferment.

Benefits of technology

Enhances user interaction by simplifying the process of building and editing recipes, improving efficiency and reducing the need for specialized technical skills, while also conserving storage resources by allowing parameter deferment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024057451_05062025_PF_FP_ABST
    Figure US2024057451_05062025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed herein are improvements to a user interface for building recipes for batch processing. In one embodiment, when a user hovers over phase, the user interface provides a mechanism for the user to either add or edit a transition. If the user hovers over a transition, the user is provided with a mechanism for adding a step. In another embodiment, a user can add comments that are linked to a phase. The user can then either retrieve the comment for a phase, or a phase linked to a comment. In yet another embodiment, the user can add an automated deferment to another level.
Need to check novelty before this filing date? Find Prior Art

Description

Recipe Builder User Interface

[0001] This application claims the benefit of U.S. Provisional Patent Application 18 / 523,483, filed November 29, 2023, the entire content of which is incorporated by reference.TECHNICAL FIELD

[0002] The present disclosure relates generally to user interfaces such as for example user interfaces for control and monitoring systems.BACKGROUND

[0003] Recipes are typically used for batch automation of manufactured products, such as chemicals, coatings, and many other manufactured products. Recipes can include equipment capabilities and performance, ingredients added to the batch at various points, transitions that occur to move between steps, and overall strategies of steps to process input to product in various process cells. Programming logic controller (PLC) based programming is often used to program a controller for a process.OVERVIEW OF EXAMPLE EMBODIMENTS

[0004] A recipe building application, or Recipe Builder, provides a graphical user interface (“GUI”) provides a mechanism for a user to graphically represent a process that can be employed to program the controller to perform the process. The following presents a simplified overview of the example embodiments in order to provide a basic understanding of some aspects of the example embodiments. This overview is not an extensive overview of the example embodiments. It is intended to neither identify key or critical elements of the example embodiments nor delineate the scope of the appended claims. Its sole purpose is to present some concepts of the example embodiments in a simplified form as a prelude to the more detailed description that ispresented later.

[0005] In accordance with an example embodiment, there is disclosed herein, a user interface for a recipe building application. Upon detecting an input device such as a mouse or trackball hovering over a phase element, the user interface presents an icon that when selected allows a user to add a transition. In other embodiments, the user interface provides an edit transition icon in response to detecting an input device hovering over a phase element. In yet another embodiment, the user interface provides an icon that when selected enables a user to add a step to the recipe when selected upon detecting the input device hovering over a transition. Other embodiments include methods and computer readable media storing instructions that, when executed by one or more processors, cause the one or more processors to provide the user interfaces described herein.

[0006] In accordance with an example embodiment, there is disclosed herein a user interface for a recipe building application that is operable to allow a user to add a comment to a phase element. When the user saves the comment, the comment is linked to the phase element and an icon appears on the phase element to indicate there is a comment linked to the phase element and provides access to the comment.

[0007] In accordance with an example embodiment, there is disclosed herein a user interface for a recipe building application that includes a method for adding a deferment to a parameter. Upon receiving an input to defer a parameter, the user interface automatically presents visual representations of available levels. A level is selected and the user interface provides a prompt to confirm the selection. Upon confirmation, the parameter is deferred to the selected level and the user interface provides an indication that the parameter is deferred.

[0008] In accordance with an example embodiment, there is disclosed herein an apparatus, comprising: one or more processors coupled with a display and an input device; and one or more memories storing processor-executable instructions that, when executed by the one or more processors, cause the one or more processors to: cause the display to display a user interface containing a recipe element, wherein the recipe element corresponds to a step of a recipe for manufacturing a batch of a product,the step being defined at a first level of the recipe; receive, from the input device, an edit recipe parameters input; in response to receiving the edit recipe parameters input, cause one or more parameters for the recipe element to be displayed in the user interface; receive, from the input device, a predefined defer input for a selected parameter for the recipe element; automatically display visual representations of available levels of the recipe that have a matching data type for the selected parameter; receive a level selection input for the selected parameter; and cause the selected parameter to be deferred to a second level that corresponds to the level selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.

[0009] In accordance with an example embodiment, there is disclosed herein a computer-implemented method comprising: causing, by one or more processors, a display to display a user interface containing a recipe element, wherein the recipe element corresponds to a step of a recipe for manufacturing a batch of a product, the step being defined at a first level of the recipe; receiving, by the one or more processors, from an input device, an edit recipe parameters input; in response to receiving the edit recipe parameters input, causing, by the one or more processors, one or more parameters for the recipe element to be displayed in the user interface; receiving, by the one or more processors, from the input device, a predefined defer input for a selected parameter for the recipe element; automatically displaying, by the one or more processors, visual representations of available levels of the recipe that have a matching data type for the selected parameter; receiving, by the one or more processors, a level selection input for the selected parameter; and causing, by the one or more processors, the selected parameter to be deferred to a second level that corresponds to the level selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.

[0010] In accordance with an example embodiment, there is disclosed herein one or more non-transitory computer-readable storage media having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to: cause a display to display a user interface containing a recipe element, wherein the recipe element corresponds to a step of a recipe for manufacturing a batchof a product, the step being defined at a first level of the recipe; receive, from an input device, an edit recipe parameters input; in response to receiving the edit recipe parameters input, cause one or more parameters for the recipe element to be displayed in the user interface; receive, from the input device, a predefined defer input for a selected parameter for the recipe element; automatically display visual representations of available levels of the recipe that have a matching data type for the selected parameter; receive a level selection input for the selected parameter; and cause the selected parameter to be deferred to a second level that corresponds to the level selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings incorporated herein and forming a part of the specification illustrate the example embodiments.

[0012] FIG. 1 is a simplified block diagram of a system for providing a user interface upon which embodiments of this disclosure can be implemented.

[0013] FIG. 2 is a screen snapshot illustrating an example user interface for adding a transition or editing a step parameter to a recipe.

[0014] FIG. 3 is a screen snapshot for illustrating an example user interface for adding a step to a recipe.

[0015] FIG. 4 is a screen snapshot for illustrating an example user interface for adding a comment to a recipe.

[0016] FIG. 5 is a screen snapshot for illustrating an example user interface for reviewing a comment for a recipe.

[0017] FIG. 6 is a screen snapshot for illustrating an example user interface for reviewing a plurality of comments for a recipe.

[0018] FIG. 7 is a screen snapshot for illustrating an example user interface for adding a parameter to a recipe element.

[0019] FIG. 8 is a screen snapshot for illustrating an example user interface for confirming a deferment of a parameter associated with an added element.

[0020] FIG. 9 is a screen snapshot for illustrating an example user interface for reviewing a deferred parameter for a recipe element.

[0021] FIG. 10 is a screen snapshot for illustrating an example user interface for reviewing parameters for a recipe element.

[0022] FIG. 11 is a screen snapshot for illustrating an example user interface for selecting a deferment for a recipe element.

[0023] FIG. 12 is a screen snapshot for illustrating an example user interface for confirming a selected deferment for a recipe parameter.

[0024] FIG. 13 is a flowchart illustrating a method for adding a transition or editing step parameters of a recipe.

[0025] FIG. 14 is a flowchart illustrating a method for adding a step to a recipe.

[0026] FIG. 15 is a flowchart illustrating a method for adding and reviewing comments for a recipe.

[0027] FIG. 16A is a block diagram illustrating a method for adding a deferment to a recipe element.

[0028] FIG. 16B is a block diagram illustrating a method for adding a deferment to a recipe element.

[0029] FIG. 17 is a block diagram of a computer system upon which an example embodiment can be implemented.DESCRIPTION OF EXAMPLE EMBODIMENTS

[0030] This description provides examples not intended to limit the scope of the appended claims. The figures generally indicate the features of the examples, where it is understood and appreciated that like reference numerals are used to refer to like elements. Reference in the specification to "one embodiment" or "an embodiment" or“an example embodiment” or “an example” means that a particular feature, structure, or characteristic described is included in at least one embodiment or example described herein and does not imply that the feature, structure, or characteristic is present in all embodiments or examples described herein.

[0031] Disclosed herein are improvements to a user interface for building recipes for processing batches of a manufactured product. A recipe is a set of instructions that describes how to produce a batch of the manufactured product. A recipe may include a list of ingredients and detailed steps on how to combine and prepare the ingredients. Examples of manufactured products include coatings, chemical products, and so on. Example types of coatings include paints, stains, sealants, or other types of materials appliable to a surface of an object, e.g., to product the object, enhance the appearance of the product, or provide some other functional property.

[0032] A recipe may have multiple levels. Each of the levels refers to a different level of generality. For example, a recipe may have a procedure level, a unit procedure level, an operation level, and a phase level. A strategy for carrying out a process to make a batch of a manufactured product may be defined at the procedure level. A strategy comprises one or more unit procedures. A unit procedure is a contiguous process within a unit, such as a unit of a manufacturing facility. Thus, unit procedures may be defined at the unit procedure level. A unit procedure may comprise one or more operations. An operation may be a procedural element defining a discrete processing activity. Thus, an operation may be defined at the operation level. An operation may comprise one or more phases. A phase may comprise manufacturing actions and algorithms for controlling the manufacturing actions of specific equipment. Thus, a phase may be defined at the phase level. This disclosure may use the term “step” to refer to procedures, unit procedures, operations, phases, manufacturing actions, or other types of actions or groupings of actions.

[0033] Parameters may be defined at different levels of a recipe. Example parameters may include input types, heat levels, agitation levels, amounts of times for manufacturing actions, and so on. Each parameter may be associated with one or more properties. For example, the properties of a parameter may include a name of theparameter, a minimum value, a maximum value, a default value, a data type, and so on. In another example, a parameter may be associated with a single value. For each level, a parameter defined at the level may be applicable to the level and levels lower than the level. For example, a parameter defined at the procedure level (i.e. , a parameter associated with a procedure) is applicable to all unit procedures, operations, and phases. A parameter defined with respect to a particular unit procedure is applicable to the particular unit procedure and all operations and phases within the particular unit procedure. However, the parameter may not be applicable to other unit procedures of the same procedure.

[0034] In some examples, a computing system outputs a user interface for display. The user interface is configured to enable a user to generate a recipe. When the computing system determines that a user has positioned an input indicator (e.g., a mouse cursor, finger, etc.) so that the input indicator appears to hover over a phase element of the user interface, the user interface provides a mechanism for the user to either add or edit a transition. In this disclosure, a transition represents a change from one step to another step. In some examples, if the user hovers the input indicator over a transition element of the user interface, the user interface provides with a mechanism for adding a step to the recipe. In some examples, the interface allows a user to add comments that are linked to a phase element. A computing device may retrieve, in response to input from the user, the comment for a phase element, or a phase element linked to a comment. In some examples, the user interface enables the user to add an automated deferment to another level.

[0035] FIG. 1 is a simplified block diagram of a system 100 for implementing a user interface upon which embodiments of this disclosure can be implemented. The system 100 comprises a display 102, an input device 104, and display logic 106.

[0036] The display 102 can be any type of device that provides a visual representation of data. The visual representation of data can be graphical and / or textual. The display 102 can be a liquid crystal display (LCD), Light Emitting Diode Display (LED) or any other suitable type of device for providing graphical and / or textual output.

[0037] In some examples, the display logic 106 outputs a user interface for display on display 102. The user interface displayed by the display 102 may be divided into a plurality of panes. The panes can be employed to segregate different types of data. For example, the panes may include a recipe construction pane that can be employed to output a graphical representation of a recipe. In some examples, the panes may include a parameters pane that can be employed for displaying and / or editing parameters associated with a step or phase element. In some examples, the panes may include a navigation and settings bar that can be employed to navigate the recipe and to change an edit mode. In some examples, the panes may include a location pane that can be employed for providing a graphical representation of where in a recipe editing is occurring.

[0038] The input device 104 can be any type of device that receive inputs from a user. For example, the input device 104 can comprise an input device such as a mouse, trackball, or any other suitable type of cursor control and / or a textual input device such as a keyboard. In some examples, the input device 104 comprises a touch screen.

[0039] A computing system may be coupled with the display 102 and input device 104. An example computing system is described below with respect to FIG. 17. The computing system may include one or more computing devices. Example types of computing devices include personal computers, tablet computers, mobile computers, server computers, workstations, industrial computers, device control systems, and other type of devices. In some examples, one or more of the display 102 and the input device 104 are wirelessly coupled to the computing system. In some examples, one or more of the display 102 and the input device 104 are coupled to the computing system via one or more wired connections. In some examples, one or more of the display 102 and the input device 104 are remote from the computing system. In some examples, one or more of the display 102 and the input device 104 are contained within a housing of a computing device of the computing system 105.

[0040] The computing device implements display logic 106 for performing the functionality described herein. The computing device may implement display logic 106in hardware, firmware, software and / or combinations of each to perform a function(s) or an action(s), and / or to cause a function or action from another component. For example, based on a desired application or need, a software-controlled microprocessor, discrete logic such as an application-specific integrated circuit (ASIC), a programmable / programmed logic device, a memory device containing instructions, or the like, or combinational logic embodied in hardware may implement the display logic 106. The display logic 106 may also be fully implemented in software that is embodied on one or more tangible, non-transitory computer-readable media that performs the described functionality when executed by one or more processors of the computing system. In some examples, the processors of the computing system are distributed among two or more computing devices and may communicate with one another, e g., via a communication network such as the Internet, to perform the functions of the computing system.

[0041] The display logic 106 can provide data to a controller (not shown) or other logic associated with a recipe building application based on inputs received from the input device 104 and can output data provided by the recipe building application on the display 102. In some examples, the display logic 106 is implemented by one or more processors of the computing system 105 that are executing a recipe builder application.

[0042] The display logic 106 is operable to cause the computing system to output data, or visual representations of data on the display 102. The display logic 106 is further operable to receive inputs from the input device 104. The display logic 106 may also facilitate communication between the display 102 and input device 104. For example, the display logic 106 can cause an indication to appear on the display 102 that indicates where on the display 102 editing is occurring. For example, the display logic 106 can cause a cursor to appear on a screen of the display 102 to allow a user to navigate and select a symbol and / lor an area to enter textual data.

[0043] FIG. 2 is a screen snapshot of an example user interface 200. The user interface 200 includes features for adding or editing a transition to a recipe. Transitions may be defined at various levels of a recipe. For instance, a transition defined at the procedure level may represent a change from a first unit procedure to a second unitprocedure. A transition defined at the unit procedure level may represent a change from a first operation to a second operation. A transition at an operation level may represent a change from a first phase to a second phase. A transition at a phase level may represent a change from a first manufacturing action to a second manufacturing action. A piece of equipment may perform a specific action at a specific manufacturing action.

[0044] Transitions may be associated with conditions. For instance, a recipe may specify that a specific transition occurs if a specific condition is true or false. For instance, the recipe may specify a first transition representing a change from a first phase to a second phase if a temperature is greater than a specified amount, and may specify a second transition representing a change from the first phase to a third phase if the temperature is less than the specified amount.

[0045] In the example of FIG. 2, the display 102 outputs the user interface 200. In the example of FIG. 2, user interface 200 comprises a recipe construction pane 202, a vertical navigation and settings bar 204, and a location pane 206. The recipe construction pane 202 provides phase elements 205, 208, 214, 216 and transition elements 207, 210, 212 of a recipe. A phase element is a visual representation of a phase. A transition element is a visual representation of a transition. As those skilled in the art can readily appreciate, the number and arrangement of phase elements and transition elements illustrated in FIG. 2 were selected merely for ease of illustration. In the illustrated example, the vertical navigation and settings bar 204 illustrates what part of the recipe (e.g., phase element 208) is being edited. The location pane 206 provides a visual indication of the part of the recipe that is being displayed in the recipe construction pane 202 of user interface 200.

[0046] In some examples, the display logic 106 is operable to cause a phase element 208 (e.g., a visual representation of a phase) of a procedure to be output on the display 102. The display logic 106 is operable to receive data from the input device 104 indicating that the input indicator is hovering (e.g., a cursor controlled by the input device 104 remaining over an area bounded by the phase element for more than a predefined time period such as, for example, one-half or one second) over the phaseelement 208. The display logic 106 is operable to cause an add-transition icon 220 to appear on the display 102. In the illustrated example a plus sign “+” is displayed in a circular area but as those skilled in the art can readily appreciate any suitable icon can be employed. In a particular example, the add-transition icon 220 at least partially overlaps the phase element 208. Upon selecting of the add-transition icon 220 by the input device 104, the display logic 106 is operable to present a visual representative of a new transition (i.e. , a new transition element) to appear on display 102 and accept data representative of a new transition via input 104.

[0047] In some examples, the display logic 106 is operable to cause a visual representation of a phase (e.g., phase element 208) of a procedure (e.g., recipe) to be output on the display 102. The display logic 106 is operable to receive data from the input device 104 indicating that the input indicator is hovering over the phase element 208. The display logic 106 is operable to cause a visual representation of an edit step parameter icon 222 to appear on the display 102. In the illustrated example, the edit step parameter icon 222 depicts a pencil in a circular area but as those skilled in the art can readily appreciate any suitable icon can be employed. In some examples, the edit step parameter icon 222 at least partially overlaps the selected phase element 208. Upon selecting of the icon 222 by the input device 104, the display logic 106 is operable to present one or more step parameters on display 102 for editing and allow editing of the one or more step parameters via input device 104.

[0048] In some examples, the display logic 106 is operable to cause a phase element 208 of a procedure to be output on the display 102. The display logic 106 is operable to receive data from the input device 104 indicating that the input device is hovering over the phase element 208. The display logic 106 is operable to cause a visual representation of an add transition icon 220 and an edit step parameter icon 222 to appear on the display 102. In a particular example, the add transition icon 220 and the edit step parameter icon 222 at least partially overlap the selected phase element 208. The user can select, via the input device 104, either the add transition icon 220 or the edit step parameter icon 222 to edit a step parameter (i.e., to edit a parameter associated with the phase represented by phase element 208). Selecting the add transition icon 220 by the input device 104 may cause the display logic 106 to presenta new transition element (i.e. , a visual representation of a new transition) on display 102 and accept data for the new transition via input device 104. Selecting the edit step parameters icon 222 may cause the display logic 106 to present one or more step parameters associated with the phase represented by phase element 208 for editing. The display logic 106 may then accept edits via input device 104. Editing parameters may include changing one or more properties of parameters, adding new parameters, deleting parameters, and so on.

[0049] Although the example of FIG. 2 is described with respect to phases, the display logic 106 may present similar user interfaces for editing transitions between unit procedures or operations. Similarly, the display logic 106 may present similar user interfaces for editing parameters of unit procedures or operations.

[0050] FIG. 3 is a screen snapshot illustrating an example user interface 300 for adding a step to a recipe. Display logic 106 may cause display 102 to output the user interface 300. The user interface 300 comprises a recipe construction pane 202, a vertical navigation and settings bar 204, and a location pane 206. The recipe construction pane 202 provides graphical representations of phases (e.g., phase elements 205, 208, 214, 216) and graphical representations of transitions (e.g., transition elements 207, 210, 212) of a recipe. As those skilled in the art can readily appreciate, the number and arrangement of step elements and transition elements illustrated in FIG. 3 were selected merely for ease of illustration.

[0051] In some examples, the display logic 106 is operable to cause a visual representation of a transition (e.g., a transition element 210) of a procedure to be output on the display 102. The display logic 106 is operable to receive data from the input device 104 indicating that the input device 104 is hovering over the transition element 210. The display logic 106 is operable to cause an add step icon 302 to appear on the display 102. In the illustrated example, a plus “+” sign is displayed in a circular area, but as those skilled in the art can readily appreciate any suitable icon can be employed. In a particular example, the add step icon 302 at least partially overlaps the selected phase element 210. Upon selecting of the add step icon 302 by the input device 104, the display logic 106 is operable to present a visual representative of a new step (e.g.,a new phase element) of the recipe to appear on display 102 and accept data representative of the new step via an input device, such as input device 104 or another device (e.g., a keyboard, touchscreen, microphone, etc.).

[0052] FIG. 4 is a screen snapshot for illustrating an example user interface 400 for adding a comment to a recipe. The user interface 400 is output on display 102 and comprises a recipe construction pane 202, a vertical navigation and settings bar 204, and a location pane 206. The recipe construction pane 202 provides of phase elements 205, 208, 214, 216 and transition elements 207, 210, of a recipe. As those skilled in the art can readily appreciate, the number and arrangement of step elements and transition elements illustrated in FIG. 4 were selected merely for ease of illustration.

[0053] In some examples, the display logic 106 is operable to receive a predefined input from the input device 104 requesting to add a comment to a step element. For example, if the input device 104 is a pointing device such as a mouse, a user can select the step element to add a comment (e.g., phase element 208 in the example of FIG. 4) by performing a predefined action, such as for example a right click of a mouse. The display logic 106 is operable to cause a comment box 402 to be displayed on the display 102 and obtain a comment to be added into the comment box 402 via the input device 404. After the comments has been entered, the user selects the Save button 404 to save the comment, and the comment is stored with a link to the step element and a visual representation of a comment icon 502 appears on the step element (e.g., phase element 208), as illustrated in FIG. 5. In other words, a comment icon may appear in a step element if there is a comment associated with the step element.

[0054] FIG. 5 is a screen snapshot 500 for illustrating an example user interface for reviewing a comment for a recipe. The display logic 106 may receive data from the input (pointing) device 104 indicating that the visual representation of the comment icon 502 for a step element (e.g., phase element 208) has been selected. The display logic 106 causes a comment linked to the step element (e.g., phase element 208) to be displayed in a comment pane 504, and the procedure to be displayed in a recipe construction pane responsive to receiving data from the input (pointing) device 104 indicating the visual representation of the comment icon 502 for the step element (e.g.,phase element 208) has been selected

[0055] FIG. 6 is a screen snapshot 600 for illustrating an example user interface for reviewing a plurality of comments 630, 632 for a recipe. In the example of FIG. 6, the screen snapshot 600 comprises a recipe construction pane 202 and a comments pane 504. The construction recipe pane 202 displays at least a portion of a recipe, which in the illustrated example comprises visual representations of phases (e.g., phase elements 602, 606, 610) and transitions (e.g., transition elements 604, 608). The phase element 606 comprises a comment icon 620 and the phase element 610 comprises a comment icon 622. In this example, comment 630 is linked to phase element 606 and comment 632 is linked to phase element 622.

[0056] In some examples, the display logic 106 receives data from the input (pointing) device 104 indicating the comment icon 620 for the phase element 606 has been selected. The display logic 106 is responsive to the input to cause a plurality of comments 630, 632 to be displayed in a comment pane 504 that includes the comment 630 linked to the phase element 620. Thus, the display logic 106 may display the comment linked to a step element if the input device 104 indicates a comment icon of the step element.

[0057] In some examples, the display logic 106 is operable to receive data from the input (pointing) device 104 indicating a comment was selected from the plurality of comments 630, 632. The display logic 106 is operable to display a phase element (e.g., phase element 622), or other type of step element, that is linked to the selected comment (e.g., 632) in the recipe construction window 202.

[0058] As those skilled in the art can readily appreciate, because the comment is linked to the phase element, if the phase element is moved, the comment will remain associated with the phase element. Likewise, since a comment may be linked to a step element, if the step element is moved, the comment will remain associated with the step element. This prevents losing track of the comment.

[0059] FIG. 7 is a screen snapshot for illustrating an example user interface 700 for adding a parameter to a recipe element. As discussed above, a recipe may have various levels, such as a procedure level, a unit procedure level, an operation level,and a phase level. Parameters may be defined at different levels. Parameters at higher levels have priority over parameters at lower levels. In other words, a parameter defined at a higher level is applicable to levels below that level. In the illustrated example, an operation parameter has a parameter name 706 and a type 704. Thus, in the example of FIG. 7, “ITEM1_SP” is a parameter defined at the operation level. A button 702 is provided for a user to add a parameter.

[0060] In some examples, upon receiving an indication of button 702 being selected by the input device (e.g. , a pointing device such as a mouse) 104, the display logic 106 may provide a prompt on the display 102 for entering information associated with the parameter being added. The user will be prompted to input, inter alia, a name for the parameter, a type for the parameter, and an origin of the parameter.

[0061] FIG. 8 is a screen snapshot for illustrating an example user interface 800 for confirming a deferment for a parameter associated with an added element. There may be multiple recipes with the same steps and algorithms, but with different properties of parameters. For example, a first recipe may define instructions for making a batch of a first shade of blue paint. A second recipe may define instructions for making a batch of a second shade of blue paint. The first recipe may be the same as the second recipe, except that a property of a specific parameter may indicate a higher level of a specific pigment in the first recipe than in the second recipe. In this example, adding the amount of the pigment may be a manufacturing action associated with a phase present in both the first and second recipes.

[0062] In some examples, one or more properties of a parameter may be explicitly specified when a recipe is defined. In some examples, one or more properties of a parameter may be specified as a parameter equation. In some examples, one or more properties of a parameter may be specified by a user prior to running a batch. In some examples, determination of a property of a parameter may be deferred. That is, a property of a parameter defined at a first level may be specified by a property of a parameter defined at a second level higher than the first level. For example, a first parameter may be defined at the operation level. If the first parameter is deferred, a property of the first parameter may be defined by a property of a second parameterdefined at the unit procedure level. Since the property of the second parameter may be specified by a user prior to running a batch, the user may merely have to enter a value of the second parameter in order to change the property of the first parameter. Thus, in the example provided above with respect to the shades of blue paint, the user may specify different values of a property defined at the unit procedure level to produce batches of the different shades of the blue paint, all without changing properties of parameters at the phase level.

[0063] Deferring the determination of a property of a parameter may conserve storage space and simplify organization. For instance, if two or more recipes involve the same step (i.e. , a procedure, unit procedure, operation, or phase), the recipes may refer to a single copy of information defining the step. For example, two or more recipes may include a phase having a set of manufacturing actions associated with a set of parameters. If the properties of the parameters are different, the two recipes may need to refer to different sets of data defining the phase. However, if the properties of the parameters are the same, the two recipes may refer to the same set of data defining the phase. Deferring the determination of a property of a parameter may allow the two recipes to refer to the same set of data defining the phase. Thus, by deferring the determination of the properties of the parameter, it may only be necessary for display logic 106 to store by a single copy of the information defining the procedure level for both of the two recipes. Deferring the determination of properties of parameters to even higher levels may result in the display logic 106 needing to store even less data to store the recipes. In some examples, individual files may store information for individual levels. For instance, a first file may store information for a procedure level, a second file may store information for a first unit, a third file may store information for a second unit procedure, a fourth file may store information for an operation, and so on. In some examples, information associated with different levels may be stored in different database tables. For instance, one table may store information for procedures, another table may store information associated with unit procedures, a third table may store information associated with operations, and so on. In some examples, the display logic 106 may store the information regarding individual steps as JSON data. The display logic 106 may use the stored information regarding the steps to generate userinterfaces showing step elements and transition elements.

[0064] In the example of FIG. 8, a parameter name element 706 indicates a name of a parameter is “example4.” A type element 704 of the parameter indicates “Real,” meaning a value of the parameter is a Real number. An origin element 804 indicates a type of origin of properties of the parameter. In the example of FIG. 8, the origin element 804 indicates that the type origin of properties of the parameter is “defer.” When “defer” is the type of origin of a parameter, determination of a property of the parameter is deferred. Accordingly, when “defer” is the type of origin of a parameter, the display logic 106 may automatically determine available upper-level parameters having a matching name with the same type as the parameter. For instance, in the example of FIG. 8, the display logic 106 may determine whether there is an upper-level parameter that has the name “example4” and a data type of “Real.” At batch creation time, if such an upper-level parameter is identified, a property of the parameter is determined based on a property of the upper-level parameter. An example of this will be further illustrated in FIG. 10 described herein infra.

[0065] In FIG. 8, the visual representations of the levels displayed are an Operational (“OP”) icon 810, a Unit Procedure (“UP”) icon 812, and a Procedure (“PR”) icon 814. For example, since the parameter being added is at the operational level and determination of the property of the parameter is deferred, a visual representation for OP icon 810 is faded, however, those skilled in the art can readily appreciate that any suitable scheme, such as different colors, can be employed to distinguish the current level from upper levels. Although OP icon 810, UP icon 812, and PR icon 814 are described herein as icons, in other examples, they may be other types of visual indicators.

[0066] Upon selecting an upper level for deferment via the input device 104 (e.g., receiving an indication of user input to select the upper level for deferment), the display logic 106 may cause a confirmation box 820 to be output on the display 102. In the example of FIG. 8, the user is asked to confirm deferment to the Unit Procedure level. For ease of explanation, this disclosure may describe a parameter has been deferred or deferring a parameter to refer to deferring determination of a property of theparameter.

[0067] FIG. 9 is a screen snapshot for illustrating an example user interface 900 for reviewing a deferred parameter for a recipe element. With continued reference to the example in FIG. 8, in the navigation bar 204 (FIG. 9), the deferment of a parameter named “example4” (indicated by 902) is illustrated as deferring from a parameter named “Parameter 1662742091398” (indicated by 904). In other words, a property of the parameter named “example4” is determined from a property of the parameter indicated by 902. In the customer recipe screen 202, a visual representation (deferment icon 912) is associated with a recipe element 910. Thus, recipe element 910 is displayed with a visual element (deferment icon 912) indicating that the recipe element has a deferred parameter. In the example of FIG. 9, recipe element 910 represents an operation. However, those skilled in the art can readily appreciate, recipe element 910 can be from any level below the procedure level, e.g., a Unit Procedure, Operation, or Phase. In other words, recipe element 910 may represent a step at a unit procedure level, an operation level, or a phase level.

[0068] FIG. 10 is a screen snapshot for illustrating an example user interface 1000 for reviewing parameters for a recipe element. In this example, a parameter pane 1002 for displaying the properties of the parameters is disposed between recipe construction pane 202 and the vertical navigation bar 204. The user can employ input device 104 to edit a parameter, such as to select the origin column 1010 for a parameter to change the origin for the parameter. The origin column 1010 may include drop-boxes containing options for selecting origins for parameters.

[0069] In some examples, the display logic 106 is operable to receive a predefined defer input for a selected parameter for the recipe element from the input device 104. For example, the user can select an origin for a parameter and is presented with a dropdown menu on display 102 and can employ the input device 104 to change the origin from value to defer or vice versa.

[0070] In the example of FIG. 10, the parameters named CreateJD 1004, BatchJD 1006, and Amount 1010 is deferred. The display logic 106 may be operable to automatically display a visual representation of available levels that have a matchingdata type for the selected parameter. In the example of FIG. 10, the display logic 106 automatically determines what levels are available for deferment. For this example, CreateJD 1004 and BatchJD 1006 do not have a matching upper level value thus there are no deferment icons displayed and the value is listed as ‘No Value.’ However, the Amount 1008 parameter does, and therefore, the visual representations for OP 810 (which is the current level and is faded in this example), UP 812, and PR 814 are displayed, and the value lists the current deferment “ITEM1_SP.”

[0071] FIG. 11 is a screen snapshot for illustrating an example user interface 1100 for selecting a deferment for a recipe parameter. In this example, a deferment for the parameter “Formula” 1101 for the operation INT_OP:1 1102 is being deferred. Visual representations for OP (faded because this is the current level and unselectable), UP icon 812, and PR icon 814. The user selects with the input device 104 the visual representation of the desired level. In the construction recipe panel 202, a recipe element 1102 is displayed with a visual representation (e.g., icon) indicating that the recipe element 1102 is deferred.

[0072] FIG. 12 is a screen snapshot for illustrating an example user interface 1200 for confirming a selected deferment for a recipe element. In the illustrated example, the UP icon 814 has been selected for the recipe element Formula 1201 for the Operation Recipe_lnit_CS:1 1202. A visual representation of Operation Recipe_lnit_CS:1 1202 is displayed in the recipe construction pane 1202.

[0073] The display logic 106 is operable to receive a level selection input for the selected parameter (UP icon 812 in this example) to cause a confirmation prompt 1204 to appear on the display 102. The display logic 106 is operable to receive an input from the input device 104 via confirmation prompt confirming a deferment for the selected parameter to cause the parameter to defer to a level corresponding to the level selection input (UP in this example). Upon confirmation of the deferment, the display logic 106 is operable to cause the parameter to be deferred to a level that corresponds to the level selection input and display a visual representation (see e.g., 1104 in FIG. 11 ) of the deferment.

[0074] In view of the foregoing structural and functional features described above, amethod 1300, in accordance with an example embodiment will be better appreciated with reference to FIG. 13. While, for purposes of simplicity of explanation, the methodology of FIG. 13 is shown and described as executing serially, it is to be understood and appreciated that the example embodiment is not limited by the illustrated order, as some aspects could occur in different orders and / or concurrently with other aspects from that shown and described herein. Moreover, not all illustrated features may be required to implement a methodology in accordance with an aspect of this disclosure. The methodology described herein is suitably adapted to be implemented in logic, such as hardware, software stored on a computer readable medium when executed by a processor, or a combination thereof.

[0075] FIG. 13 is a flowchart illustrating a method 1300 for adding a transition or editing step parameters of a recipe. In some examples, the method 1300 is implemented on the system 100 described in FIG. 1. At 1302, phases and transitions (i.e., phase elements and transition elements) of at least a portion of a recipe is displayed. In some examples, the phase elements and transition elements are displayed on display 106 in the recipe construction pane 202 (FIG. 2). Any physically realizable number and arrangement of phase elements and transitions can be displayed.

[0076] At 1304, an input device (e.g., input device 104 in FIG. 1 ) is detected hovering over a phase (e.g., an input device such as a pointing device, for example a mouse, is detected to have remained within the area bounded by a phase element for the phase for a predefined time period, such as one-half or one second, or any desired time limit). In some examples, the predefined time period for determining that an input device is hovering over a phase element is configurable.

[0077] At 1306, in response to detecting the input device hovering over the phase element, an edit step parameter icon is displayed (e.g., on display 102 in FIG. 1 ). The edit step parameter icon can be any desired icon. In the example of FIG. 2, the edit step icon comprises a pencil bounded within a circle that partially overlaps the phase where the input device was detected hovering over the phase element.

[0078] At 1308, in response to detecting the input device hovering over the phase,an add transition icon is displayed (e.g., on display 102 in FIG. 1 ). The edit add transition icon can be any desired icon. In the example illustrated in FIG. 2, the add transition icon 220 comprises a plus “+” sign bounded within a circle that partially overlaps the phase where the input device was detected hovering over the phase element.

[0079] At 1310, the method 1300 waits until a selection of either the Add Transition Icon, Edit Step parameters Icon is selected, or another action is taken. For example, the Add Transition icon can be selected by a pointing device, such as by right clicking a mouse, although other predefined actions can be taken if desired. Similarly, the Edit Step Parameters icon can be selected by a pointing device, such as by right clicking a mouse, although other predefined actions can be taken if desired.

[0080] If, at 1310, the add transition icon was selected (ADD TRANSITION), at 1312, an interface is presented to the user for the transition. The user is prompted for the transition parameters (e.g., temperature at or above one-hundred degrees Celsius, or solution is fifty percent X). In some examples, the interface presented to the user depends on the parameters (e.g., type) of the selected phase element (e.g., heat, mix, etc.).

[0081] At 1314, the transition is added. For example, the transition may be added to the phase element that the input device was detected hovering over; however, in at least one other example, the user can drag the transition to another desired phase element. After the transition has been added, add transition and edit step parameters icons are no longer displayed and the method returns to 1302 and displays phase elements and transitions for a recipe and at 1304 waits for an input device to hover over a phase element.

[0082] If, at 1320, the edit step parameters icon was selected (EDIT STEP PARAMETERS), at 1320, an interface is presented to the user for the edit the step parameters of the selected phase element. In some examples, the interface presented to the user depends on the parameters (e.g., type) of the selected phase element (e.g., heat, mix, etc.).

[0083] At 1322, the step parameters are edited. After the step parameters have beenedited, add transition and edit step parameters icons are no longer displayed and the method returns to 1302 and displays phase elements and transitions for a recipe and at 1304 waits for an input device to hover over a phase element.

[0084] If, at 1310 some other action was detected (OTHER), the icons are removed from the display and processing returns to 1302 as indicated by 1330. For example, if the user selects or adds another phase or transition. Alternatively, if the user does not select either icon within a predefined time period, after the expiration of the predefined time periods the add transition and edit step parameters icons are no longer displayed and processing returns to 1302.

[0085] FIG. 14 is a flowchart illustrating a method 1400 for adding a step to a recipe. In some examples, the method 1400 is implemented on the system 100 described in FIG. 1.

[0086] At 1402, phase and transition (e.g., phase elements and transition elements) of at least a portion of a recipe is displayed. For example, the phases and transitions are displayed on display 106 in the recipe construction pane 202 (FIG. 3). Any physically realizable number and arrangement of phase and transition elements can be displayed.

[0087] At 1404, an input device (e.g., input device 104 in FIG. 1 ) is detected hovering over a step (e.g., an input device such as a pointing device, for example a mouse, is detected to have remained within the area bounded by the step for a predefined time period, such as one-half or one second, or any desired time limit). For example, the predefined time period for determining that an input device is hovering over a phase may be configurable.

[0088] At 1406, in response to detecting the input device hovering over the transition, an add step icon is displayed (e.g., on display 102 in FIG. 1 ). The edit add step icon can be any desired icon. In the example illustrated in FIG. 3, the add step icon 302 comprises a plus “+” sign bounded within a circle that partially overlaps the transition where the input device was detected hovering over.

[0089] At 1408, the method 1400 waits until either the Add Step Icon is selected, oranother action is taken. For example, the Add Step icon can be selected by a pointing device, such as by right clicking a mouse, although other predefined actions can be taken if desired.

[0090] If, at 1410, the add step icon was selected (YES), at 1412, an interface is presented to the user for the step. The interface presented to the user may depend on the parameters (e.g., type) of the selected transition.

[0091] At 1412, the step is added. For example, the step may be added to the transition that the input device was detected hovering over; however, in at least one other example, the user can drag the step to another desired transition. After the step has been added, add step and edit step parameters icons are no longer displayed and the method returns to 1402 and displays phase elements and steps for at least a portion of a recipe and at 1404 waits for an input device to hover over a phase element.

[0092] If, at 1410 some other action was detected (NO), the icon is removed from the display and processing returns to 1402 as indicated by 1416. For example, if the user selects or adds another phase or step. Alternatively, if the user does not select the icon within a predefined time period, after the expiration of the predefined time periods the add step icon is no longer displayed and processing returns to 1402.

[0093] FIG. 15 is a flowchart illustrating a method 1500 for adding and reviewing comments for a recipe. In some examples, the method 1500 is implemented on the system 100 described in FIG. 1.

[0094] At 1502, predefined input is received for adding a comment to a phase. For example, the predefined input may be a right mouse click although in other examples any suitable type of input can be employed. The user is then presented with a prompt for adding the comment and the user inputs the comment.

[0095] At 1504, the comment is saved. In addition to saving the comment, a link to the phase is created. Thus, if the phase element is moved, the comment remains with the phase, preventing the comment from becoming lost. In addition, a visual representation of a comment icon is displayed on a phase element representing the phase where the comment was initiated.

[0096] At 1506, after the comment has been, the comment is selected. For example, appointing device, such as a mouse, can select the comment icon displayed on the phase element.

[0097] At 1508, in response to the comment icon being selected at 1506, the comment linked to the phase element where the comment icon was selected is displayed. For example, the comment is displayed in a comment pane.

[0098] Alternatively, in some examples, the user can select the comment and be presented with the phase element that is linked with the comment. At 1510, the user employs a pointing device to select a comment in a comment pane.

[0099] At 1512, in response to the user selecting a comment at 1510, a phase element representing the phase linked to the comment is displayed in a recipe construction window. In particular examples that employ a location pane, the location within the recipe is also updated.

[0100] FIG. 16A is a block diagram illustrating a method 1500 for adding a deferment to a recipe element. The method 1500 can be implemented by display logic 106 which receives inputs via input device 104 and provides outputs (or visual representations of data) on display 102. Recipe elements are displayed in the recipe construction pane and parameters are displayed in a parameter pane. The recipe elements may be unit procedure elements, operation elements, or phase elements.

[0101] At 1602, an input is received to add or edit a parameter for a recipe element. For a new parameter, an add parameter button is selected. For existing parameters, the parameter can be edited in the parameters pane. For example, selecting Edit Parameters in the vertical navigation bar opens the parameter pane. In other words, the display logic 106 may receive, from the input device 104, an edit recipe parameters input.

[0102] At 1604, a predefined defer input is received for the parameter being added or edited. For example, the predefined input is selecting ‘Defer’ as the Origin of the parameter.

[0103] At 1606, the available levels are automatically determined. The availablelevels are upper levels that have matching types for the parameter. For example, for the operational level, the Unit Procedure, and Procedure levels are available.

[0104] At 1608, a visual representation of available levels that have a matching data type for the selected parameter are automatically display. In an example, the current level is displayed differently than the available levels (e.g., faded, different color, etc.). In an example, the levels are displayed so that they are associated with the name of the parameter being deferred.

[0105] At 1610, the level for deferment is obtained. In an example, the user employs a pointing device such as a mouse to select the level from the levels that are displayed on the screen. In an example, a confirmation prompt is presented to the user to confirm the selection.

[0106] At 1612, the deferment is created in response to obtaining the deferment in 1610. The deferment is to the selected level. At this point, the value of the parameter is deferred to the value of the selected level.

[0107] At 1614, a visual representation of the deferment is provided on the user interface. In an example, the deferment is displayed adjacent to the parameter name in the parameter pane. In another example, an icon is displayed on the visual representation of the recipe element in the recipe construction pane. In yet another example, a visual representation of the deferment is displayed in the vertical navigation bar.

[0108] FIG. 16B is a block diagram illustrating a method 1650 for adding a deferment to a recipe element. In the example of FIG. 16B, at step 1652, the display logic 106 may cause the display 102 to display a user interface (e.g., user interface 200, 300, 400, 500, 600, 700, etc.) containing one or more recipe elements (e.g., phase elements 205, 208, 210, 212, 214, 216). The recipe element is a visual representation of a step of a recipe for manufacturing a batch of a product. For example, the recipe element may be a visual representation of a unit procedure, an operation, or a phase of the recipe. The step may be defined at a first level of the recipe. For instance, the step may be defined at the unit procedure level, the operation level, or the phase level of the recipe.

[0109] Additionally, at step 1654, the display logic 106 may receive, from the input device 104, an edit recipe parameters input. At step 1656, in response to receiving the edit recipe parameters input, the display logic 106 may cause one or more parameters for the recipe element to be displayed in the user interface, e.g., as shown in FIG. 9.

[0110] At step 1658, the display logic 106 may receive, from the input device 104, a predefined defer input for a selected parameter for the recipe element. For instance, in the example of FIG. 8, the user interface includes a drop box (e.g., origin 804) that includes a plurality of options for selecting an origin for the selected parameter. The predefined defer input may comprise selecting an option of the plurality of options for deferring the selected parameter.

[0111] Additionally, at step 1660, the display logic 106 automatically display visual representations of available levels of the recipe that have a matching data type for the selected parameter, e.g., as shown in FIG. 10, FIG. 11 , and FIG. 12. For instance, the visual representations of the available levels may comprise a plurality of icons (e.g., icons 812, 814, etc.). The plurality of icons may include a current-level icon (e.g., icon 810) of the plurality of icons that represents the first level and at least one other icon of the plurality of icons that represents an available level for deferment of the selected parameter. As shown in FIG. 8, the display logic 106 may cause the current-level icon to be faded in comparison with the at least one other icon that represents the available level for deferment of the selected parameter.

[0112] In some examples, the display logic 106 identifies parameters of steps defined at the second level that have the matching data type and a name that matches a name of the selected parameter. The display logic 106 may display a visual representation (e.g., icon) of a second level based on the second level including a parameter defined at the second level that has the matching data type and the name that matches the name of the selected parameter.

[0113] At step 1662, the display logic 106 may receive a level selection input for the selected parameter. For example, the display logic 106 may receive a selection of one of icons 810, 812, or 814 in FIG. 8, FIG. 10, and FIG. 11. The level selection input comprises selecting the at least one other icon from among the plurality of icons.

[0114] In some examples, the display logic 106 may cause a confirmation prompt (e.g., confirmation box 820) to appear on the display 102 in response to receiving the level selection input. In such examples, the display logic 106 may receive, from the input device 104, an input via the confirmation prompt confirming deferment for the selected parameter to cause the selected parameter to defer to the level corresponding to the level selection input.

[0115] At step 1664, the display logic 106 may cause the selected parameter to be deferred to a second level that corresponds to the level selection input. For example, based on the selected parameter being deferred to the second level, the display logic 106 or another system may determine a property of the selected parameter based on a property of a parameter defined at the second level. For example, if the recipe element is a phase element and the second level is the operation level, the display logic 106 may determine a property of the selected parameter of the phase element based a parameter of the operation level. In some examples, the display logic 106 or other system may determine the property of the selected parameter at batch-execution time. In other examples, the display logic 106 or other system may determine the property of the selected parameter at other times.

[0116] At step 1666, the display logic 106 may cause the user interface to display the recipe element with a visual element indicating that the recipe element has a deferred parameter, e.g., as shown in FIG. 9. In some examples, step 1666 is omitted.

[0117] Deferring a parameter using the techniques of this disclosure may improve the efficiency of use of the user interface. Previous techniques did not allow deferment or required many editing of low-level data to defer a parameter, which required specialized technical skills. Furthermore, there was previously no convenient way to determine whether there was a higher-level parameter to which the parameter could defer. This made deferring a parameter time consuming and unwieldly. Furthermore, it resulted in users not deferring parameters, which led to unnecessary consumption of storage resource. For example, the display logic 106 may generate data representing the first level. For instance, the display logic 106 may generate a file or database entry representing the first level. In some examples, deferring the selected parameter mayallow the display logic 106 to reuse the data representing the first level as part of a second recipe for manufacturing a batch of a second product. This may conserve storage space in one or more memories of system 100.

[0118] After a recipe is completed, the display logic 106 may instruct equipment to manufacture the batch of the product according to the recipe. For example, the display logic 106 may generate, based on the recipe, machine instructions for controlling individual pieces of equipment so that the equipment manufactures the batch of the product.

[0119] FIG. 17 is a block diagram that illustrates a computer system 1700 upon which an example embodiment may be implemented. Computer system 1700 is suitable for implementing the system 100 in FIG. 1 and can implement the functionality described herein for FIGS. 2-12 and / or implement the methods 1300 (FIG. 13), 1400 (FIG. 14), 1500 (FIG. 15), 1600 (FIG. 16A), 1650 (FIG. 16B) described herein. The processor 1704 is suitable for implementing the functionality of display logic 106 described herein.

[0120] Computer system 1700 includes a bus 1702 or other communication mechanism for communicating information and a processor 1704 coupled with bus 1702 for processing information. Computer system 1700 also includes a main memory 1706, such as random access memory (RAM) or other dynamic storage device coupled to bus 1702 for storing information and instructions to be executed by processor 1704. Main memory 1706 also may be used for storing a temporary variable or other intermediate information during execution of instructions to be executed by processor 1704. Computer system 1700 further includes a read only memory (ROM) 1708 or other static storage device coupled to bus 1702 for storing static information and instructions for processor 1704. A storage device 1710, such as a magnetic disk or optical disk, is provided and coupled to bus 1702 for storing information and instructions.

[0121] Computer system 1700 may be coupled via bus 1702 to a display 1712 such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. An input device 1714, such as a keyboard including alphanumericand other keys is coupled to bus 1702 for communicating information and command selections to processor 1704. Another type of user input device is cursor control 1716, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 1704 and for controlling cursor movement on display 1712. This input device typically has two degrees of freedom in two axes, a first axis (e.g. x) and a second axis (e.g. y) that allows the device to specify positions in a plane. In an example embodiment, the input device 1714 is a touch screen.

[0122] An aspect of an example embodiment is related to the use of computer system 1700 for a user interface for a recipe builder. According to one embodiment, a user interface for a recipe builder is provided by computer system 1700 in response to processor 1704 executing one or more sequences of one or more instructions contained in main memory 1706. Such instructions may be read into main memory 1706 from another computer-readable medium, such as storage device 1710. Execution of the sequence of instructions contained in main memory 1706 causes processor 1704 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 1706. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement an example embodiment. Thus, embodiments described herein are not limited to any specific combination of hardware circuitry and software.

[0123] The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 704 for execution. Such a medium may take many forms, including but not limited to non-volatile, non-transitory media. Non-volatile media include for example optical or magnetic disks, such as storage device 710. Common forms of computer-readable media include for example RAM, PROM, EPROM, FLASHPROM, CD, DVD, SSD or any other memory chip or cartridge, or other medium from which a computer can read.

[0124] Computer system 1700 also includes a communication interface 1718coupled to bus 1702. Communication interface 1718 provides a two-way data communication coupling to a network link 1720 that is connected to a local network 1722. For example, communication interface 1718 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 1718 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 1718 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.

[0125] Network link 1720 typically provides data communication through one or more networks to other data devices. For example, network link 1720 may provide a connection through local network 1722 to a host computer 1724 or to data equipment operated by an Internet Service Provider (ISP) 1726. ISP 1726 in turn provides data communications through the worldwide packet data communication network, now commonly referred to as the "Internet" 1728. Local networks 1722 and Internet 1728 both use electrical, electromagnetic, or optical signals that carry the digital data to and from computer system 1700, are exemplary forms of carrier waves transporting the information.

[0126] The following is a non-limiting list of clauses in accordance with one or more techniques of this disclosure.

[0127] Clause 1A. An apparatus, comprising: a display; an input device, the input device comprises a pointing device; display logic coupled with the display and the input device; the display logic is operable to cause a visual representation of a phase of a procedure to be output on the display; the display logic is operable to receive data from the input device; the display logic is operable to determine from data received from the input device that the input device is hovering over the phase; the display logic is operable to cause a visual representation of an add transition icon to appear on the display; and the display logic is operable to accept data representative of a new transition responsive to receiving data from the input device indicating selection of theadd transition icon by the input device.

[0128] Clause 2A. The apparatus set forth in clause 1A, further comprising: the display logic is operable to determining the input device is hovering over the phase to cause a visual representation of an edit step parameters icon to appear on the display; the display logic is operable to allow a step parameter associated with the phase to be edited responsive to receiving data from the input device indicating selection of the edit step parameters icon by the input device.

[0129] Clause 3A. The apparatus set forth in clause 2A, further comprising: the display logic is operable to determine from data received from the input device that the input device is hovering over a transition; the display logic is operable to cause a visual representation of an add step icon to appear on the display; and the display logic is operable to accept data representative of a new step responsive to receiving data from the input device indicating selection of the add step icon by the input device.

[0130] Clause 4A. The apparatus set forth in clause 3A, wherein the visual representation of the add transition icon at least partially overlaps the visual representation of the phase.

[0131] Clause 5A. The apparatus set forth in clause 3A, wherein the visual representation of the edit step parameter icon at least partially overlaps the visual representation of the phase.

[0132] Clause 6A. The apparatus set forth in clause 3A, wherein the add transition icon comprises a plus sign.

[0133] Clause 7A. The apparatus set forth in clause 3A, wherein the edit step parameter comprises a pencil.

[0134] Clause 8A. The apparatus set forth in clause 3A, wherein the add step icon comprises a plus sign.

[0135] Clause 9A. The apparatus set forth in clause 1 A, wherein the pointing device is a mouse.

[0136] Clause 10A. The apparatus set forth in clause 1A, wherein the display comprises a recipe construction pane and a location pane, wherein the location panedisplays a visual representation of a location in the procedure that is being displayed in the recipe construction pane.

[0137] Clause 11 A. An apparatus, comprising: a display; an input device, the input device comprises a pointing device; display logic coupled with the display and the input device; the display logic is operable to cause a visual representation of a phase of a procedure to be output on the display; the display logic is operable to receive data from the input device; the display logic is operable to receive a predefined input a request to add a comment to the phase from the pointing device; the display logic is operable to cause a comment box to be displayed on the display and obtain a comment to be added into the comment box via the input device; and the comment is stored with a link to a phase and a visual representation of a comment icon appears on the phase.

[0138] Clause 12A. The apparatus set forth in clause 11 A, further comprising: the display logic receiving data from the pointing device indicating that the visual representation of the comment icon for the phase has been selected; and the display logic is operable to cause a comment linked to the phase to be displayed in a comment pane.

[0139] Clause 13A. The apparatus set forth in clause 11 A, further comprising: the display logic is operable to receive data from the pointing device indicating the visual representation of the comment icon for the phase has been selected; and the display logic causes a plurality of comments to be displayed in the comment pane, the plurality of comments includes the comment linked to the phase responsive to receiving the data from the pointing device indicating the visual representation of the comment icon for the phase has been selected.

[0140] Clause 14A. The apparatus set forth in clause 13A, further comprising: the display logic is operable to receive data from the pointing device indicating a selected comment was selected from the plurality of comments; and the display logic is operable to display a selected phase that is linked to the selected comment in the recipe window.

[0141] Clause 15A. The apparatus set forth in clause 13A, wherein the display further comprises a location pane, wherein the location pane displays a visual representation of a location in the procedure that is being displayed in the recipeconstruction pane

[0142] Clause 16A. An apparatus, comprising: a display, the display is operable to display a vertical navigation bar, a parameter pane and a recipe construction pane; an input device, the input device comprises a pointing device; display logic coupled with the display and the input device; the display logic is operable to receive data from the input device; the display logic is operable to cause a visual representation of a recipe element to be output in the recipe construction pane; the display logic is operable to receive an edit recipe parameters input from the pointing device; the display logic is operable to cause parameters for the recipe element to be displayed in the parameter pane in response to receiving the edit parameters input; the display logic is operable to receive a predefined defer input for a selected parameter for the recipe element from the input device; the display logic is operable to automatically display a visual representation of available levels that have a matching data type for the selected parameter; the display logic is operable to receiving a level selection input for the selected parameter to cause a confirmation prompt to appear on the display; the display logic is operable to receive an input from the input device via the confirmation prompt confirming a deferment for the selected parameter to cause the parameter to defer to a level corresponding to the level selection input; and the display logic upon confirmation of the deferment is operable to cause the parameter to be deferred to a level that corresponds to the level selection input and display a visual representation of the deferment.

[0143] Clause 17A. The apparatus set forth in clause 16A, wherein the predefined defer input comprises selecting predefined as an origin for the parameter.

[0144] Clause 18A. The apparatus set forth in clause 16A, further comprising: the visual representation of available levels comprises a plurality of chip icons, where one of the plurality of chip icons represents a current level and at least one of the other plurality of chip icons that represent available levels for deferment of the selected parameter; the display logic is operable to cause the chip icon at the current level to be faded in comparison with the at least one of the other plurality of chip icons that represent available levels for deferment of the selected parameter while waiting for alevel selection input; the level selection input comprises selecting a chip icon from the at least one of the other plurality of chip icons for a selected level; the display logic is operable to cause a value for the selected parameter to defer to the level of the selected level; and the display logic is operable to provide a visual representative of the deferment.

[0145] Clause 19A. The apparatus set forth in clause 16A, wherein the display further comprises a location pane, wherein the location pane displays a visual representation of a location in the procedure that is being displayed in the recipe construction pane.

[0146] Clause 20A. The apparatus set forth in clause 16A, further comprising the display logic responsive to the predefined input to cause an add parameter prompt to appear; the display logic is operable to receive from the input device data representative of an added parameter responsive to receiving the predefined input; and the display logic is operable to receiving a defer selection as an origin for the added parameter to cause added parameter to be the selected parameter.

[0147] Clause 1 B. An apparatus for generating a recipe for automated production of a batch of a manufactured product, comprising: one or more memories; and one or more processors coupled with a display and an input device, the one or more processors configured to: cause a phase element of a procedure to be output on the display, the phase element being a visual representation of a first phase of a recipe for batch automation of a manufactured product; receive first data from the input device; determine, from first data received from the input device, that an input indicator is hovering over the phase element; responsive to determining that the input indicator is hovering over the phase element, cause an add transition icon to appear on the display; and responsive to receiving second data from the input device indicating selection of the add transition icon by the input device, accept data representative of a transition from the first phase to a second phase of the recipe.

[0148] Clause 2B. The apparatus of clause 1 B, implementing any of clauses 2B- 10B.

[0149] Clause 1 . An apparatus, comprising: one or more processors coupled with adisplay and an input device; and one or more memories storing processor-executable instructions that, when executed by the one or more processors, cause the one or more processors to: cause the display to display a user interface containing a recipe element, wherein the recipe element corresponds to a step of a recipe for manufacturing a batch of a product, the step being defined at a first level of the recipe; receive, from the input device, an edit recipe parameters input; in response to receiving the edit recipe parameters input, cause one or more parameters for the recipe element to be displayed in the user interface; receive, from the input device, a predefined defer input for a selected parameter for the recipe element; automatically display visual representations of available levels of the recipe that have a matching data type for the selected parameter; receive a level selection input for the selected parameter; and cause the selected parameter to be deferred to a second level that corresponds to the level selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.

[0150] Clause 2. The apparatus of clause 1 , wherein the instructions further cause the one or more processors to: cause a confirmation prompt to appear on the display in response to receiving the level selection input; and receive, from the input device, an input via the confirmation prompt confirming deferment for the selected parameter to cause the selected parameter to defer to the second level.

[0151] Clause 3C. The apparatus of any of clauses 1 C-2C, wherein the instructions cause the one or more processors to, based on the selected parameter being deferred to the second level, determine a property of the selected parameter based on a property of a parameter defined at the second level.

[0152] Clause 4C. The apparatus of any of clauses 1 C-3C, wherein the one or more processors determine the property of the selected parameter at batch-execution time.

[0153] Clause 5C. The apparatus of any of clauses 1 C-4C, wherein the user interface includes a drop box that includes a plurality of options for selecting an origin for the selected parameter, the predefined defer input comprises selecting an option of the plurality of options for deferring the selected parameter.

[0154] Clause 6C. The apparatus of any of clauses 1 C-5C, wherein the visual representations of the available levels comprise a plurality of icons, where a currentlevel icon of the plurality of icons represents the first level and at least one other icon of the plurality of icons represent an available level for deferment of the selected parameter.

[0155] Clause 7C. The apparatus of clause 6C, wherein the instructions cause the one or more processors to cause the current-level icon to be faded in comparison with the at least one other icon that represents the available level for deferment of the selected parameter.

[0156] Clause 8C. The apparatus of any of clauses 6C-7C, wherein the level selection input comprises selecting the at least one other icon from among the plurality of icons.

[0157] Clause 9C. The apparatus of any of clauses 1 C-8C, wherein the user interface includes a location pane that comprises a visual representation of a location in a procedure that is being displayed in a recipe construction pane of the user interface.

[0158] Clause 10C. The apparatus of any of clauses 1 C-9C, wherein the recipe is a first recipe and the instructions further cause the one or more processors to: generate data representing the first level of the first recipe; and reuse the data representing the first level as part of a second recipe for manufacturing a batch of a second product.

[0159] Clause 11 C. The apparatus of any of clauses 1 C-10C, wherein the instructions further cause the one or more processors to instruct equipment to manufacture the batch of the product according to the recipe.

[0160] Clause 12C. The apparatus of any of clauses 1 C-11 C, wherein the instructions further cause the one or more processors to: identify parameters of steps defined at the second level that have the matching data type and a name that matches a name of the selected parameter; and display a visual representation of the second level based on the second level including a parameter defined at the second level thathas the matching data type and the name that matches the name of the selected parameter.

[0161] Clause 13C. A computer-implemented method comprising: causing, by one or more processors, a display to display a user interface containing a recipe element, wherein the recipe element corresponds to a step of a recipe for manufacturing a batch of a product, the step being defined at a first level of the recipe; receiving, by the one or more processors, from an input device, an edit recipe parameters input; in response to receiving the edit recipe parameters input, causing, by the one or more processors, one or more parameters for the recipe element to be displayed in the user interface; receiving, by the one or more processors, from the input device, a predefined defer input for a selected parameter for the recipe element; automatically displaying, by the one or more processors, visual representations of available levels of the recipe that have a matching data type for the selected parameter; receiving, by the one or more processors, a level selection input for the selected parameter; and causing, by the one or more processors, the selected parameter to be deferred to a second level that corresponds to the level selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.

[0162] Clause 14C. The computer-implemented method of clause 13C, further comprising, based on the selected parameter being deferred to the second level, determining, by the one or more processors, a property of the selected parameter based on a property of a parameter defined at the second level.

[0163] Clause 15C. The computer-implemented method of clause 14C, wherein determining the property of the selected parameter comprises determining the property of the selected parameter at batch-execution time.

[0164] Clause 16C. The computer-implemented method of any of clauses 13C- 15C, wherein the visual representations of the available levels comprise a plurality of icons, where a current-level icon of the plurality of icons represents the first level and at least one other icon of the plurality of icons represent an available level for deferment of the selected parameter.

[0165] Clause 17C. The computer-implemented method of clause 16C, wherein the level selection input comprises selecting the at least one other icon from among the plurality of icons.

[0166] Clause 18A. The computer-implemented method of any of clauses 13C- 17C, wherein the recipe is a first recipe and the computer-implemented method further comprises: generating, by the one or more processors, data representing the first level of the first recipe; and reusing, by the one or more processors, the data representing the first level as part of a second recipe for manufacturing a batch of a second product.

[0167] Clause 19C. The computer-implemented method of any of clauses 13C- 18C, wherein further comprising causing, by the one or more processors, equipment to manufacture the batch of the product according to the recipe.

[0168] Clause 20C. One or more non-transitory computer-readable storage media having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to: cause a display to display a user interface containing a recipe element, wherein the recipe element corresponds to a step of a recipe for manufacturing a batch of a product, the step being defined at a first level of the recipe; receive, from an input device, an edit recipe parameters input; in response to receiving the edit recipe parameters input, cause one or more parameters for the recipe element to be displayed in the user interface; receive, from the input device, a predefined defer input for a selected parameter for the recipe element; automatically display visual representations of available levels of the recipe that have a matching data type for the selected parameter; receive a level selection input for the selected parameter; and cause the selected parameter to be deferred to a second level that corresponds to the level selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.

[0169] Clause 21 C. The one or more non-transitory computer-readable storage media of clause 20C, wherein the instructions cause the one or more processors to implement actions of the apparatus of any of clauses 1 C-12C.

[0170] Claus 22C. The computer-implemented method of claim 13C, further comprising actions of the apparatus of any of clauses 1 C-12C.

[0171] Described above are example embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the example embodiments, but one of ordinary skill in the art will recognize that many further combinations and permutations of the example embodiments are possible. Accordingly, it is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of any claims filed in applications claiming priority hereto interpreted in accordance with the breadth to which they are fairly, legally and equitably entitled.

Claims

CLAIMSWhat is claimed is:

1. An apparatus, comprising: one or more processors coupled with a display and an input device; and one or more memories storing processor-executable instructions that, when executed by the one or more processors, cause the one or more processors to: cause the display to display a user interface containing a recipe element, wherein the recipe element corresponds to a step of a recipe for manufacturing a batch of a product, the step being defined at a first level of the recipe; receive, from the input device, an edit recipe parameters input; in response to receiving the edit recipe parameters input, cause one or more parameters for the recipe element to be displayed in the user interface; receive, from the input device, a predefined defer input for a selected parameter for the recipe element; automatically display visual representations of available levels of the recipe that have a matching data type for the selected parameter; receive a level selection input for the selected parameter; and cause the selected parameter to be deferred to a second level that corresponds to the level selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.

2. The apparatus of claim 1 , wherein the instructions further cause the one or more processors to: cause a confirmation prompt to appear on the display in response to receiving the level selection input; and receive, from the input device, an input via the confirmation prompt confirming deferment for the selected parameter to cause the selected parameter to defer to the second level.

3. The apparatus of claim 1 , wherein the instructions cause the one or more processors to, based on the selected parameter being deferred to the second level, determine a property of the selected parameter based on a property of a parameter defined at the second level.

4. The apparatus of claim 3, wherein the one or more processors determine the property of the selected parameter at batch-execution time.

5. The apparatus of claim 1 , wherein the user interface includes a drop box that includes a plurality of options for selecting an origin for the selected parameter, the predefined defer input comprises selecting an option of the plurality of options for deferring the selected parameter.

6. The apparatus of claim 1 , wherein the visual representations of the available levels comprise a plurality of icons, where a current-level icon of the plurality of icons represents the first level and at least one other icon of the plurality of icons represent an available level for deferment of the selected parameter.

7. The apparatus of claim 6, wherein the instructions cause the one or more processors to cause the current-level icon to be faded in comparison with the at least one other icon that represents the available level for deferment of the selected parameter.

8. The apparatus of claim 6, wherein the level selection input comprises selecting the at least one other icon from among the plurality of icons.

9. The apparatus of claim 1 , wherein the user interface includes a location pane that comprises a visual representation of a location in a procedure that is being displayed in a recipe construction pane of the user interface.

10. The apparatus of claim 1 , wherein the recipe is a first recipe and the instructions further cause the one or more processors to: generate data representing the first level of the first recipe; and reuse the data representing the first level as part of a second recipe for manufacturing a batch of a second product.11 . The apparatus of claim 1 , wherein the instructions further cause the one or more processors to instruct equipment to manufacture the batch of the product according to the recipe.

12. The apparatus of claim 1 , wherein the instructions further cause the one or more processors to: identify parameters of steps defined at the second level that have the matching data type and a name that matches a name of the selected parameter; and display a visual representation of the second level based on the second level including a parameter defined at the second level that has the matching data type and the name that matches the name of the selected parameter.

13. A computer-implemented method comprising: causing, by one or more processors, a display to display a user interface containing a recipe element, wherein the recipe element corresponds to a step of a recipe for manufacturing a batch of a product, the step being defined at a first level of the recipe; receiving, by the one or more processors, from an input device, an edit recipe parameters input; in response to receiving the edit recipe parameters input, causing, by the one or more processors, one or more parameters for the recipe element to be displayed in the user interface; receiving, by the one or more processors, from the input device, a predefined defer input for a selected parameter for the recipe element; automatically displaying, by the one or more processors, visual representationsof available levels of the recipe that have a matching data type for the selected parameter; receiving, by the one or more processors, a level selection input for the selected parameter; and causing, by the one or more processors, the selected parameter to be deferred to a second level that corresponds to the level selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.

14. The computer-implemented method of claim 13, further comprising, based on the selected parameter being deferred to the second level, determining, by the one or more processors, a property of the selected parameter based on a property of a parameter defined at the second level.

15. The computer-implemented method of claim 14, wherein determining the property of the selected parameter comprises determining the property of the selected parameter at batch-execution time.

16. The computer-implemented method of claim 13, wherein the visual representations of the available levels comprise a plurality of icons, where a currentlevel icon of the plurality of icons represents the first level and at least one other icon of the plurality of icons represent an available level for deferment of the selected parameter.

17. The computer-implemented method of claim 16, wherein the level selection input comprises selecting the at least one other icon from among the plurality of icons.

18. The computer-implemented method of claim 13, wherein the recipe is a first recipe and the computer-implemented method further comprises: generating, by the one or more processors, data representing the first level of the first recipe; andreusing, by the one or more processors, the data representing the first level as part of a second recipe for manufacturing a batch of a second product.

19. The computer-implemented method of claim 13, wherein further comprising causing, by the one or more processors, equipment to manufacture the batch of the product according to the recipe.

20. One or more non-transitory computer-readable storage media having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to: cause a display to display a user interface containing a recipe element, wherein the recipe element corresponds to a step of a recipe for manufacturing a batch of a product, the step being defined at a first level of the recipe; receive, from an input device, an edit recipe parameters input; in response to receiving the edit recipe parameters input, cause one or more parameters for the recipe element to be displayed in the user interface; receive, from the input device, a predefined defer input for a selected parameter for the recipe element; automatically display visual representations of available levels of the recipe that have a matching data type for the selected parameter; receive a level selection input for the selected parameter; and cause the selected parameter to be deferred to a second level that corresponds to the level selection input and display the recipe element with a visual element indicating that the recipe element has a deferred parameter.

Citation Information

Patent Citations

  • Dynamic User Interface for Configuring and Managing a Process Control System

    US20120029661A1

  • Recipe command steps and recipe inputs from external logic

    US20140094947A1

  • Methods and apparatus to define stages for multi-variate batch control analytics

    US20170083012A1

  • Apparatuses for attractive selection of objects in real, virtual, or augmented reality environments and methods implementing the apparatuses

    US20220164077A1

  • Delayed execution of operations

    US8914652B1