|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--dataanalysis.databases.GenericDatabase | +--operators.OperatorDB
Diese Datenbank beinhaltet Beispiel-Operatoren, der Operatoren, die der Agent kennt. Die Operatortypen werden aufgrund einer ID unterschieden, die innerhalb der Datenbank eindeutig ist. Die IDs werden von der Datenbank fortlaufend vergeben. Der Shellbenutzer muss selbstst?ndig darauf achten, dass er nicht ungewollt zweimal denselben Operator in der Datenbank speichert, da die Gleichheit von Operatoren auf der Gleichheit ihrer ID definiert ist. Die OperatorDB muss vor dem ersten Lauf des Agenten mit Operatoren gef?llt werden, damit der Agent weiss, welche Operatoren ihm zur Verf?gung stehen. Wenn ein neuer Operator von der Datenbank verlangt wird, so bekommt der Benutzer der Datenbank einen Klon des Beispieloperators.
Operator
, Serialized FormField Summary | |
protected Concept |
classifierPrecondConcept
Diese Variable beschreibt das Standardkonzept mit dem die ClassifierOperator in der Vorbedingung
initialisiert werden sollen. |
private long |
nextID
gibt die n?chste noch vergebene eindeutige ID. |
(package private) boolean |
onlySpecialized
Dieses Flag gibt an, ob für alle Zwischenkonzepte zwischen classifierPrecondConcept und den Blättern der
tBox ClassifierOperatoren
erzeugt werden sollen oder nur zu den speziellsten Unterkonzepten. |
protected java.util.TreeMap |
postcondPredMap
in diesem Attribut werden die Operatoren den Pr?dikaten zugeordnet, so dass danach gefragt werden kann, welche Operatoren das Pr?dikat p in einer Nachbedingung in einer AddList enthalten. |
protected java.util.TreeMap |
precondPredMap
in diesem Attribut werden die Operatoren den Pr?dikaten zugeordnet, so dass danach gefragt werden kann, welche Operatoren das Pr?dikat p in der Vorbedingung enthalten. |
protected static java.lang.String |
standardConceptName
Name des standardm?ssigen Oberkonzepts f?r automatisch erzeugte ClassifierOperator . |
protected T_Box |
tBox
in diesem Attribut ist die T_Box gespeichert f?r die die ClassifierOperator erzeugt werden. |
protected java.util.TreeMap |
weightMap
die nach ihrem Gewicht geordneteten Operatoren. |
Fields inherited from class dataanalysis.databases.GenericDatabase |
elements,
nameNumberTranslation |
Constructor Summary | |
protected |
OperatorDB()
Der Konstruktor initialisiert die weightMap , die
precondPredMap und die postcondPredMap
mit neuen TreeMaps.Die weightMap wird dabei mit einem
OperatorWeightComparator initialisiert. |
|
OperatorDB(java.lang.String s,
T_Box tBox,
Concept c,
boolean b)
Dieser Konstruktor f?llt nach der der Initialisierung der Datenbank wie in OperatorDB() die Datenbank mit den, in der Datei,
dessen Name (kompletter Pfad) ?bergeben wurde.Die Datei muss zeilenweise wechselnd die Klassennamen und das Gewicht der Operatoren enthalten. |
|
OperatorDB(T_Box tBox,
Concept c,
boolean b)
Mit diesem Konstruktor ist es m?glich das Concept f?r
die automatisch generierten ClassifierOperator zu
setzen. |
Method Summary | |
long |
addOperator(Operator newOp)
Diese Methode f?gt einen Operator zu de DB hinzu. |
private void |
addOperatorPostcond(Operator newOp)
Diese Methode dient nur der ?bersichlichen Gliederung der Methode addOperator. |
private void |
addOperatorPrecond(Operator newOp)
Diese Methode dient nur der ?bersichlichen Gliederung der Methode addOperatorClass. |
private void |
addOperatorWeight(Operator newOp)
Diese Methode f?gt einen Operator in die WeightMap ein. |
Operator |
deleteOperator(long id)
Diese Methode l?scht einen Operator aus der DB anhand der ID. |
protected void |
generateAllClassifierOperators()
Diese Methode generiert aus der tBox automatisch alle
ClassifierOperator zu allen Konzepten, die in der
tBox enthalten sind. |
java.util.ListIterator |
getAllOperators4PostcondPred(Predicate p)
|
java.util.ListIterator |
getAllOperators4PrecondPred(Predicate p)
|
java.util.ListIterator |
getBestOperators()
Diese Methode gibt Klone aller Operatoren, die in dieser Datenbank enthalten sind zur?ck. |
java.util.ListIterator |
getBestOperators(long mask)
Diese Methode gibt Klone aller Operatoren, die in dieser Datenbank enthalten sind zur?ck. |
java.util.LinkedList |
getBestOperatorsAsList()
Diese Methode gibt Klone aller Operatoren, die in dieser Datenbank enthalten sind zur?ck. |
Operator |
getNewOperator(long id)
Diese Methode gibt einen neuen Operator zur?ck, der von demselben Typ wie der Operator der ?bergebenen opID
ist. |
Operator |
getOperator(long id)
Diese Methode gibt den Operator zur?ck, dessen ID
?bergeben wurde. |
java.util.ListIterator |
getSelectedOperators4PostcondPred(Predicate p,
long mask)
|
java.util.ListIterator |
getSelectedOperators4PrecondPred(Predicate p,
long mask)
|
protected void |
initializePredicate(Predicate pred)
Diese Methode weist den {knowledge.Concept Konzepten} im uübergebenen Prüdikat die passende Konzeptreferenz aus der T_Box zu. |
protected void |
operatorInitialization(Operator op)
Diese Methode initialisiert einen Operator aufgrund seiner Signatur. |
java.lang.String |
toString()
Diese Methode gibt einen String zur?ck, der den Zustand des Objekts repr?sentiert. |
void |
toTextFile(java.lang.String s)
Diese Methode gibt die OperatorenKlassen in ein Textfile aus. |
void |
updateWeightMap(double newWeight,
Operator op)
Die Methode 'updateWeightMap' korrigiert den Fehler, der in der weightMap entsteht, wenn das Gewicht eines Operators
durch z.B. |
Methods inherited from class dataanalysis.databases.GenericDatabase |
add,
clearAll,
count,
delete,
gdGet,
gdGet,
gdNameOf,
gdNumberOf,
last,
nameOf,
numberOf,
optimize |
Methods inherited from class java.lang.Object |
|
Field Detail |
private long nextID
protected java.util.TreeMap weightMap
protected java.util.TreeMap precondPredMap
protected java.util.TreeMap postcondPredMap
protected T_Box tBox
ClassifierOperator
erzeugt werden.protected static final java.lang.String standardConceptName
ClassifierOperator
.
Der Wert dieser Konstante ist "URL".protected Concept classifierPrecondConcept
ClassifierOperator
in der Vorbedingung
initialisiert werden sollen.T_Box
,
Concept
boolean onlySpecialized
classifierPrecondConcept
und den Blättern der
tBox
ClassifierOperatoren
erzeugt werden sollen oder nur zu den speziellsten Unterkonzepten.
True
nur die speziellsten ClassifierOperatoren
werden erzeugt.
False
alle ClassifierOperatoren werden
erzeugt.Constructor Detail |
protected OperatorDB()
weightMap
, die
precondPredMap
und die postcondPredMap
mit neuen TreeMaps.weightMap
wird dabei mit einem
OperatorWeightComparator
initialisiert.OperatorWeightComparator
public OperatorDB(T_Box tBox, Concept c, boolean b)
Concept
f?r
die automatisch generierten ClassifierOperator
zu
setzen.tBox
- die T-Box, zu deren Konzepten
ClassifierOperator
erzeugt werden sollen.c
- Das Konzept, das in die ClassifierOperator
-Vorbedingung eingesetzt wird.b
- setzt onlySpecialized
public OperatorDB(java.lang.String s, T_Box tBox, Concept c, boolean b) throws java.io.FileNotFoundException, java.io.IOException
OperatorDB()
die Datenbank mit den, in der Datei,
dessen Name (kompletter Pfad) ?bergeben wurde.
Beispiel:
Die OperatorKlasse PrintlnOperator
aus dem Paket
operators
soll mit einem Gewicht von 3.0
unter Benutzung einer Datei in die
Datenbank gelangen. Dann muessen in der Datei, deren Name
?bergeben wurde folgende Zeilen stehen:
operators.PrintlnOperator
3.0
wenn der Classpath das Verzeichnis enth?lt, indem das Paket
operators
steht.
Zu beachten ist, dass diese Datei nat?rlich keine
CompoundOperatoren enthalten sollte, da diese keine
eigenen Subklassen bilden, sondern eben nur Instanzen der Klasse
CompoundOperatoren
sind. Diese Objekten k?nnen
nur in einem Stream gespeichert werden, nachdem sie zur Laufzeit
des Agenten erzeugt wurden.
Danach werden zu allen Konzepten der ?bergebenen tBox
ClassifierOperatoren erzeugt.
s
- der Name der Datei aus der die OperatorKlassen gelesen werden.tBox
- die T-Box zu deren Konzepten die ClassifierOperatoren erzeugt werden.c
- Das Konzept, das in die ClassifierOperator
-Vorbedingung eingesetzt wird.b
- setzt onlySpecialized
Method Detail |
protected void initializePredicate(Predicate pred)
T_Box
zu.pred
- das Prüdikat, dem die passende Referenz
zugewiesen werden soll.protected void operatorInitialization(Operator op)
Concept
die
in den PredArgument
in den
Predicate
s auftauchen mit Referenzen auf die
T-Box-Konzepte versehen werden.op
- Operator
der initialisiert werden soll.public Operator getOperator(long id) throws OperatorNotFoundException
Operator
zur?ck, dessen ID
?bergeben wurde. Es handelt sich dabei um den Beispiel-Operator,
der in der Datenbank gespeichert hat. Das bedeutet ?nderungen
an dem zr?ckgegeben Operator wirken sich auf alle zuk?nftig
instantiierte Operatoren aus.id
- ID desOperator
s, der zur?ckgegeben werden
soll.Operator
dessen ID ?bergeben wurde.Operator
public Operator getNewOperator(long id) throws OperatorNotFoundException
opID
ist.id
- die Nummer des Operators, von dessen Klasse ein neuer
Operator zur?ckgegeben werden soll.
Sollte der Operator mit der ?begebenen ID nicht Cloneable sein,
dann wird null
zur?ckgegeben.
public java.util.ListIterator getAllOperators4PrecondPred(Predicate p)
p
- das Pr?dikat zu dem alle Operatoren deren Vorbedingungen
dieses Pr?dikat enthalten gesucht werden sollen.ListIterator
?ber alle gesuchten
Operatoren. Es handelt sich dabei nicht um Klone der Operatoren in
der OperatorDB
!public java.util.ListIterator getSelectedOperators4PrecondPred(Predicate p, long mask)
p
- das Pr?dikat zu dem alle Operatoren deren Vorbedingungen
dieses Pr?dikat enthalten gesucht werden sollen.mask
- die Auswahlmaske der Operatoren, die sich aus der Summe
der gewünschten {operators.Operator#opType OperatorTypen} zusammensetzt.ListIterator
?ber Klone der gesuchten
Operatoren.public java.util.ListIterator getAllOperators4PostcondPred(Predicate p)
p
- das Pr?dikat zu dem alle Operatoren, deren Nachbedingungen
dieses Pr?dikat in einer Add-List enthalten, gesucht werden sollen.So kann z.B. gezielt nach Operatoren gesucht werden, die ein bestimmtes Pr?dikat hinzuf?gen k?nnen, ohne gleich alle Operatoren durchprobieren zu m?ssen.
ListIterator
?ber alle gesuchten
Operatoren. Es handelt sich dabei nicht um Klone der Operatoren in
der OperatorDB
!public java.util.ListIterator getSelectedOperators4PostcondPred(Predicate p, long mask)
p
- das Pr?dikat zu dem alle Operatoren, deren Nachbedingungen
dieses Pr?dikat in einer Add-List enthalten, gesucht werden sollen.So kann z.B. gezielt nach Operatoren gesucht werden, die ein bestimmtes Pr?dikat hinzuf?gen k?nnen, ohne gleich alle Operatoren durchprobieren zu m?ssen.
mask
- die Auswahlmaske der Operatoren, die sich aus der Summe
der gewünschten {operators.Operator#opType OperatorTypen} zusammensetzt.ListIterator
?ber alle gesuchten
Operatoren. Es handelt sich dabei um Klone der Operatoren in
der OperatorDB
!public java.util.ListIterator getBestOperators() throws OperatorDBInconsistentException
ListIterator
?ber die Operatoren; dem Gewicht nach
sortiert.Operator.clone()
public java.util.LinkedList getBestOperatorsAsList() throws OperatorDBInconsistentException
LinkedList
?ber die Operatoren; dem Gewicht nach
sortiert.Operator.clone()
public java.util.ListIterator getBestOperators(long mask) throws OperatorDBInconsistentException
mask
- die Auswahlmaske der Operatoren, die sich aus der Summe
der gewünschten {operators.Operator#opType OperatorTypen} zusammensetzt.ListIterator
?ber die Operatoren; dem Gewicht nach
sortiert.Operator.clone()
public long addOperator(Operator newOp) throws java.lang.InstantiationException, ElementExistsException, java.lang.IllegalAccessException
newOp
- Operator, der hinzugef?gt werden soll.long
der eindeutige ID des hinzugef?gten
Operators.Operator
,
GenericDatabase
private void addOperatorPrecond(Operator newOp) throws java.lang.IllegalAccessException, java.lang.InstantiationException
op
- eine Variable vom Typ 'Operator'addOperator(Operator op)
private void addOperatorPostcond(Operator newOp) throws java.lang.IllegalAccessException, java.lang.InstantiationException
op
- eine Variable vom Typ 'Operator'addOperator(Operator op)
private void addOperatorWeight(Operator newOp)
addOperator(Operator)
.newOp
- der einzuf?gende Operator.public Operator deleteOperator(long id) throws OperatorNotFoundException
Vorsicht! Es reicht ein Operator eines Typs, um alle Operatoren des Typs aus der DB zu l?schen, schliesslich auch immer nur genau ein Exemplar in der DB gespeichert ist.
id
- ID des zu l?schenden Operator
s.Operator
.public void updateWeightMap(double newWeight, Operator op)
weightMap
entsteht, wenn das Gewicht eines Operators
durch z.B. den OperatorLearner
ge?ndert wird.Um das tats?chliche auftreten eines solchen Fehlers zu vermeiden, kann die soll das Gewicht des Operators ?ber diese Methode gesetzt werden. Seiteneffekt:Um die Konsistenz zu wahren, hat der Operator nach Aufruf dieser Methode stets das neue Gewicht!
newWeight
- das neue Gewicht des Operatorsop
- der Operator selbstOperatorWeightComparator
,
Operator.setWeight(double)
public java.lang.String toString()
public void toTextFile(java.lang.String s) throws java.io.IOException
OperatorDB(String,T_Box,Concept,boolean)
.s
- vollst?ndiger Dateiname der Datei, in die die
Operatorenklassennamen ausgegeben werden sollen.protected void generateAllClassifierOperators()
tBox
automatisch alle
ClassifierOperator
zu allen Konzepten, die in der
tBox
enthalten sind.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |