Application Code Reuse via Pattern Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development of cloud applications for asset management creates a heterogeneous landscape due to geographically and functionally dispersed teams, leading to inefficient maintenance processes as similar functionalities across applications are not effectively reused.

Innovation Solution

A method and system for reusing computer code by querying an information model database, extracting patterns from raw access data, and matching these patterns across applications to enable code reuse and efficient asset monitoring, utilizing a cloud gateway, time event processor, information model database, extractor, pattern database, and analysis engine to rank and present relevant code for new applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are developed by geographically and functionally dispersed teams, then application development flexibility and team autonomy are improved, but code heterogeneity and maintenance complexity increase

Engineering Contradiction:
Improveteam autonomyVSAvoidmaintenance complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal pattern database that stores access patterns from multiple applications. This database serves as a shared resource that any application can query and reuse, allowing teams to maintain autonomy while accessing common functionality patterns. The pattern database acts as a universal interface that harmonizes heterogeneous code without imposing a rigid framework.

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

Solution Approach 2:

The system extracts access patterns from existing applications and stores them as reusable templates in the pattern database. When developing new applications, teams can copy these proven patterns rather than recreating similar functionality from scratch. This reduces maintenance complexity by standardizing common operations while preserving team independence in custom implementations.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If similar functionalities are not reused across applications, then application-specific customization is improved, but development time and resource consumption increase

Engineering Contradiction:
Improveapplication customizationVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary action by extracting and storing access patterns from existing applications in advance. These pre-processed patterns are readily available in the pattern database when new applications need similar functionality. This eliminates the need to recreate common patterns, significantly reducing development time while applications retain the ability to customize beyond the provided patterns.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Applications can reuse patterns partially by selecting only the specific access patterns they need from the database, rather than adopting entire application frameworks. This partial reuse approach maintains customization for unique functionalities while efficiently reusing common patterns, optimizing the balance between customization and development efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If code is reused across applications, then development efficiency is improved, but code applicability and precision for specific use cases may deteriorate

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidcode applicability
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The pattern database stores fine-grained access patterns that can be selectively applied to specific applications. Each pattern represents a localized, precise functionality that can be reused without forcing entire application architectures. Applications can selectively apply only the patterns that precisely match their local needs, maintaining high code applicability while achieving reuse benefits.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system segments application functionality into discrete, reusable access patterns rather than reusing large monolithic code blocks. This segmentation allows applications to combine multiple small, precise patterns to build customized solutions. Each segmented pattern maintains high precision for its specific function while enabling flexible recombination for different use cases.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11237804B2Systems and methods for application re-use by type pattern matching
Publication Date: 2022.02.01 ABB (SCHWEIZ) AG
  • US11237804B2 patent drawing
  • US11237804B2 patent drawing
  • US11237804B2 patent drawing

AI summary

A system for reusing program code from a first completed application in a second under-development application based on identified patterns matching between the types of data accessed by the first and second applications. The system has an information model database, a pattern database, an API and applications which query the information model through the API, resulting in stored raw access data. The raw access data is extracted and patterns are generated based on similarity of the abstracted patterns as between the first and second applications. Application programmers access the pattern database to create new programs and implement prior computer code in the new program based on a pattern match on data accessed by a prior-developed application.