IP Library Granted Patent US 12,681,629
Granted Patent B2
US 12,681,629 · App. 18/191,862 · Granted Jul 14, 2026

Function simulator driven by graphical user interface prototypes

Inventors: Chun Hong Zheng (Beijing, CN); Qun Q Zhang (Shanghai, CN); Xiao Feng Ji (Shanghai, CN)
Assignee: International Business Machines Corporation
G06F3/04847G06N3/045G06N3/0475G06N3/094
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 12,681,629
App. No.
18/191,862
Filed
Mar 28, 2023
Granted
Jul 14, 2026
Kind
B2
Art Unit
2143
USPC
715/762
Abstract

An execution-step sequence for a first graphical user interface can be determined. A second graphical user interface can include: first panel in which the first graphical user interface is presented; a second panel including a first user selectable component via which a user navigates forward in the execution-step sequence for the first graphical user interface and a second user selectable component via which the user navigates backward in the execution-step sequence for the first graphical user interface; and a third panel configured to represent steps of the execution-step sequence that are executed. Responsive to the user selecting the first user selectable component, an execution-step in the execution-step sequence can be executed, a result of the executing the execution-step can be depicted by redrawing the first graphical user interface, and component status data indicating the execution-step in the execution-step sequence that was executed can be added to the third panel.

Claims (73)

1 . A method, comprising:

determining, using a processor, an execution-step sequence for a first graphical user interface, wherein determining the execution-step sequence comprises:

determining, by an encoder of a Generative Adversarial Network (GAN) and using one or more components of the first graphical user interface, a hidden state associated with the one or more components; and

determining, by a generator of the GAN and using the hidden state and a target function, the execution-step sequence;

presenting a second graphical user interface, the second graphical user interface comprising:

a first panel in which the first graphical user interface is presented;

a second panel comprising a first user selectable component via which a user navigates forward in the execution-step sequence for the first graphical user interface and a second user selectable component via which the user navigates backward in the execution-step sequence for the first graphical user interface; and

a third panel configured to represent a plurality of execution-steps of the execution-step sequence that are executed, wherein the first panel, the second panel, and the third panel are separate and distinct; and

responsive to the user selecting the first user selectable component:

executing an execution-step in the execution-step sequence;

visually depicting a result of the executing the execution-step by redrawing the first graphical user interface; and

adding component status data to the third panel, wherein the component status data indicates, for the execution-step:

an action associated with the execution-step; and

a particular component of the one or more components on which the action was performed.

2 . The method of claim 1 , wherein the redrawing the first graphical user interface comprises:

redrawing a graphical user interface component, of the first graphical user interface, pertaining to the execution-step in the execution-step sequence that was executed.

3 . The method of claim 2 , wherein the redrawing the graphical user interface component comprises redrawing the graphical user interface component using Component Status Transition Generative Adversarial Networks trained using machine learning.

4 . The method of claim 1 , further comprising:

responsive to the user selecting the second user selectable component, removing from the third panel the component status data indicating the execution-step in the execution-step sequence that was executed responsive to the user selecting the first user selectable component.

5 . The method of claim 1 , wherein the determining the execution-step sequence for the first graphical user interface comprises determining the execution-step sequence using Function Execution-step Generative Adversarial Networks trained using machine learning.

6 . The method of claim 1 , further comprising:

generating a component status table for each execution-step in the execution-step sequence, each component status table tracking status of graphical user interface components of the first graphical user interface at the respective execution-step.

7 . The method of claim 1 , wherein:

the second panel comprises a third user selectable component; and

responsive to the user selecting the third user selectable component, permitting the user to tune the execution-steps of the execution-step sequence.

8 . The method of claim 1 , further comprising:

outputting content comprising a plurality of execution-steps of the execution-step sequence and, for each of the plurality of execution-steps, a respective image of the first graphical user interface corresponding to that execution-step and depicting the first graphical user interface in a state resulting from that execution-step.

9 . A system, comprising:

a processor programmed to initiate executable operations comprising:

