Visual Software Development System for Disparate Platform Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing visual programming tools are limited in their ability to integrate with existing software systems, particularly those without open APIs, leading to the majority of software solutions being manually created by programmers at great expense and time, due to the lack of standard APIs and the need for programmers to write source code to define algorithms.

Innovation Solution

A visual software development system that uses adapters to interrogate the interfaces of disparate software systems, generating descriptions that can be incorporated into a design, allowing users to build software solutions graphically without writing code, and integrate elements from multiple software systems, such as Web and Windows technologies, through a loader that executes the defined algorithms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If visual programming tools are used to integrate software systems, then the ease of operation is improved, but the adaptability deteriorates because they cannot integrate with systems without open APIs

Engineering Contradiction:
Improveease of operationVSAvoidadaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary layer called a 'driver' that sits between the visual programming tool and the target software system. This driver translates visual programming operations into platform-specific calls, enabling integration with systems that lack open APIs. The driver acts as a mediator that bridges the gap between the high-level visual interface and the low-level closed system interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates virtual representations or copies of existing software system interfaces. By capturing the interface structure and behavior of closed systems and creating equivalent virtual interfaces that the visual programming tool can manipulate, the system enables graphical programming without requiring direct access to the original closed system's undocumented interfaces.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If programmers manually create software solutions, then the adaptability is improved, but the productivity deteriorates due to time-consuming manual coding

Engineering Contradiction:
ImproveadaptabilityVSAvoidproductivity
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-defining drivers for common software systems and pre-creating visual representations of their interfaces. This preparation work is done in advance so that when users need to integrate these systems, they can simply drag and drop pre-configured components rather than manually coding connections, significantly improving productivity while maintaining adaptability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The visual programming tool automatically generates the necessary integration code by interpreting the graphical connections between components. Instead of requiring programmers to manually write code for each integration, the system uses meta-programming capabilities to automatically translate the visual design into executable code, making the system self-sufficient in code generation.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If standard APIs are used for software integration, then the ease of operation is improved, but the device complexity increases due to the need for multiple adapters and drivers

Engineering Contradiction:
Improveease of operationVSAvoiddevice complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent designs a universal driver framework that can handle multiple different software systems through a single unified interface. Rather than requiring separate integration mechanisms for each system, the visual programming tool uses a universal set of abstraction mechanisms that work across all supported systems, reducing overall system complexity while maintaining ease of operation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9766953B2System and method for non-programmatically constructing software solutions
Publication Date: 2017.09.19 PEGASYSTEMS INC
  • US9766953B2 patent drawing
  • US9766953B2 patent drawing
  • US9766953B2 patent drawing

AI summary

A visual software development system in which a user can graphically build a design or software solution without having to write software code includes one or more adapters that interrogate interfaces of the software platform that a software system or systems is built in accordance with and generate descriptions that the user can then incorporate into the design. The software systems can be of disparate technology platforms, an adapter provided that suits each platform. The descriptions can be represented graphically for the user with icons in an integrated development environment (IDE), and the user can build the design by dragging or otherwise selecting descriptions to be used and connecting them together to graphically represent the flow of information or communication of events among the descriptions.