lime.util.console
Class LimeConsole

java.lang.Object
  extended bylime.util.console.LimeConsole
All Implemented Interfaces:
LimeConstants

public class LimeConsole
extends java.lang.Object
implements LimeConstants

A graphical front-end to a Lime Tuple Space. It allows the user to interact with the tuple space and write tuples, force engagements, and so on. Useful for debugging and testing, as well as for learning how Lime works.

A LimeConsole is associated at creation time to a given Lime tuple space, that must be already created.

Operations requested through the graphical interface are not directly invoked by the Lime console. As mentioned in LimeTupleSpace, this would involve having the AWT thread performing the operations, which would violate the requirement that only the ILimeAgent that created the Lime tuple space is allowed to access it. Instead, operations requested by the user are inserted in a queue managed by the LimeConsole object. The agent that contains the LimeConsole object can only test whether the queue is empty, using the method isOpQueueEmpty, or request the execution of the next operation in the queue, using performQueuedOp. For an example of how to write code that leverages off of the LimeConsole, see the documentation about the examples.

For instructions about how to use the graphical user interface, please refer to the Lime console description in the documentation.

Version:
1.0 alpha
Author:
Gian Pietro Picco
See Also:
LimeConsoleListener, LimeTupleSpace

Field Summary
static java.lang.String AGENT
           
static short AGENT_BYE
           
static java.lang.String AGENT_GONE
           
static short AGENT_HELLO
           
static int AGENT_ID_TAG
           
static short AGENT_LOCALHOST
           
static short AGENT_NOTINSYS
           
static short AGENT_REMOTE
           
static short AGENT_UNSPECIFIED
           
static short DATA
           
static java.lang.String DEFAULT_LISTENER
           
static short DISENGAGE_AGENT
           
static short DISENGAGE_HOST
           
static short ENGAGE_AGENT
           
static short ENGAGE_HOST
           
(package private)  java.awt.Frame f
           
static short GO
           
static java.lang.String HOST
           
static int HOST_ADDR_TAG
           
static short HOST_BYE
           
static java.lang.String HOST_GONE
           
static short HOST_HELLO
           
static short HOST_LOCALHOST
           
static short HOST_NOTINSYS
           
static short HOST_REMOTE
           
static int HOST_TUPLE_HOST_TAG
           
static short HOST_UNSPECIFIED
           
static short ING
           
static short INST_REACTS_TO
           
static short INST_REM_UPON_LISTENER
           
static short INST_UPON_LISTENER
           
static short LOCAL_SYS_TAKE
           
(package private)  LimeTupleSpace lts
           
static int MAX_ROUNDS
           
(package private)  Queue opQueue
           
static short OUTG
           
(package private)  IConsoleProvider provider
           
static short RDG
           
static short REACTS_TO
           
static short READ
           
static short READY
           
static short REM_ING
           
static short REM_OUTG_ACK
           
static short REM_RDG
           
static short REM_SYS_READ
           
static short REM_SYS_TAKE
           
static short REMOVE_REACTS_TO
           
static short REMOVE_REM_UPON_LISTENER
           
static short REMOVE_UPON
           
(package private)  LimeServer server
           
static short SET_HOST
           
static short SET_SHARED
           
static short SETUP
           
static short SHUTDOWN_LIME
           
static short START
           
static short SYS_READ
           
static short SYS_REPLY
           
static short SYS_TAKE
           
(package private) static LimeSystemTupleSpace system
           
(package private)  java.awt.TextArea ta
           
static short TAKE
           
static java.lang.String TS
           
static java.lang.String TS_GONE
           
static int TS_ID_TAG
           
static int TYPE_TAG
           
static short UPON
           
static short UPON_EVENT
           
static java.lang.String VERSION
           
static short WAIT_TO_READ
           
static short WAIT_TO_TAKE
           
