Komponentenimplementierung

An dieser Stelle folgt eine kurze Anleitung zur Implementierung einer neuen Komponente, passend zum aktuellen Stand der STOR Software. Eine ausführlichere Beschreibung der STOR-Komponenten und eine Implementierung für eine Beispiel-Komponente (Median Operator) findet man in [Falkowski2009TSC].

Neue Komponente in Taxonomie einordnen

Bevor mit der Entwicklung einer neuen Kompnente begonnen werden kann, muss sie zunächst fachlich in die existierende Komponententaxonomie eingeordnet werden. Die bisherige Taxonomie wird in der STOR-Spezifikation beschrieben und durch die Paketstruktur und Interface-Hierarchie wiedergespiegelt. Eine neue Komponente muss mindestens in eins der drei Pakete ImageProcessing, FeatureProcessing oder ModelProcessing eingeordnet werden.

Interface definieren und in Hierarchie einordnen

Nachdem die Komponente fachlich eingeordnet wurde, muss ein ensprechendes Interface für die Komponente definiert und in die bestehende Paketstruktur und Interface-Hierarchie integriert werden.

Für eine Komponente muss mindestens eine execute-Methode definiert werden Falls durch die Interface-Hierarchie bereits eine oder mehrere execute-Methoden vorhanden sind, können weitere hinzugefügt werden.

Für jeden Parameter einer Komponente müssen öffentliche get- und set-Methoden definiert werden. Argumente werden durch eine der execute-Methode and die Komponente übergeben, ein Ergebnis kann jeweils durch eine execute-Methode zurück gegeben werden. Für weitere Ergebnisse können weitere get-Methoden definiert werden.

Falls sich durch die Definition der neuen Komponente Widersprüche mit der bisherigen Taxonomie ergeben, muss das im Team besprochen und die Taxonomie überarbeitet werden.

Beispiel Median-Operator

Interface implementieren

Nachdem ein Interface für die Komponente erstellt und in die Interface-Hierarchie eingeordnet wurde, kann das Interface durch eine Komponentenklasse implementiert werden. Hierbei ergeben sich Besonderheiten, wenn eine native Bibliothek verwendet und/oder die Komponente im JBeanStudio verwendet werden soll.

Native Bibliothek verwenden

Wenn die Komponente eine native Bibliothek verwenden soll, so muss für eine Wrapper-Klasse für die Funktionalität  geschrieben werden, die einen Aufruf an die native Bibliothek weiterleitet.

Komponente für das JBeanStudio verwendbar machen

Um eine Komponente im JBeanStudio verwenden zu können, muss sie sowohl ein EventProducer als auch ein EventListener sein. Hierzu wird die Klasse STORJavaBean geerbt. Dann muss nur noch die Methode eventOccured(STOREvent event) implementiert werden (siehe Beispiel Median).

Komponente für ConQAT verwendbar machen

Um eine Komponente in ConQAT verwenden zu können, muss ein ConQAT-Processor entwickelt werden, der als Wrapper für die STOR Komponente dient.

Hierzu wird eine neue Klasse implementiert, die den Namen der Komponente mit dem Suffix "Processor" hat und von der Klasse STORProcessor erbt. Hier muss die  geerbte Methode process implementiert werden, die der execute-Methode in STOR enspricht (ein ConQAT-Komponente darf nur eine process-Methode haben!). Außerdem muss für jeden Parameter eine set-Methode implementiert werden.

Beispiel Median

last modified Jan 13, 2010 01:56 PM

Kontakt