# US 2014/0196013 A1 · Data presentation in integrated development environments

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

- Number: US 2014/0196013 A1
- Document ID: US20140196013A1
- Status: Published application
- Kind: A1
- Application number: 13/844,124
- Filed: 2013-03-15
- Published: 2014-07-10
- Earliest claimed: 2013-01-09
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Kenneth S. Orr; Giulia M. Pagallo; Geppy Parziale
- Web page: https://patentgrep.com/patent/US20140196013A1

## CPC

- G06F 11/3624: {by performing operations on the source code, e.g. via a compiler}
- G06F 9/44526: {Plug-ins; Add-ons}
- G06F 9/451: Execution arrangements for user interfaces
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and apparatus are provided to access and present data from a process executing on a separate device, with the data being presented in a form suitable for the type of data, such as a graphical structure that represents the data. The methods include receiving a request to display a first data object stored in a memory of a second computing device, wherein the first object is of a first data type in a process configured to execute on the second computing device, generating an expression configured to convert the first data object to a defined data format, sending the expression to the process, executing the expression in the process to produce intermediate data that represents the first object in the defined format, receiving the intermediate data, creating a second object of a second data type based upon the intermediate data, and displaying a graphical structure of the second object.

## Claims

### Claim 1

A method of presenting data in a development environment on a first computer system, the method comprising:
receiving, by the first computer system, a request to display a value of a variable stored in a memory of a second computer system, the variable having a variable name and a variable type;
identifying, by the first computer system, type translation instructions that translate data from the first format to the second format;
sending, by the computer system, the instructions to a second computer system to generate a first representation of the variable in the first format;
receiving, by the first computer system, the first representation of the variable in the first format;
translating, by the first computer system, the first representation of the variable from the first format to a second representation of the variable in a second format in accordance with the type translation instructions; and
displaying, by the first computer system, a human-readable representation of the variable based upon the second representation of the variable.

### Claim 2 (depends on 1)

The method of claim 1, wherein identifying type translation instructions comprises:
searching a variable lookup table for an entry associated with the variable name;
selecting a host type from the entry associated with the variable name;
searching an instruction lookup table for an entry associated with the host type; and
selecting the type translation instructions from the entry associated with the host type.

### Claim 3 (depends on 1)

The method of claim 1, wherein the type translation instructions include one or more debugger commands configured to cause a debugger to generate a platform-independent representation of the data.

### Claim 4 (depends on 3)

The method of claim 3, wherein the one or more debugger commands comprise one or more expressions that, when evaluated, cause an application process executing on the second computer system to generate the first representation of the variable in the first format.

### Claim 5 (depends on 3)

The method of claim 3, wherein sending the instructions to a second computer system comprises:
sending, via network communication, the one or more debugger commands to a debugger located on the second computer system, wherein the debugger is configured to access an application process located on the second computer system.

### Claim 6 (depends on 3)

The method of claim 3, wherein receiving the first representation of the variable in the first format comprises:
receiving the platform independent representation of the data from the debugger.

### Claim 7 (depends on 6)

The method of claim 6, wherein translating the first representation of the variable comprises:
creating an object on the first computer system; and
setting content of the object to the platform independent representation of the data, wherein the object is configured to generate the second representation of the variable from the first representation of the variable.

### Claim 8 (depends on 7)

The method of claim 7, wherein displaying a human-readable representation of the variable comprises displaying a user interface component configured to display objects of a type associated with the second representation of the variable.

### Claim 9 (depends on 1)

The method of claim 1, wherein the variable represents a media object, and displaying a human-readable representation includes presenting a representation of the media object.

### Claim 10 (depends on 1)

The method of claim 1, wherein the variable represents a graphical object, and displaying a human-readable representation includes displaying a graphical image of the media object.

### Claim 11 (depends on 1)

The method of claim 1, wherein the first format is a memory representation of a first data type on the second computer system, and
the second format is a memory representation of a second data type on the first computer system, and the type translation instructions are configured to translate data from the first format to the second format.

### Claim 12 (depends on 1)

