Class Solver

java.lang.Object
  extended by java.lang.Thread
      extended by Solver
All Implemented Interfaces:
java.lang.Runnable

public class Solver
extends java.lang.Thread

In its own thread, Solver gets a SubProblem from Msat, asks SATSolver to solve the subproblem, reports to Msat when the SATSolver is finished, and repeats with a new SubProblem if Msat gives one.

Version:
2008.01.17
Author:
Danielle Eckard and Dr. Lobo

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
Solver(Msat c)
          Constructor for Solver
 
Method Summary
 java.lang.String getAnswer()
          returns the answer
 Assignment getAssignment()
          Returns the current assignment of the subproblem that this solver is working on.
 void run()
          Run method needed for running threads.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Solver

public Solver(Msat c)
Constructor for Solver

Parameters:
c - the Msat coordinator
Method Detail

run

public void run()
Run method needed for running threads. Run's the Solver on the thread while getting the next subproblem (if one exists) from the Msat coordinator. Tests each subproblem to see if a satisfying assignment exists.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

getAssignment

public Assignment getAssignment()
Returns the current assignment of the subproblem that this solver is working on.

Returns:
the current assignment of the subproblem this solver is working on

getAnswer

public java.lang.String getAnswer()
returns the answer

Returns:
the answer