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

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.NamedModelElement
              extended by gov.nasa.arc.brahms.common.data.BFrame
                  extended by gov.nasa.arc.brahms.common.data.Workframe
                      extended by gov.nasa.arc.brahms.vm.data.VMWorkframe
All Implemented Interfaces:
gov.nasa.arc.brahms.common.IConstants, java.io.Serializable

public class VMWorkframe
extends Workframe

A VMWorkframe is a Workframe with extensions for use in the Brahms virtual machine. A Workframe is an action rule. It is a declarative description of under what condition(s) an agent or object performs the activities specified in the body of the rule.

A workframe consists of Precondition(s) defining the conditions under which the workframe can be activated and a Body which is executed when the workframe is active. The body of a workframe can consist of activities and Consequences.

As part of a workframe definition variables and detectables can be defined. The variables get their values assigned either through the preconditions matching with beliefs or facts or through activities. The detectables are conditions active while the workframe is active allowing for conditional detection of new facts and beliefs and allowing for immediate action on the newly detected fact or belief.

Version:
8 December 1999
Author:
Ron van Hoof
See Also:
Workframe, Precondition, Variable, Detectable, Activity, Consequence, Serialized Form

Field Summary
 
Fields inherited from class gov.nasa.arc.brahms.common.data.BFrame
BODY_PROPERTY
 
Fields inherited from class gov.nasa.arc.brahms.common.data.NamedModelElement
NAME_PROPERTY
 
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
VMWorkframe()
          Constructor, creates a new workframe for use in the virtual machine.
VMWorkframe(java.lang.String name)
          Constructor, creates a new workframe with the specified name for use in the virtual machine.
VMWorkframe(java.lang.String file, int line)
          Constructor, creates a new workframe for use in the virtual machine and for which its specification is stored in the specified file at the specified line number.
VMWorkframe(java.lang.String name, java.lang.String file, int line)
          Constructor, creates a new workframe with the specified name for use in the virtual machine and for which its specification is stored in the specified file at the specified line number.
 
Method Summary
 boolean addActivityRef(ActivityRef act)
          Adds the specified activity reference to the body of the workframe
 IFrameCtx createContext()
          Creates a new context for this frame for use in a virtual machine.
 int getActivityCount()
          Returns the number of activities specified in the body of the workframe
 boolean removeActivityRef(ActivityRef act)
          Removes the specified activity reference from the body of the workframe
 
Methods inherited from class gov.nasa.arc.brahms.common.data.Workframe
addAssignment, addDelete, addDetectable, addMethodInvocation, delete, getDetectable, getDetectables, getType, hasDetectables, removeAssignment, removeDelete, removeDetectable, removeMethodInvocation, setID, setType
 
Methods inherited from class gov.nasa.arc.brahms.common.data.BFrame
addBodyElement, addConsequence, addPrecondition, addVariable, getBody, getBodyElement, getFullyQualifiedName, getNumberOfBodyElements, getNumberOfPreconditions, getPreconditions, getPriority, getQualifiedName, getVariable, getVariables, hasBody, hasPreconditions, hasVariables, isRepeat, removeBodyElement, removeConsequence, removePrecondition, removeVariable, setOwner, setOwner, setPriority, setRepeat
 
Methods inherited from class gov.nasa.arc.brahms.common.data.NamedModelElement
getDisplayText, getName, getOwner, setDisplayText, setFullyQualifiedName, setName, setOwner, toString
 
Methods inherited from class gov.nasa.arc.brahms.common.data.BrahmsObject
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

VMWorkframe

public VMWorkframe()
Constructor, creates a new workframe for use in the virtual machine.


VMWorkframe

public VMWorkframe(java.lang.String name)
Constructor, creates a new workframe with the specified name for use in the virtual machine.

Parameters:
name - the name of the workframe

VMWorkframe

public VMWorkframe(java.lang.String file,
                   int line)
Constructor, creates a new workframe for use in the virtual machine and for which its specification is stored in the specified file at the specified line number.

Parameters:
file - the file in which the workframe is specified
line - the line number at which the workframe's specification starts in the file

VMWorkframe

public VMWorkframe(java.lang.String name,
                   java.lang.String file,
                   int line)
Constructor, creates a new workframe with the specified name for use in the virtual machine and for which its specification is stored in the specified file at the specified line number.

Parameters:
name - the name of the workframe
file - the file in which the workframe is specified
line - the line number at which the workframe's specification starts in the file
Method Detail

addActivityRef

public boolean addActivityRef(ActivityRef act)
Adds the specified activity reference to the body of the workframe

Overrides:
addActivityRef in class Workframe
Parameters:
act - the ActivityRef to be added to the body
Returns:
true if the activity was successfully added, false otherwise

removeActivityRef

public boolean removeActivityRef(ActivityRef act)
Removes the specified activity reference from the body of the workframe

Overrides:
removeActivityRef in class Workframe
Parameters:
act - the ActivityRef to be removed from the body
Returns:
true if the activity was successfully removed, false otherwise

getActivityCount

public int getActivityCount()
Returns the number of activities specified in the body of the workframe

Returns:
int the number of activities specified in the body

createContext

public IFrameCtx createContext()
Creates a new context for this frame for use in a virtual machine.

Note: This method always returns a new instance and does not verify whether one is already created.

Overrides:
createContext in class Workframe
Returns:
IFrameCtx a context for the frame


Copyright © 1997-2012 All Rights Reserved.