# US 10,371,744 B2 · Method and apparatus for an efficient framework for testcell development

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

- Number: US 10,371,744 B2
- Document ID: US10371744B2
- Status: Granted
- Kind: B2
- Application number: 14/635,225
- Filed: 2015-03-02
- Published: 2015-06-25
- Granted: 2019-08-06
- Earliest claimed: 2012-04-11
- Assignees: Advantest Corporation
- Applicants: Advantest Corporation
- Inventors: Brian Buras
- Web page: https://patentgrep.com/patent/US10371744B2

## CPC

- G01R 31/2834: {Automated test systems [ATE]; using microprocessors or computers (G01R31/317 takes precedence; ATE for detection of defective computer hardware G06F11/2736)}
- G01R 31/2894: {Aspects of quality control [QC] (G01R31/31718 takes precedence; program control for QC G05B19/41875)}
- G01R: MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES (indicating correct tuning of resonant circuits H03J3/12)

## Abstract

A method of performing a test using automated test equipment (ATE) is disclosed. The method comprises configuring a proxy application programming interface (API) services module, wherein the proxy API services module provides an interface between a test framework and a test software environment, wherein the test framework communicates with the test software environment though the proxy API services module, wherein the test software environment is communicatively coupled with test hardware, and wherein the proxy API services module is configured to isolate the test framework from dependencies associated with the test software environment. The method further comprises communicating commands synchronously between the test framework and the test software environment, wherein the test framework comprises a plurality of components, and wherein the plurality of components is operable to receive commands from the test software environment and further operable to transmit commands to the test software environment through the proxy API services module.

## Claims

### Claim 1

A method of performing a test using automated test equipment (ATE), the method comprising:
configuring a proxy application programming interface (API) services module, wherein the proxy API services module provides an interface between a test framework and a test software environment, wherein said test framework communicates with said test software environment through said proxy API services module, wherein said test software environment is communicatively coupled with test hardware, and wherein further said proxy API services module is configured to isolate said test framework from dependencies associated with said test software environment; and
communicating commands synchronously between said test framework and said test software environment, wherein said test framework comprises a plurality of components that is operable to receive commands from said test software environment and further operable to transmit commands to said test software environment through said proxy API services module.

### Claim 2 (depends on 1)

The method of claim 1, wherein said communicating further comprises:
communicating commands synchronously between components within said test framework using shared memory structures and common semaphore synchronization patterns.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
distributing event notifications asynchronously between said test framework and said test software environment, wherein said event information is distributed through a central dispatcher module.

### Claim 4 (depends on 3)

The method of claim 3, wherein said test framework and said test software environment are implemented on a test cell controller, and wherein said central dispatcher module is a daemon process running on said test cell controller.

### Claim 5 (depends on 3)

The method of claim 3, further comprising:
distributing event notifications from a component in said test framework to other components in said test framework through said central dispatcher, wherein said central dispatcher is operable to insert an event notification to be distributed into a message queue associated with each component within said test framework.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
creating a component within said test framework; and
connecting to said test framework using a unique string identifier.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
generating an event from said component; and
initiating execution of a script associated with said event using a central dispatcher module.

### Claim 8

An apparatus for testing a device, the apparatus comprising:
a memory; and
a processor configured to implement:
a test framework comprising a plurality of components, wherein each component is a process and wherein a respective lifecycle of each component is determined by said test framework; and
a proxy application programming interface (API) service module operable to provide an interface between said test framework and a test software environment, wherein said test framework communicates with said test software environment through said proxy API services module, wherein said test software environment is communicatively coupled with test hardware, and wherein further said proxy API services module is configured to isolate said test framework from dependencies associated with said test software environment, and
wherein said proxy API service module is further operable to communicate commands synchronously between said test framework and said test software environment, wherein said plurality of components is operable to receive commands from said test software environment and further operable to transmit commands to said test software environment through said proxy API services module.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein each of said plurality of components is operable to communicate commands synchronously to other components within said test framework using shared memory structures and common semaphore synchronization patterns.

### Claim 10 (depends on 8)

The apparatus of claim 8, further comprising:
a central dispatcher module operable to route event notifications asynchronously between said test software environment and said plurality of components within said test framework.

### Claim 11 (depends on 10)

The apparatus of claim 10, further comprising:
a test cell controller, wherein said test framework and said test software environment are implemented on said test cell controller, and wherein said central dispatcher module is a daemon process running on said test cell controller.

### Claim 12 (depends on 10)

The apparatus of claim 10, wherein said central dispatcher module is further operable to route event notifications from a component in said test framework to other components in said test framework, and wherein said central dispatcher inserts an event notification to be distributed into a message queue associated with each component within said test framework.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein each component is selected from a group consisting of: a 32-bit architecture component and a 64-bit architecture component.

### Claim 14

A non-transitory computer-readable medium having computer-readable program code embodied therein for causing a computer system to perform a method of configuring a test using automated test equipment (ATE), the method comprising:
configuring a proxy application programming interface (API) services module to provide an interface between a test framework and a test software environment, wherein said test framework communicates with said test software environment through said proxy API services module, wherein said test software environment is communicatively coupled with test hardware, and wherein said proxy API services module is also configured to isolate said test framework from dependencies associated with said test software environment; and
communicating commands synchronously between said test framework and said test software environment, wherein said test framework comprises a plurality of components operable to receive commands from said test software environment and further operable to transmit commands to said test software environment through said proxy API services module.

### Claim 15 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the communicating further comprises:
communicating commands synchronously between components within said test framework using shared memory structures and common semaphore synchronization patterns.

### Claim 16 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the method further comprises:
distributing event notifications asynchronously between said test framework and said test software environment, wherein said event information is distributed through a central dispatcher module.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein said test framework and said test software environment are implemented on a test cell controller, and wherein said central dispatcher module is a daemon process running on said test cell controller.

### Claim 18 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein said method further comprises:
distributing event notifications from a component in said test framework to other components in said test framework through said central dispatcher, wherein said central dispatcher is operable to insert an event notification to be distributed into a message queue associated with each component within said test framework.

### Claim 19 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the method further comprises:
creating a component within said test framework; and
connecting to said test framework using a unique string identifier.

### Claim 20 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the method further comprises:
generating an event from said component; and
initiating execution of a script associated with said event using a central dispatcher module.
