Software Extensibility via Graphical Layered Artifact Browser

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software applications often lack extensibility features that allow customers to easily add functionalities beyond the predefined capabilities, limiting customization and integration of additional features from different roles such as vendors or third parties.

Innovation Solution

A computer-implemented method and system that supports software application extensions by analyzing an extensibility model, providing graphical representations of extensible artifacts across multiple logical layers, and guiding developers through extension development tasks while ensuring constraints are not violated, using components like a core software extensibility model analyzer, cross-layer extensible artifacts browser, and extension development guidance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software applications are delivered with predefined functionalities only, then the base software maintains simplicity and stability, but customers cannot add additional functionalities or customize the application

Engineering Contradiction:
ImproveextensibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments extensibility functionality into distinct components: an extensibility model defining rules and constraints, extensible artifacts representing individual extension points, and a browser interface for managing extensions. This segmentation allows the base software to remain simple while providing structured extensibility capabilities through modular add-on components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary extensibility model that acts as a mediator between the base software and extension artifacts. This model defines constraints and rules that govern how extensions can be added, ensuring that extensions integrate properly without compromising the stability of the core application.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If extensions are allowed without guidance, then developers have freedom to add functionalities, but constraints may be violated leading to system instability

Engineering Contradiction:
Improveextension development easeVSAvoidconstraint compliance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system implements feedback mechanisms through the browser interface that monitor extension development activities. The interface provides real-time information about constraint compliance, guides developers through proper extension creation processes, and alerts when constraints might be violated, allowing corrective action before system instability occurs.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The extensibility model establishes constraints and rules in advance before extensions are developed. The browser interface pre-validates extension artifacts against these constraints, performing preliminary checks to ensure compliance before extensions are deployed to the application, preventing constraint violations that could cause instability.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If graphical representations of extensible artifacts are provided across multiple logical layers, then developers can understand and extend the application better, but the interface complexity increases

Engineering Contradiction:
Improveapplication structure understandingVSAvoidinterface complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The browser interface adds a visual dimension to the extensibility model by providing graphical representations of extensible artifacts across multiple logical layers. Instead of presenting raw data or text-based models, the system renders visual diagrams that show the structure and relationships of extensions, making complex multi-layer information more comprehensible through spatial and visual organization.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9021425B2Software application extensibility
Publication Date: 2015.04.28 SAP SE
  • US9021425B2 patent drawing
  • US9021425B2 patent drawing
  • US9021425B2 patent drawing

AI summary

Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for supporting software application extensions including receiving, by the one or more processors, application information associated with a to-be-extended application, the application including a plurality of logical layers and including a computer-executable application that can be executed using one or more computing devices; processing, by the one or more processors, the application information; providing, based on the processing, graphical representations of one or more extensible artifacts associated with the application; displaying a first graphical representation within a browser interface, the first graphical representation being based on a first logical layer of the plurality of logical layers, the browser interface being provided as a computer-executable program that is executed using the one or more processors; and receiving user input provided using the browser interface, and in response to the user input, providing an extension of the application.