IP Library Granted Patent US 7,234,094
Granted Patent B2
US 7,234,094 · App. 10/956,988 · Granted Jun 19, 2007

Automaton synchronization during system verification

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 7,234,094
App. No.
10/956,988
Granted
Jun 19, 2007
Kind
B2
Abstract

A method and apparatus for synchronizing a non-deterministic automaton being processed on a computing device during dynamic verification of a system or device under test, is described herein.

Claims (30)

1. A method comprising:

processing a non-deterministic automaton in a first computer task on one or more computing devices, as part of a dynamic verification of a device under test;

executing a synchronization directive specifying a synchronization condition during said processing;

suspending said first computer task in response to said executing; and

resuming said first computer task and said processing of said non-deterministic automaton, subsequent to the occurrence of said synchronization condition.

2. The method of claim 1 , wherein said executing of a synchronization directive comprises executing a synchronization directive located between two non-synchronization test computation statements in said non-deterministic automaton.

3. The method of claim 2 , wherein said processing of said non-deterministic automaton comprises processing a specification of a test computation that is not thread-safe.

4. The method of claim 3 , wherein said test computation is specified in one or more test program fragments.

5. The method of claim 2 , wherein said synchronizing directive comprises a directive for waiting for an event.

6. The method of claim 2 , wherein said device under test is a device selected from the group consisting of an electronic device, a model of an electronic device, and a design of an electronic device.

7. The method of claim 2 , wherein said synchronization condition comprises the device under test reaching a particular state.

8. The method of claim 2 , wherein the method further comprises executing a second computer task that results in the occurrence of the synchronization condition.

9. The method of claim 1 , wherein said processing of said non-deterministic automaton comprises processing a specification of a test computation that is not thread-safe.

10. The method of claim 9 , wherein said test computation is specified in one or more test program fragments.

11. The method of claim 9 , wherein said synchronizing directive comprises a directive for waiting for an event.

12. The method of claim 9 , wherein said device under test is a device selected from the group consisting of an electronic device, a model of an electronic device, and a design of an electronic device.

13. The method of claim 9 , wherein the method further comprises executing a second computer task that results in the occurrence of the synchronization condition.

14. The method of claim 1 , wherein said synchronizing directive comprises a directive for waiting for an event.

15. The method of claim 14 , wherein said event is an event selected from the group consisting of an elapse of an amount of time, a change of a counter which reaches a predetermined value, a change of a counter which exceeds a predetermined value, an occurrence of a predetermined behavior exhibited by said device under test, and an occurrence of a predetermined behavior exhibited by one or more components of the verification environment for said dynamic verification other than said non-deterministic automaton.

16. The method of claim 1 , wherein said device under test is a device selected from the group consisting of an electronic device, a model of an electronic device, and a design of an electronic device.

17. The method of claim 1 , wherein the method further comprises executing a second computer task that results in the occurrence of the synchronization condition.

18. An apparatus comprising:

a storage medium having stored therein programming instructions adapted to enable said apparatus to practice the following method:

processing a non-deterministic automaton in a first computer task on one or more computing devices, as part of a dynamic verification of a device under test;

executing a synchronization directive specifying a synchronization condition during said processing;

suspending said first computer task in response to said executing; and

resuming said first computer task and said processing of said non-deterministic automaton, subsequent to the occurrence of said synchronization condition; and

one or more processors coupled to said storage medium to execute said programming instructions.

19. The apparatus of claim 18 , wherein said storage medium comprises first and second storage units respectively having first and second subsets of said plurality of programming instructions; and said one or more processors comprise a first and a second processor, coupled to each other, and correspondingly coupled to said first and second storage units to respectively execute said first and second subsets of said programming instructions.

20. The apparatus of claim 19 , wherein said first and second processors are coupled to each other through a network connection.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Jun 29, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056713/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2006
From: LIGHTHOUSE DESIGN AUTOMATION, INC.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 017929/0304 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2004
From: KADKADE, SUDHIR DATTARAM; LYONS, CLIFTON ALTON, JR.
To: LIGHTHOUSE DESIGN AUTOMATION, INC.
Reel/Frame 015868/0565 →