|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.nasa.arc.brahms.vm.api.jagt.AbstractExternalAgent
public abstract class AbstractExternalAgent
The AbstractExternalAgent is an interface for external agents implemented in Java loaded into the virtual machine to participate in a simulation or real-time agent environment. The external agent can perform any Java actions. This abstract implementation provides access to the concepts loaded in the virtual machine and the world state to allow for communications with these concepts and to allow for world state changes to be triggered by this agent.
Constructor Summary | |
---|---|
AbstractExternalAgent()
Constructor, creates a new AbstractExternalAgent |
Method Summary | |
---|---|
protected void |
assertFact(IFact fact)
Schedules the assertion of the specified fact into the world state including the distribution of the fact to all agents and objects. |
IFact |
conclude(IConcept concept,
IAttribute attribute,
int relop,
boolean value,
int factcertainty)
Concludes a new IFact of the form concept.attribute relop value where relop is one of EQUALS or NOT_EQUALS and the value is a boolean. |
IFact |
conclude(IConcept concept,
IAttribute attribute,
int relop,
double value,
int factcertainty)
Concludes a new IFact of the form concept.attribute relop value where relop is one of EQUALS or NOT_EQUALS and the value is a double. |
IFact |
conclude(IConcept concept,
IAttribute attribute,
int relop,
IConcept value,
int factcertainty)
Concludes a new IFact of the form concept.attribute relop value where relop is one of EQUALS or NOT_EQUALS and the value is an IConcept. |
IFact |
conclude(IConcept concept,
IAttribute attribute,
int relop,
int value,
int factcertainty)
Concludes a new IFact of the form concept.attribute relop value where relop is one of EQUALS or NOT_EQUALS and the value is an integer. |
IFact |
conclude(IConcept concept,
IAttribute attribute,
int relop,
IUnknown value,
int factcertainty)
Concludes a new IFact of the form concept.attribute relop value where relop is one of EQUALS or NOT_EQUALS and the value is the value 'unknown'. |
IFact |
conclude(IConcept concept,
IAttribute attribute,
int relop,
java.lang.String value,
boolean symbol,
int factcertainty)
Concludes a new IFact of the form concept.attribute relop value where relop is one of EQUALS or NOT_EQUALS and the value is a String. |
IFact |
conclude(IConcept lhsConcept,
IRelation relation,
IConcept rhsConcept,
int factcertainty)
Concludes a new IFact of the form concept relation concept. |
IFact |
conclude(IConcept lhsConcept,
IRelation relation,
IConcept rhsConcept,
int truthValue,
int factcertainty)
Concludes a new IFact of the form concept relation concept with the specified truth value. |
IFact |
conclude(IConcept lhsConcept,
IRelation relation,
IUnknown rhsConcept,
int factcertainty)
Concludes a new IFact of the form concept relation concept. |
IFact |
conclude(IConcept lhsConcept,
IRelation relation,
IUnknown rhsConcept,
int truthValue,
int factcertainty)
Concludes a new IFact of the form concept relation concept with the specified truth value. |
abstract void |
doWork()
The virtual machine takes care of having the agent run in its own thread of execution. |
IContext |
getContext()
Returns this activity's context |
protected IModel |
getModel()
Returns a reference to the model loaded in the virtual machine. |
protected IVMController |
getVMController()
Returns the virtual machine's controller usable by this agent. |
protected IWorldState |
getWorldState()
Returns a reference to the world state managing the fact set. |
abstract void |
initialize()
Initialize is used to initialize the external agent after it has been loaded into the virtual machine. |
boolean |
isValidTruthValue(int truth)
Checks whether the specified value is a valid truth value. |
abstract void |
onAssert(IFact fact)
onAssert is called by the virtual machine whenever a new fact is asserted in the world state. |
void |
onProcess(long time)
onProcess is called by the virtual machine when the virtual machine is in simulation mode and the agent is notified by the scheduler that it is allowed to process any events for the specified time. |
abstract void |
onReceive(IBelief belief)
onReceive is called by the virtual machine whenever a new belief is communicated to the external agent by another agent or object. |
abstract void |
onRetract(IFact fact)
onRetract is called by the virtual machine whenever a fact is retracted from the world state. |
abstract void |
pause()
Pauses the external agent. |
abstract void |
reset()
Resets the external agent to the initialized state as it was placed in using the initialize method, performing any additional clean-up if necessary. |
abstract void |
resume()
Resumes the external agent from a pause. |
protected void |
retractFact(IFact fact)
Schedules the retraction of the specified fact from the world state including the notification of the retraction to all agents and objects. |
protected void |
send(IBelief[] beliefs,
IActiveInstance agent)
Sends the specified set of beliefs to the specified agent, causing the assertion of the beliefs in the specified agent's belief set. |
protected void |
send(IBelief[] beliefs,
IActiveInstance[] agents)
Sends the specified beliefs to the specified agents, causing the assertion of the beliefs in the belief set of every agent in the list of agents. |
protected void |
send(IBelief belief,
IActiveInstance agent)
Sends the specified belief to the specified agent, causing the assertion of the belief in the specified agent's belief set. |
protected void |
send(IBelief belief,
IActiveInstance[] agents)
Sends the specified belief to the specified agents, causing the assertion of the belief in the belief set of every agent in the list of agents. |
void |
setAgentCtx(gov.nasa.arc.brahms.common.rt.IActiveInstanceCtx agt)
Sets the agent to be wrapped by this external agent. |
void |
setProperties(java.util.Properties p)
Sets the properties for the activity. |
void |
setVMController(gov.nasa.arc.brahms.vm.controller.VMController vmc)
Sets the virtual machine's controller. |
abstract void |
start()
Starts the external agent. |
abstract void |
stop()
Stops the external agent. |
java.lang.String |
toString()
Returns a string representation of this object |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public AbstractExternalAgent()
Method Detail |
---|
public final void setProperties(java.util.Properties p) throws ExternalException
p
- the Properties set by the virtual machine.
ExternalException
- if the properties were already set.public final void setVMController(gov.nasa.arc.brahms.vm.controller.VMController vmc) throws ExternalException
vmc
- the VMController
ExternalException
public final void setAgentCtx(gov.nasa.arc.brahms.common.rt.IActiveInstanceCtx agt) throws ExternalException
agt
- the IActiveInstanceCtx for the agent
ExternalException
- if a null agent is specified or if the external agent
already wraps another agentpublic final IContext getContext()
protected final IVMController getVMController() throws ExternalException
controller
- the virtual machine's controller
ExternalException
protected final IModel getModel() throws ExternalException
ExternalException
- is an internal error occurs.protected final IWorldState getWorldState() throws ExternalException
ExternalException
- if an internal error occurs.public final boolean isValidTruthValue(int truth)
truth
- the truth value to be tested
public final IFact conclude(IConcept concept, IAttribute attribute, int relop, IUnknown value, int factcertainty) throws ExternalException
concept
- the IConcept for which an attribute value is specifiedattribute
- the IAttribute defined for the concept to which to assign a valuerelop
- the relational operator, one of IRelationalOperator.EQUALS or
IRelationalOperator.NOT_EQUALS.value
- the value 'unknown' to be assigned to the attributefactcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the value does not match with the attribute's
type, the attribute is not specified for the given concept. if an
invalid relational operator is specified or if the fact certainty
is less than 0 or more than 100.IUnknown.UNKNOWN
public final IFact conclude(IConcept concept, IAttribute attribute, int relop, int value, int factcertainty) throws ExternalException
concept
- the IConcept for which an attribute value is specifiedattribute
- the IAttribute defined for the concept to which to assign a valuerelop
- the relational operator, one of IRelationalOperator.EQUALS or
IRelationalOperator.NOT_EQUALS.value
- the integer value to be assigned to the attributefactcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the value does not match with the attribute's
type, the attribute is not specified for the given concept. if an
invalid relational operator is specified or if the fact certainty
is less than 0 or more than 100.public final IFact conclude(IConcept concept, IAttribute attribute, int relop, double value, int factcertainty) throws ExternalException
concept
- the IConcept for which an attribute value is specifiedattribute
- the IAttribute defined for the concept to which to assign a valuerelop
- the relational operator, one of IRelationalOperator.EQUALS or
IRelationalOperator.NOT_EQUALS.value
- the double value to be assigned to the attributefactcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the value does not match with the attribute's
type, the attribute is not specified for the given concept. if an
invalid relational operator is specified or if the fact certainty
is less than 0 or more than 100.public final IFact conclude(IConcept concept, IAttribute attribute, int relop, boolean value, int factcertainty) throws ExternalException
concept
- the IConcept for which an attribute value is specifiedattribute
- the IAttribute defined for the concept to which to assign a valuerelop
- the relational operator, one of IRelationalOperator.EQUALS or
IRelationalOperator.NOT_EQUALS.value
- the boolean value to be assigned to the attributefactcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the value does not match with the attribute's
type, the attribute is not specified for the given concept. if an
invalid relational operator is specified or if the fact certainty
is less than 0 or more than 100.public final IFact conclude(IConcept concept, IAttribute attribute, int relop, java.lang.String value, boolean symbol, int factcertainty) throws ExternalException
concept
- the IConcept for which an attribute value is specifiedattribute
- the IAttribute defined for the concept to which to assign a valuerelop
- the relational operator, one of IRelationalOperator.EQUALS or
IRelationalOperator.NOT_EQUALS.value
- the String value to be assigned to the attributesymbol
- indicates if the value is a symbol or stringfactcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the value does not match with the attribute's
type, the attribute is not specified for the given concept. if an
invalid relational operator is specified or if the fact certainty
is less than 0 or more than 100.public final IFact conclude(IConcept concept, IAttribute attribute, int relop, IConcept value, int factcertainty) throws ExternalException
concept
- the IConcept for which an attribute value is specifiedattribute
- the IAttribute defined for the concept to which to assign a valuerelop
- the relational operator, one of IRelationalOperator.EQUALS or
IRelationalOperator.NOT_EQUALS.value
- the IConcept value to be assigned to the attributefactcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the value does not match with the attribute's
type, the attribute is not specified for the given concept. if an
invalid relational operator is specified or if the fact certainty
is less than 0 or more than 100.public final IFact conclude(IConcept lhsConcept, IRelation relation, IConcept rhsConcept, int factcertainty) throws ExternalException
lhsConcept
- the IConcept for which the relation is specifiedrelation
- the IRelation defined for the conceptrhsConcept
- the IUnknown value to be related to the lhsConceptfactcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the rhsConcept does not match with the relation's
type, the relation is not specified for the given lhsConcept or if the
fact certainty is less than 0 or more than 100.IUnknown.UNKNOWN
public final IFact conclude(IConcept lhsConcept, IRelation relation, IUnknown rhsConcept, int factcertainty) throws ExternalException
lhsConcept
- the IConcept for which the relation is specifiedrelation
- the IRelation defined for the conceptrhsConcept
- the 'unknown' value to be related to the lhsConceptfactcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the rhsConcept does not match with the relation's
type, the relation is not specified for the given lhsConcept or if the
fact certainty is less than 0 or more than 100.public final IFact conclude(IConcept lhsConcept, IRelation relation, IUnknown rhsConcept, int truthValue, int factcertainty) throws ExternalException
lhsConcept
- the IConcept for which the relation is specifiedrelation
- the IRelation defined for the conceptrhsConcept
- the IUnknown value to be related to the lhsConcepttruthValue
- the truth value of the relationship (TRUE, FALSE, UNKNOWN)factcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the rhsConcept does not match with the relation's
type, the relation is not specified for the given lhsConcept or if the
fact certainty is less than 0 or more than 100.IUnknown.UNKNOWN
,
ITruthValue.TRUE
,
ITruthValue.FALSE
,
ITruthValue.UNKNOWN
public final IFact conclude(IConcept lhsConcept, IRelation relation, IConcept rhsConcept, int truthValue, int factcertainty) throws ExternalException
lhsConcept
- the IConcept for which the relation is specifiedrelation
- the IRelation defined for the conceptrhsConcept
- the IConcept to be related to the lhsConcepttruthValue
- the truth value of the relationship (TRUE, FALSE, UNKNOWN)factcertainty
- the percentage certainty that the fact indeed is created
ExternalException
- if the rhsConcept does not match with the relation's
type, the relation is not specified for the given lhsConcept or if the
fact certainty is less than 0 or more than 100.ITruthValue.TRUE
,
ITruthValue.FALSE
,
ITruthValue.UNKNOWN
protected final void assertFact(IFact fact) throws ExternalException
fact
- the IFact to be asserted
ExternalException
- if an internal error occursprotected final void retractFact(IFact fact) throws ExternalException
fact
- the IFact to be retracted
ExternalException
- if an internal error occursprotected final void send(IBelief belief, IActiveInstance agent) throws ExternalException
belief
- the IBelief to be send to the specified agentagent
- the IActiveInstance to which to send the belief
ExternalException
- if an internal error occurs
protected final void send(IBelief belief, IActiveInstance[] agents) throws ExternalException
belief
- the IBelief to be send to the specified agentagents
- the list of IActiveInstance to which to send the belief
ExternalException
- if an internal error occurs
protected final void send(IBelief[] beliefs, IActiveInstance agent) throws ExternalException
beliefs
- the list of IBelief to be send to the specified agentagent
- the IActiveInstance to which to send the belief
ExternalException
- if an internal error occurs
protected final void send(IBelief[] beliefs, IActiveInstance[] agents) throws ExternalException
beliefs
- the list of IBelief to be send to the specified agentsagents
- the list of IActiveInstance to which to send the beliefs
ExternalException
- if an internal error occurs
public abstract void initialize() throws ExternalException
initialize
in interface IExternalAgent
ExternalException
- if an internal error occurs.public abstract void start() throws ExternalException
start
in interface IExternalAgent
ExternalException
- if an internal error occurs.public abstract void pause() throws ExternalException
pause
in interface IExternalAgent
ExternalException
- if an internal error occurs.public abstract void resume() throws ExternalException
resume
in interface IExternalAgent
ExternalException
- if an internal error occurs.public abstract void stop() throws ExternalException
stop
in interface IExternalAgent
ExternalException
- if an internal error occurs.public abstract void reset() throws ExternalException
reset
in interface IExternalAgent
ExternalException
- if an internal error occurs.public abstract void doWork() throws ExternalException
doWork
in interface IExternalAgent
ExternalException
- if an unrecoverable error occurs.public void onProcess(long time) throws ExternalException
This method has an empty implementation and should be overridden if the notification is essential for the external agent.
onProcess
in interface IExternalAgent
time
- the time for which agents can process their events.
ExternalException
- if an internal error occurs.public abstract void onReceive(IBelief belief) throws ExternalException
onReceive
in interface IExternalAgent
belief
- the IBelief communicated to this external agent
ExternalException
- if an error occurs handling this beliefpublic abstract void onAssert(IFact fact) throws ExternalException
onAssert
in interface IExternalAgent
fact
- the IFact asserted in the world state
ExternalException
- if an error occurs handling this factpublic abstract void onRetract(IFact fact) throws ExternalException
onRetract
in interface IExternalAgent
fact
- the IFact retracted from the world state
ExternalException
- if an error occurs handling this factpublic java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |