gov.nasa.arc.brahms.vm.data
Class VMPrecondition

java.lang.Object
  extended by gov.nasa.arc.brahms.common.data.BrahmsObject
      extended by gov.nasa.arc.brahms.common.data.ModelElement
          extended by gov.nasa.arc.brahms.common.data.Condition
              extended by gov.nasa.arc.brahms.common.data.Precondition
                  extended by gov.nasa.arc.brahms.vm.data.VMPrecondition
All Implemented Interfaces:
gov.nasa.arc.brahms.common.IConstants, java.io.Serializable

public class VMPrecondition
extends Precondition

The VMPrecondition is a Precondition with extensions for use in the virtual machine. Preconditions control the activation of a workframe and thoughtframe. For a frame to become active the preconditions defined for the frame have to be satisfied. Preconditions are satisfied by either matching beliefs of an agent (if the frames are thoughtframes or workframes defined for an agent) or by matching facts in the world (if workframes are defined for an object). Preconditions can include variables as part of their matching of specific beliefs/facts.

Version:
$Revision: 1.4 $ $Date: 2009/11/23 22:22:32 $ $Author: rnado $
Author:
Ron van Hoof
See Also:
Precondition, Serialized Form

Field Summary
 
Fields inherited from interface gov.nasa.arc.brahms.common.IConstants
ABORT, ACTIVECLASS, ACTIVECONCEPT, ACTIVEINSTANCE, AGENT, ANONYMOUS, ANYAGENT, AREA, AREADEF, ASSIGNED, ATTRIBUTE, BASEAREADEF, BASECLASS, BASECONCEPTUALCLASS, BASEGROUP, BASELIBRARY, BOOLEAN, BROADCAST, BUILDING, BYTE, CCLOCK, CDATE, CHAR, CITY, CLASS, CLOCK, COLLECTALL, COMMUNICATE, COMPLETE, COMPOSITE, COMPUTER, CONCEPT, CONCEPTUALCLASS, CONCEPTUALCONCEPT, CONCEPTUALOBJECT, CONTINUE, COPY, CREATEAGENT, CREATEAREA, CREATEOBJECT, current, CURRENT, DATAFRAME, DATE, DB, DETECTABLE, DIV, DOUBLE, EMAIL, EMPTY_STRING, END, ENDACTIVITY, ENTAGENT, EQ, EXCEPTION, EXPR, FACE2FACE, FACTFRAME, FALSE, FAX, FLOAT, FOREACH, FORONE, G2, GE, GEOGRAPHYCONCEPT, GESTURE, GET, GROUP, GT, IMPASSE, INT, INVALID, JAVA, JAVA_TYPE, KNOWN_MODIFIER, KNOWNVAL_MODIFIER, LE, LOCAL, LONG, LT, MAP, MINUS, MOD, MOVE, MULT, NE, NEW, NONE, NOT_MODIFIER, NOWORK, O, OA, OBJECT, ONTOLOGY, PAGER, PARAMETER, PATH, PHONE, PLUS, PRIMITIVE, PRIVATE, PROAGENT, PROTECTED, PRSAGENT, PUBLIC, PUT, RECEIVE, RELATION, sACTIVECLASS, sACTIVECONCEPT, sACTIVEINSTANCE, sAGENT, sARCHIVE, sAREA, sAREADEF, sBOOLEAN, sBYTE, sBYTECODEEXT, sCHAR, sCLASS, sCOMPUTER, sCONCEPT, sCONCEPTUALCLASS, sCONCEPTUALCONCEPT, sCONCEPTUALOBJECT, sCOPY, sCURRENT, sDETECTABLE, sDOUBLE, sEMAIL, sEND, SEND, sFACE2FACE, sFAX, sFILEEXT, sFLOAT, sGEOGRAPHYCONCEPT, sGROUP, SHORT, SIMAGENT, sINT, sJAVA_TYPE, sLONG, sMAP, sNEW, sNONE, sNOWORK, sOBJECT, SOURCECODE, sPAGER, sPARAMETER, sPATH, sPHONE, sPRIVATE, sPROJECTEXT, sPROTECTED, sPUBLIC, sSHORT, sSTART, sSTRING, sSYMBOL, START, STRING, sUNKNOWN, sVOID, SYMBOL, TRUE, UDT, UML, UNASSIGNED, UNDEFINED, unknown, UNKNOWN, UNKNOWN_MODIFIER, V, VARIABLE, VOID, WHENEVER, WORKFRAME, WORLD, XML
 
Constructor Summary
VMPrecondition()
          Constructor, creates a new empty Precondition.
VMPrecondition(Comparison c)
          Constructor, creates a new precondition specified by the given comparison.
VMPrecondition(Comparison c, int truth)
          Constructor, creates a new precondition specified by the given comparison and with the specified truth-value.
VMPrecondition(int modifier, Comparison c)
          Constructor, creates a new precondition specified by the given comparison with the specified modifier.
VMPrecondition(int modifier, Comparison c, int truth)
          Constructor, creates a new precondition specified by the given comparison with the specified modifier and truth value.
 
