IP Library Granted Patent US 7,290,193
Granted Patent B2
US 7,290,193 · App. 10/957,259 · Granted Oct 30, 2007

System verification using one or more automata

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,290,193
App. No.
10/957,259
Granted
Oct 30, 2007
Kind
B2
Abstract

A method and apparatus for manipulating a non-deterministic automaton and a traversal of a non-deterministic automaton for dynamic verification of a system or device under test is described herein.

Claims (42)

1. A method comprising:

traversing at least one non-deterministic automaton on one or more computing devices, as part of a dynamic verification of a device under test;

receiving a directive to modify said at least one non-deterministic automaton in the course of said traversing;

pausing said traversing, and modifying said at least one non-deterministic automaton as directed; and

resuming said traversing of said at least one non-deterministic automaton.

2. The method of claim 1 , wherein said receiving comprises receiving said directive from a task performing a test computation as part of said dynamic verification of said device under test.

3. The method of claim 2 , wherein said task, when deciding whether to issue said directive, takes into consideration information derived from behavior of said device under test during said dynamic verification.

4. The method of claim 3 , wherein said behavior of said device under test during said dynamic verification is non-deterministic to said task.

5. The method of claim 4 , wherein said task is intrinsic to said traversing of said at least one non-deterministic automaton.

6. The method of claim 4 , wherein said task is extrinsic to said traversing of said at least one non-deterministic automaton.

7. 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.

8. A method comprising:

traversing at least one non-deterministic automaton on one or more computing devices, as part of a dynamic verification of a device under test;

receiving a directive to modify a set of constraints on said traversing in the course of said traversing;

pausing said traversing, and modifying said set of constraints as directed; and resuming said traversing of said at least one non-deterministic automaton.

9. The method of claim 8 , wherein said receiving comprises receiving said directive from a task performing a test computation as part of said dynamic verification of said device under test.

10. The method of claim 9 , wherein said task, when deciding whether to issue said directive, takes into consideration information derived from behavior of said device under test during said dynamic verification.

11. The method of claim 10 , wherein said behavior of said device under test during said dynamic verification is non-deterministic to said task.

12. The method of claim 11 , wherein said task is intrinsic to said traversing of said at least one non-deterministic automaton.

13. The method of claim 11 , wherein said task is extrinsic to said traversing of said at least one non-deterministic automaton.

14. The method of claim 8 , 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.

15. A method comprising:

providing a traversal mechanism for traversing at least one non-deterministic automaton on one or more computing devices;

traversing said at least one non-deterministic automaton using said traversal mechanism, as part of a dynamic verification of a device under test;

receiving a directive to modify said traversal mechanism in the course of said traversing;

pausing said traversing, and modifying said traversal mechanism as directed; and

resuming said traversing of said at least one non-deterministic automaton.

16. The method of claim 15 , wherein said receiving comprises receiving said directive from a task performing a test computation as part of said dynamic verification of said device under test.

17. The method of claim 16 , wherein said task, when deciding whether to issue said directive, takes into consideration information derived from behavior of said device under test during said dynamic verification.

18. The method of claim 17 , wherein said behavior of said device under test during said dynamic verification is non-deterministic to said task.

19. The method of claim 18 , wherein said task is intrinsic to said traversing of said at least one non-deterministic automaton.

20. The method of claim 19 , wherein said task is extrinsic to said traversing of said at least one non-deterministic automaton.

21. The method of claim 15 , 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.

22. An apparatus comprising:

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

traversing at least one non-deterministic automaton on one or more computing devices, as part of a dynamic verification of a device under test;

receiving a directive to modify said at least one non-deterministic automaton in the course of said traversing;

pausing said traversing, and modifying said at least one non-deterministic automaton as directed; and

resuming said traversing of said at least one non-deterministic automaton; and

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

23. The apparatus of claim 22 , 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.

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

Assignments (5)
MERGER AND CHANGE OF NAME Recorded Jun 29, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056702/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2010
From: NORTHROP GRUMMAN SPACE & MISSION SYSTEMS CORP.
To: NORTHROP GRUMMAN SYSTEMS CORPORATION
Reel/Frame 023915/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2009
From: NORTHROP GRUMMAN CORPORTION
To: NORTHROP GRUMMAN SPACE & MISSION SYSTEMS CORP.
Reel/Frame 023699/0551 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2006
From: LIGHTHOUSE DESIGN AUTOMATION, INC.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 017928/0425 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2004
From: KADKADE, SUDHIR DATTARAM; LYONS, JR., CLIFTON ALTON
To: LIGHTHOUSE DESIGN AUTOMATION, INC.
Reel/Frame 015873/0163 →