METHODS FOR PRESENTING PROGRAM EXECUTION IN A GRAPHICAL FASHION
20220358022 · 2022-11-10
Inventors
Cpc classification
International classification
G06F11/32
PHYSICS
Abstract
Methods for analyzing data inside a computer program. As the program executes, a display of internal file contents is provided in real-time. Additionally, graphics and document text are provided to provide a better understanding of the program.
Claims
1. A method, comprising: inserting, into a computer program, computer software instructions to cause a presentation of a split screen view of operations of the computer program Shen the computer program is executed; and executing, by a processor, the computer program with the computer software instructions inserted therein, the execution of the computer program comprising: processing a first transaction of the computer program followed by a second transaction of the computer program different from the first transaction, presenting the split screen view of the operations of the computer program, a first portion of said split screen view including first graphical elements, and a second portion of said split screen view including second graphical elements, wherein the second graphical elements include at least a first block illustrating the first transaction and a second block illustrating the second transaction, the first block being different from the second block; responsive to processing the first transaction, presenting in the second portion of said split screen view the first block with greater emphasis than the second block; and responsive to processing the second transaction, presenting in the second portion of said split screen view the second block with greater emphasis than the first block, wherein the second graphical elements are presented on a transaction-by-transaction basis of the computer program during its execution.
2. The method of claim 1, wherein the second graphical elements further include text describing what is shown in the second graphical elements.
3. The method of claim 1, wherein the execution of the computer program proceeds according to a viewer command received from the first portion of said split screen view.
4. The method of claim 3, wherein the viewer command comprises entering a password into a text box in the first portion of said split screen view.
5. The method of claim 1, wherein the first and second blocks are part of a block diagram presented in the second portion f said split screen view.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The present invention may be better understood by referring to the following description in conjunction with the accompanying drawings, in which:
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
DETAILED DESCRIPTION
[0027] The present inventor has recognized that a new tool is needed for designers, developers, auditors, salesmen, managers, and others to graphically understand and demonstrate what computer programs and electronic devices executing such programs are actually doing in real-time.
[0028] The present invention makes it easier to understand what is happening inside a computer system. Specifically, it provides the tools for a program to give a real-time view of its execution and operation using actual file contents, graphic images, and document text. In this way, a viewer (e.g., at a display of a computer executing the program or at a client remote from but communicably coupled to the computer executing the program) can see the actual data additions, accesses, changes, and/or deletions being effected by the executing program, with running a commentary of what the executing program is doing.
[0029] Referring to
[0030]
[0031] System 1000 includes a bus 1002 or other communication mechanism for communicating information, and a processor 1004 coupled with the bus 1002 for processing information. Computer system 1000 also includes a main memory 1006, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 1002 for storing information and instructions (e.g., portions of computer program 110) to be executed by processor 1004. Main memory 1006 also may be used for storing temporary variables or other intermediate information during execution of computer program 110 by processor 1004. Computer system 1000 further includes a read only memory (ROM) 1008 or other static storage device coupled to the bus 1002 for storing static information and instructions for the processor 1004. A storage device 1010, for example a hard disk, flash memory-based storage medium, or other storage medium from which processor 1004 can read, is provided and coupled to the bus 1002 for storing information and instructions (e.g., operating systems, applications programs such as computer program 110, etc.).
[0032] Processor 1004 may be coupled via the bus 1002 to a display 1012, such as a flat panel display, for displaying information to a computer user (such as the viewer referenced above). An input device 1014, such as a keyboard including alphanumeric and other keys, may be coupled to the bus 1002 for communicating information and command selections to the processor 1004. Another type of user input device is cursor control device 1016, such as a mouse, a trackpad, or similar input device for communicating direction information and command selections to processor 1004 and for controlling cursor movement on the display 1012. Like display 1012, input devices 1014, 1016, etc. may be local to or remote from other components of system 1000. Other user interface devices, such as microphones, speakers, etc. are not shown in detail but may be involved with the receipt of user input and/or presentation of output.
[0033] The processes referred to herein, specifically the execution of a computer program in accordance with the present invention, may be implemented by processor 1004 executing appropriate sequences of computer-readable instructions contained in main memory 1006. Such instructions may be read into main memory 1006 from another computer-readable medium, such as storage device 1010, and execution of the sequences of instructions contained in the main memory 1006 causes the processor 1004 to perform the associated actions. In alternative embodiments, hard-wired circuitry or firmware-controlled processing units may be used in place of or in combination with processor 1004 and its associated computer software instructions to implement the invention. The computer-readable instructions may be rendered in any computer language.
[0034] Computer system 1000 also includes a communication interface 1018 coupled to the bus 1002. Communication interface 1018 may provide a two-way data communication channel with a computer network, which provides connectivity to and among various computer systems. For example, communication interface 1018 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN, which itself is communicatively coupled to the Internet through one or more Internet service provider networks. The precise details of such communication paths are not critical to the present invention. What is important is that computer system 1000 can send and receive messages and data through the communication interface 1018 and in that way communicate with clients and hosts accessible via the Internet. It is noted that the components of system 1000 may be located in a single device or located in a plurality of physically and/or geographically distributed devices.
[0035] As noted above, in one preferred embodiment computer program 110 runs in an “X-Ray” mode by having new code inserted at specific points of interest. This inserted code causes the display 150 of file content and accesses graphics images 160 and document text 170 in real-time as the file contents exist at the respective point of interest. In other embodiments, a second program may execute alongside computer program 110, observing changes to the files 120, 130, 140, and display the file content, graphics images 160, and document text 170 independently of computer program 110. Other methods of analyzing and displaying the internal operations of a computer program in real-time consistent with embodiments of the invention may occur to persons of ordinary skill in the art after reviewing this disclosure. For example, while in one embodiment of the present invention all tasks including processing of file A 120, file B 130, and file C 140, presenting file contents on display 150 in real-time, presenting graphic images 160 on display 150 in real-time, and presenting document text 170 on display 150 in real-time are performed by a single program 110, other embodiments may involve file A 120, file B 130, and file C 140 being managed by other objects, tasks, or programs that may or may not be in communication with program 110.
[0036]
[0037]
[0038] An example of the looping nature of process 300 is presented in
[0039] Of course, during regular execution of program 430, the processes illustrated in
[0040] Referring now to
[0041]
[0042] The examples of vault data 712, log data 714, and database data 716 are for illustration purposes only. The present invention permits a designer, salesperson, auditor, or any other person to request any graphic and supporting window(s) be created to analyze the data inside a computer program.
[0043] Thus, a system, method, and apparatus for analyzing data inside a computer program has been described.