ubiware.core
Class UbiwareAgent

java.lang.Object
  extended by jade.core.Agent
      extended by ubiware.core.UbiwareAgent
All Implemented Interfaces:
jade.core.TimerListener, java.io.Serializable, java.lang.Runnable

public class UbiwareAgent
extends jade.core.Agent

See Also:
Serialized Form

Nested Class Summary
 class UbiwareAgent.DebugController
          End of Methods used by Reusable Atomic Behaviors
(package private)  class UbiwareAgent.Live
           
 
Nested classes/interfaces inherited from class jade.core.Agent
jade.core.Agent.Interrupted
 
Field Summary
(package private) static java.lang.String ACHIEVE_BELIEF
           
(package private) static java.lang.String ACHIEVE_CONTEXT
           
(package private)  java.util.Map<java.lang.String,SemanticStatement> beliefs
           
static java.lang.String BLACKBOARD_OBJECT_PREFIX
           
static java.lang.String BLANK_NODE_NS
           
static java.lang.String CONTEXT_PREFIX
           
 ContextIDGenerator contextIDGenerator
           
(package private)  java.util.Map<java.lang.String,ContextContainer> contexts
           
(package private) static java.lang.String DATE_BELIEF
           
(package private) static java.lang.String DO_BELIEF
           
(package private) static java.lang.String DO_CONTEXT
           
static java.util.Set<java.lang.String> embedded_predicates
          This is an unmodifiable set containing the embedded predicates of the agent, those predicates are processed by the engine rather than matched against beliefs
(package private) static java.lang.String FALSE_BELIEF
           
(package private) static java.lang.String FALSE_CONTEXT
           
static java.lang.String GENERAL_CONTEXT
           
(package private) static java.lang.String GOALS_BELIEF
           
(package private) static java.lang.String GOALS_CONTEXT
           
(package private)  UbiwareAgent.Live live
           
(package private) static java.lang.String METARULES_BELIEF
           
(package private) static java.lang.String METARULES_CONTEXT
           
(package private) static java.lang.String NAME_BELIEF
           
(package private) static java.lang.String NOW_BELIEF
           
static java.lang.String OWL_NS
           
static java.lang.String QUERY_CONTEXT_PREFIX
           
static java.lang.String RDF_NS
           
static java.lang.String RDFS_NS
           
(package private) static java.lang.String RULES_BELIEF
           
(package private) static java.lang.String RULES_CONTEXT
           
static java.lang.String STATEMENT_PREFIX
           
 StatementIDGenerator statementIDGenerator
           
(package private) static java.lang.String TIME_BELIEF
           
static java.lang.String UNBOUND_VARIABLE
           
static java.lang.String XMLS_NS
           
 
Fields inherited from class jade.core.Agent
AP_ACTIVE, AP_DELETED, AP_IDLE, AP_INITIATED, AP_MAX, AP_MIN, AP_SUSPENDED, AP_WAITING, D_ACTIVE, D_MAX, D_MIN, D_RETIRED, D_SUSPENDED, D_UNKNOWN, MSG_QUEUE_CLASS
 
Constructor Summary
UbiwareAgent()
           
UbiwareAgent(java.util.Set<java.lang.String> scripts, java.util.Set<java.lang.String> roles)
          Create a new Ubiware agent which will load the specified scripts and roles as soon as it is put in use.
UbiwareAgent(java.util.Set<java.lang.String> scripts, java.util.Set<java.lang.String> roles, ubiware.util.saplbuilder.SaplDocument initBeliefs)
           
 
Method Summary
(package private)  void addBeliefs(java.lang.String ID, java.util.HashMap<java.lang.String,java.lang.String> vars)
           
 boolean addBeliefsN3(java.lang.String n3string)
          Same add addBeliefsN3(String, boolean) with doChecks true
(package private)  boolean addBeliefsN3(java.lang.String n3string, boolean doChecks)
          Adds beliefs defined by a N3 string
 void addCommand(UbiwareAgentCommand<?> command)
          Add a UbiwareAgentCommand to the agent, this Command will be executed in the agent's thread and is thus be guaranteed to not introduce concurrency inconsistencies.
 java.lang.String addN3ToTempContext(java.lang.String n3string)
           
