| US 7,543,274 B2 | ||
| System and method for deriving a process-based specification | ||
| Michael Gerard Hinchey, Bowie, Md. (US); James Larry Rash, Davidsonville, Md. (US); and Christopher A. Rouff, Beltsville, Md. (US) | ||
| Assigned to The United States of America as represented by the Administrator of the National Aeronautics and Space Administration, Washington, D.C. (US) | ||
| Filed on Feb. 25, 2004, as Appl. No. 10/789,028. | ||
| Claims priority of provisional application 60/533376, filed on Dec. 22, 2003. | ||
| Prior Publication US 2005/0138602 A1, Jun. 23, 2005 | ||
| Int. Cl. G06F 9/44 (2006.01) | ||
| U.S. Cl. 717—123 | 26 Claims |

| 1. A method for deriving a process-based specification for a system, comprising:
deriving a trace-based specification from a non-empty set of traces by a processor, wherein a trace is a sequence of actions
expressed as strings representing a history of an execution of a process;
mathematically inferring the process-based specification from the trace-based specification, wherein mathematically inferring
includes applying Laws of Concurrency in reverse to a set of system traces to determine the process-based specification, wherein
the process-based specification is mathematically equivalent to the trace-based specification, and whereby the Laws of Concurrency
are algebraic laws that (a) allow at least one process to be manipulated and analyzed, (b) permit formal reasoning about equivalences
between processes, and (c) determine traces from the at least one process;
generating the process-based specification using an inference engine, wherein the inference engine iteratively applies a set
of rules to a set of data representing a problem to determine a solution to the problem by logical manipulation and analysis
of the set of data; and
analyzing the process-based specification to examine possible implementations of the process-based specification in different
configurations, whereby analyzing includes identifying at least one equivalent alternative process-based specification and
characterizing differences between the process-based specification and the at least one alternative process-based specification,
wherein differences include number of processes, deterministic behavior, and competition for resources.
|