Software Adaptation Layer Separating Presentation Logic from Application Domain
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software adaptation methods require significant user effort to understand and modify source code, and are often incompatible with revisions or upgrades, leading to increased development and ownership costs, especially in complex applications.
Innovation Solution
Structuring software applications into a first layer for processing data elements and a second layer for adaptation data, allowing for independent adaptation of the user interface and data presentation without modifying the underlying application domain or state, using a framework that separates adaptation logic from the application domain.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If users modify source code to adapt software applications, then customization capability is improved, but user effort and complexity increase significantly
Solution Approach 1:
The patent divides the software system into two distinct layers: an application layer that contains business logic and data processing, and a presentation layer that handles user interface and data display. This segmentation allows users to modify only the presentation layer for customization while the application layer remains intact and unaffected by user modifications.
Solution Approach 2:
The patent introduces an intermediary adaptation layer between the application layer and presentation layer. This adaptation layer acts as a mediator that translates user customization requirements into modifications of the presentation layer, isolating the business logic from user-made changes and enabling easy customization without touching the core application code.
2Adaptability or versatility
If users modify source code for adaptation, then customization is achieved, but compatibility with future revisions or upgrades is worsened
Solution Approach 1:
By segmenting the system into application layer and presentation layer, the patent ensures that modifications made by users in the presentation layer do not affect the application layer. When the application layer is updated or upgraded, the changes are isolated to the presentation layer, maintaining compatibility between user customizations and future revisions.
Solution Approach 2:
The patent creates a copy of the application interface in the presentation layer that can be independently modified. This copy allows users to adapt the interface for their specific needs without modifying the original application code, ensuring that future upgrades to the application layer do not break user customizations.
3Adaptability or versatility
If source code is made available for user modification, then adaptation capability is improved, but security and intellectual property protection are worsened
Solution Approach 1:
The patent extracts the adaptability functionality from the core application code and places it in a separate presentation layer. This extraction allows users to modify the interface and presentation logic without accessing or modifying the sensitive business logic and data processing code, thereby maintaining security and intellectual property protection while enabling adaptation.
Solution Approach 2:
The patent applies local quality by allowing modification only in specific localized areas (presentation layer) while keeping the core application code immutable and protected. Users can customize the interface and display logic locally without affecting the security-critical business logic, thus balancing adaptability with security.
Data Source
AI summary
A method is provided for creating and/or utilizing a computer software application. The method may include structuring the application into a first software layer and a second software layer and defining a plurality of data elements used by the application. The method may also include establishing the first software layer based on the data elements for processing the data elements and creating the second software layer including adaptation data to present the plurality of data elements modified by the adaptation data associated with the data elements. Further, the adaptation data may enable plural presentations of the data elements by the second software layer independently from the first software layer.