static short WRITE
           
 
Constructor Summary
private LimeConsole()
           
  LimeConsole(AgentID a, LimeTupleSpace lts, IConsoleProvider p)
          Create a new Lime console associated with the Lime tuple space passed as a parameter.
 
Method Summary
 void display(java.lang.String msg)
          Display a message on the console.
 LimeTupleSpace getLimeTupleSpace()
          Return the Lime tuple space associated with this Lime console.
(package private) static java.lang.String getOpName(short opCode)
           
 boolean isOpQueueEmpty()
          Returns true if the queue of operations is empty, false otherwise.
 java.lang.String performQueuedOp()
          Process the first element in the operation queue.
 void quit()
           
private  void setupGUI(AgentID a)
           
(package private)  RegisteredReaction[] updateReactions(short op)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_LISTENER

public static final java.lang.String DEFAULT_LISTENER
See Also:
Constant Field Values

system

static LimeSystemTupleSpace system

f

java.awt.Frame f

ta

java.awt.TextArea ta

lts

LimeTupleSpace lts

opQueue

Queue opQueue

server

LimeServer server

provider

IConsoleProvider provider

VERSION

public static final java.lang.String VERSION
See Also:
Constant Field Values

WRITE

public static final short WRITE
See Also:
Constant Field Values

OUTG

public static final short OUTG
See Also:
Constant Field Values

REM_OUTG_ACK

public static final short REM_OUTG_ACK
See Also:
Constant Field Values

TAKE

public static final short TAKE
See Also:
Constant Field Values

WAIT_TO_TAKE

public static final short WAIT_TO_TAKE
See Also:
Constant Field Values

ING

public static final short ING
See Also:
Constant Field Values

READ

public static final short READ
See Also:
Constant Field Values

WAIT_TO_READ

public static final short WAIT_TO_READ
See Also:
Constant Field Values

RDG

public static final short RDG
See Also:
Constant Field Values

REACTS_TO

public static final short REACTS_TO
See Also:
Constant Field Values

UPON

public static final short UPON
See Also:
Constant Field Values

REMOVE_REACTS_TO

public static final short REMOVE_REACTS_TO
See Also:
Constant Field Values

REMOVE_UPON

public static final short REMOVE_UPON
See Also:
Constant Field Values

INST_REACTS_TO

public static final short INST_REACTS_TO
See Also:
Constant Field Values

INST_UPON_LISTENER

public static final short INST_UPON_LISTENER
See Also:
Constant Field Values

INST_REM_UPON_LISTENER

public static final short INST_REM_UPON_LISTENER
See Also:
Constant Field Values

REMOVE_REM_UPON_LISTENER

public static final short REMOVE_REM_UPON_LISTENER
See Also:
Constant Field Values

REM_SYS_TAKE

public static final short REM_SYS_TAKE
See Also:
Constant Field Values

REM_SYS_READ

public static final short REM_SYS_READ
See Also:
Constant Field Values

REM_ING

public static final short REM_ING
See Also:
Constant Field Values

REM_RDG

public static final short REM_RDG
See Also:
Constant Field Values

SYS_TAKE

public static final short SYS_TAKE
See Also:
Constant Field Values

SYS_READ

public static final short SYS_READ
See Also:
Constant Field Values

UPON_EVENT

public static final short UPON_EVENT
See Also:
Constant Field Values

SYS_REPLY

public static final short SYS_REPLY
See Also:
Constant Field Values

LOCAL_SYS_TAKE

public static final short LOCAL_SYS_TAKE
See Also:
Constant Field Values

SET_SHARED

public static final short SET_SHARED
See Also:
Constant Field Values

SET_HOST

public static final short SET_HOST
See Also:
Constant Field Values

ENGAGE_AGENT

public static final short ENGAGE_AGENT
See Also:
Constant Field Values

ENGAGE_HOST

public static final short ENGAGE_HOST
See Also:
Constant Field Values

DISENGAGE_AGENT

