gov.nasa.arc.brahms.vm.api.components
Interface IWorldState


public interface IWorldState

Each Brahms virtual machine has one world state component. The world state component in the virtual machine is responsible for maintaining the fact set. All agents and objects share the same fact set. The fact set defines the state of the world by means of object attribute values and object relations. The facts in the world are the states in the world that can be detected by agents and objects (active instances). The objects also use the facts in the world to reason with. The preconditions defined for the work of an object are evaluated based on facts instead of beliefs as with agents. The world state is responsible for distributing the fact to all the agents and objects in the virtual machine. In a simulation environment the world state posts the fact on the agents or objects event queues. The assertion of the fact in the world state and the distribution of this fact to all agents and objects must happen synchronously. In simulation mode agents or objects are not allowed to process their event queues until they received the new fact. In an intelligent agent environment the new fact immediately triggers the reasoning process for an object if the fact is relevant for the work of the object. The fact set as defined in the world state is also used to initialize agents and objects that are dynamically loaded during a simulation or intelligent agent session.

Version:
$Revision: 1.4 $ $Date: 2008/11/28 18:52:58 $ $Author: rnado $
Author:
Ron van Hoof

Method Summary
 void addFactRelationConcept(IConcept lhsConcept, java.lang.String relationName, IConcept rhsConcept, IContext ctx)
          Adds a concept as a value of a named relation for a concept by asserting a new fact into the world state.
 void assertFact(IFact fact, IContext ctx)
          Schedules the assertion of the specified fact into the world state including the distribution of the fact to all agents and objects.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int relop, boolean value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int relop, double value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int relop, IConcept value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int relop, int value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int lhsCollectionIndex, int relop, boolean value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int lhsCollectionIndex, int relop, double value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int lhsCollectionIndex, int relop, IConcept value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int lhsCollectionIndex, int relop, int value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int lhsCollectionIndex, int relop, IUnknown value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int lhsCollectionIndex, int relop, long value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int lhsCollectionIndex, int relop, java.io.Serializable value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int lhsCollectionIndex, int relop, java.lang.String value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int relop, IUnknown value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int relop, long value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int relop, java.io.Serializable value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, int relop, java.lang.String value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, java.lang.String lhsCollectionIndex, int relop, boolean value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, java.lang.String lhsCollectionIndex, int relop, double value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, java.lang.String lhsCollectionIndex, int relop, IConcept value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, java.lang.String lhsCollectionIndex, int relop, int value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, java.lang.String lhsCollectionIndex, int relop, IUnknown value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, java.lang.String lhsCollectionIndex, int relop, long value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, java.lang.String lhsCollectionIndex, int relop, java.io.Serializable value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IAttribute lhsAttribute, java.lang.String lhsCollectionIndex, int relop, java.lang.String value)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IRelation relation, IConcept rhsConcept, int truthValue)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFact(IConcept lhsConcept, IRelation relation, IUnknown rhsConcept, int truthValue)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 boolean getFactAttributeBoolean(IConcept lhsConcept, java.lang.String attributeName)
          Retrieves a boolean value for an attribute of a concept from a fact in the world state
 boolean getFactAttributeBoolean(IConcept lhsConcept, java.lang.String attributeName, int index)
          Retrieves a boolean value for a collection attribute of a concept at a given integer index from a fact in the world state
 boolean getFactAttributeBoolean(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key)
          Retrieves a boolean value for a collection attribute of a concept at a given String key from a fact in the world state
 IConcept getFactAttributeConcept(IConcept lhsConcept, java.lang.String attributeName)
          Retrieves an IConcept value for an attribute of a concept from a fact in the world state
 IConcept getFactAttributeConcept(IConcept lhsConcept, java.lang.String attributeName, int index)
          Retrieves an IConcept value for a collection attribute of a concept at a given integer index from a fact in the world state
 IConcept getFactAttributeConcept(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key)
          Retrieves an IConcept value for a collection attribute of a concept at a given String key from a fact in the world state
 double getFactAttributeDouble(IConcept lhsConcept, java.lang.String attributeName)
          Retrieves a double value for an attribute of a concept from a fact in the world state
 double getFactAttributeDouble(IConcept lhsConcept, java.lang.String attributeName, int index)
          Retrieves a double value for a collection attribute of a concept at a given integer index from a fact in the world state
 double getFactAttributeDouble(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key)
          Retrieves a double value for a collection attribute of a concept at a given String key from a fact in the world state
 int getFactAttributeInt(IConcept lhsConcept, java.lang.String attributeName)
          Retrieves an int value for an attribute of a concept from a fact in the world state
 int getFactAttributeInt(IConcept lhsConcept, java.lang.String attributeName, int index)
          Retrieves an int value for a collection attribute of a concept at a given integer index from a fact in the world state
 int getFactAttributeInt(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key)
          Retrieves an int value for a collection attribute of a concept at a given String key from a fact in the world state
 java.io.Serializable getFactAttributeJava(IConcept lhsConcept, java.lang.String attributeName)
          Retrieves a Java Serializable value for an attribute of a concept from a fact in the world state
 java.io.Serializable getFactAttributeJava(IConcept lhsConcept, java.lang.String attributeName, int index)
          Retrieves a Serializable value for a collection attribute of a concept at a given integer index from a fact in the world state
 java.io.Serializable getFactAttributeJava(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key)
          Retrieves a Serializable value for a collection attribute of a concept at a given String key from a fact in the world state
 long getFactAttributeLong(IConcept lhsConcept, java.lang.String attributeName)
          Retrieves a long value for an attribute of a concept from a fact in the world state
 long getFactAttributeLong(IConcept lhsConcept, java.lang.String attributeName, int index)
          Retrieves a long value for a collection attribute of a concept at a given integer index from a fact in the world state
 long getFactAttributeLong(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key)
          Retrieves a long value for a collection attribute of a concept at a given String key from a fact in the world state
 java.util.Map<java.lang.Object,java.lang.Object> getFactAttributeMap(IConcept lhsConcept, java.lang.String attributeName, boolean includeUnknown)
          Returns a Map representing the values for a map attribute of a concept from facts in the world state Entries with values of unknown are included in the returned Map if the includeUnknown parameter is true.
 java.util.SortedMap<java.lang.Object,java.lang.Object> getFactAttributeSortedMap(IConcept lhsConcept, java.lang.String attributeName, boolean includeUnknown)
          Returns a sorted Map representing the values for a map attribute of a concept from facts in the world state Entries with values of unknown are included in the returned Map if the includeUnknown parameter is true.
 java.lang.String getFactAttributeString(IConcept lhsConcept, java.lang.String attributeName)
          Retrieves a String value for an attribute of a concept from a fact in the world state The attribute's Brahms type may be either string or symbol.
 java.lang.String getFactAttributeString(IConcept lhsConcept, java.lang.String attributeName, int index)
          Retrieves a String value for a collection attribute of a concept at a given integer index from a fact in the world state The Brahms type of the value may be either string or symbol.
 java.lang.String getFactAttributeString(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key)
          Retrieves a String value for a collection attribute of a concept at a given String key from a fact in the world state The Brahms type of the value may be either string or symbol.
 java.lang.Object getFactAttributeValue(IConcept lhsConcept, java.lang.String attributeName)
          Retrieves the value for an attribute of a concept from a fact in the world state Returns null if there is no corresponding fact in the world state.
 java.lang.Object getFactAttributeValue(IConcept lhsConcept, java.lang.String attributeName, int index)
          Retrieves the value for a collection attribute of a concept at a given integer index from a fact in the world state Returns null if there is no corresponding fact in the world state.
 java.lang.Object getFactAttributeValue(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key)
          Retrieves the value for a collection attribute of a concept at a given String key from a fact in the world state Returns null if there is no corresponding fact in the world state.
 IFact getFactForIndex(IConcept lhsConcept, IAttribute lhsAttribute, int lhsCollectionIndex, int relop, IContext ctx)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 IFact getFactForIndex(IConcept lhsConcept, IAttribute lhsAttribute, java.lang.String lhsCollectionIndex, int relop, IContext ctx)
          Find the fact using the specified parameters and return the fact if found, null if the fact was not found.
 java.util.List<IConcept> getFactRelationConcepts(IConcept lhsConcept, java.lang.String relationName)
          Retrieves a list of concepts that are related to a given concept by a named relation by inspecting the facts in the current world state.
 java.util.Enumeration getFacts()
          Returns a list of all the facts in the world state's fact set.
 java.util.Enumeration getFacts(IAttribute attribute)
          Returns a list of all the facts that have the specified attribute regardless of the lhs concept, relational operator and right hand side value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side regardless of their relational operator or value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute, int relop)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side and that use the specified relational operator.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute, int relop, boolean value)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side, that use the specified relational operator and have the specified rhs value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute, int relop, double value)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side, that use the specified relational operator and have the specified rhs value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute, int relop, IConcept value)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side, that use the specified relational operator and have the specified rhs value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute, int relop, int value)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side, that use the specified relational operator and have the specified rhs value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute, int relop, IUnknown value)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side, that use the specified relational operator and have the specified rhs value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute, int relop, long value)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side, that use the specified relational operator and have the specified rhs value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute, int relop, java.io.Serializable value)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side, that use the specified relational operator and have the specified rhs value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IAttribute lhsAttribute, int relop, java.lang.String value)
          Returns a list of all the facts that have the specified concept and attribute on their left hand side, that use the specified relational operator and have the specified rhs value.
 java.util.Enumeration getFacts(IConcept lhsConcept, IRelation relation)
          Returns a list of all the facts that have the specified left hand side concept and relation regardless of their right hand side concept.
 java.util.Enumeration getFacts(IConcept lhsConcept, IRelation relation, int truthValue)
          Returns a list of all the facts that have the specified left hand side concept, relation and truth value regardless of their right hand side concept.
 java.util.Enumeration getFacts(IRelation relation)
          Returns a list of all the facts that have the specified relation regardless of their left and right hand side concept.
 java.util.Enumeration getFacts(IRelation relation, IConcept rhsConcept, int truthValue)
          Returns a list of all the facts that have the specified relation and right hand side concept, and truth value regardless of their left hand side concept.
 java.util.Enumeration getFacts(IRelation relation, IUnknown rhsConcept, int truthValue)
          Returns a list of all the facts that have the specified relation, as right hand side 'unknown', and the specified truth value regardless of their left hand side concept.
 boolean hasFactAttributeAnyValue(IConcept lhsConcept, java.lang.String attributeName, boolean includeUnknown)
          Tests whether a concept has any value for a named attribute based on the facts in the world state.
 boolean hasFactAttributeAnyValue(IConcept lhsConcept, java.lang.String attributeName, int index, boolean includeUnknown)
          Tests whether a concept has any value for a named collection attribute at a given integer index based on the facts in the world state.
 boolean hasFactAttributeAnyValue(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, boolean includeUnknown)
          Tests whether a concept has any value for a named collection attribute at a given String key based on the facts in the world state.
 boolean hasFactAttributeValue(IConcept lhsConcept, java.lang.String attributeName, int index, java.lang.Object value)
          Tests whether a concept has a specified value for a named collection attribute at an int index based on the facts in the world state.
 boolean hasFactAttributeValue(IConcept lhsConcept, java.lang.String attributeName, java.lang.Object value)
          Tests whether a concept has a specified value for a named attribute based on the facts in the world state.
 boolean hasFactAttributeValue(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, java.lang.Object value)
          Tests whether a concept has a specified value for a named collection attribute at a String key based on the facts in the world state.
 boolean hasFactRelationAnyValue(IConcept lhsConcept, java.lang.String relationName, boolean includeUnknown)
          Tests whether there are any true facts for a given concept and named relation in the current world state.
 boolean hasFactRelationValue(IConcept lhsConcept, java.lang.String relationName, java.lang.Object value)
          Tests whether a concept is related to a value by a named relation by inspecting the facts in the current world state.
 java.util.List<IConcept> removeAllFactRelationValues(IConcept lhsConcept, java.lang.String relationName, IContext ctx)
          Removes any existing concepts as values of a named relation for a concept by retracting facts from the world state.
 void removeFactRelationConcept(IConcept lhsConcept, java.lang.String relationName, IConcept rhsConcept, IContext ctx)
          Removes a concept as a value of a named relation for a concept by retracting the corresponding fact from the world state.
 void retractFact(IFact fact, IContext ctx)
          Schedules the retraction of the specified fact from the world state including the notification of the retraction to all agents and objects.
 void setFactAttributeBoolean(IConcept lhsConcept, java.lang.String attributeName, boolean value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified boolean value for a named attribute
 void setFactAttributeBoolean(IConcept lhsConcept, java.lang.String attributeName, int index, boolean value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified boolean value for a named collection attribute at an int index
 void setFactAttributeBoolean(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, boolean value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified boolean value for a named collection attribute at a String key
 void setFactAttributeConcept(IConcept lhsConcept, java.lang.String attributeName, IConcept value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified IConcept value for a named attribute
 void setFactAttributeConcept(IConcept lhsConcept, java.lang.String attributeName, int index, IConcept value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified IConcept value for a named collection attribute at an int index
 void setFactAttributeConcept(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, IConcept value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified IConcept value for a named collection attribute at a String key
 void setFactAttributeDouble(IConcept lhsConcept, java.lang.String attributeName, double value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified double value for a named attribute
 void setFactAttributeDouble(IConcept lhsConcept, java.lang.String attributeName, int index, double value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified double value for a named collection attribute at an int index
 void setFactAttributeDouble(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, double value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified double value for a named collection attribute at a String key
 void setFactAttributeInt(IConcept lhsConcept, java.lang.String attributeName, int value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified int value for a named attribute
 void setFactAttributeInt(IConcept lhsConcept, java.lang.String attributeName, int index, int value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified int value for a named collection attribute at an int index
 void setFactAttributeInt(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, int value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified int value for a named collection attribute at a String key
 void setFactAttributeJava(IConcept lhsConcept, java.lang.String attributeName, int index, java.io.Serializable value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified Java Serializable value for a named collection attribute at an int index
 void setFactAttributeJava(IConcept lhsConcept, java.lang.String attributeName, java.io.Serializable value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified Java Serializable value for a named attribute
 void setFactAttributeJava(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, java.io.Serializable value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified Java Serializable value for a named collection attribute at a String key
 void setFactAttributeLong(IConcept lhsConcept, java.lang.String attributeName, int index, long value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified long value for a named collection attribute at an int index
 void setFactAttributeLong(IConcept lhsConcept, java.lang.String attributeName, long value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified long value for a named attribute
 void setFactAttributeLong(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, long value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified long value for a named collection attribute at a String key
 void setFactAttributeString(IConcept lhsConcept, java.lang.String attributeName, int index, java.lang.String value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified string value for a named collection attribute at an int index
 void setFactAttributeString(IConcept lhsConcept, java.lang.String attributeName, java.lang.String value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified string value for a named attribute
 void setFactAttributeString(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, java.lang.String value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified string value for a named collection attribute at a String key
 void setFactAttributeSymbol(IConcept lhsConcept, java.lang.String attributeName, int index, java.lang.String value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified symbol value for a named collection attribute at an int index
 void setFactAttributeSymbol(IConcept lhsConcept, java.lang.String attributeName, java.lang.String value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified symbol value for a named attribute
 void setFactAttributeSymbol(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, java.lang.String value, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has a specified symbol value for a named collection attribute at a String key
 void setFactAttributeUnknown(IConcept lhsConcept, java.lang.String attributeName, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has the unknown value for a named attribute
 void setFactAttributeUnknown(IConcept lhsConcept, java.lang.String attributeName, int index, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has the unknown value for a named collection attribute at an int index
 void setFactAttributeUnknown(IConcept lhsConcept, java.lang.String attributeName, java.lang.String key, IContext ctx)
          Creates and asserts a new fact in the world state representing that an IConcept has the unknown value for a named collection attribute at a String key
 void setFactRelationUnknown(IConcept lhsConcept, java.lang.String relationName, IContext ctx)
          Removes any existing concepts as values of a named relation for a concept by giving the relation a value of unknown.
 

Method Detail

assertFact

void assertFact(IFact fact,
                IContext ctx)
                throws ExternalException
Schedules the assertion of the specified fact into the world state including the distribution of the fact to all agents and objects. The fact is not guaranteed to immediately be asserted in the world state.

Parameters:
fact - the IFact to be asserted
ctx - the IContext for the action
Throws:
ExternalException - if an internal error occurs

retractFact

void retractFact(IFact fact,
                 IContext ctx)
                 throws ExternalException
Schedules the retraction of the specified fact from the world state including the notification of the retraction to all agents and objects. The fact is not guaranteed to immediately be retracted from the world state.

Parameters:
fact - the IFact to be retracted
ctx - the IContext for the action
Throws:
ExternalException - if an internal error occurs

getFact

IFact getFact(IConcept lhsConcept,
              IAttribute lhsAttribute,
              int relop,
              int value)
              throws ExternalException
Find the fact using the specified parameters and return the fact if found, null if the fact was not found.

Parameters:
lhsConcept - the left hand side IConcept in the requested fact
lhsAttribute - the left hand side IAttribute in the requested fact
relop - the relational operator in the requested fact
value - the right hand side integer value in the requested fact
Returns:
IFact if the matching fact is found, null otherwise
Throws:
ExternalException - if an internal error occurs
See Also:
IRelationalOperator.EQUALS, IRelationalOperator.NOT_EQUALS

getFact

IFact getFact(IConcept lhsConcept,
              IAttribute lhsAttribute,
              int relop,
              long value)
              throws ExternalException
Find the fact using the specified parameters and return the fact if found, null if the fact was not found.

Parameters:
lhsConcept - the left hand side IConcept in the requested fact
lhsAttribute - the left hand side IAttribute in the requested fact
relop - the relational operator in the requested fact
value - the right hand side long value in the requested fact