(package private)  void addNameSpaces(java.util.HashMap<java.lang.String,java.lang.String> namespaces)
           
 ubiware.util.saplbuilder.Resource addOnBlackboard(java.lang.Object o)
           
 void addRAB(ReusableAtomicBehavior rab)
           
 java.lang.String addToTempContext(java.lang.String ID)
           
protected  void afterMove()
           
protected  void beforeMove()
           
(package private)  void clearLocalIDs()
          Start of Methods used by Live or onStart and onEnd of ReusableAtomicBehavior
 void collectGarbage()
           
(package private)  java.util.List<LinkInfo> copy(java.util.List<java.lang.String> vecID, java.lang.String targetContextID, java.util.HashMap<java.lang.String,java.lang.String> vars)
           
(package private)  java.util.List<LinkInfo> copy(java.lang.String ID, java.lang.String targetContextID, java.util.HashMap<java.lang.String,java.lang.String> vars)
           
(package private)  void copyLinks(java.lang.String contextID, java.lang.String targetID)
           
(package private)  void eraseBeliefs(java.lang.String ID)
           
(package private)  java.lang.Object getFromBlackboard(ubiware.util.saplbuilder.Resource id)
           
 long getLifeCycleCount()
           
 PolicyChecker getPolicyChecker()
           
 ResourcePrefixer getResourcePrefixer()
           
(package private)  java.util.List<SemanticStatement> getStatements(java.lang.String contextID)
           
(package private)  java.util.List<SemanticStatement> getStatements(java.lang.String contextID, java.util.List<java.lang.String> originalIDs)
           
(package private)  BindingsSet hasBeliefs(java.lang.String ID)
           
(package private)  BindingsSet hasBeliefs(java.lang.String ID, java.lang.String queryContextID)
           
 BindingsSet hasBeliefsN3(java.lang.String n3string)
           
(package private)  BindingsSet hasBeliefsN3(java.lang.String n3string, java.lang.String queryContextID)
           
(package private)  java.util.HashSet<java.lang.String> hasParallelContexts(java.lang.String contextID)
           
(package private)  void moveBeliefs(java.lang.String contextID)
           
 java.lang.String prefixResource(java.lang.String resource)
           
 java.lang.String prefixResource(java.lang.String resource, java.util.Map<java.lang.String,java.lang.String> usedNS)
           
(package private)  void print(java.lang.Object ob)
           
(package private)  java.lang.String produceN3(java.lang.String contextID)
           
(package private)  java.lang.String produceN3(java.lang.String contextID, ProduceN3Options options)
           
(package private)  void putBelief(java.lang.String id, SemanticStatement statement)
           
(package private)  void putContext(java.lang.String id)
           
(package private)  void putContext(java.lang.String id, int membersSize)
           
(package private)  void putContext(java.lang.String id, java.lang.String toCopy)
           
(package private)  void putContext(java.lang.String id, java.lang.String toCopy, int membersSize)
           
(package private)  void putLink(java.lang.String contextID, java.lang.String statementID)
           
(package private)  void putLink(java.lang.String contextID, java.lang.String statementID, boolean doChecks)
           
(package private)  void removeBelief(java.lang.String id)
           
(package private)  void removeBeliefs(java.lang.String ID)
           
 void removeBeliefsN3(java.lang.String n3string)
           
(package private)  void removeByPattern(java.lang.String ID)
           
(package private)  void removeContext(java.lang.String id)
           
 void removeFromBlackboard(ubiware.util.saplbuilder.Resource id)
           
(package private)  void removeLink(java.lang.String contextID, java.lang.String statementID)
           
(package private)  void removeRABInstance(ReusableAtomicBehavior behavior)
           
(package private)  void restartLive()
          Start of Methods used by Reusable Atomic Behaviors
 void setPolicyChecker(PolicyChecker checker)
           
protected  void setup()
           
