IP Library Granted Patent US 11,537,364
Granted Patent B2
US 11,537,364 · App. 17/233,999 · Granted Dec 27, 2022

Application assessment system to achieve interface design consistency across micro services

Inventors: Peter Eberlein (Malsch, DE); Volker Driesen (Heidelberg, DE)
Assignee: SAP SE
G06F8/35G06F8/38G06F11/3447G06N3/08G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,537,364
App. No.
17/233,999
Granted
Dec 27, 2022
Kind
B2
Abstract

Methods and systems are used for achieving interface design consistency across micro services. As an example, a user interface (UI) training request including at least a set of reference objects is received, the set of reference objects including at least a set of reference UIs. A user interface behavior reference model (UIBRM) is trained to generate a trained UIBRM by analyzing reference UI displays rendered on a browser in response to interactions with the set of reference UIs. A UI displays assessment request including at least a set of development objects is received, the set of development objects including at least a set of development UIs. A UI displays assessment is performed to generate an assessment of development UI displays by comparing the trained UIBRM to the development UI displays rendered on the browser in response to interactions with at least a subset of the set of development UIs.

Claims (76)

1. A computer-implemented method, comprising:

receiving, by a consistency assessment infrastructure (CAI), a reference application training request including at least a set of reference objects associated with a reference application, the set of reference objects including at least reference code;

training, by the CAI, a reference model (RM) to generate a trained RM;

receiving, by the CAI, an assessment request including at least a set of development objects associated with a development application, the set of development objects including at least development code;

performing, by the CAI, a development objects assessment to generate a consistency assessment of the set of development objects by comparing the trained RM to the set of development objects; and

sending, by the CAI, the consistency assessment of the set of development objects to a client system.

2. The computer-implemented method of claim 1 , wherein the reference code comprises a set of reference user interfaces (UIs), wherein the development code comprises a set of development UIs, and wherein training the RM to generate the trained RM further comprises:

training a user interface behavior reference model (UIBRM) to generate a trained UIBRM by analyzing reference UI displays rendered on a browser by the reference application in response to interactions with the set of reference UIs, wherein performing the development objects assessment to generate the consistency assessment of the set of development objects further comprises:

performing a UI display assessment to generate a development UI displays assessment of development UI displays by comparing the trained UIBRM to the development UI displays rendered on the browser by the development application in response to interactions with at least a subset of the set of development UIs, wherein the consistency assessment of the set of development objects comprises the development UI displays assessment of the development UI displays, and wherein comparing the trained UIBRM to the development UI displays rendered on the browser further comprises:

reading a pre-interaction UI image associated with a development UI display of the development UI displays rendered on the browser;

using image recognition, recognizing UI elements of the development UI display;

comparing the trained UIBRM with the UI elements to generate a visual appearance and layout consistency assessment for the UI elements of the development UI display;

sending at least one event to the browser to interact with at least one UI element of the UI elements, wherein the at least one event may comprise a mouse event, a keyboard event, or a touch event;

reading a post-interaction UI image associated with the development UI display rendered on the browser by the development application after sending the at least one event to the browser;

using image recognition to determine navigation behavior results for the at least one UI element, comparing the pre-interaction UI image to the post-interaction UI image; and

comparing the trained UIBRM with the navigation behavior results to generate a navigation behavior consistency assessment for the at least one UI element.

3. The computer-implemented method of claim 2 , wherein the development UI displays assessment of the development UI displays further comprises the visual appearance and layout consistency assessment for the UI elements of the development UI display and the navigation behavior consistency assessment for the at least one UI element of the development UI display.

4. The computer-implemented method of claim 1 , wherein the reference code further including a set of reference application programming interfaces (APIs), wherein the set of reference objects further including at least a set of reference API definitions associated with the set of reference APIs, wherein the development code further including a set of development APIs, wherein the set of development objects further including at least a set of development API definitions associated with the set of development APIs, and wherein training the RM to generate the trained RM further comprises:

training a code reference model (CRM) to generate a trained CRM using the reference code and the set of reference API definitions, wherein performing the development objects assessment to generate the consistency assessment of the set of development objects further comprises:

performing a code and APIs consistency check to generate a code and APIs consistency assessment of the development code and the set of development APIs by comparing the trained CRM to the development code and the set of development API definitions, wherein the consistency assessment of the set of development objects comprises the code and APIs consistency assessment.

5. The computer-implemented method of claim 4 , wherein performing the code and APIs consistency check further comprises:

reading the development code to identify the set of development APIs; and

