informationexchange
Class PlanInformation

java.lang.Object
  |
  +--informationexchange.PlanInformation
Direct Known Subclasses:
FirmenAgentPlanInformation

public abstract class PlanInformation
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

Dieses Objekt wird zwischen dem Planner, der PlanExecution, dem PlanArchive und der Systemkontrolle ausgetauscht. Au?erdem werden durch dieses Objekt die Planungsziele erzeugt und die Ergebnisse der Suche gefiltert.

Version:
1.8 [1999-11-07]
Author:
Oliver Geppert, Christian Fischbach [targetPathDFS, generateTargetPredicates, generateStartPredicates]
See Also:
Serialized Form

Field Summary
protected  java.util.LinkedList alreadyUsedList
          Eine Liste, die darüber Auskunft gibt, ob ein Operator schon einmal ausgeführt wurde.
protected  boolean backToSender
          Ein Flag, das anzeigt, ob ein PlanInformation-Objekt genau zu dem Plannerzur?ckkehren muss von dem es gekommen ist.
 java.util.Hashtable concept2constraintInstance
           
protected  java.util.LinkedList constraintInstances
          die markierten Constraint Instanzen
protected  Results goalInstances
          Instanzen, die auf die Zielvorgaben passen
protected  LearnTree learnTree
          Der LearnTree.
protected  A_Box localABox
          Das ist die lokale A-Box, die jedem Plan zugrundeliegt und die Ergebnisse der PlanExecution aufnimmt.
protected  OperatorDB operatorDB
          Die Operatordatenbank für den Planer und den Lerner.
protected  PlanTree plan
          der eigentlich Plan.
protected  boolean planFinished
          Flag, das den Status des Gesamtplans angibt. True:= der ausgef?hrte Teilplan ist der letzte des Gesamtplans.
False:= dem Teilplan folgen noch weitere Teilpl?ne.

protected  long planID
          Das ist die, mindestens innerhalb einer search_ID, eindeutige plan_ID, die es dem Planarchiv erm?glicht Teilpl?ne zusammenzusetzen.
protected  boolean planSuccess
          Flag, das den Erfolg der Planausf?hrung wiedergibt.
protected  long searchID
          Das ist die, ?ber alle Suchen, eindeutige search_ID, die es dem Planarchiv erm?glicht Teilpl?ne zusammenzusetzen.
protected  Predicate[] startPredicates
          Die Predicate, die den Startzustand des Planers beschreiben
protected  java.util.LinkedList targetConcepts
          die merkierten Zielkonzepte
protected  Predicate[] targetPredicates
          Die Predicates, die das Planungsziel definieren.
protected  java.util.LinkedList targetRoles
          die markierten Zielrollen
protected  T_Box tBox
          Die suchspezifische T-Box.
 java.util.Hashtable tPredName2Confidence
           
protected  boolean worldHasChanged
          Flag, das anzeigt, ob das (A-Box) Wissen sich geaendert -- d.h.
 
Constructor Summary
PlanInformation(long planID, long searchID, A_Box localABox, T_Box tBox, OperatorDB operatorDB, boolean createInitialWorld)
          Konstruktor, der von der Systemkontrolle aufgerufen wird.
 
Method Summary
 void createLearnTree()
          Diese Methode muß von der Systemkontrolle nach dem Abarbeiten eines Plans durch Planaausführung und Planer und vor dem Abspeichern in eine Datei aufrufen.
abstract  Instance findConstraintInstance(java.lang.String conceptName)
          sucht zu einem Konzeptnamen eine constraint instance
private  void generateStartPredicates()
          Erzeugt die startPredicate, die den Startzustand f?r den Planer beschreiben.
protected abstract  void generateTargetPredicates()
           
