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

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

public class Group
extends ActiveClass

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:
$Revision: 1.2 $ $Date: 2009/06/16 21:36:17 $ $Author: rvhoof $
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
Group()
           
Group(java.lang.String name)
           
Group(java.lang.String file, int line)
           
Group(java.lang.String name, java.lang.String file, int line)
           
 
Method Summary
 boolean addMember(Agent concept)
           
 boolean addSubClass(Group concept)
           
 boolean addSuperClass(Group concept)
           
 void delete()
          Deletes this group from the model and removes all references to this group in other model elements.
protected  boolean isSubClassOf(Concept concept, java.util.Hashtable checked)
          Checks recursively whether this group is a sub class of the specified concept, checking the concept hierarchy.
 boolean removeMember(java.lang.String name)
           
protected  void setID()
          Sets the unique identifier.
 
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, equals, 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.common.data.Type
getSerialNumber
 

Constructor Detail

Group

public Group()

Group

public Group(java.lang.String name)

Group

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

Group

public Group(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

addSuperClass

public boolean addSuperClass(Group concept)

addSubClass

public boolean addSubClass(Group concept)

addMember

public boolean addMember(Agent concept)

removeMember

public boolean removeMember(java.lang.String name)
Overrides:
removeMember in class ActiveClass

delete

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

Overrides:
delete in class ActiveClass

isSubClassOf

protected boolean isSubClassOf(Concept concept,
                               java.util.Hashtable checked)
Checks recursively whether this group is a sub class of the specified concept, checking the concept hierarchy.

Overrides:
isSubClassOf in class ActiveClass
Parameters:
concept - the concept to be checked to see if it is a parent of this group.
checked - the table with parents already checked in the hierarchy to prevent circular loops
Returns:
true if this group is a sub class of the concept, false otherwise


Copyright © 1997-2012 All Rights Reserved.