public static final short DISENGAGE_AGENT
See Also:
Constant Field Values

DISENGAGE_HOST

public static final short DISENGAGE_HOST
See Also:
Constant Field Values

SHUTDOWN_LIME

public static final short SHUTDOWN_LIME
See Also:
Constant Field Values

GO

public static final short GO
See Also:
Constant Field Values

SETUP

public static final short SETUP
See Also:
Constant Field Values

READY

public static final short READY
See Also:
Constant Field Values

START

public static final short START
See Also:
Constant Field Values

DATA

public static final short DATA
See Also:
Constant Field Values

HOST_BYE

public static final short HOST_BYE
See Also:
Constant Field Values

HOST_HELLO

public static final short HOST_HELLO
See Also:
Constant Field Values

AGENT_BYE

public static final short AGENT_BYE
See Also:
Constant Field Values

AGENT_HELLO

public static final short AGENT_HELLO
See Also:
Constant Field Values

HOST_LOCALHOST

public static final short HOST_LOCALHOST
See Also:
Constant Field Values

HOST_REMOTE

public static final short HOST_REMOTE
See Also:
Constant Field Values

HOST_NOTINSYS

public static final short HOST_NOTINSYS
See Also:
Constant Field Values

HOST_UNSPECIFIED

public static final short HOST_UNSPECIFIED
See Also:
Constant Field Values

AGENT_LOCALHOST

public static final short AGENT_LOCALHOST
See Also:
Constant Field Values

AGENT_REMOTE

public static final short AGENT_REMOTE
See Also:
Constant Field Values

AGENT_NOTINSYS

public static final short AGENT_NOTINSYS
See Also:
Constant Field Values

AGENT_UNSPECIFIED

public static final short AGENT_UNSPECIFIED
See Also:
Constant Field Values

TYPE_TAG

public static final int TYPE_TAG
See Also:
Constant Field Values

HOST_TUPLE_HOST_TAG

public static final int HOST_TUPLE_HOST_TAG
See Also:
Constant Field Values

HOST_ADDR_TAG

public static final int HOST_ADDR_TAG
See Also:
Constant Field Values

AGENT_ID_TAG

public static final int AGENT_ID_TAG
See Also:
Constant Field Values

TS_ID_TAG

public static final int TS_ID_TAG
See Also:
Constant Field Values

HOST

public static final java.lang.String HOST
See Also:
Constant Field Values

AGENT

public static final java.lang.String AGENT
See Also:
Constant Field Values

TS

public static final java.lang.String TS
See Also:
Constant Field Values

HOST_GONE

public static final java.lang.String HOST_GONE
See Also:
Constant Field Values

AGENT_GONE

public static final java.lang.String AGENT_GONE
See Also:
Constant Field Values

TS_GONE

public static final java.lang.String TS_GONE
See Also:
Constant Field Values

MAX_ROUNDS

public static final int MAX_ROUNDS
See Also:
Constant Field Values
Constructor Detail

LimeConsole

private LimeConsole()

LimeConsole

public LimeConsole(AgentID a,
                   LimeTupleSpace lts,
                   IConsoleProvider p)
Create a new Lime console associated with the Lime tuple space passed as a parameter.

Method Detail

quit

public void quit()

isOpQueueEmpty

public boolean isOpQueueEmpty()
Returns true if the queue of operations is empty, false otherwise.


performQueuedOp

public java.lang.String performQueuedOp()
Process the first element in the operation queue.
Note: calls to this method block if there are no elements in the queue, until an operation is added through the user interface.


display

public void display(java.lang.String msg)
Display a message on the console.


getLimeTupleSpace

public LimeTupleSpace getLimeTupleSpace()
Return the Lime tuple space associated with this Lime console.


updateReactions

RegisteredReaction[] updateReactions(short op)

getOpName

static java.lang.String getOpName(short opCode)

setupGUI

private void setupGUI(AgentID a)