reading the set of development API definitions to identify a set of API parameters from each development API of the set of development APIs, wherein comparing the trained CRM to the development code and the set of development API definitions further includes comparing the trained CRM to the set of API parameters from each development API of the set of development APIs.

6. The computer-implemented method of claim 5 , wherein the set of API parameters from each development API includes at least one of an API type, an authentication definition, a pagination definition, and parameters in a header and a payload of the development API.

7. The computer-implemented method of claim 4 , wherein performing the code and APIs consistency check to generate the code and APIs consistency assessment of the development code and the set of development APIs further comprises using a machine learning algorithm, and wherein the machine learning algorithm comprises at least one of a clustering algorithm or a supervised learning algorithm using a neural net.

8. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving, by a consistency assessment infrastructure (CAI), a reference application training request including at least a set of reference objects associated with a reference application, the set of reference objects including at least reference code;

training, by the CAI, a reference model (RM) to generate a trained RM;

receiving, by the CAI, an assessment request including at least a set of development objects associated with a development application, the set of development objects including at least development code;

performing, by the CAI, a development objects assessment to generate a consistency assessment of the set of development objects by comparing the trained RM to the set of development objects; and

sending, by the CAI, the consistency assessment of the set of development objects to a client system.

9. The non-transitory, computer-readable medium of claim 8 , wherein the reference code comprises a set of reference user interfaces (UIs), wherein the development code comprises a set of development UIs, and wherein training the RM to generate the trained RM further comprises:

training a user interface behavior reference model (UIBRM) to generate a trained UIBRM by analyzing reference UI displays rendered on a browser by the reference application in response to interactions with the set of reference UIs, wherein performing the development objects assessment to generate the consistency assessment of the set of development objects further comprises:

performing a UI display assessment to generate a development UI displays assessment of development UI displays by comparing the trained UIBRM to the development UI displays rendered on the browser by the development application in response to interactions with at least a subset of the set of development UIs, wherein the consistency assessment of the set of development objects comprises the development UI displays assessment of the development UI displays, and wherein comparing the trained UIBRM to the development UI displays rendered on the browser further comprises:

reading a pre-interaction UI image associated with a development UI display of the development UI displays rendered on the browser;

using image recognition, recognizing UI elements of the development UI display;

comparing the trained UIBRM with the UI elements to generate a visual appearance and layout consistency assessment for the UI elements of the development UI display;

sending at least one event to the browser to interact with at least one UI element of the UI elements, wherein the at least one event may comprise a mouse event, a keyboard event, or a touch event;

reading a post-interaction UI image associated with the development UI display rendered on the browser by the development application after sending the at least one event to the browser;

using image recognition to determine navigation behavior results for the at least one UI element, comparing the pre-interaction UI image to the post-interaction UI image; and

comparing the trained UIBRM with the navigation behavior results to generate a navigation behavior consistency assessment for the at least one UI element.

10. The non-transitory, computer-readable medium of claim 9 , wherein the development UI displays assessment of the development UI displays further comprises the visual appearance and layout consistency assessment for the UI elements of the development UI display and the navigation behavior consistency assessment for the at least one UI element of the development UI display.

11. The non-transitory, computer-readable medium of claim 8 , wherein the reference code further including a set of reference application programming interfaces (APIs), wherein the set of reference objects further including at least a set of reference API definitions associated with the set of reference APIs, wherein the development code further including a set of development APIs, wherein the set of development objects further including at least a set of development API definitions associated with the set of development APIs, and wherein training the RM to generate the trained RM further comprises:

training a code reference model (CRM) to generate a trained CRM using the reference code and the set of reference API definitions, wherein performing the development objects assessment to generate the consistency assessment of the set of development objects further comprises:

performing a code and APIs consistency check to generate a code and APIs consistency assessment of the development code and the set of development APIs by comparing the trained CRM to the development code and the set of development API definitions, wherein the consistency assessment of the set of development objects comprises the code and APIs consistency assessment.

12. The non-transitory, computer-readable medium of claim 11 , wherein performing the code and APIs consistency check further comprises:

reading the development code to identify the set of development APIs; and

reading the set of development API definitions to identify a set of API parameters from each development API of the set of development APIs, wherein comparing the trained CRM to the development code and the set of development API definitions further includes comparing the trained CRM to the set of API parameters from each development API of the set of development APIs.

13. The non-transitory, computer-readable medium of claim 12 , wherein the set of API parameters from each development API includes at least one of an API type, an authentication definition, a pagination definition, and parameters in a header and a payload of the development API.