determining an execution-step sequence for a first graphical user interface, wherein determining the execution-step sequence comprises:

determining, by an encoder of a Generative Adversarial Network (GAN) and using one or more components of the first graphical user interface, a hidden state associated with the one or more components; and

determining, by a generator of the GAN and using the hidden state and a target function, the execution-step sequence;

presenting a second graphical user interface, the second graphical user interface comprising:

a first panel in which the first graphical user interface is presented;

a second panel comprising a first user selectable component via which a user navigates forward in the execution-step sequence for the first graphical user interface and a second user selectable component via which the user navigates backward in the execution-step sequence for the first graphical user interface; and

a third panel configured to represent steps of the execution-step sequence that are executed, wherein the first panel, the second panel, and the third panel are separate and distinct; and

responsive to the user selecting the first user selectable component:

executing an execution-step in the execution-step sequence;

visually depicting a result of the executing the execution-step by redrawing the first graphical user interface; and

adding component status data to the third panel, wherein the component status data indicates, for the execution-step:

an action associated with the execution-step; and

a particular component of the one or more components on which the action was performed.

10 . The system of claim 9 , wherein the redrawing the first graphical user interface comprises:

redrawing a graphical user interface component, of the first graphical user interface, pertaining to the execution-step in the execution-step sequence that was executed.

11 . The system of claim 10 , wherein the redrawing the graphical user interface component comprises redrawing the graphical user interface component using Component Status Transition Generative Adversarial Networks trained using machine learning.

12 . The system of claim 9 , the executable operations further comprising:

responsive to the user selecting the second user selectable component, removing from the third panel the component status data indicating the execution-step in the execution-step sequence that was executed responsive to the user selecting the first user selectable component.

13 . The system of claim 9 , wherein the determining the execution-step sequence for the first graphical user interface comprises determining the execution-step sequence using Function Execution-step Generative Adversarial Networks trained using machine learning.

14 . The system of claim 9 , the executable operations further comprising: generating a component status table for each execution-step in the execution-step sequence, each component status table tracking status of graphical user interface components of the first graphical user interface at the respective execution-step.

15 . The system of claim 9 , wherein:

the second panel comprises a third user selectable component; and

responsive to the user selecting the third user selectable component, permitting the user to tune the execution-steps of the execution-step sequence.

16 . The system of claim 9 , the executable operations further comprising: outputting content comprising a plurality of execution-steps of the execution-step sequence and, for each of the plurality of execution-steps, a respective image of the first graphical user interface corresponding to that execution-step and depicting the first graphical user interface in a state resulting from that execution-step.

17 . A computer program product, comprising:

one or more computer readable storage mediums having program code stored thereon, the program code stored on the one or more computer readable storage mediums collectively executable by a data processing system to initiate operations including:

determining an execution-step sequence for a first graphical user interface, wherein determining the execution-step sequence comprises:

determining, by an encoder of a Generative Adversarial Network (GAN) and using one or more components of the first graphical user interface, a hidden state associated with the one or more components; and

determining, by a generator of the GAN and using the hidden state and a target function, the execution-step sequence;

presenting a second graphical user interface, the second graphical user interface comprising:

a first panel in which the first graphical user interface is presented;

a second panel comprising a first user selectable component via which a user navigates forward in the execution-step sequence for the first graphical user interface and a second user selectable component via which the user navigates backward in the execution-step sequence for the first graphical user interface; and

a third panel configured to represent steps of the execution-step sequence that are executed, wherein the first panel, the second panel, and the third panel are separate and distinct; and

responsive to the user selecting the first user selectable component:

executing an execution-step in the execution-step sequence;

visually depicting a result of the executing the execution-step by redrawing the first graphical user interface; and

adding component status data to the third panel, wherein the component status data indicates, for the execution-step:

an action associated with the execution-step; and

a particular component of the one or more components on which the action was performed.

18 . The computer program product of claim 17 , wherein the redrawing the first graphical user interface comprises:

redrawing a graphical user interface component, of the first graphical user interface, pertaining to the execution-step in the execution-step sequence that was executed.

19 . The computer program product of claim 18 , wherein the redrawing the graphical user interface component comprises redrawing the graphical user interface component using Component Status Transition Generative Adversarial Networks trained using machine learning.

20 . The computer program product of claim 17 , wherein the program code is executable by the data processing system to initiate operations further comprising:

responsive to the user selecting the second user selectable component, removing from the third panel the component status data indicating the execution-step in the execution-step sequence that was executed responsive to the user selecting the first user selectable component.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2023
From: ZHENG, CHUN HONG; ZHANG, QUN Q; JI, XIAO FENG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 063138/0524 →
Continuity (1)
Related Publication 20240329820A1 · Oct 3, 2024
References Cited (27)
US 8302072B2 · Chandhoke et al. · 2012 [cited by applicant]
US 8819629B2 · Sherrill · 2014 [cited by applicant]
US 10218803B2 · Ameling · 2019 [cited by applicant]
US 10489126B2 · Kumar et al. · 2019 [cited by applicant]
US 20040027373A1 · Jacquot · 2004 [cited by examiner]
US 20090259988A1 · Hertenstein · 2009 [cited by examiner]
US 20120204102A1 · Gwin · 2012 [cited by examiner]
US 20160071179A1 · Babcock · 2016 [cited by examiner]
US 20190317739A1 · Turek et al. · 2019 [cited by applicant]
US 20200043363A1 · Grossman · 2020 [cited by examiner]
US 20210264280A1 · Bonakdar Sakhi · 2021 [cited by examiner]
US 20220130380A1 · Touati · 2022 [cited by applicant]
US 20220350578A1 · Kulkarni et al. · 2022 [cited by applicant]
US 20230083894A1 · Duggal · 2023 [cited by examiner]
US 20230129431A1 · Sollami · 2023 [cited by examiner]
CN 113986251A · 2022 [cited by applicant]
WO 2021013655A1 · 2021 [cited by applicant]
Zhao, Tianming, et al. “Guigan: Learning to generate gui designs using generative adversarial networks.” 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). IEEE (Year: 2021). [cited by examiner]
Chen, C. et al., “From UI Design Image to GUI Skeleton: a Neural Machine Translator to Bootstrap Mobile GUI Implementation,” InProceedings of the 40th International Conference on Software Engineering, May 27, 2018, pp. … [cited by applicant]
Deka, B, et al., “Rico: A mobile app dataset for building data-driven design applications,” InProceedings of the 30th Annual ACM Symposium on User Interface Software and Technology, Oct. 20, 2017, pp. 845-854. [cited by applicant]
Kumar, R. et al., “Webzeitgeist: design mining the web,” InProceedings of the SIGCHI Conference on Human Factors in Computing Systems, Apr. 27, 2013, pp. 3083-3092. [cited by applicant]
Ritchie, D. et al., “d. tour: Style-based Exploration of Design Example Galleries,” InProceedings of the 24th Annual ACM Symposium on User Interface Software and Technology, Oct. 16, 2011, pp. 165-174. [cited by applicant]
Bao, L. et al., “Tracking and Analyzing Cross-Cutting Activities in Developers' Daily Work,” In2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), Nov. 9, 2015,pp. 277-282, IEEE. [cited by applicant]
Mell, P. et al., The NIST Definition of Cloud Computing, National Institute of Standards and Technology, U.S. Dept. of Commerce, Special Publication 800-145, Sep. 2011, 7 pg. [cited by applicant]
“Convolutional neural network”, Wikipedia—The Free Encyclopedia, Mar. 31, 2025, 40 pages, https://en.wikipedia.org/wiki/Convolutional_neural_network. [cited by applicant]
Choi et al., “StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation”, Korea University, Sep. 21, 2018, 15 pages. [cited by applicant]
Yu et al., “SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient”, Machine Learning, arXiv:1609.05473, Aug. 25, 2017, 11 pages. [cited by applicant]