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

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.Concept
                  extended by gov.nasa.arc.brahms.common.data.ActiveConcept
                      extended by gov.nasa.arc.brahms.common.data.ActiveClass
                          extended by gov.nasa.arc.brahms.common.data.Group
                              extended by gov.nasa.arc.brahms.vm.data.VMGroup
All Implemented Interfaces:
IConceptClass, Type, gov.nasa.arc.brahms.common.IConstants, IVMClass, java.io.Serializable

public class VMGroup
extends Group
implements IVMClass

The VMGroup is a Group with extensions for use in the Brahms virtual machine. The concept of a "group" in Brahms is similar to the concept of a template or class in object-oriented programming. A group represents a collection of 'agents' that can perform similar work and have similar beliefs. A group defines the work activities (activity frames and thought frames), the initial-beliefs of members in the group and the initial-facts in the world. The difference with classes in object-oriented programming is that the relationship between a group and its members is not an IS-A relationship, but a MEMBER-OF relationship. This is why we speak of "a member of a group" instead of "an instance of a group."

Version:
15 June 2000
Author:
Ron van Hoof
See Also:
Serialized Form

Field Summary
 
Fields inherited from class gov.nasa.arc.brahms.common.data.Concept
ATTRIBUTES_PROPERTY, RELATIONS_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
VMGroup()
          Constructor, creates a new group for use in the virtual machine.
VMGroup(java.lang.String name)
          Constructor, creates a new group with the specified name for use in the virtual machine.
VMGroup(java.lang.String file, int line)
          Constructor, creates a new group for use in the virtual machine.
VMGroup(java.lang.String name, java.lang.String file, int line)
          Constructor, creates a new group with the specified name for use in the virtual machine.
 
Method Summary
 IVMInstance createInstance(java.lang.String name)
          Creates a new agent with this group as its parent.
 boolean equals(java.lang.Object obj)
          Tests whether two VMGroups are equal.
 
Methods inherited from class gov.nasa.arc.brahms.common.data.Group
addMember, addSubClass, addSuperClass, delete, isSubClassOf, removeMember, setID
 
Methods inherited from class gov.nasa.arc.brahms.common.data.ActiveClass
addMember, addSubClass, addSuperClass, getActivitiesRecursive, getActivitiesRecursive, getActivityByDescriptorRecursive, getAttributeRecursive, getAttributesRecursive, getInitialBeliefsRecursive, getInitialFactsRecursive, getMember, getMembers, getMembers, getMembersRecursive, getRelationRecursive, getRelationsRecursive, getSubClass, getSubClasses, getSuperClass, getSuperClasses, getSuperClasses, getThoughtframesRecursive, getWorkframesRecursive, hasMembers, hasSubClasses, hasSuperClasses, isMember, isSubClassOf, removeSubClass, removeSuperClass
 
Methods inherited from class gov.nasa.arc.brahms.common.data.ActiveConcept
addActivity, addInitialBelief, addInitialFact, addThoughtframe, addWorkframe, getActivities, getActivities, getActivities, getActivities, getActivityByDescriptor, getActivityByDescriptor, getAttribute, getAttributes, getCost, getInitialBeliefs, getInitialBeliefs, getInitialFacts, getInitialFacts, getLocalActivityByDescriptor, getRelation, getRelations, getThoughtframe, getThoughtframes, getThoughtframes, getThoughtframes, getTimeUnit, getWorkframe, getWorkframes, getWorkframes, getWorkframes, hasActivities, hasInitialBeliefs, hasInitialFacts, hasThoughtframes, hasWorkframes, removeActivity, removeThoughtframe, removeWorkframe, setCost, setTimeUnit
 
Methods inherited from class gov.nasa.arc.brahms.common.data.Concept
addAttribute, addRelation, compareTypes, createContext, getAttribute, getAttributes, getContext, getFullyQualifiedName, getIcon, getModel, getName, getPackage, getRelation, getRelations, getType, hasAttributes, hasRelations, isLocal, isSerializable, removeAttribute, removeRelation, setContext, setIcon, setLocal, setModel, setPackage, setSerializable, toString
 
Methods inherited from class gov.nasa.arc.brahms.common.data.NamedModelElement
getDisplayText, getOwner, setDisplayText, setFullyQualifiedName, setName, setOwner
 
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, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface gov.nasa.arc.brahms.vm.data.IVMClass
isSerializable
 
Methods inherited from interface gov.nasa.arc.brahms.common.data.Type
getSerialNumber
 

Constructor Detail

VMGroup

public VMGroup()
Constructor, creates a new group for use in the virtual machine.


VMGroup

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

Parameters:
name - the unique name of the group

VMGroup

public VMGroup(java.lang.String file,
               int line)
Constructor, creates a new group for use in the virtual machine.

Parameters:
file - the name of the file in which the group is specified
line - the line number at which the definition of the group starts

VMGroup

public VMGroup(java.lang.String name,
               java.lang.String file,
               int line)
Constructor, creates a new group with the specified name for use in the virtual machine.

Parameters:
name - the unique name of the group
file - the name of the file in which the group is specified
line - the line number at which the definition of the group starts
Method Detail

createInstance

public IVMInstance createInstance(java.lang.String name)
Creates a new agent with this group as its parent.

Specified by:
createInstance in interface IVMClass
Parameters:
name - the unique name in the runtime model for the instance.
Returns:
IVMInstance a new Agent

equals

public boolean equals(java.lang.Object obj)
Tests whether two VMGroups are equal. The VM maintains a single instance of any VMGroup with a given FQN in its static model, so the equality check can be reduced to an identity check

Overrides:
equals in class Concept
Parameters:
obj - the Object to be compared for equality
Returns:
true if the two VMGroups are equal, false otherwise


Copyright © 1997-2012 All Rights Reserved.