protected  void takeDown()
           
 
Methods inherited from class jade.core.Agent
addBehaviour, afterClone, beforeClone, blockingReceive, blockingReceive, blockingReceive, blockingReceive, changeStateTo, clean, createMessageQueue, doActivate, doClone, doDelete, doMove, doSuspend, doTimeOut, doWait, doWait, doWake, getAgentState, getAID, getAMS, getArguments, getBootProperties, getContainerController, getContentManager, getCurQueueSize, getDefaultDF, getHap, getHelper, getLocalName, getName, getO2AInterface, getO2AObject, getProperty, getQueueSize, getState, here, isRestarting, join, notifyChangeBehaviourState, notifyRestarted, postMessage, putBack, putO2AObject, receive, receive, registerO2AInterface, removeBehaviour, removeTimer, restartLater, restore, restoreBufferedState, run, send, setArguments, setEnabledO2ACommunication, setGenerateBehaviourEvents, setO2AManager, setQueueSize, waitUntilStarted, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

beliefs

final java.util.Map<java.lang.String,SemanticStatement> beliefs

contexts

final java.util.Map<java.lang.String,ContextContainer> contexts

live

UbiwareAgent.Live live

contextIDGenerator

public final ContextIDGenerator contextIDGenerator

statementIDGenerator

public final StatementIDGenerator statementIDGenerator

CONTEXT_PREFIX

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

QUERY_CONTEXT_PREFIX

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

STATEMENT_PREFIX

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

BLACKBOARD_OBJECT_PREFIX

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

GENERAL_CONTEXT

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

RULES_CONTEXT

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

METARULES_CONTEXT

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

GOALS_CONTEXT

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

ACHIEVE_CONTEXT

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

DO_CONTEXT

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

FALSE_CONTEXT

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

RULES_BELIEF

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

METARULES_BELIEF

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

GOALS_BELIEF

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

ACHIEVE_BELIEF

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

DO_BELIEF

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

FALSE_BELIEF

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

RDF_NS

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

RDFS_NS

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

OWL_NS

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

XMLS_NS

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

BLANK_NODE_NS

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

UNBOUND_VARIABLE

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

NAME_BELIEF

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

TIME_BELIEF

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

DATE_BELIEF

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

NOW_BELIEF

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

embedded_predicates

public static final java.util.Set<java.lang.String> embedded_predicates
This is an unmodifiable set containing the embedded predicates of the agent, those predicates are processed by the engine rather than matched against beliefs

Constructor Detail

UbiwareAgent

public UbiwareAgent()

UbiwareAgent

public UbiwareAgent(java.util.Set<java.lang.String> scripts,
                    java.util.Set<java.lang.String> roles)
Create a new Ubiware agent which will load the specified scripts and roles as soon as it is put in use. (Scripts defined bu setArguments will be added to these sets)

Parameters:
scripts - The set of scipts.
roles - The set of roles.

UbiwareAgent

public UbiwareAgent(java.util.Set<java.lang.String> scripts,
                    java.util.Set<java.lang.String> roles,
                    ubiware.util.saplbuilder.SaplDocument initBeliefs)
Method Detail

getLifeCycleCount

public long getLifeCycleCount()

setup

protected void setup()
Overrides:
setup in class jade.core.Agent

addRAB

public void addRAB(ReusableAtomicBehavior rab)

takeDown

protected void takeDown()
Overrides:
takeDown in class jade.core.Agent

beforeMove

protected void beforeMove()
Overrides:
beforeMove in class jade.core.Agent

afterMove

protected void afterMove()
Overrides:
afterMove in class jade.core.Agent

prefixResource

public java.lang.String prefixResource(java.lang.String resource)

prefixResource

public java.lang.String prefixResource(java.lang.String resource,
                                       java.util.Map<java.lang.String,java.lang.String> usedNS)

setPolicyChecker

public void setPolicyChecker(PolicyChecker checker)

clearLocalIDs

void clearLocalIDs()
Start of Methods used by Live or onStart and onEnd of ReusableAtomicBehavior


putBelief

void putBelief(java.lang.String id,
               SemanticStatement statement)

removeBelief

void removeBelief(java.lang.String id)

putContext

void putContext(java.lang.String id)

putContext

void putContext(java.lang.String id,
                int membersSize)

putContext

void putContext(java.lang.String id,
                java.lang.String toCopy)

