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
OG exemplary drawing
 
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.