# US 2021/0240450 A1 · Application assessment system to achieve interface design consistency across micro services

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240450 A1
- Document ID: US20210240450A1
- Status: Published application
- Kind: A1
- Application number: 17/233,999
- Filed: 2021-04-19
- Published: 2021-08-05
- Earliest claimed: 2019-06-27
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Peter Eberlein; Volker Driesen
- Web page: https://patentgrep.com/patent/US20210240450A1

## CPC

- G06F 8/35: model driven
- G06F 9/451: Execution arrangements for user interfaces
- G06F 8/38: for implementing user interfaces
- G06F 11/3438: {monitoring of user actions (tracking the activity of the user H04L67/535)}
- G06F 11/3447: {Performance evaluation by modeling}
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 4)

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.

### Claim 6 (depends on 5)

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.

### Claim 7 (depends on 4)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 9)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 11)

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.

### Claim 13 (depends on 12)

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.

### Claim 14 (depends on 11)

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.

### Claim 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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 16)

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.

### Claim 18 (depends on 15)

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.

### Claim 19 (depends on 18)

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.

### Claim 20 (depends on 19)

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.