Method Summary
 void buildRSN(gov.nasa.arc.brahms.vm.engine.rsn.ReasoningStateNetwork rsn, gov.nasa.arc.brahms.vm.engine.rsn.IRSNFrameNode frame)
          Adds this precondition to the reasoning state network to build up the RSN to properly activate frames.
 void buildRSN(gov.nasa.arc.brahms.vm.engine.rsn.ReasoningStateNetwork rsn, gov.nasa.arc.brahms.vm.engine.rsn.IRSNFrameNode frame, gov.nasa.arc.brahms.vm.engine.rsn.RSNActivityRefNode actref)
          Adds this precondition to the reasoning state network to build up the RSN to properly activate frames.
 boolean evaluate(gov.nasa.arc.brahms.vm.engine.rsn.RSNFrameNode frame, gov.nasa.arc.brahms.vm.engine.rsn.RSNFrameNode.FrameEvaluationRecord evalRcd)
          Evaluates the precondition determining whether or not it evaluates to true.
 
Methods inherited from class gov.nasa.arc.brahms.common.data.Precondition
getModifier, setID, setModifier, toString
 
Methods inherited from class gov.nasa.arc.brahms.common.data.Condition
getComparison, getOwner, getParameters, getTruthValue, getTruthValueAsString, getVariables, setComparison, setOwner, setOwner, setOwner, setTruthValue, toSource
 
Methods inherited from class gov.nasa.arc.brahms.common.data.BrahmsObject
delete, export, getFile, getID, getLine, getSerialNumber, isBCC, isDynamic, isLoaded, isResolved, setBCC, setDynamic, setFile, setID, setLine, setLoaded, setResolved, setSerialNumber
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VMPrecondition

public VMPrecondition()
Constructor, creates a new empty Precondition.


VMPrecondition

public VMPrecondition(Comparison c)
Constructor, creates a new precondition specified by the given comparison.

Parameters:
c - the Comparison specifying the condition of the precondition.

VMPrecondition

public VMPrecondition(Comparison c,
                      int truth)
Constructor, creates a new precondition specified by the given comparison and with the specified truth-value.

Parameters:
c - the Comparison specifying the condition of the precondition.
truth - the truth value of the precondition (TRUE, FALSE, UNKNOWN)
See Also:
IConstants.TRUE, IConstants.FALSE, IConstants.UNKNOWN

VMPrecondition

public VMPrecondition(int modifier,
                      Comparison c)
Constructor, creates a new precondition specified by the given comparison with the specified modifier.

Parameters:
modifier - the precondition's modifier (KNOWNVAL_MODIFIER, KNOWN_MODIFIER, UNKNOWN_MODIFIER, NOT_MODIFIER)
c - the Comparison specifying the condition of the precondition.
See Also:
IConstants.KNOWNVAL_MODIFIER, IConstants.KNOWN_MODIFIER, IConstants.UNKNOWN_MODIFIER, IConstants.NOT_MODIFIER

VMPrecondition

public VMPrecondition(int modifier,
                      Comparison c,
                      int truth)
Constructor, creates a new precondition specified by the given comparison with the specified modifier and truth value.

Parameters:
modifier - the precondition's modifier (KNOWNVAL_MODIFIER, KNOWN_MODIFIER, UNKNOWN_MODIFIER, NOT_MODIFIER)
c - the Comparison specifying the condition of the precondition.
truth - the truth value of the precondition (TRUE, FALSE, UNKNOWN)
See Also:
IConstants.KNOWNVAL_MODIFIER, IConstants.KNOWN_MODIFIER, IConstants.UNKNOWN_MODIFIER, IConstants.NOT_MODIFIER, IConstants.TRUE, IConstants.FALSE, IConstants.UNKNOWN
Method Detail

buildRSN

public void buildRSN(gov.nasa.arc.brahms.vm.engine.rsn.ReasoningStateNetwork rsn,
                     gov.nasa.arc.brahms.vm.engine.rsn.IRSNFrameNode frame)
              throws gov.nasa.arc.brahms.common.exceptions.BrahmsException
Adds this precondition to the reasoning state network to build up the RSN to properly activate frames.

Parameters:
rsn - the ReasoningStateNetwork to be built
frame - the IRSNFrameNode for the frame in which this precondition is specified.
Throws:
gov.nasa.arc.brahms.common.exceptions.BrahmsException - if an error occurs in building up the RSN with this comparison

buildRSN

public void buildRSN(gov.nasa.arc.brahms.vm.engine.rsn.ReasoningStateNetwork rsn,
                     gov.nasa.arc.brahms.vm.engine.rsn.IRSNFrameNode frame,
                     gov.nasa.arc.brahms.vm.engine.rsn.RSNActivityRefNode actref)
              throws gov.nasa.arc.brahms.common.exceptions.BrahmsException
Adds this precondition to the reasoning state network to build up the RSN to properly activate frames.

Parameters:
rsn - the ReasoningStateNetwork to be built
frame - the IRSNFrameNode for the frame in which this precondition is specified.
actref - the RSNActivityRefNode for the activity reference referencing a composite activity in which the frame and the precondition are specified.
Throws:
gov.nasa.arc.brahms.common.exceptions.BrahmsException - if an error occurs in building up the RSN with this comparison

evaluate

public boolean evaluate(gov.nasa.arc.brahms.vm.engine.rsn.RSNFrameNode frame,
                        gov.nasa.arc.brahms.vm.engine.rsn.RSNFrameNode.FrameEvaluationRecord evalRcd)
                 throws gov.nasa.arc.brahms.common.exceptions.BrahmsException
Evaluates the precondition determining whether or not it evaluates to true.

Parameters:
frame - the RSNFrameNode for the frame in which the precondition is specified
evalRcd - the record in which to store bindings for variables and statements matching preconditions
Returns:
true if the precondition evaluates to true, false otherwise
Throws:
gov.nasa.arc.brahms.common.exceptions.BrahmsException - if an internal error occurs


Copyright © 1997-2012 All Rights Reserved.