Patent classifications
G06F8/33
WHAT-IF ANALYSIS FOR NOTEBOOKS
Methods and systems provide for a notebook interactive programming environment, having out-of-order code-cell execution, which communicates potential cell execution outcomes. If an event handler receives an event (e.g., open notebook, code change, code execution, etc.) for a cell, without a request for a specific type of analysis (e.g., data-leakage, stale-state), intra-cell analysis is executed based-on the cell’s abstract semantics, and an abstract state and pre-summaries are output that indicate the cell’s propagation dependency (unbounded variables). If an analysis is associated with the event, starting with the stored abstract state, inter-cell analysis is recursively executed on successor cells having propagation dependencies, until a terminating criteria is reached. Outcomes (e.g., affected cell, line number, bug type, metrics, etc.) are sent via the notebook user-interface to warn users, ahead of concrete code execution, of hypothetical unsafe or safe actions in executing the notebook’s code cells.
GRAPHICAL AND TEXT BASED CO-DESIGN EDITOR FOR INDUSTRIAL AUTOMATION PROJECTS
An industrial IDE supports development of control programming using an industrial domain-specific language (DSL) that allows control programming to be written using a scripted programming language having features catered to the industrial domain. The industrial DSL can simplify and streamline development of industrial control code relative to using conventional graphics-based control programming formats such as ladder logic, since a script-based industrial DSL can be used to write programming code using fewer mouse clicks relative to traditional control programming environments. Editing tools inherent to the industrial DSL can provide dynamic programming feedback that guides the developer through the process of developing control code. A development interface of the industrial IDE can comprises two editing windows that render the control program in a graphical format and in a text-based format simultaneously, allowing the user to edit the program in either format on the same interface.
GRAPHICAL AND TEXT BASED CO-DESIGN EDITOR FOR INDUSTRIAL AUTOMATION PROJECTS
An industrial IDE supports development of control programming using an industrial domain-specific language (DSL) that allows control programming to be written using a scripted programming language having features catered to the industrial domain. The industrial DSL can simplify and streamline development of industrial control code relative to using conventional graphics-based control programming formats such as ladder logic, since a script-based industrial DSL can be used to write programming code using fewer mouse clicks relative to traditional control programming environments. Editing tools inherent to the industrial DSL can provide dynamic programming feedback that guides the developer through the process of developing control code. A development interface of the industrial IDE can comprises two editing windows that render the control program in a graphical format and in a text-based format simultaneously, allowing the user to edit the program in either format on the same interface.
AUTOMATIC TWO-WAY GENERATION AND SYNCHRONIZATION OF NOTEBOOK AND PIPELINE
Systems, methods, and other embodiments associated with associated with automatic two-way generation and synchronization of notebook and pipeline are described. In one embodiment, a computer-implemented method includes: identifying a difference between pipeline and notebook representations of application logic, wherein the difference is one of (i) a notebook paragraph without a corresponding pipeline node and (ii) a pipeline node without a corresponding notebook paragraph; synchronizing the pipeline representation and notebook representation by, for the notebook paragraph that does not have a corresponding pipeline node, automatically generating a new pipeline node in the pipeline representation, and for the pipeline node that does not have a corresponding notebook paragraph, automatically generating a new notebook paragraph in the notebook representation; and updating either a pipeline user interface to show the new pipeline node or a notebook user interface to show the new notebook paragraph.
AUTOMATIC TWO-WAY GENERATION AND SYNCHRONIZATION OF NOTEBOOK AND PIPELINE
Systems, methods, and other embodiments associated with associated with automatic two-way generation and synchronization of notebook and pipeline are described. In one embodiment, a computer-implemented method includes: identifying a difference between pipeline and notebook representations of application logic, wherein the difference is one of (i) a notebook paragraph without a corresponding pipeline node and (ii) a pipeline node without a corresponding notebook paragraph; synchronizing the pipeline representation and notebook representation by, for the notebook paragraph that does not have a corresponding pipeline node, automatically generating a new pipeline node in the pipeline representation, and for the pipeline node that does not have a corresponding notebook paragraph, automatically generating a new notebook paragraph in the notebook representation; and updating either a pipeline user interface to show the new pipeline node or a notebook user interface to show the new notebook paragraph.
METHOD, SYSTEM, AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM FOR SUPPORTING BLOCK CODING
A method for supporting block coding is provided. The method includes the steps of: determining an arrangement position of a coding block selected by a user on the basis of a sentence component-specific arrangement order specified from a sentence structure of a spoken language; and providing the user with an arrangement result of the coding block specified on the basis of the arrangement position.
METHOD, SYSTEM, AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM FOR SUPPORTING BLOCK CODING
A method for supporting block coding is provided. The method includes the steps of: determining an arrangement position of a coding block selected by a user on the basis of a sentence component-specific arrangement order specified from a sentence structure of a spoken language; and providing the user with an arrangement result of the coding block specified on the basis of the arrangement position.
COPY-PASTE-UPDATE EDIT AUTOMATION
Embodiments automate several aspects of document copy-paste updates. An enhanced editor submits context, such as a copied section, pasted section, nearby text, or parser information, to an automatic suggestion generator. The editor gets back a suggestion for automatically changing the pasted section, thus helping users avoid tedium and errors. For instance, string substitutions begun by the user can be automatically and easily completed within the pasted section. Refactoring between variable declarations and parameter lists is detected and completed on request. Situation-specific transforms based on code synthesis, word associations, temporal edit patterns, anchor target lists, regular expressions, or autocompletion are offered. Suggestions are given inside the user's current workflow to avoid breaks in focus. Suggestions can be refined automatically in response to implicit or explicit user feedback. Users are warned of unedited pasted sections. Code review is aided by highlighting pasted sections.
COPY-PASTE-UPDATE EDIT AUTOMATION
Embodiments automate several aspects of document copy-paste updates. An enhanced editor submits context, such as a copied section, pasted section, nearby text, or parser information, to an automatic suggestion generator. The editor gets back a suggestion for automatically changing the pasted section, thus helping users avoid tedium and errors. For instance, string substitutions begun by the user can be automatically and easily completed within the pasted section. Refactoring between variable declarations and parameter lists is detected and completed on request. Situation-specific transforms based on code synthesis, word associations, temporal edit patterns, anchor target lists, regular expressions, or autocompletion are offered. Suggestions are given inside the user's current workflow to avoid breaks in focus. Suggestions can be refined automatically in response to implicit or explicit user feedback. Users are warned of unedited pasted sections. Code review is aided by highlighting pasted sections.
CREATING USER INTEFACE USING MACHINE LEARNING
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for training and using machine learning models to generate graphical user interfaces from textual descriptions.