|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.rmi.server.RemoteObject | +--java.rmi.server.RemoteServer | +--java.rmi.server.UnicastRemoteObject | +--Rainbow.SessionHandler
Implementation of a Rainbow server session.
Supported debugging properties:
Fields inherited from class java.rmi.server.RemoteObject |
ref |
Method Summary | |
protected void |
addCodeBlock(RASMCode block)
Add a block of code to the list to link and execute. |
protected void |
addCodeThreads(Scheduler s,
String msgbit)
Add all current code blocks to the given scheduler. |
void |
assemble(String rasmtext)
Assemble the RASM source into a module and add it to the list of things to execute. |
void |
clear()
Initialise this session object. |
void |
compile(String rainbowSource)
Compile the Rainbow source into a module and add it to the list of things to execute. |
void |
compileAbstract(String rainbowSource,
String abstraction)
Compile the Rainbow source into GCL and apply an abstract interpretation to its dataspace. |
DeadlockResult |
deadlock(ProgressWatcher watcher)
Check the current modules for deadlock. |
DeadlockResult |
deadlockAbstract(ProgressWatcher watcher)
Check the abstract system for deadlock. |
Status |
initialise()
Initialise the simulator. |
void |
link()
Link the list of modules to execute. |
ModelcheckResult |
modelcheck(String ctlStarFormula,
String[] propositions,
String[] deviceMap,
ProgressWatcher watcher)
Check the current modules to see if the given temporal formula is satisfied. |
ModelcheckResult |
modelcheckAbstract(String ltlFormula,
String[] propositions,
ProgressWatcher watcher)
Check the abstract system to see if it satisfies a temporal formula. |
Data |
read(Integer key)
Read the register indexed by the given key. |
protected void |
reducePriority()
Reduce the priority of this thread. |
protected void |
reset()
Reset the state of this session. |
Type |
resolveType(String type)
Resolve the string to a type against the list of modules to execute. |
protected void |
restorePriority()
Restore the priority of this thread. |
void |
setExecHandler(ExecHandler execHandler)
Set the execution callback handler. |
protected void |
setupExecCallback(Scheduler sched)
Connect an external callback executor to the given scheduler. |
Status |
step()
Perform one simulation step. |
Status |
stepAbstract()
Perform one step of an abstract simulation. |
String |
toString()
|
Methods inherited from class java.rmi.server.UnicastRemoteObject |
clone, exportObject, exportObject, exportObject, unexportObject |
Methods inherited from class java.rmi.server.RemoteServer |
getClientHost, getLog, setLog |
Methods inherited from class java.rmi.server.RemoteObject |
equals, getRef, hashCode, toStub |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Method Detail |
protected void reset()
protected void addCodeBlock(RASMCode block)
protected void addCodeThreads(Scheduler s, String msgbit) throws RainbowException
protected void setupExecCallback(Scheduler sched)
setExecHandler(ExecHandler)
,
Scheduler.setExternalExecutionServer(Scheduler.ExternalExecutionServer)
protected final void reducePriority()
protected final void restorePriority()
public void clear() throws RemoteException, RainbowException
Session
clear
in interface Session
public void assemble(String rasmtext) throws RainbowException
Session
assemble
in interface Session
public void compile(String rainbowSource) throws RainbowException
Session
compile
in interface Session
public Type resolveType(String type) throws RainbowException
Session
resolveType
in interface Session
public void link() throws RainbowException
Session
link
in interface Session
public void setExecHandler(ExecHandler execHandler)
Session
setExecHandler
in interface Session
Rainbow.Session
TclExec
public Status initialise() throws RainbowException
Session
initialise
in interface Session
public Status step() throws RainbowException
Session
step
in interface Session
public Data read(Integer key) throws RainbowException
Session
read
in interface Session
public DeadlockResult deadlock(ProgressWatcher watcher) throws RainbowException
Session
deadlock
in interface Session
Rainbow.Session
watcher
- Object to receive progress notifications, or null if
you don't want to receive them.public ModelcheckResult modelcheck(String ctlStarFormula, String[] propositions, String[] deviceMap, ProgressWatcher watcher) throws RainbowException
Session
modelcheck
in interface Session
Rainbow.Session
ctlStarFormula
- The temporal formula to check in CTL*.propositions
- Array of propositions referred to in the formula, each of which
will be parsed by Propositions
.deviceMap
- Description of what device/register is referred to by what
name in the propositions.watcher
- Object to receive progress notifications, or null if
you don't want to receive them.SpecParse
public void compileAbstract(String rainbowSource, String abstraction) throws RainbowException
Session
compileAbstract
in interface Session
Rainbow.Session
rainbowSource
- The source to the Rainbow code to be abstractly interpreted.abstraction
- The abstraction to be applied (which will be parsed by Parse
.)public Status stepAbstract() throws RainbowException
Session
stepAbstract
in interface Session
public DeadlockResult deadlockAbstract(ProgressWatcher watcher) throws RainbowException
Session
deadlockAbstract
in interface Session
Rainbow.Session
watcher
- Object to receive progress notifications, or null if
you don't want to receive them.public ModelcheckResult modelcheckAbstract(String ltlFormula, String[] propositions, ProgressWatcher watcher) throws RainbowException, RemoteException
Session
modelcheckAbstract
in interface Session
Rainbow.Session
LTLFormula
- Temporal formula to check.propositions
- Array of propositions referred to in the formula, each of which
will be parsed by Propositions
.watcher
- Object to receive progress notifications, or null if
you don't want to receive them.SpecParse
public String toString()
toString
in class RemoteObject
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |