Application Code Reuse via Pattern Matching
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If similar functionalities are not reused across applications, then application-specific customization is improved, but development time and resource consumption increase
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.
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.
3Productivity
If code is reused across applications, then development efficiency is improved, but code applicability and precision for specific use cases may deteriorate
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.
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.
Data Source
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.


