IP Library Granted Patent US 8,695,013
Granted Patent B2
US 8,695,013 · App. 13/087,554 · Granted Apr 8, 2014

System and method for thread protected testing

Inventor: Mark Brazier (Cambridge, GB)
Assignee: Siemens Product Lifecycle Management Software Inc.
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 8,695,013
App. No.
13/087,554
Granted
Apr 8, 2014
Kind
B2
Abstract

A method performed by a system including one or more data processing systems. The method includes receiving a plurality of requesting process calls for a target process from one or more requesting processes, and identifying dependencies between the requesting process calls. The method includes sending the requesting process call to the target process for execution on multiple threads, including sending thread execution parameters corresponding to the requesting process calls. The method includes receiving results, corresponding to the requesting process calls, from the target process. The method includes sending the results to the requesting processes corresponding to the respective requesting process calls.

Claims (35)

1. A method performed by a system including one or more data processing systems, comprising:

receiving a plurality of requesting process calls for a target process from one or more requesting processes, wherein the one or more requesting processes are non-thread-safe processes and the target process is a thread-safe process;

identifying dependencies between the requesting process calls;

sending the requesting process calls to the target process for execution on multiple threads, based on the identified dependencies, including sending thread execution parameters corresponding to the requesting process calls, the thread execution parameters indicating that the requesting process calls must be processed in a specific order based on the dependencies, wherein the plurality of requesting process calls are nested according to the dependencies;

receiving results, corresponding to the requesting process calls, from the target process; and

sending the results to the one or more requesting processes corresponding to the respective requesting process calls.

2. The method of claim 1 , wherein identifying dependencies includes identifying when the results of a first requesting process call is needed for proper execution of a second requesting process call.

3. The method of claim 1 , wherein identifying dependencies includes identifying when a first requesting process call and a second requesting process call should share process objects.

4. The method of claim 1 , wherein target process executes the requesting process calls according to the thread execution parameters.

5. The method of claim 1 , wherein the one or more requesting processes act as a test harness for the target process.

6. The method of claim 5 , wherein the results are test results from the target process.

7. At least one data processing system, each data processing system comprising:

a memory; and

one or more processors, each processor having one or more cores, the at least one data processing system configured to execute the steps of:

receiving a plurality of requesting process calls for a target process from one or more requesting processes, wherein the one or more requesting processes are non-thread-safe processes and the target process is a thread-safe process;

identifying dependencies between the requesting process calls;

sending the requesting process call to the target process for execution on multiple threads, based on the identified dependencies, including sending thread execution parameters corresponding to the requesting process calls, the thread execution parameters indicating that the requesting process calls must be processed in a specific order based on the dependencies, wherein the plurality of requesting process calls are nested according to the dependencies;

receiving results, corresponding to the requesting process calls, from the target process; and

sending the results to the one or more requesting processes corresponding to the respective requesting process calls.

8. The at least one data processing system of claim 7 , wherein identifying dependencies includes identifying when the results of a first requesting process call is needed for proper execution of a second requesting process call.

9. The at least one data processing system of claim 7 , wherein identifying dependencies includes identifying when a first requesting process call and a second requesting process call should share process objects.

10. The at least one data processing system of claim 7 , wherein target process executes the requesting process calls according to the thread execution parameters.

11. The at least one data processing system of claim 7 , wherein the one or more requesting processes act as a test harness for the target process.

12. The at least one data processing system of claim 11 , wherein the results are test results from the target process.

13. A non-transitory computer readable medium having instructions that, when executed, cause one or more data processing systems to perform the steps of:

receiving a plurality of requesting process calls for a target process from one or more requesting processes, wherein the one or more requesting processes are non-thread-safe processes and the target process is a thread-safe process;

identifying dependencies between the requesting process calls;

sending the requesting process call to the target process for execution on multiple threads, based on the identified dependencies, including sending thread execution parameters corresponding to the requesting process calls, the thread execution parameters indicating that the requesting process calls must be processed in a specific order based on the dependencies, wherein the plurality of requesting process calls are nested according to the dependencies;

receiving results, corresponding to the requesting process calls, from the target process; and

sending the results to the one or more requesting processes corresponding to the respective requesting process calls.

14. The non-transitory computer-readable medium of claim 13 , wherein identifying dependencies includes identifying when the results of a first requesting process call is needed for proper execution of a second requesting process call.

15. The non-transitory computer-readable medium of claim 13 , wherein identifying dependencies includes identifying when a first requesting process call and a second requesting process call should share process objects.

16. The non-transitory computer-readable medium of claim 13 , wherein target process executes the requesting process calls according to the thread execution parameters.

17. The non-transitory computer-readable medium of claim 13 , wherein the one or more requesting processes act as a test harness for the target process.

18. The non-transitory computer-readable medium of claim 17 , wherein the results are test results from the target process.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2011
From: SIEMENS INDUSTRY SOFTWARE LIMITED
To: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
Reel/Frame 026455/0053 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2011
From: BRAZIER, MARK
To: SIEMENS INDUSTRY SOFTWARE LIMITED
Reel/Frame 026134/0621 →
Continuity (1)
Related Publication 20120266182A1 · Oct 18, 2012