dk.brics.bisim.model
Class SimulatorModel

java.lang.Object
  extended by dk.brics.bisim.model.SimulatorModel

public class SimulatorModel
extends java.lang.Object

A data model for the CCS Simulator.

Author:
Martin Mosegaard martinm@daimi.au.dk

Field Summary
private  java.util.HashMap<java.lang.String,java.lang.String> allActions
           
private  DotModel dotModel
           
private static java.lang.String EMP_COLOR
           
private  att.grappa.Edge emphasizedEdge
           
private  java.util.HashMap<java.lang.String,java.lang.String> inputActions
          Input actions are mapped by (unique) name to label.
private  LTSModel ltsModel
           
private  java.util.HashMap<java.lang.String,java.lang.String> outputActions
          Output actions are mapped by (unique) name to label.
private  java.util.ArrayList<java.lang.String> tauActions
          Tau actions are saved by name (label is always 'tau').
 
Constructor Summary
SimulatorModel(DotModel dotModel)
           
 
Method Summary
 boolean createLTS(java.lang.String fileName, java.lang.String filePath, java.lang.String dotPath)
           
 void deemphasizeEdge(java.lang.String nodeName, java.lang.String edgeLabel)
          De-emphasize an edge when mouse exits an action name.
 void emphasizeEdge(java.lang.String edgeName, java.lang.String edgeLabel)
          Emphasize an edge when mouse hovers over an action name.
 java.util.HashMap<java.lang.String,java.lang.String> getInputActions()
           
 LTSModel getLTSModel()
           
 java.util.HashMap<java.lang.String,java.lang.String> getOutputActions()
           
 boolean hasTau()
           
 void reset()
          Reset the simulator model and its underlying LTS model.
private  void setActions()
           
private  java.lang.String stepRandom(java.util.HashMap<java.lang.String,java.lang.String> actions)
          Performs a randomstep from the actions available in the map.
 java.lang.String stepRandomAll()
          Choose a random (available) action.
 java.lang.String stepRandomInput()
          Choose a random (available) input action.
 java.lang.String stepRandomOutput()
          Choose a random (available) output action.
 void stepRandomTau()
          Choose a random (available) tau action.
 void stepTo(java.lang.String edgeName, java.lang.String edgeLabel)
          Step in the LTS model.
 void stepToNode(java.lang.String nodeName, java.lang.String edgeLabel)
          Step in the LTS model.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ltsModel

private LTSModel ltsModel

emphasizedEdge

private att.grappa.Edge emphasizedEdge

EMP_COLOR

private static final java.lang.String EMP_COLOR
See Also:
Constant Field Values

inputActions

private java.util.HashMap<java.lang.String,java.lang.String> inputActions
Input actions are mapped by (unique) name to label.


outputActions

private java.util.HashMap<java.lang.String,java.lang.String> outputActions
Output actions are mapped by (unique) name to label.


allActions

private java.util.HashMap<java.lang.String,java.lang.String> allActions

tauActions

private java.util.ArrayList<java.lang.String> tauActions
Tau actions are saved by name (label is always 'tau').


dotModel

private DotModel dotModel
Constructor Detail

SimulatorModel

public SimulatorModel(DotModel dotModel)
Method Detail

getLTSModel

public LTSModel getLTSModel()

setActions

private void setActions()

getOutputActions

public java.util.HashMap<java.lang.String,java.lang.String> getOutputActions()

getInputActions

public java.util.HashMap<java.lang.String,java.lang.String> getInputActions()

hasTau

public boolean hasTau()

stepRandom

private java.lang.String stepRandom(java.util.HashMap<java.lang.String,java.lang.String> actions)
Performs a randomstep from the actions available in the map.

Parameters:
actions - A HashMap of actions
Returns:
The chosen action

stepRandomAll

public java.lang.String stepRandomAll()
Choose a random (available) action.

Returns:
The chosen action

stepRandomInput

public java.lang.String stepRandomInput()
Choose a random (available) input action.

Returns:
The chosen action

stepRandomOutput

public java.lang.String stepRandomOutput()
Choose a random (available) output action.

Returns:
The chosen action

stepRandomTau

public void stepRandomTau()
Choose a random (available) tau action.


createLTS

public boolean createLTS(java.lang.String fileName,
                         java.lang.String filePath,
                         java.lang.String dotPath)

reset

public void reset()
Reset the simulator model and its underlying LTS model.


stepTo

public void stepTo(java.lang.String edgeName,
                   java.lang.String edgeLabel)
Step in the LTS model.

Parameters:
edgeName -
edgeLabel -

stepToNode

public void stepToNode(java.lang.String nodeName,
                       java.lang.String edgeLabel)
Step in the LTS model.

Parameters:
nodeName -
edgeLabel -

emphasizeEdge

public void emphasizeEdge(java.lang.String edgeName,
                          java.lang.String edgeLabel)
Emphasize an edge when mouse hovers over an action name.

Parameters:
edgeName - Name of the edge
edgeLabel - Label of the edge

deemphasizeEdge

public void deemphasizeEdge(java.lang.String nodeName,
                            java.lang.String edgeLabel)
De-emphasize an edge when mouse exits an action name.

Parameters:
nodeName - Name of the to-node
edgeLabel - Label of the edge