The method of claim 1, wherein a debugger located on the second computer system performs object creation instructions to generate the representation of the variable in the first format, and sends the representation of the variable in the first format to the first computer system.

### Claim 13

A system comprising:
a processor:
a memory storing computer executable instructions that when executed by the processor cause the processor to:
receive a request to display a first data object stored in a memory of a second computing device, wherein the first object is of a first data type in a process configured to execute on the second computing device;
identify one or more computer program code instructions based on the first data type, the instructions configured to generate an expression to convert the first data object to a defined data format;
generate, using instructions specific to the data type, an expression configured to convert the first data object to a defined data format;
send the expression to the process on the second computing device, wherein the second computing device receives and executes the expression in the process to produce intermediate data that represents the first object in the defined format;
receive the intermediate data;
create, using instructions specific to the data type, a second object of a second data type, the second object based upon the intermediate data, wherein the second object is a representation of the first object; and
present the second object on the first device.

### Claim 14 (depends on 13)

The system of claim 13, wherein presenting comprises displaying, at the first computing device, a graphical representation of the second object in a user interface.

### Claim 15 (depends on 13)

The system of claim 13, wherein sending the expression to the second computing device comprises sending the expression to a debugger, and the debugger sends the expression to the process on the second computing device.

### Claim 16 (depends on 13)

The system of claim 13, wherein the first object has one or more attributes, and the instructions set one or more attributes of the second object based upon the intermediate data, resulting in the second object having the same attributes as the first object.

### Claim 17 (depends on 16)

The system of claim 16, wherein the one or more first attributes comprise one or more values that represent one or more points in a line, polygon, or Bezier curve.

### Claim 18

A non-transitory machine-readable medium for a computer system, the non-transitory machine-readable medium having stored thereon a series of instructions executable by a processor to present data in a development environment, the series of instructions comprising:
instructions that cause the processor to receive a request to display a value of a variable stored in a memory of a second computer system, the variable having a variable name and a variable type;
instructions that cause the processor to identify type translation instructions that translate data from the first format to the second format;
instructions that cause the processor to send the instructions to a second computer system to generate a first representation of the variable in the first format;
instructions that cause the processor to receive the first representation of the variable in the first format;
instructions that cause the processor to translate the first representation of the variable from the first format to a second representation of the variable in a second format in accordance with the type translation instructions; and
instructions that cause the processor to display a human-readable representation of the variable based upon the second representation of the variable.

### Claim 19 (depends on 18)

The machine-readable medium of claim 18, wherein the instructions that cause the processor to identify type translation instructions comprise:
instructions that cause the processor to search a variable lookup table for an entry associated with the variable name;
instructions that cause the processor to select a host type from the entry associated with the variable name;
instructions that cause the processor to search an instruction lookup table for an entry associated with the host type; and
instructions that cause the processor to select the type translation instructions from the entry associated with the host type.

### Claim 20 (depends on 18)

The machine-readable medium of claim 18, wherein the type translation instructions include one or more debugger commands configured to cause a debugger to generate a platform-independent representation of the data.

### Claim 21 (depends on 20)

The machine-readable medium of claim 20, wherein the one or more debugger commands comprise one or more expressions that, when evaluated, cause an application process executing on the second computer system to generate the first representation of the variable in the first format.

### Claim 22 (depends on 18)

The machine-readable medium of claim 18, wherein the instructions that cause the processor to send the instructions to a second computer system comprise:
instructions that cause the processor to send, via network communication, the one or more debugger commands to a debugger located on the second computer system, wherein the debugger is configured to access an application process located on the second computer system.

### Claim 23 (depends on 20)

The machine-readable medium of claim 20, wherein the instructions that cause the processor to translate the first representation of the variable comprise:
instructions that cause the processor to create an object on the first computer system; and
instructions that cause the processor to set content of the object to the platform independent representation of the data, wherein the object is configured to generate the second representation of the variable from the first representation of the variable.

### Claim 24 (depends on 18)

The machine-readable medium of claim 18, wherein the first format is a memory representation of a first data type on the second computer system, and
the second format is a memory representation of a second data type on the first computer system, and the type translation instructions are configured to translate data from the first format to the second format.
