120 likes | 217 Views
Software-Komponenten. Vorteile. echt modular leicht zu warten geringer Overhead hohe Wiederverwendbarkeit grafische Programmierung -> höhere Stufe der objektorientierten Programmierung. Vorbild: Legos, Crickets, Stamps. Visualization. GUI. Sensor Data. Median. FCM. Known/Unknown-
E N D
Software-Komponenten Vorteile • echt modular • leicht zu warten • geringer Overhead • hohe Wiederverwendbarkeit • grafische Programmierung -> höhere Stufe der objektorientierten Programmierung
Visualization GUI Sensor Data Median FCM Known/Unknown- Diagnosis MEAN RBF Classification Normalize LDA Filter MLP Quantification, Determination of Concentration Components PLS PCA Transformation Result Input Preprocessing Analysis Beispiel: Gasanalysesystem
Komponenten-Systeme Beispiele für ältere Komponentensysteme: - Khoros - Simulink/Matlab Neuere Beispiele: - LabView/LabWindows - Corba - COM+ - Visual Age - JavaBeans/ICE Eigene Programmiersprache G oder auf tieferer Ebene C (keine Komponenten mehr) -> kleine Komponenten universell, programmiersprachenunabhängig plattformunabhängig verschmilzt immer mehr mit JAVA universell, Microsoft, nicht plattformunabhängig universell, mächtig für große Komponenten keine Reengineering möglich keine gemeinsame Datenstruktur
ICE - Komponenten • Einzelkomponente: • JavaBeans als Basis • Basis-Komponente • Basis-Datentyp • Parameterisierungen • Gesamtsystem: • Verschalten von Komponenten • Synchronisierung • Supercompiler (in Arbeit) Schnelles Systemdesign durch Baukastenprinzip
strategyType RandomStrategy1 ICE - hierarchische Komponenten
TensorObject ComplexObject FloatImage FloatObject ByteObject ByteStream ByteMatrix RGBImage GrayScaleImage8Bit StreamDataObject GrayScaleImage GrayScaleImage12Bit BasicDataObject GrayScaleImage16Bit DataBasicObjectGroup MTRArea Animation MTRFile Hierarchy of Extended Data Types
Integrated Component Environment • Eigenschaften: • - Software-Baukasten • Algorithmen steckbar • erweiterbar • automatisierbar • einfach handhabbar • plattformunabhängig • - JavaBeans, C-Algorithmen einbindbar • - globale Datenstrukturen, abgeleitete Datentypen • - Integration vorhandener Bibliotheken: WeKa, JChart, Diplomarbeiten, ... • - Plug‘n‘Play Komponenten • - Sourcecode-Generatoren- Reengineering möglich • - bisherigen Anwendungen: • Medizintechnik • Mikrosystemtechnik • Nachteile: • - bisher keine Unterstützung vernetzter Systeme (-> EJB) • bisher kein DB-Zugriff implementiert • bisher keine Schnittstelle zu anderen Systemen (LabView, ...) • - viele nützliche Komponenten fehlen • - keine durchgängige, einheitliche Entwicklungsumgebung • - bisher keine EInsatz bei Datenakquisition und Slow Control JavaBeans: - umfassen i.a. mehrere Objekte - bedeutet Klasse und Instanz - kommt vor in 2 Phasen: design time und runtime - kommt vor mit oder ohne GUI - Zugriff auf Properties durch getter und setter-Methoden - eigene Threads mit Event Listener - Customization durch Assembly Tool - Persistenz durch Abspeichern der serialisierten Objekte
aktuell implementierte Komponenten Classification Classifier DecisionStump Decision Table Ibk J48 LWR LinearRegression M5Prime Naive Bayes OneR PART SMO ZeroR Export Export ARFF Import Import ARFF Import Generic Method Add Features Classification Error Classify Mean Variance Selector Allpass Selector BestFirst1B ... GeneticSearch1 ... RandomSearch1 ... RankSearch1C ... Sample Selector Datachannel Examples Generate Sample File Read Data Write Data Image Processing Convert Volume to Voxel Export Export PGM Export RAW Filter Bandfilter (nicht fertig) Laplace Filter Mean Filter Median Filter Neurofilter (nicht fertig) Rangordnungsfilter Sobel Filter Generate Random Noise Import Import 3D Data Import PGM Import RAW Transformation Flip Project Volume Radon Transformation Rotate Rotate Free Threshold Mammography Microcalifications 3D Reconstruction Preprocessing Breast Segmentation Math Subtract Programming Accumulator Constants Constant Boolean Container Folder Loop Object Iterator Strategy Abstract Strategy CaseBasedStrategy ComplexityBasedStrategy GreedyStrategy RandomStrategy1 ... RuleBasedStrategy Applicate Strategy Synthesis Strategy Visualize Chart Get Info Visualize Visualize 3D Math Native Add Multiply Divide Boolean AND OR NOT