# US 12,223,242 B1 · Simulation layer for user interface development

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

- Number: US 12,223,242 B1
- Document ID: US12223242B1
- Status: Granted
- Kind: B1
- Application number: 18/446,049
- Filed: 2023-08-08
- Published: 2025-02-13
- Granted: 2025-02-11
- Earliest claimed: 2023-08-08
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Sebastian Mietke
- Web page: https://patentgrep.com/patent/US12223242B1

## CPC

- G06F 30/27: using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
- G06F 8/38: for implementing user interfaces
- G06F 9/451: Execution arrangements for user interfaces
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods simulate changes to a User Interface (UI) of a software application. During a setup phase, elements of an original UI are extracted and copied in a mesh indicating their position. An event is received and determined to be of a type simulating a change to the copied UI element. Changes to the UI (e.g., field grouping/arrangement; field labeling; error message adjustment; others) are then simulated in a synchronous manner to allow for user inspection. Changes to corresponding development objects of the software application implicated by the simulation, may be derived and reported in an asynchronous manner. Some embodiments may automatically apply the determined changes to the corresponding development objects in the development system. Simulation implemented according to embodiments may accelerate the UI development process, by allowing various stakeholders to review proposed changes in a collaborative manner at the design gate (d-gate) or other UI review meeting stage.

## Claims

### Claim 1

A method comprising:
receiving a simulation request;
in response to the simulation request, generating a simulation layer of an original user interface (UI) by,
extracting information regarding a plurality of user elements of the original UI,
creating a mesh including a plurality of positions, and
copying the plurality of user elements to respective positions in the mesh;
storing the simulation layer in a non-transitory computer readable storage medium;
displaying the mesh overlying the original UI;
receiving an event;
determining that a type of the event is a simulated change to the UI; and
changing the simulation layer in a synchronous manner responsive to the event.

### Claim 2 (depends on 1)

A method as in claim 1 wherein changing the simulation layer comprises adjusting a development object.

### Claim 3 (depends on 2)

A method as in claim 2 wherein changing the simulation layer comprises adjusting a metadata extension file.

### Claim 4 (depends on 1)

A method as in claim 1 wherein the respective positions are based upon code of the original UI.

### Claim 5 (depends on 1)

A method as in claim 1 wherein the respective positions are based upon the application of machine learning.

### Claim 6 (depends on 1)

A method as in claim 1 wherein the type of the event is determined from a hotkey or a dedicated button.

### Claim 7 (depends on 1)

A method as in claim 1 wherein the simulation layer is implemented as a library or as a plug-in.

### Claim 8 (depends on 1)

A method as in claim 1 further comprising:
deriving from the simulation layer, a change of a development object in the original UI.

### Claim 9 (depends on 8)

A method as in claim 8 wherein the change of the development object is derived in an asynchronous manner.

### Claim 10 (depends on 8)

A method as in claim 8 further comprising changing the development object in the original UI.

### Claim 11

A non-transitory computer readable storage medium comprising a computer program for performing a method, said method comprising:
receiving a simulation request;
in response to the simulation request, generating a simulation layer of an original user interface (UI) by,
extracting information regarding a plurality of user elements of the original UI,
creating a mesh including a plurality of positions, and
copying the plurality of user elements to respective positions in the mesh;
storing the simulation layer in a non-transitory computer readable storage medium;
displaying the mesh overlying the original UI;
receiving an event;
determining that a type of the event is a simulated change to the UI;
changing the simulation layer in a synchronous manner responsive to the event; and
deriving from the simulation layer, a change of a development object in the original UI.

### Claim 12 (depends on 11)

A non-transitory computer readable storage medium as in claim 11 wherein deriving the change of the development object is performed asynchronously.

### Claim 13 (depends on 11)

A non-transitory computer readable storage medium as in claim 11 wherein the respective positions are based upon code of the original UI.

### Claim 14 (depends on 11)

A non-transitory computer readable storage medium as in claim 11 wherein the respective positions are based upon the application of machine learning.

### Claim 15 (depends on 14)

A non-transitory computer readable storage medium as in claim 14 wherein changing the simulation layer comprises adjusting a development object.

### Claim 16

A computer system comprising:
one or more processors;
a software program, executable on said computer system, the software program configured to cause a processor to:
receive a simulation request;
in response to the simulation request, generate a simulation layer of an original user interface (UI) by,
extracting information regarding a plurality of user elements of the original UI,
creating a mesh including a plurality of positions, and
copying the plurality of user elements to respective positions in the mesh;
store the simulation layer in a non-transitory computer readable storage medium;
display the mesh overlying the original UI;
receive an event;
determine a type of the event is a simulated change to the UI; and
change the simulation layer in a synchronous manner responsive to the event.

### Claim 17 (depends on 16)

A computer system as in claim 16 wherein changing the simulation layer comprises adjusting a development object.

### Claim 18 (depends on 17)

A computer system as in claim 17 wherein changing the simulation layer comprises adjusting a metadata extension file.

### Claim 19 (depends on 16)

A computer system as in claim 16 wherein the processor is further configured to derive from the simulation layer, a change of a development object in the original UI.

### Claim 20 (depends on 16)

A computer system as in claim 16 wherein the respective positions are based upon the application of machine learning.
