gov.nasa.arc.brahms.common.data
Class Workframe

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
All Implemented Interfaces:
gov.nasa.arc.brahms.common.IConstants, java.io.Serializable
Direct Known Subclasses:
VMWorkframe

public class Workframe
extends BFrame

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:
$Revision: 1.2 $ $Date: 2009/11/23 19:08:56 $ $Author: rnado $
Author:
Ron van Hoof
See Also:
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
Workframe()
           
Workframe(java.lang.String name)
           
Workframe(java.lang.String file, int line)
           
Workframe(java.lang.String name, java.lang.String file, int line)
           
 
Method Summary
 boolean addActivityRef(ActivityRef act)
           
 boolean addAssignment(Assignment assign)
          Add the specified Assignment operation to the body of the workframe.
 boolean addDelete(Delete del)
          Add the specified Delete operation to the body of the workframe.
 boolean addDetectable(Detectable det)
           
 boolean addMethodInvocation(MethodInvocation invocation)
          Add the specified MethodInvocation operation to the body of the workframe.
 IFrameCtx createContext()
          Creates a new context for this frame for use in a virtual machine.
 void delete()
          Deletes this element from the model and removes all references to this element in other model elements.
 Detectable getDetectable(java.lang.String name)
           
 java.util.Enumeration getDetectables()
           
 int getType()
          Returns the workframe type, one of WORKFRAME, FACTFRAME or DATAFRAME.
 boolean hasDetectables()
           
 boolean removeActivityRef(ActivityRef act)
           
 boolean removeAssignment(Assignment assign)
          Removes the specified Assignment operation from the body of the workframe.
 boolean removeDelete(Delete del)
          Removes the specified Delete operation from the body of the workframe.
 boolean removeDetectable(java.lang.String name)
           
 boolean removeMethodInvocation(MethodInvocation invocation)
          Removes the specified MethodInvocation operation from the body of the workframe.
protected  void setID()
          Sets the unique identifier.
 void setType(int type)
          Sets the workframe type, one of WORKFRAME, FACTFRAME or DATAFRAME.
 
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

Workframe

public Workframe()

Workframe

public Workframe(java.lang.String name)

Workframe

public Workframe(java.lang.String file,
                 int line)

Workframe

public Workframe(java.lang.String name,
                 java.lang.String file,
                 int line)
Method Detail

setID

protected void setID()
Sets the unique identifier.

Overrides:
setID in class BrahmsObject

setType

public void setType(int type)
Sets the workframe type, one of WORKFRAME, FACTFRAME or DATAFRAME.

Parameters:
type - the type of workframe
See Also:
IConstants.WORKFRAME, IConstants.FACTFRAME, IConstants.DATAFRAME

getType

public int getType()
Returns the workframe type, one of WORKFRAME, FACTFRAME or DATAFRAME.

Returns:
int the type of workframe
See Also:
IConstants.WORKFRAME, IConstants.FACTFRAME, IConstants.DATAFRAME

addDetectable

public boolean addDetectable(Detectable det)

removeDetectable

public boolean removeDetectable(java.lang.String name)

getDetectable

public Detectable getDetectable(java.lang.String name)
                         throws java.util.NoSuchElementException
Throws:
java.util.NoSuchElementException

hasDetectables

public boolean hasDetectables()

getDetectables

public java.util.Enumeration getDetectables()

addActivityRef

public boolean addActivityRef(ActivityRef act)

removeActivityRef

public boolean removeActivityRef(ActivityRef act)

addDelete

public boolean addDelete(Delete del)
Add the specified Delete operation to the body of the workframe.

Parameters:
del - the Delete operation to be added
Returns:
boolean true if added, false if not

removeDelete

public boolean removeDelete(Delete del)
Removes the specified Delete operation from the body of the workframe.

Parameters:
del - the Delete operation to be removed
Returns:
boolean true if removed, false if not

addMethodInvocation

public boolean addMethodInvocation(MethodInvocation invocation)
Add the specified MethodInvocation operation to the body of the workframe.

Parameters:
invocation - the MethodInvocation operation to be added
Returns:
boolean true if added, false if not

removeMethodInvocation

public boolean removeMethodInvocation(MethodInvocation invocation)
Removes the specified MethodInvocation operation from the body of the workframe.

Parameters:
invocation - the MethodInvocation operation to be removed
Returns:
boolean true if removed, false if not

addAssignment

public boolean addAssignment(Assignment assign)
Add the specified Assignment operation to the body of the workframe.

Parameters:
assign - the Assignment operation to be added
Returns:
boolean true if added, false if not

removeAssignment

public boolean removeAssignment(Assignment assign)
Removes the specified Assignment operation from the body of the workframe.

Parameters:
assign - the Assignment operation to be removed
Returns:
boolean true if removed, false if not

delete

public void delete()
Deletes this element from the model and removes all references to this element in other model elements.

Overrides:
delete in class BFrame

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.

Specified by:
createContext in class BFrame
Returns:
IFrameCtx a context for the frame


Copyright © 1997-2012 All Rights Reserved.