putContext

void putContext(java.lang.String id,
                java.lang.String toCopy,
                int membersSize)

removeContext

void removeContext(java.lang.String id)

putLink

void putLink(java.lang.String contextID,
             java.lang.String statementID)

putLink

void putLink(java.lang.String contextID,
             java.lang.String statementID,
             boolean doChecks)

removeLink

void removeLink(java.lang.String contextID,
                java.lang.String statementID)

copyLinks

void copyLinks(java.lang.String contextID,
               java.lang.String targetID)

removeByPattern

void removeByPattern(java.lang.String ID)

removeRABInstance

void removeRABInstance(ReusableAtomicBehavior behavior)

hasParallelContexts

java.util.HashSet<java.lang.String> hasParallelContexts(java.lang.String contextID)

collectGarbage

public void collectGarbage()

copy

java.util.List<LinkInfo> copy(java.lang.String ID,
                              java.lang.String targetContextID,
                              java.util.HashMap<java.lang.String,java.lang.String> vars)

copy

java.util.List<LinkInfo> copy(java.util.List<java.lang.String> vecID,
                              java.lang.String targetContextID,
                              java.util.HashMap<java.lang.String,java.lang.String> vars)

getResourcePrefixer

public ResourcePrefixer getResourcePrefixer()

addNameSpaces

void addNameSpaces(java.util.HashMap<java.lang.String,java.lang.String> namespaces)

restartLive

void restartLive()
Start of Methods used by Reusable Atomic Behaviors


print

void print(java.lang.Object ob)

addBeliefs

void addBeliefs(java.lang.String ID,
                java.util.HashMap<java.lang.String,java.lang.String> vars)

addBeliefsN3

public boolean addBeliefsN3(java.lang.String n3string)
Same add addBeliefsN3(String, boolean) with doChecks true

Parameters:
n3string - The string in N3 notation
Returns:
whether adding the belief was successful.

addBeliefsN3

boolean addBeliefsN3(java.lang.String n3string,
                     boolean doChecks)
Adds beliefs defined by a N3 string

Parameters:
n3string - The String contianing S-APL to be added to the beliefs.
doChecks -
Returns:

removeBeliefs

void removeBeliefs(java.lang.String ID)

removeBeliefsN3

public void removeBeliefsN3(java.lang.String n3string)

eraseBeliefs

void eraseBeliefs(java.lang.String ID)

hasBeliefs

BindingsSet hasBeliefs(java.lang.String ID,
                       java.lang.String queryContextID)

hasBeliefs

BindingsSet hasBeliefs(java.lang.String ID)

hasBeliefsN3

BindingsSet hasBeliefsN3(java.lang.String n3string,
                         java.lang.String queryContextID)

hasBeliefsN3

public BindingsSet hasBeliefsN3(java.lang.String n3string)

moveBeliefs

void moveBeliefs(java.lang.String contextID)

produceN3

java.lang.String produceN3(java.lang.String contextID)

produceN3

java.lang.String produceN3(java.lang.String contextID,
                           ProduceN3Options options)

getStatements

java.util.List<SemanticStatement> getStatements(java.lang.String contextID)

getStatements

java.util.List<SemanticStatement> getStatements(java.lang.String contextID,
                                                java.util.List<java.lang.String> originalIDs)

addOnBlackboard

public ubiware.util.saplbuilder.Resource addOnBlackboard(java.lang.Object o)

removeFromBlackboard

public void removeFromBlackboard(ubiware.util.saplbuilder.Resource id)

getFromBlackboard

java.lang.Object getFromBlackboard(ubiware.util.saplbuilder.Resource id)

addToTempContext

public java.lang.String addToTempContext(java.lang.String ID)

addN3ToTempContext

public java.lang.String addN3ToTempContext(java.lang.String n3string)

addCommand

public void addCommand(UbiwareAgentCommand<?> command)
Add a UbiwareAgentCommand to the agent, this Command will be executed in the agent's thread and is thus be guaranteed to not introduce concurrency inconsistencies.

Parameters:
command - the command to be added to the agent

getPolicyChecker

public PolicyChecker getPolicyChecker()