private  void genericGenerateTargetPredicates()
          Deprecated. Automatische Zielextraktion scheint sehr schwierig. Ziele muessen agentenspezifisch in generateTargetPredicates() ausprogrammiert werden.
 java.util.LinkedList getAlreadyUsedOperatorsList()
           
 boolean getBackToSender()
          Liefert den Wert des booleschen Flags backToSender
 LearnTree getLearnTree()
           
 A_Box getLocalABox()
           
 OperatorDB getOperatorDB()
          Liefert die im Konstruktor übergebene Operatorendatenbank zurück.
 PlanTree getPlan()
           
 boolean getPlanFinished()
          Gibt den Status des Flags planFinished zur?ck.
 long getPlanID()
           
 boolean getPlanSuccess()
           
 Results getResults()
          Liefert die Planungsergebnisse fuer dieses PlanInformation-Objekt
 long getSearchID()
           
 Predicate[] getStartPredicates()
           
 Predicate[] getTargetPredicates()
           
 T_Box getTBox()
          Liefert die T-Box, deren suchspezifischen Zielkonzepte markiert werden.
 boolean getWorldHasChanged()
          public get-Methode fuer Attribut worldHasChanged.
 boolean setBackToSender(boolean b)
          Setzt das boolesche Flag backToSender
 A_Box setLocalABox(A_Box aBox)
          Setzt die localABox.
 PlanTree setPlan(PlanTree pt)
          setzt plan auf den ?bergebenen Plan pt.
 boolean setPlanFinished(boolean b)
          setzt das Flag planFinished auf b.
 long setPlanID(long planID)
          setzt die planID auf den long planID.
 boolean setPlanSuccess(boolean b)
          setzt das Flag planSuccess auf b.
 long setSearchID(long searchID)
          setzt die searchID auf den long searchID.
 T_Box setTBox(T_Box tBox)
          Setzt die T-Box, deren suchspezifische Zielkonzepte markiert werden.
 boolean setWorldHasChanged(boolean b)
          public set-Methode fuer Attribut worldHasChanged.
private  java.util.Hashtable targetPathDFS(Concept dfsConcept, java.util.Hashtable dfsTargetPath, java.util.Hashtable dfsUsedRoleNames)
          Deprecated. automatische Zielextraktion scheint sehr schwierig. Die Ziele mussen agentenspezifisch in generateTargetPredicates erzeugt werden
 void updateWorld()
          Wenn sich das Weltwissen geaendert hat, muss die Startwelt neu generiert werden.
abstract  void verify()
          Belegt die Variable Results goalInstances
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

planID

protected long planID
Das ist die, mindestens innerhalb einer search_ID, eindeutige plan_ID, die es dem Planarchiv erm?glicht Teilpl?ne zusammenzusetzen.
Since:
Version 1.0

searchID

protected long searchID
Das ist die, ?ber alle Suchen, eindeutige search_ID, die es dem Planarchiv erm?glicht Teilpl?ne zusammenzusetzen.
Since:
Version 1.0

planSuccess

protected boolean planSuccess
Flag, das den Erfolg der Planausf?hrung wiedergibt. Zur Information des Planarchives. Zur Auswertung durch einen Lerner.

True:= Plan ohne Fehler durchgelaufen.
False:= Es ist ein Fehler w?hrend der Planausf?hrung aufgetreten.

See Also:
PlanArchive, Learner
Since:
Version 1.0


planFinished

protected boolean planFinished
Flag, das den Status des Gesamtplans angibt.

True:= der ausgef?hrte Teilplan ist der letzte des Gesamtplans.
False:= dem Teilplan folgen noch weitere Teilpl?ne.

See Also:
Planner
Since:
Version 1.0


worldHasChanged

protected boolean worldHasChanged
Flag, das anzeigt, ob das (A-Box) Wissen sich geaendert -- d.h. vermehrt -- hat.
Since:
Version 1.8

backToSender

protected transient boolean backToSender
Ein Flag, das anzeigt, ob ein PlanInformation-Objekt genau zu dem Plannerzur?ckkehren muss von dem es gekommen ist. Der angesprochene Planer darf nicht neuinstanziiert werden m?ssen.
See Also:
Planner
Since:
Version 1.0

localABox

protected A_Box localABox
Das ist die lokale A-Box, die jedem Plan zugrundeliegt und die Ergebnisse der PlanExecution aufnimmt.
See Also:
A_Box, Planner, PlanExecution
Since:
Version 1.0

tBox

protected T_Box tBox
Die suchspezifische T-Box. Suchspezifisch, weil die suchspezifischen Zielkonzepte markiert werden.
See Also:
T_Box
Since:
Version 1.0

targetPredicates

protected Predicate[] targetPredicates
Die Predicates, die das Planungsziel definieren.
Since:
Version 1.1

startPredicates

protected Predicate[] startPredicates
Die Predicate, die den Startzustand des Planers beschreiben
Since:
Version 1.3

goalInstances