14. The non-transitory, computer-readable medium of claim 11 , wherein performing the code and APIs consistency check to generate the code and APIs consistency assessment of the development code and the set of development APIs further comprises using a machine learning algorithm, and wherein the machine learning algorithm comprises at least one of a clustering algorithm or a supervised learning algorithm using a neural net.

15. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving, by a consistency assessment infrastructure (CAI), a reference application training request including at least a set of reference objects associated with a reference application, the set of reference objects including at least reference code;

training, by the CAI, a reference model (RM) to generate a trained RM;

receiving, by the CAI, an assessment request including at least a set of development objects associated with a development application, the set of development objects including at least development code;

performing, by the CAI, a development objects assessment to generate a consistency assessment of the set of development objects by comparing the trained RM to the set of development objects; and

sending, by the CAI, the consistency assessment of the set of development objects to a client system.

16. The computer-implemented system of claim 15 , wherein the reference code comprises a set of reference user interfaces (UIs), wherein the development code comprises a set of development UIs, and wherein training the RM to generate the trained RM further comprises:

training a user interface behavior reference model (UIBRM) to generate a trained UIBRM by analyzing reference UI displays rendered on a browser by the reference application in response to interactions with the set of reference UIs, wherein performing the development objects assessment to generate the consistency assessment of the set of development objects further comprises:

performing a UI display assessment to generate a development UI displays assessment of development UI displays by comparing the trained UIBRM to the development UI displays rendered on the browser by the development application in response to interactions with at least a subset of the set of development UIs, wherein the consistency assessment of the set of development objects comprises the development UI displays assessment of the development UI displays, and wherein comparing the trained UIBRM to the development UI displays rendered on the browser further comprises:

reading a pre-interaction UI image associated with a development UI display of the development UI displays rendered on the browser;

using image recognition, recognizing UI elements of the development UI display;

comparing the trained UIBRM with the UI elements to generate a visual appearance and layout consistency assessment for the UI elements of the development UI display;

sending at least one event to the browser to interact with at least one UI element of the UI elements, wherein the at least one event may comprise a mouse event, a keyboard event, or a touch event;

reading a post-interaction UI image associated with the development UI display rendered on the browser by the development application after sending the at least one event to the browser;

using image recognition to determine navigation behavior results for the at least one UI element, comparing the pre-interaction UI image to the post-interaction UI image; and

comparing the trained UIBRM with the navigation behavior results to generate a navigation behavior consistency assessment for the at least one UI element.

17. The computer-implemented system of claim 16 , wherein the development UI displays assessment of the development UI displays further comprises the visual appearance and layout consistency assessment for the UI elements of the development UI display and the navigation behavior consistency assessment for the at least one UI element of the development UI display.

18. The computer-implemented system of claim 15 , wherein the reference code further including a set of reference application programming interfaces (APIs), wherein the set of reference objects further including at least a set of reference API definitions associated with the set of reference APIs, wherein the development code further including a set of development APIs, wherein the set of development objects further including at least a set of development API definitions associated with the set of development APIs, and wherein training the RM to generate the trained RM further comprises:

training a code reference model (CRM) to generate a trained CRM using the reference code and the set of reference API definitions, wherein performing the development objects assessment to generate the consistency assessment of the set of development objects further comprises:

performing a code and APIs consistency check to generate a code and APIs consistency assessment of the development code and the set of development APIs by comparing the trained CRM to the development code and the set of development API definitions, wherein the consistency assessment of the set of development objects comprises the code and APIs consistency assessment.

19. The computer-implemented system of claim 18 , wherein performing the code and APIs consistency check further comprises:

reading the development code to identify the set of development APIs; and

reading the set of development API definitions to identify a set of API parameters from each development API of the set of development APIs, wherein comparing the trained CRM to the development code and the set of development API definitions further includes comparing the trained CRM to the set of API parameters from each development API of the set of development APIs.

20. The computer-implemented system of claim 19 , wherein the set of API parameters from each development API includes at least one of an API type, an authentication definition, a pagination definition, and parameters in a header and a payload of the development API.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2021
From: EBERLEIN, PETER; DRIESEN, VOLKER
To: SAP SE
Reel/Frame 055959/0284 →
Continuity (2)
Continuation 16455072 · Jun 27, 2019
Related Publication 20210240450A1 · Aug 5, 2021
Cited By (5)
US 12,423,185 US 12,499,116 US 12,541,616 US 12,561,225 US 12,689,626