package jsetool.gui; import java.io.Serializable; import java.util.Collection; /** * * The ReachabilityResults class stores all the results of a reachability * analysis, including the display and unused transitions and states per * machine. * */ class ReachabilityResults implements Serializable { protected Collection m1UnusedStates; protected Collection m1UnusedTransitions; protected Collection m2UnusedStates; protected Collection m2UnusedTransitions; protected ExplorationStateDrawingPane resultsPane; private long millisToCompute; /** * Returns the unused states for m1 * * @return Collection */ public Collection getM1UnusedStates() { return m1UnusedStates; } /** * Returns the unused transitions for m1 * * @return Collection */ public Collection getM1UnusedTransitions() { return m1UnusedTransitions; } /** * Returns the unused states for m2 * * @return Collection */ public Collection getM2UnusedStates() { return m2UnusedStates; } /** * Returns the unused transitions for m2 * * @return Collection */ public Collection getM2UnusedTransitions() { return m2UnusedTransitions; } /** * Returns the pane that displays the exploration states for the analysis. * * @return ExplorationStateDrawingPane */ public ExplorationStateDrawingPane getResultsPane() { return resultsPane; } /** * Sets m1's unused states. * * @param unusedStates */ public void setM1UnusedStates(Collection unusedStates) { m1UnusedStates = unusedStates; } /** * Sets m1's unused transitions. * * @param unusedTransitions */ public void setM1UnusedTransitions(Collection unusedTransitions) { m1UnusedTransitions = unusedTransitions; } /** * Sets m2's unused states * * @param unusedStates */ public void setM2UnusedStates(Collection unusedStates) { m2UnusedStates = unusedStates; } /** * Sets m2's unused transitions * * @param unusedTransitions */ public void setM2UnusedTransitions(Collection unusedTransitions) { m2UnusedTransitions = unusedTransitions; } /** * Sets the results pane * * @param resultsPane */ public void setResultsPane(ExplorationStateDrawingPane resultsPane) { this.resultsPane = resultsPane; } /** * @return */ public int getNumberOfGlobalStates() { return resultsPane.getNumberOfGlobalStates(); } /** * @return */ public int getNumberOfDeadlocks() { return resultsPane.getNumberOfDeadlockedStates(); } /** * @return */ public int getNumberOfUnspecifiedReceptionStates() { return resultsPane.getNumberOfUnspecifiedReceptionStates(); } /** * @param millisToCompute */ public void setMillsToCompute(long millisToCompute) { // TODO Auto-generated method stub this.millisToCompute = millisToCompute; } /** * returns how long the computation took, in milliseconds. * * @return long */ public long getMillisToCompute() { return millisToCompute; } }