protected Results goalInstances
Instanzen, die auf die Zielvorgaben passen
Since:
Version 1.0

plan

protected transient PlanTree plan
der eigentlich Plan.
Since:
Version 1.0

alreadyUsedList

protected transient java.util.LinkedList alreadyUsedList
Eine Liste, die darüber Auskunft gibt, ob ein Operator schon einmal ausgeführt wurde. Er soll doppelte Eintragungen in die A_Box durch den Planausführer verhindern. Die Objekte in der Liste sind vom Typ OperatorCompareKey
Since:
Version 1.9

constraintInstances

protected java.util.LinkedList constraintInstances
die markierten Constraint Instanzen
Since:
version 1.2

targetConcepts

protected java.util.LinkedList targetConcepts
die merkierten Zielkonzepte
Since:
version 1.2

targetRoles

protected java.util.LinkedList targetRoles
die markierten Zielrollen
Since:
version 1.2

operatorDB

protected transient OperatorDB operatorDB
Die Operatordatenbank für den Planer und den Lerner.
Since:
Version 1.4

learnTree

protected LearnTree learnTree
Der LearnTree. Wird vom Planausfuehrer gesetzt, wenn ein PlanInformation-Objekt ins Planarchiv geschrieben wird.
Since:
1.5

concept2constraintInstance

public java.util.Hashtable concept2constraintInstance

tPredName2Confidence

public java.util.Hashtable tPredName2Confidence
Constructor Detail

PlanInformation

public PlanInformation(long planID,
                       long searchID,
                       A_Box localABox,
                       T_Box tBox,
                       OperatorDB operatorDB,
                       boolean createInitialWorld)
                throws NoTargetPathException
Konstruktor, der von der Systemkontrolle aufgerufen wird.
Parameters:
planID - die von der Systemkontrolle vergebene planID
searchID - die von der Systemkontrolle vergebene searchID
localABox - die A_Box, auf der gearbeitet werden soll
tBox - die T_Box, deren suchspezifische Zielkonzepte
operatorDB - die Operatorendatenbank
createInitialWorld - zeigt an, ob die Startwelt f?r dieses Objekt neu generiert werden soll. markiert werden.
Since:
Version 1.0
Method Detail

getBackToSender

public boolean getBackToSender()
Liefert den Wert des booleschen Flags backToSender
Returns:
boolean
Since:
Version 1.4

getPlanID

public long getPlanID()
Returns:
long die planID zur?ck.
Since:
Verson 1.0

getResults

public Results getResults()
Liefert die Planungsergebnisse fuer dieses PlanInformation-Objekt
Returns:
Results Planungsergebnisse fuer dieses PlanInformation-Objekt
Since:
version 1.6

getSearchID

public long getSearchID()
Returns:
longdie searchID zur?ck.
Since:
Version 1.0

getPlanSuccess

public boolean getPlanSuccess()
Returns:
booleangibt den Status des planSuccess-Flags zur?ck.
Since:
Version 1.0

getPlanFinished

public boolean getPlanFinished()
Gibt den Status des Flags planFinished zur?ck.
Returns:
boolean Status des Flags planFinished zur?ck.
Since:
Version 1.0

getLocalABox

public A_Box getLocalABox()
Returns:
A_Box die localA_Box zur?ck.
Since:
Version 1.0

getTBox

public T_Box getTBox()
Liefert die T-Box, deren suchspezifischen Zielkonzepte markiert werden.
Returns:
T_Box die T-Box
Since:
Version 1.0

setTBox

public T_Box setTBox(T_Box tBox)
Setzt die T-Box, deren suchspezifische Zielkonzepte markiert werden.
Parameters:
tBox - die zu setzende T-Box
Returns:
T_Box Die gesetzte T-Box
Since:
Version 1.0

getPlan

public PlanTree getPlan()
Returns:
PlanTree Gibt den plan zur?ck.
Since:
Version 1.0

setBackToSender

public boolean setBackToSender(boolean b)
Setzt das boolesche Flag backToSender
Parameters:
b - zu setzender boolescher Wert
Returns:
boolean Wert des gesetzten Flags
Since:
Version 1.4

setPlan

public PlanTree setPlan(PlanTree pt)
setzt plan auf den ?bergebenen Plan pt.
Parameters:
pt - der neue plan.
Returns:
PlanTree den neuen Plan
Since:
Version 1.0

