next up previous contents
Next: Ersetzen oder Erweitern der Up: Vorschläge zum Erweitern oder Previous: Vorschläge zum Erweitern oder

  
Erweiterungen von StateMachine und davon abgeleiteten Klassen

Für den Betrieb des befindlichen Codes mit einer SCF-Implementierung sind insbesondere einige Erweiterungen der Klasse O_StateMachine sinnvoll. Im PIC O_Analyze kann eine Überprüfung der gewählten Nummer implementiert werden; hier könnte z. B. eine ``IN-Nummer'' erkannt werden und entsprechend ein SCF-Aufruf ausgeführt werden. Dazu muss in der iterate()-Methode von O_StateMachine entsprechender Code eingefügt werden. Zum Erkennen von speziellen, nicht an ein Endgerät gebundenen Nummern bietet sich z. B. die Erweiterung der Klasse SimpleNumberingPlan um eine Methode boolean isINNumber(String number).

Manche Dienste erfordern dynamische Trigger, die in von der SCF willkürlich aktiviert werden können. Die Erkennung von aktiven Triggern bzgl. eines Detection Point beschränkt sich gegenwärtig auf die von dem Benutzer in der GUI gesetzten (statischen) Trigger. Diese Erkennung findet gegenwärtig in der setState()-Methode der betreffenden O_StateMachine- oder T_StateMachine-Instanz statt, während der Zustand der Trigger von der GUI-Komponente abgefragt wird. Dynamische Trigger müssen indes für jede StateMachine-Instanz gesondert verwaltet werden. Für diesen Zweck bedarf es einer Verwaltungsklasse (etwa: TriggerManager), sowie einer Verknüpfung jeweils einer Instanz dieser Klasse mit jeder StateMachine-Instanz (so wäre es auch möglich, ein bedingtes Auslösen von Triggern zu implementieren). Weiterhin müsste StateMachine selbst um Methoden erweitert werden, die das Aktivieren und Deaktivieren von Triggern ermöglichen und von der SCF direkt aufgerufen werden. Alternativ könnte das Aktivieren/Deaktivieren von Triggern mittels der Nachrichten-Objekte (SCFReply etc.) realisiert werden.


next up previous contents
Next: Ersetzen oder Erweitern der Up: Vorschläge zum Erweitern oder Previous: Vorschläge zum Erweitern oder
Copyright Munich Network Management Team