Visual Programming Logic Reuse in Automation Building Tools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing CRM software tools for automating tasks, such as email marketing campaigns, require significant programming acumen and can become complex and error-prone due to repetitive logical branching, necessitating user-friendly capabilities for efficiently building and reusing visual programming logic.

Innovation Solution

A mechanism within an automation building tool that allows users to visually create and reuse portions of visual programming logic represented as a directed acyclic graph (DAG), with real-time validation and interface elements to ensure valid copying and insertion of operations, reducing user errors and enhancing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If visual programming logic is created using traditional automation builders, then automation capabilities are provided, but programming complexity and error-proneness increase due to repetitive logical branching

Engineering Contradiction:
Improveautomation capabilityVSAvoidprogram complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent divides the visual programming logic into reusable templates that can be independently created and then inserted multiple times throughout a program. This segmentation allows complex automation logic to be broken down into manageable, reusable units, reducing overall program complexity while maintaining full automation capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a copy-and-paste mechanism for visual programming logic templates. Users can create a template once, validate it, and then insert it multiple times throughout the program. This copying approach eliminates the need to manually recreate identical logical branches, significantly reducing complexity and error-proneness while preserving automation functionality.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If visual programming logic is created manually without reuse capabilities, then customization is possible, but user effort and time consumption increase

Engineering Contradiction:
Improvecustomization capabilityVSAvoidprogramming time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent allows users to pre-create and validate programming logic templates before they are needed in the full program. By performing the complex customization work upfront in a controlled manner, users can then quickly insert validated templates throughout the program, dramatically reducing total programming time while maintaining full customization capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables users to copy validated programming logic templates and insert them multiple times throughout the program. This copying mechanism preserves the customization achieved in the original template while eliminating the need to manually recreate the same logic multiple times, significantly reducing user effort and time consumption.

Inventive Principle:
Principle #26Copying

3Productivity

If reuse capabilities are added to visual programming logic, then efficiency is improved, but validation complexity increases to ensure proper copying and insertion

Engineering Contradiction:
Improveprogramming efficiencyVSAvoidvalidation mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs validation of the programming logic template at the time of creation, before the template is inserted into the program. This preliminary validation ensures that the template is correct and complete, eliminating the need for complex validation mechanisms at insertion points throughout the program. The validation complexity is concentrated in one location rather than distributed throughout the system.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent copies the already-validated programming logic template to multiple insertion points. Since the template was validated once during creation, the copied instances inherit this validation status. This approach maintains high productivity through reuse while avoiding the need for repeated complex validation at each insertion point.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10838698B2Providing a reuse capability for visual programming logic within a building tool
Publication Date: 2020.11.17 SALESFORCE INC
  • US10838698B2 patent drawing
  • US10838698B2 patent drawing
  • US10838698B2 patent drawing

AI summary

Described is a mechanism that provides the ability to reuse a portion of visual programming logic within an automation building tool. The programming logic may be represented as a directed acyclic graph (DAG) such that the nodes of the graph correspond to various operations and the edges of the graph correspond to the logic flow of the program. The mechanism may provide a new capability to reuse portions of the visual programming logic while adhering to the requirements of a DAG structure. For example, a user may copy a valid substructure of visual programming logic upon a validation the programming logic may be inserted into another portion of the DAG. Accordingly, the mechanism provides an efficient and user-friendly mechanism to reuse a portion of visual programming logic within an automation building tool.