setLocalABox

public A_Box setLocalABox(A_Box aBox)
Setzt die localABox.
Parameters:
abox - die neue localABox.
Returns:
A_Box die neu gesetzte localABox.
Since:
Version 1.0

setPlanID

public long setPlanID(long planID)
setzt die planID auf den long planID.
Parameters:
long - planID, auf den die planID gesetzt werden soll.
Returns:
long, der die neue planID darstellt.
Since:
Version 1.0

setSearchID

public long setSearchID(long searchID)
setzt die searchID auf den long searchID.
Parameters:
long - searchID, die neue searchID.
Returns:
long, der die neue searchID darstellt.
Since:
Version 1.0

setPlanSuccess

public boolean setPlanSuccess(boolean b)
setzt das Flag planSuccess auf b.
Parameters:
b - neuer Status des Flags.
Returns:
boolean neuer Status des Flags.
Since:
Version 1.0

setWorldHasChanged

public boolean setWorldHasChanged(boolean b)
public set-Methode fuer Attribut worldHasChanged.

getWorldHasChanged

public boolean getWorldHasChanged()
public get-Methode fuer Attribut worldHasChanged.

createLearnTree

public void createLearnTree()
Diese Methode muß von der Systemkontrolle nach dem Abarbeiten eines Plans durch Planaausführung und Planer und vor dem Abspeichern in eine Datei aufrufen. Der LearnTree wird aus dem PlanTree, der transient ist, erzeugt, damit die Lerner nachher auch noch was haben!

setPlanFinished

public boolean setPlanFinished(boolean b)
setzt das Flag planFinished auf b.
Parameters:
b - der neue Status f?r das Flag.
Returns:
boolean neuer Status des Flags.
Since:
Version 1.0

getOperatorDB

public OperatorDB getOperatorDB()
Liefert die im Konstruktor übergebene Operatorendatenbank zurück. Für den Planer und den Lerner.
Returns:
OperatorDB die OperatorDB
Since:
Version 1.4

updateWorld

public void updateWorld()
Wenn sich das Weltwissen geaendert hat, muss die Startwelt neu generiert werden.

getTargetPredicates

public Predicate[] getTargetPredicates()
Returns:
Predicate[] die Predicates, die das Ziel definieren.
Since:
Version 1.1

getStartPredicates

public Predicate[] getStartPredicates()
Returns:
Predicate[] die Predicate, die den Startzustand des Planers beschreiben
Since:
Version 1.3

targetPathDFS

private java.util.Hashtable targetPathDFS(Concept dfsConcept,
                                          java.util.Hashtable dfsTargetPath,
                                          java.util.Hashtable dfsUsedRoleNames)
Deprecated. automatische Zielextraktion scheint sehr schwierig. Die Ziele mussen agentenspezifisch in generateTargetPredicates erzeugt werden
Sucht ausgehend vom Konzept einer Constraintinstanz per DFS im Rollengraph der tBox einen Zielpfad zu einem Zielkonzept/einer Zielrolle
Returns:
Hashtable der targetPath fuer eine Constraintinstanz ausgehend von deren Konzept
Since:
version 1.2

generateTargetPredicates

protected abstract void generateTargetPredicates()

genericGenerateTargetPredicates

private void genericGenerateTargetPredicates()
                                      throws NoTargetPathException
Deprecated. Automatische Zielextraktion scheint sehr schwierig. Ziele muessen agentenspezifisch in generateTargetPredicates() ausprogrammiert werden.
Diese Methode generiert die targetPredicates aus den Markierungen in T- und A-Box. Sie wird ausschliesslich vom Konstruktor aufgerufen!
Since:
Version 1.1

generateStartPredicates

private void generateStartPredicates()
Erzeugt die startPredicate, die den Startzustand f?r den Planer beschreiben.
Since:
Version 1.3

verify

public abstract void verify()
Belegt die Variable Results goalInstances
Since:
version 1.6

getAlreadyUsedOperatorsList

public java.util.LinkedList getAlreadyUsedOperatorsList()
Returns:
alreadyUsedList
Since:
1.8

getLearnTree

public LearnTree getLearnTree()
Returns:
learnTree
Since:
1.8

findConstraintInstance

public abstract Instance findConstraintInstance(java.lang.String conceptName)
sucht zu einem Konzeptnamen eine constraint instance