heise online · c't · iX · Technology Review · Telepolis · mobil · Security · Netze · heise open · heise resale · Autos · c't-TV · Jobs · Kiosk
Zum Inhalt
c't

c't Projekte - c't-Bot und c't-Sim - Mailinglisten

c't-Bot und c't-Sim


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] todo-Liste: Verhalten über Gefahren warnen

Absender: Timo Sandmann
Datum: Fr, 19.10.2007 22:12:21
In-reply-to: <000001c81283$1b6ea170$fe78a8c0@mexpnew>
References: <000001c81283$1b6ea170$fe78a8c0@mexpnew>


Hallo,

Am 19.10.2007 um 21:06 schrieb Frank Menzel:
Hallo,
in der todo-Liste ist mir vorhin der folgende Punkt aufgefallen:

Gefahren	bot-logik.c		Low-Level-Verhalten muessen
andere ueber Gefahren warnen

Ich wollte dazu nur kurz anmerken, dass es diesen Punkt eigentlich
bereits realisiert gibt, aber nie direkt so gesagt wurde.
Dazu gibt es ja die Funktion register_emergency_proc, welche ich auch an mehreren Stellen einsetze. Damit können beliebige Verhalten ihre eigenen Routinen registrieren, um auf einen Notfall verhaltensabhängig reagieren
zu können. Die Verhaltensroutinen werden durch die Registrierung in
einem kleinen Array gespeichert und bei Gefahr der Reihe nach
abgearbeitet mittels der Routine start_registered_emergency_procs in den
Gefahrensverhalten:
-behaviour_hang_on
-behaviour_avoid_border

das Problem ist, dass ein Verhalten nicht direkt weiß, ob ein Notfallverhalten lief. Natürlich könnte man über den beschriebenen Mechanismus für jedes Verhalten eine Funktion machen, die für jeden Notfall irgendwo einen Wert "Notfall_X_trat_auf" auf True setzt, das ist aber a) viel zu viel Overhead und b) ist dann immer noch unklar, wann der Notfall auftrat und ob es jetzt noch interessant ist. Besser wäre daher, dass die Verhalten selbst nachschauen können, was vor ihnen passiert ist. Das hatten wir hier ja schon mal diskutiert und darauf bezieht sich IMHO der Punkt in der ToDo-Liste.

Gruß Timo





Copyright © 2007 Heise Zeitschriften Verlag Kritik, Anregungen bitte an c't-WWW Datenschutzhinweis   Impressum