TY - THES A1 - Seuring, Markus T1 - Output space compaction for testing and concurrent checking N2 - In der Dissertation werden neue Entwurfsmethoden für Kompaktoren für die Ausgänge von digitalen Schaltungen beschrieben, die die Anzahl der zu testenden Ausgänge drastisch verkleinern und dabei die Testbarkeit der Schaltungen nur wenig oder gar nicht verschlechtern. Der erste Teil der Arbeit behandelt für kombinatorische Schaltungen Methoden, die die Struktur der Schaltungen beim Entwurf der Kompaktoren berücksichtigen. Verschiedene Algorithmen zur Analyse von Schaltungsstrukturen werden zum ersten Mal vorgestellt und untersucht. Die Komplexität der vorgestellten Verfahren zur Erzeugung von Kompaktoren ist linear bezüglich der Anzahl der Gatter in der Schaltung und ist damit auf sehr große Schaltungen anwendbar. Im zweiten Teil wird erstmals ein solches Verfahren für sequentielle Schaltkreise beschrieben. Dieses Verfahren baut im wesentlichen auf das erste auf. Der dritte Teil beschreibt eine Entwurfsmethode, die keine Informationen über die interne Struktur der Schaltung oder über das zugrundeliegende Fehlermodell benötigt. Der Entwurf basiert alleine auf einem vorgegebenen Satz von Testvektoren und die dazugehörenden Testantworten der fehlerfreien Schaltung. Ein nach diesem Verfahren erzeugter Kompaktor maskiert keinen der Fehler, die durch das Testen mit den vorgegebenen Vektoren an den Ausgängen der Schaltung beobachtbar sind. N2 - The objective of this thesis is to provide new space compaction techniques for testing or concurrent checking of digital circuits. In particular, the work focuses on the design of space compactors that achieve high compaction ratio and minimal loss of testability of the circuits. In the first part, the compactors are designed for combinational circuits based on the knowledge of the circuit structure. Several algorithms for analyzing circuit structures are introduced and discussed for the first time. The complexity of each design procedure is linear with respect to the number of gates of the circuit. Thus, the procedures are applicable to large circuits. In the second part, the first structural approach for output compaction for sequential circuits is introduced. Essentially, it enhances the first part. For the approach introduced in the third part it is assumed that the structure of the circuit and the underlying fault model are unknown. The space compaction approach requires only the knowledge of the fault-free test responses for a precomputed test set. The proposed compactor design guarantees zero-aliasing with respect to the precomputed test set. KW - digital circuit KW - output space compaction KW - zero-aliasing KW - test KW - concurrent checking KW - propagation probability KW - IP core Y1 - 2000 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-0000165 ER - TY - THES A1 - Rätsch, Gunnar T1 - Robust boosting via convex optimization N2 - In dieser Arbeit werden statistische Lernprobleme betrachtet. Lernmaschinen extrahieren Informationen aus einer gegebenen Menge von Trainingsmustern, so daß sie in der Lage sind, Eigenschaften von bisher ungesehenen Mustern - z.B. eine Klassenzugehörigkeit - vorherzusagen. Wir betrachten den Fall, bei dem die resultierende Klassifikations- oder Regressionsregel aus einfachen Regeln - den Basishypothesen - zusammengesetzt ist. Die sogenannten Boosting Algorithmen erzeugen iterativ eine gewichtete Summe von Basishypothesen, die gut auf ungesehenen Mustern vorhersagen. Die Arbeit behandelt folgende Sachverhalte: o Die zur Analyse von Boosting-Methoden geeignete Statistische Lerntheorie. Wir studieren lerntheoretische Garantien zur Abschätzung der Vorhersagequalität auf ungesehenen Mustern. Kürzlich haben sich sogenannte Klassifikationstechniken mit großem Margin als ein praktisches Ergebnis dieser Theorie herausgestellt - insbesondere Boosting und Support-Vektor-Maschinen. Ein großer Margin impliziert eine hohe Vorhersagequalität der Entscheidungsregel. Deshalb wird analysiert, wie groß der Margin bei Boosting ist und ein verbesserter Algorithmus vorgeschlagen, der effizient Regeln mit maximalem Margin erzeugt. o Was ist der Zusammenhang von Boosting und Techniken der konvexen Optimierung? Um die Eigenschaften der entstehenden Klassifikations- oder Regressionsregeln zu analysieren, ist es sehr wichtig zu verstehen, ob und unter welchen Bedingungen iterative Algorithmen wie Boosting konvergieren. Wir zeigen, daß solche Algorithmen benutzt werden koennen, um sehr große Optimierungsprobleme mit Nebenbedingungen zu lösen, deren Lösung sich gut charakterisieren laesst. Dazu werden Verbindungen zum Wissenschaftsgebiet der konvexen Optimierung aufgezeigt und ausgenutzt, um Konvergenzgarantien für eine große Familie von Boosting-ähnlichen Algorithmen zu geben. o Kann man Boosting robust gegenüber Meßfehlern und Ausreissern in den Daten machen? Ein Problem bisheriger Boosting-Methoden ist die relativ hohe Sensitivität gegenüber Messungenauigkeiten und Meßfehlern in der Trainingsdatenmenge. Um dieses Problem zu beheben, wird die sogenannte 'Soft-Margin' Idee, die beim Support-Vector Lernen schon benutzt wird, auf Boosting übertragen. Das führt zu theoretisch gut motivierten, regularisierten Algorithmen, die ein hohes Maß an Robustheit aufweisen. o Wie kann man die Anwendbarkeit von Boosting auf Regressionsprobleme erweitern? Boosting-Methoden wurden ursprünglich für Klassifikationsprobleme entwickelt. Um die Anwendbarkeit auf Regressionsprobleme zu erweitern, werden die vorherigen Konvergenzresultate benutzt und neue Boosting-ähnliche Algorithmen zur Regression entwickelt. Wir zeigen, daß diese Algorithmen gute theoretische und praktische Eigenschaften haben. o Ist Boosting praktisch anwendbar? Die dargestellten theoretischen Ergebnisse werden begleitet von Simulationsergebnissen, entweder, um bestimmte Eigenschaften von Algorithmen zu illustrieren, oder um zu zeigen, daß sie in der Praxis tatsächlich gut funktionieren und direkt einsetzbar sind. Die praktische Relevanz der entwickelten Methoden wird in der Analyse chaotischer Zeitreihen und durch industrielle Anwendungen wie ein Stromverbrauch-Überwachungssystem und bei der Entwicklung neuer Medikamente illustriert. N2 - In this work we consider statistical learning problems. A learning machine aims to extract information from a set of training examples such that it is able to predict the associated label on unseen examples. We consider the case where the resulting classification or regression rule is a combination of simple rules - also called base hypotheses. The so-called boosting algorithms iteratively find a weighted linear combination of base hypotheses that predict well on unseen data. We address the following issues: o The statistical learning theory framework for analyzing boosting methods. We study learning theoretic guarantees on the prediction performance on unseen examples. Recently, large margin classification techniques emerged as a practical result of the theory of generalization, in particular Boosting and Support Vector Machines. A large margin implies a good generalization performance. Hence, we analyze how large the margins in boosting are and find an improved algorithm that is able to generate the maximum margin solution. o How can boosting methods be related to mathematical optimization techniques? To analyze the properties of the resulting classification or regression rule, it is of high importance to understand whether and under which conditions boosting converges. We show that boosting can be used to solve large scale constrained optimization problems, whose solutions are well characterizable. To show this, we relate boosting methods to methods known from mathematical optimization, and derive convergence guarantees for a quite general family of boosting algorithms. o How to make Boosting noise robust? One of the problems of current boosting techniques is that they are sensitive to noise in the training sample. In order to make boosting robust, we transfer the soft margin idea from support vector learning to boosting. We develop theoretically motivated regularized algorithms that exhibit a high noise robustness. o How to adapt boosting to regression problems? Boosting methods are originally designed for classification problems. To extend the boosting idea to regression problems, we use the previous convergence results and relations to semi-infinite programming to design boosting-like algorithms for regression problems. We show that these leveraging algorithms have desirable theoretical and practical properties. o Can boosting techniques be useful in practice? The presented theoretical results are guided by simulation results either to illustrate properties of the proposed algorithms or to show that they work well in practice. We report on successful applications in a non-intrusive power monitoring system, chaotic time series analysis and a drug discovery process. --- Anmerkung: Der Autor ist Träger des von der Mathematisch-Naturwissenschaftlichen Fakultät der Universität Potsdam vergebenen Michelson-Preises für die beste Promotion des Jahres 2001/2002. KW - Boosting KW - Klassifikation mit großem Margin KW - Support-Vector Lernen KW - Regression KW - Regularisierung KW - Mathematische Optimierung KW - Stromverbrauchüberwachung KW - Boosting KW - Large Margin Classification KW - Support Vectors KW - Regression KW - Regularization KW - Mathematical Optimization KW - Power Monitoring KW - Time Series Analysis Y1 - 2001 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-0000399 ER - TY - THES A1 - Dramlitsch, Thomas T1 - Distributed computations in a dynamic, heterogeneous Grid environment N2 - Die immer dichtere und schnellere Vernetzung von Rechnern und Rechenzentren über Hochgeschwindigkeitsnetzwerke ermöglicht eine neue Art des wissenschaftlich verteilten Rechnens, bei der geographisch weit auseinanderliegende Rechenkapazitäten zu einer Gesamtheit zusammengefasst werden können. Dieser so entstehende virtuelle Superrechner, der selbst aus mehreren Grossrechnern besteht, kann dazu genutzt werden Probleme zu berechnen, für die die einzelnen Grossrechner zu klein sind. Die Probleme, die numerisch mit heutigen Rechenkapazitäten nicht lösbar sind, erstrecken sich durch sämtliche Gebiete der heutigen Wissenschaft, angefangen von Astrophysik, Molekülphysik, Bioinformatik, Meteorologie, bis hin zur Zahlentheorie und Fluiddynamik um nur einige Gebiete zu nennen. Je nach Art der Problemstellung und des Lösungsverfahrens gestalten sich solche "Meta-Berechnungen" mehr oder weniger schwierig. Allgemein kann man sagen, dass solche Berechnungen um so schwerer und auch um so uneffizienter werden, je mehr Kommunikation zwischen den einzelnen Prozessen (oder Prozessoren) herrscht. Dies ist dadurch begründet, dass die Bandbreiten bzw. Latenzzeiten zwischen zwei Prozessoren auf demselben Grossrechner oder Cluster um zwei bis vier Grössenordnungen höher bzw. niedriger liegen als zwischen Prozessoren, welche hunderte von Kilometern entfernt liegen. Dennoch bricht nunmehr eine Zeit an, in der es möglich ist Berechnungen auf solch virtuellen Supercomputern auch mit kommunikationsintensiven Programmen durchzuführen. Eine grosse Klasse von kommunikations- und berechnungsintensiven Programmen ist diejenige, die die Lösung von Differentialgleichungen mithilfe von finiten Differenzen zum Inhalt hat. Gerade diese Klasse von Programmen und deren Betrieb in einem virtuellen Superrechner wird in dieser vorliegenden Dissertation behandelt. Methoden zur effizienteren Durchführung von solch verteilten Berechnungen werden entwickelt, analysiert und implementiert. Der Schwerpunkt liegt darin vorhandene, klassische Parallelisierungsalgorithmen zu analysieren und so zu erweitern, dass sie vorhandene Informationen (z.B. verfügbar durch das Globus Toolkit) über Maschinen und Netzwerke zur effizienteren Parallelisierung nutzen. Soweit wir wissen werden solche Zusatzinformationen kaum in relevanten Programmen genutzt, da der Grossteil aller Parallelisierungsalgorithmen implizit für die Ausführung auf Grossrechnern oder Clustern entwickelt wurde. N2 - In order to face the rapidly increasing need for computational resources of various scientific and engineering applications one has to think of new ways to make more efficient use of the worlds current computational resources. In this respect, the growing speed of wide area networks made a new kind of distributed computing possible: Metacomputing or (distributed) Grid computing. This is a rather new and uncharted field in computational science. The rapidly increasing speed of networks even outperforms the average increase of processor speed: Processor speeds double on average each 18 month whereas network bandwidths double every 9 months. Due to this development of local and wide area networks Grid computing will certainly play a key role in the future of parallel computing. This type of distributed computing, however, distinguishes from the traditional parallel computing in many ways since it has to deal with many problems not occurring in classical parallel computing. Those problems are for example heterogeneity, authentication and slow networks to mention only a few. Some of those problems, e.g. the allocation of distributed resources along with the providing of information about these resources to the application have been already attacked by the Globus software. Unfortunately, as far as we know, hardly any application or middle-ware software takes advantage of this information, since most parallelizing algorithms for finite differencing codes are implicitly designed for single supercomputer or cluster execution. We show that although it is possible to apply classical parallelizing algorithms in a Grid environment, in most cases the observed efficiency of the executed code is very poor. In this work we are closing this gap. In our thesis, we will - show that an execution of classical parallel codes in Grid environments is possible but very slow - analyze this situation of bad performance, nail down bottlenecks in communication, remove unnecessary overhead and other reasons for low performance - develop new and advanced algorithms for parallelisation that are aware of a Grid environment in order to generelize the traditional parallelization schemes - implement and test these new methods, replace and compare with the classical ones - introduce dynamic strategies that automatically adapt the running code to the nature of the underlying Grid environment. The higher the performance one can achieve for a single application by manual tuning for a Grid environment, the lower the chance that those changes are widely applicable to other programs. In our analysis as well as in our implementation we tried to keep the balance between high performance and generality. None of our changes directly affect code on the application level which makes our algorithms applicable to a whole class of real world applications. The implementation of our work is done within the Cactus framework using the Globus toolkit, since we think that these are the most reliable and advanced programming frameworks for supporting computations in Grid environments. On the other hand, however, we tried to be as general as possible, i.e. all methods and algorithms discussed in this thesis are independent of Cactus or Globus. KW - Paralleles Rechnen KW - Verteiltes Rechnen KW - Cactus KW - Globus KW - dynamisch KW - adaptiv KW - Grid Computing KW - Distributed Computing KW - Cactus KW - Globus KW - dynamic KW - adaptive Y1 - 2002 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-0000759 ER - TY - THES A1 - Lanfermann, Gerd T1 - Nomadic migration : a service environment for autonomic computing on the Grid N2 - In den vergangenen Jahren ist es zu einer dramatischen Vervielfachung der verfügbaren Rechenzeit gekommen. Diese 'Grid Ressourcen' stehen jedoch nicht als kontinuierlicher Strom zur Verfügung, sondern sind über verschiedene Maschinentypen, Plattformen und Betriebssysteme verteilt, die jeweils durch Netzwerke mit fluktuierender Bandbreite verbunden sind. Es wird für Wissenschaftler zunehmend schwieriger, die verfügbaren Ressourcen für ihre Anwendungen zu nutzen. Wir glauben, dass intelligente, selbstbestimmende Applikationen in der Lage sein sollten, ihre Ressourcen in einer dynamischen und heterogenen Umgebung selbst zu wählen: Migrierende Applikationen suchen eine neue Ressource, wenn die alte aufgebraucht ist. 'Spawning'-Anwendungen lassen Algorithmen auf externen Maschinen laufen, um die Hauptanwendung zu beschleunigen. Applikationen werden neu gestartet, sobald ein Absturz endeckt wird. Alle diese Verfahren können ohne menschliche Interaktion erfolgen. Eine verteilte Rechenumgebung besitzt eine natürliche Unverlässlichkeit. Jede Applikation, die mit einer solchen Umgebung interagiert, muss auf die gestörten Komponenten reagieren können: schlechte Netzwerkverbindung, abstürzende Maschinen, fehlerhafte Software. Wir konstruieren eine verlässliche Serviceinfrastruktur, indem wir der Serviceumgebung eine 'Peer-to-Peer'-Topology aufprägen. Diese “Grid Peer Service” Infrastruktur beinhaltet Services wie Migration und Spawning, als auch Services zum Starten von Applikationen, zur Dateiübertragung und Auswahl von Rechenressourcen. Sie benutzt existierende Gridtechnologie wo immer möglich, um ihre Aufgabe durchzuführen. Ein Applikations-Information- Server arbeitet als generische Registratur für alle Teilnehmer in der Serviceumgebung. Die Serviceumgebung, die wir entwickelt haben, erlaubt es Applikationen z.B. eine Relokationsanfrage an einen Migrationsserver zu stellen. Der Server sucht einen neuen Computer, basierend auf den übermittelten Ressourcen-Anforderungen. Er transferiert den Statusfile des Applikation zu der neuen Maschine und startet die Applikation neu. Obwohl das umgebende Ressourcensubstrat nicht kontinuierlich ist, können wir kontinuierliche Berechnungen auf Grids ausführen, indem wir die Applikation migrieren. Wir zeigen mit realistischen Beispielen, wie sich z.B. ein traditionelles Genom-Analyse-Programm leicht modifizieren lässt, um selbstbestimmte Migrationen in dieser Serviceumgebung durchzuführen. N2 - In recent years, there has been a dramatic increase in available compute capacities. However, these “Grid resources” are rarely accessible in a continuous stream, but rather appear scattered across various machine types, platforms and operating systems, which are coupled by networks of fluctuating bandwidth. It becomes increasingly difficult for scientists to exploit available resources for their applications. We believe that intelligent, self-governing applications should be able to select resources in a dynamic and heterogeneous environment: Migrating applications determine a resource when old capacities are used up. Spawning simulations launch algorithms on external machines to speed up the main execution. Applications are restarted as soon as a failure is detected. All these actions can be taken without human interaction. A distributed compute environment possesses an intrinsic unreliability. Any application that interacts with such an environment must be able to cope with its failing components: deteriorating networks, crashing machines, failing software. We construct a reliable service infrastructure by endowing a service environment with a peer-to-peer topology. This “Grid Peer Services” infrastructure accommodates high-level services like migration and spawning, as well as fundamental services for application launching, file transfer and resource selection. It utilizes existing Grid technology wherever possible to accomplish its tasks. An Application Information Server acts as a generic information registry to all participants in a service environment. The service environment that we developed, allows applications e.g. to send a relocation requests to a migration server. The server selects a new computer based on the transmitted resource requirements. It transfers the application's checkpoint and binary to the new host and resumes the simulation. Although the Grid's underlying resource substrate is not continuous, we achieve persistent computations on Grids by relocating the application. We show with our real-world examples that a traditional genome analysis program can be easily modified to perform self-determined migrations in this service environment. KW - Peer-to-Peer-Netz ; GRID computing ; Zuverlässigkeit ; Web Services ; Betriebsmittelverwaltung ; Migration KW - Grid KW - 'Peer To Peer' KW - Migration KW - Spawning Y1 - 2002 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-0000773 ER - TY - THES A1 - Harmeling, Stefan T1 - Independent component analysis and beyond N2 - 'Independent component analysis' (ICA) ist ein Werkzeug der statistischen Datenanalyse und Signalverarbeitung, welches multivariate Signale in ihre Quellkomponenten zerlegen kann. Obwohl das klassische ICA Modell sehr nützlich ist, gibt es viele Anwendungen, die Erweiterungen von ICA erfordern. In dieser Dissertation präsentieren wir neue Verfahren, die die Funktionalität von ICA erweitern: (1) Zuverlässigkeitsanalyse und Gruppierung von unabhängigen Komponenten durch Hinzufügen von Rauschen, (2) robuste und überbestimmte ('over-complete') ICA durch Ausreissererkennung, und (3) nichtlineare ICA mit Kernmethoden. N2 - Independent component analysis (ICA) is a tool for statistical data analysis and signal processing that is able to decompose multivariate signals into their underlying source components. Although the classical ICA model is highly useful, there are many real-world applications that require powerful extensions of ICA. This thesis presents new methods that extend the functionality of ICA: (1) reliability and grouping of independent components with noise injection, (2) robust and overcomplete ICA with inlier detection, and (3) nonlinear ICA with kernel methods. T2 - Independent component analysis and beyond KW - ICA KW - Zuverlässigkeitsanalyse KW - robuste ICA KW - überbestimmte ICA KW - Ausreissererkennung KW - nichtlineare ICA KW - Kern-PCA KW - Kernmethoden KW - ICA KW - reliability assessment KW - robust ICA KW - overcomplete ICA KW - outlier detection KW - nonlinear ICA KW - kernel PCA KW - kernel methods Y1 - 2004 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-0001540 ER - TY - THES A1 - Dietze, Stefan T1 - Modell und Optimierungsansatz für Open Source Softwareentwicklungsprozesse N2 - Gerade in den letzten Jahren erfuhr Open Source Software (OSS) eine zunehmende Verbreitung und Popularität und hat sich in verschiedenen Anwendungsdomänen etabliert. Die Prozesse, welche sich im Kontext der OSS-Entwicklung (auch: OSSD – Open Source Software-Development) evolutionär herausgebildet haben, weisen in den verschiedenen OSS-Entwicklungsprojekten z.T. ähnliche Eigenschaften und Strukturen auf und auch die involvierten Entitäten, wie z.B. Artefakte, Rollen oder Software-Werkzeuge sind weitgehend miteinander vergleichbar. Dies motiviert den Gedanken, ein verallgemeinerbares Modell zu entwickeln, welches die generalisierbaren Entwicklungsprozesse im Kontext von OSS zu einem übertragbaren Modell abstrahiert. Auch in der Wissenschaftsdisziplin des Software Engineering (SE) wurde bereits erkannt, dass sich der OSSD-Ansatz in verschiedenen Aspekten erheblich von klassischen (proprietären) Modellen des SE unterscheidet und daher diese Methoden einer eigenen wissenschaftlichen Betrachtung bedürfen. In verschiedenen Publikationen wurden zwar bereits einzelne Aspekte der OSS-Entwicklung analysiert und Theorien über die zugrundeliegenden Entwicklungsmethoden formuliert, aber es existiert noch keine umfassende Beschreibung der typischen Prozesse der OSSD-Methodik, die auf einer empirischen Untersuchung existierender OSS-Entwicklungsprojekte basiert. Da dies eine Voraussetzung für die weitere wissenschaftliche Auseinandersetzung mit OSSD-Prozessen darstellt, wird im Rahmen dieser Arbeit auf der Basis vergleichender Fallstudien ein deskriptives Modell der OSSD-Prozesse hergeleitet und mit Modellierungselementen der UML formalisiert beschrieben. Das Modell generalisiert die identifizierten Prozesse, Prozessentitäten und Software-Infrastrukturen der untersuchten OSSD-Projekte. Es basiert auf einem eigens entwickelten Metamodell, welches die zu analysierenden Entitäten identifiziert und die Modellierungssichten und -elemente beschreibt, die zur UML-basierten Beschreibung der Entwicklungsprozesse verwendet werden. In einem weiteren Arbeitsschritt wird eine weiterführende Analyse des identifizierten Modells durchgeführt, um Implikationen, und Optimierungspotentiale aufzuzeigen. Diese umfassen beispielsweise die ungenügende Plan- und Terminierbarkeit von Prozessen oder die beobachtete Tendenz von OSSD-Akteuren, verschiedene Aktivitäten mit unterschiedlicher Intensität entsprechend der subjektiv wahrgenommenen Anreize auszuüben, was zur Vernachlässigung einiger Prozesse führt. Anschließend werden Optimierungszielstellungen dargestellt, die diese Unzulänglichkeiten adressieren, und ein Optimierungsansatz zur Verbesserung des OSSD-Modells wird beschrieben. Dieser Ansatz umfasst die Erweiterung der identifizierten Rollen, die Einführung neuer oder die Erweiterung bereits identifizierter Prozesse und die Modifikation oder Erweiterung der Artefakte des generalisierten OSS-Entwicklungsmodells. Die vorgestellten Modellerweiterungen dienen vor allem einer gesteigerten Qualitätssicherung und der Kompensation von vernachlässigten Prozessen, um sowohl die entwickelte Software- als auch die Prozessqualität im OSSD-Kontext zu verbessern. Desweiteren werden Softwarefunktionalitäten beschrieben, welche die identifizierte bestehende Software-Infrastruktur erweitern und eine gesamtheitlichere, softwaretechnische Unterstützung der OSSD-Prozesse ermöglichen sollen. Abschließend werden verschiedene Anwendungsszenarien der Methoden des OSS-Entwicklungsmodells, u.a. auch im kommerziellen SE, identifiziert und ein Implementierungsansatz basierend auf der OSS GENESIS vorgestellt, der zur Implementierung und Unterstützung des OSSD-Modells verwendet werden kann. N2 - In recent years Open Source Software (OSS) has become more widespread and its popularity has grown so that it is now established in various application domains. The processes which have emerged evolutionarily within the context of OSS development (OSSD – Open Source Software Development) display, to some extent, similar properties and structures in the various OSSD projects. The involved entities, e.g., artifacts, roles or software tools, are also widely comparable. This leads to the idea of developing a generalizable model which abstracts the generalizable development processes within the context of OSS to a transferable model. Even the scientific discipline of Software Engineering (SE) has recognized that the OSSD approach is, in various aspects, considerably different from traditional (proprietary) models of SE, and that these methods therefore require their own scientific consideration. Numerous publications have already analyzed individual aspects of OSSD and formulated theories about the fundamental development methods, but to date there is still no comprehensive description of the typical processes of OSSD methodology based on an empirical study of existing OSSD projects. Since this is a precondition for the further scientific examination of OSSD processes, a descriptive model of OSSD processes is obtained on the basis of comparative case studies and described in a formalized manner with UML modeling elements within the context of this dissertation. The model generalizes the identified processes, process entities and software infrastructures of the analyzed OSSD projects. It is based on a specially developed meta model which identifies the entities to be analyzed and describes the modeling viewpoints and elements which are used for the UML-based description of the development processes. Another procedure step includes the further analysis of the identified model in order to display the implications, and the potential for optimization. For example, these encompass the insufficient planning and scheduling capability of processes or the observed tendency of OSSD actors to carry out various activities at different intensities depending on the subjectively perceived incentives which leads to some processes being neglected. Subsequently, the optimization targets which address these inadequacies are displayed, and an optimization approach for the improvement of the OSSD model is described. The approach incorporates the expansion of the identified roles, the introduction of new or the expansion of already identified processes and the modification or expansion of artifacts of the generalized OSSD model. The presented model enhancements serve, above all, to increase quality assurance and to compensate neglected processes in order to improve developed software quality as well as process quality in the context of OSSD. Furthermore, software functionalities are described which expand the existing identified software infrastructure and should enable an overall, software-technical support of OSSD processes. Finally, the various application scenarios of OSSD model methods - also in commercial SE - are identified and an implementation approach based on the OSS GENESIS is presented which can be used to implement and support the OSSD model. T2 - Modell und Optimierungsansatz für Open Source Softwareentwicklungsprozesse KW - Prozessmodell KW - Software Engineering KW - Open Source KW - Prozessmodellierung KW - Metamodell KW - Softwareentwicklung KW - Prozess Verbesserung KW - process model KW - software engineering KW - open source KW - process modelling KW - meta model KW - software development KW - process improvement Y1 - 2004 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-0001594 ER - TY - THES A1 - Knöpfel, Andreas T1 - Konzepte der Beschreibung interaktiver Systeme T1 - Concepts of describing interactive systems N2 - Interaktive System sind dynamische Systeme mit einem zumeist informationellen Kern, die über eine Benutzungsschnittstelle von einem oder mehreren Benutzern bedient werden können. Grundlage für die Benutzung interaktiver Systeme ist das Verständnis von Zweck und Funktionsweise. Allein aus Form und Gestalt der Benutzungsschnittstelle ergibt sich ein solches Verständnis nur in einfachen Fällen. Mit steigender Komplexität ist daher eine verständliche Beschreibung solcher Systeme für deren Entwicklung und Benutzung unverzichtbar. Abhängig von ihrem Zweck variieren die Formen vorgefundener Beschreibungen in der Literatur sehr stark. Ausschlaggebend für die Verständlichkeit einer Beschreibung ist jedoch primär die ihr zugrundeliegende Begriffswelt. Zur Beschreibung allgemeiner komplexer diskreter Systeme - aufbauend auf einer getrennten Betrachtung von Aufbau-, Ablauf- und Wertestrukturen - existiert eine bewährte Begriffswelt. Eine Spezialisierung dieser Begriffs- und Vorstellungswelt, die den unterschiedlichen Betrachtungsebenen interaktiver Systeme gerecht wird und die als Grundlage beliebiger Beschreibungsansätze interaktiver Systeme dienen kann, gibt es bisher nicht. Ziel dieser Arbeit ist die Bereitstellung einer solchen Begriffswelt zur effizienten Kommunikation der Strukturen interaktiver Systeme. Dadurch soll die Grundlage für eine sinnvolle Ergänzung bestehender Beschreibungs- und Entwicklungsansätze geschaffen werden. Prinzipien der Gestaltung von Benutzungsschnittstellen, Usability- oder Ergonomiebetrachtungen stehen nicht im Mittelpunkt der Arbeit. Ausgehend von der informationellen Komponente einer Benutzungsschnittstelle werden drei Modellebenen abgegrenzt, die bei der Betrachtung eines interaktiven Systems zu unterscheiden sind. Jede Modellebene ist durch eine typische Begriffswelt gekennzeichnet, die ihren Ursprung in einer aufbauverwurzelten Vorstellung hat. Der durchgängige Bezug auf eine Systemvorstellung unterscheidet diesen Ansatz von dem bereits bekannten Konzept der Abgrenzung unterschiedlicher Ebenen verschiedenartiger Entwurfsentscheidungen. Die Fundamental Modeling Concepts (FMC) bilden dabei die Grundlage für die Findung und die Darstellung von Systemstrukturen. Anhand bestehender Systembeschreibungen wird gezeigt, wie die vorgestellte Begriffswelt zur Modellfindung genutzt werden kann. Dazu wird eine repräsentative Auswahl vorgefundener Systembeschreibungen aus der einschlägigen Literatur daraufhin untersucht, in welchem Umfang durch sie die Vorstellungswelt dynamischer Systeme zum Ausdruck kommt. Defizite in der ursprünglichen Darstellung werden identifiziert. Anhand von Alternativmodellen zu den betrachteten Systemen wird der Nutzen der vorgestellten Begriffswelt und Darstellungsweise demonstriert. N2 - Interactive systems are dynamic systems which provide services to one or more users via a user interface. Many of these systems have an information processing core. To effectively use such a system, a user needs to know about the purpose and functional concepts of the system. Only in case of a rather simple functionality, the required knowledge is likely to be obtained by mere exploration of the user interface. For complex systems, a comprehensive description is essential for effective and efficient operation, but also for system development. Especially in the context of this publication, the focus is on the diagrams that are used for communication in the development process of interactive systems. With regard to its purpose these descriptions vary in form and notation. In any case, it is the underlying terminology which is crucial to the understandability. Established concepts and notations for the description of generic information processing systems promote a strict separation of three categories of system structures: Compositional structures, behavioral structures and value-range structures. This publication suggests a specialization of this approach for the description of interactive systems. The definition of specific notions and semantic layers is intended to provide a complement to existing description approaches in that field that constitutes a mental framework to enhance the efficiency of communication about interactive systems. In focusing to the description aspect only, design principles, system architectures and development methods are the context but not the subject of this work. The separation of three semantic layers provides the foundation to distinguish purpose-related, interaction-related and implementation-related models of interactive systems. Each semantic layer is characterized by a specific terminology. Referring to the idea of equivalent models, the compositional system structure varies from layer to layer and provides the framework to ask for the observable behavior and values. The strict assignment of system aspects to system components distinguishes this approach from a simple layering of design decisions in the development of interactive systems as commonly found in the relevant literature. The Fundamental Modeling Concepts (FMC) provide the foundation for the identification and representation of system structures. A selection of system descriptions taken from the relevant literature provides the starting point to demonstrate the application of the suggested concept. Purpose, content and form of each example are analyzed with regard to the implied system structure. Weaknesses in the original representation are identified. Alternative models complement the examples to illustrate the benefit of the new approach. KW - Systementwurf KW - Benutzeroberfläche KW - Modellierung KW - Interaktives System KW - Systemstruktur KW - FMC KW - Betrachtungsebenen KW - Interactive system KW - model-driven architecture KW - FMC Y1 - 2004 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-2898 ER - TY - THES A1 - Gröne, Bernhard T1 - Konzeptionelle Patterns und ihre Darstellung N2 - Zur Beherrschung großer Systeme, insbesondere zur Weitergabe und Nutzung von Erfahrungswissen in der frühen Entwurfs- und Planungsphase, benötigt man Abstraktionen für deren Strukturen. Trennt man Software- von Systemstrukturen, kann man mit letzteren Systeme auf ausreichend hohem Abstraktionsgrad beschreiben.Software-Patterns dienen dazu, Erfahrungswissen bezüglich programmierter Systeme strukturiert weiterzugeben. Dabei wird unterschieden zwischen Idiomen, die sich auf Lösungen mit einer bestimmten Programmiersprache beziehen, Design-Patterns, die nur einen kleinen Teil des Programms betreffen und Architektur-Patterns, deren Einfluss über einen größeren Teil oder gar das komplette Programm reicht. Eine Untersuchung von existierenden Patterns zeigt, dass deren Konzepte nützlich zum Finden von Systemstrukturen sind. Die grafische Darstellung dieser Patterns ist dagegen oft auf Software-Strukturen eingeschränkt und ist für die Vermittlung von Erfahrungen zum Finden von Systemstrukturen meist nicht geeignet. Daher wird die Kategorie der konzeptionellen Patterns mit einer darauf abgestimmten grafischen Darstellungsform vorgeschlagen, bei denen Problem und Lösungsvorschlag im Bereich der Systemstrukturen liegen. Sie betreffen informationelle Systeme, sind aber nicht auf Lösungen mit Software beschränkt. Die Systemstrukturen werden grafisch dargestellt, wobei dafür die Fundamental Modeling Concepts (FMC) verwendet werden, die zur Darstellung von Systemstrukturen entwickelt wurden. N2 - Planning large and complex software systems is an important task of a system architect. It includes communicating with the customer, planning the overall system structure as well as preparing the division of labor among software engineers. What's more, a system architect benefits from other professionals' experiences concerning system architecture. By separating system from software structures, one can now describe a system by its system structure on an adequate level of abstraction. Patterns provide a common form for the transfer of experiences. A pattern describes a widely used and proven solution to a problem that occurs in a certain context. A study of existing architectural and design patterns shows that the concepts of many patterns carry valuable experiences concerning finding system structures. On the other hand, the graphical representations of these patterns usually focus on the software structures resulting from the solution in terms of classes and their relationships. This can be a problem if the solution doesn't imply one specific software structure but rather describes a concept which may be even independent from an implementation via software at all.For that reason, Conceptual Patterns are introduced. A pattern can be called conceptual if both problem and solution concern system structures. Here, the functional aspects and structures of the system are relevant while code structures or even the use of software for implementation are not. To support the focus on system structures, terminology and notation of conceptual patterns should use an adequate means such as provided by the Fundamental Modeling Concepts (FMC). KW - Patterns KW - Systemstruktur KW - FMC KW - Konzeptionell KW - Patterns KW - System structure KW - FMC KW - Conceptual Y1 - 2004 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-2302 ER - TY - THES A1 - Robinson-Mallett, Christopher T1 - Modellbasierte Modulprüfung für die Entwicklung technischer, softwareintensiver Systeme mit Real-Time Object-Oriented Modeling T1 - Model-based unit-testing for software-intensive, technical systems using real-time object-oriented modeling N2 - Mit zunehmender Komplexität technischer Softwaresysteme ist die Nachfrage an produktiveren Methoden und Werkzeugen auch im sicherheitskritischen Umfeld gewachsen. Da insbesondere objektorientierte und modellbasierte Ansätze und Methoden ausgezeichnete Eigenschaften zur Entwicklung großer und komplexer Systeme besitzen, ist zu erwarten, dass diese in naher Zukunft selbst bis in sicherheitskritische Bereiche der Softwareentwicklung vordringen. Mit der Unified Modeling Language Real-Time (UML-RT) wird eine Softwareentwicklungsmethode für technische Systeme durch die Object Management Group (OMG) propagiert. Für den praktischen Einsatz im technischen und sicherheitskritischen Umfeld muss diese Methode nicht nur bestimmte technische Eigenschaften, beispielsweise temporale Analysierbarkeit, besitzen, sondern auch in einen bestehenden Qualitätssicherungsprozess integrierbar sein. Ein wichtiger Aspekt der Integration der UML-RT in ein qualitätsorientiertes Prozessmodell, beispielsweise in das V-Modell, ist die Verfügbarkeit von ausgereiften Konzepten und Methoden für einen systematischen Modultest. Der Modultest dient als erste Qualititätssicherungsphase nach der Implementierung der Fehlerfindung und dem Qualitätsnachweis für jede separat prüfbare Softwarekomponente eines Systems. Während dieser Phase stellt die Durchführung von systematischen Tests die wichtigste Qualitätssicherungsmaßnahme dar. Während zum jetzigen Zeitpunkt zwar ausgereifte Methoden und Werkzeuge für die modellbasierte Softwareentwicklung zur Verfügung stehen, existieren nur wenig überzeugende Lösungen für eine systematische modellbasierte Modulprüfung. Die durchgängige Verwendung ausführbarer Modelle und Codegenerierung stellen wesentliche Konzepte der modellbasierten Softwareentwicklung dar. Sie dienen der konstruktiven Fehlerreduktion durch Automatisierung ansonsten fehlerträchtiger, manueller Vorgänge. Im Rahmen einer modellbasierten Qualitätssicherung sollten diese Konzepte konsequenterweise in die späteren Qualitätssicherungsphasen transportiert werden. Daher ist eine wesentliche Forderung an ein Verfahren zur modellbasierten Modulprüfung ein möglichst hoher Grad an Automatisierung. In aktuellen Entwicklungen hat sich für die Generierung von Testfällen auf Basis von Zustandsautomaten die Verwendung von Model Checking als effiziente und an die vielfältigsten Testprobleme anpassbare Methode bewährt. Der Ansatz des Model Checking stammt ursprünglich aus dem Entwurf von Kommunikationsprotokollen und wurde bereits erfolgreich auf verschiedene Probleme der Modellierung technischer Software angewendet. Insbesondere in der Gegenwart ausführbarer, automatenbasierter Modelle erscheint die Verwendung von Model Checking sinnvoll, das die Existenz einer formalen, zustandsbasierten Spezifikation voraussetzt. Ein ausführbares, zustandsbasiertes Modell erfüllt diese Anforderungen in der Regel. Aus diesen Gründen ist die Wahl eines Model Checking Ansatzes für die Generierung von Testfällen im Rahmen eines modellbasierten Modultestverfahrens eine logische Konsequenz. Obwohl in der aktuellen Spezifikation der UML-RT keine eindeutigen Aussagen über den zur Verhaltensbeschreibung zu verwendenden Formalismus gemacht werden, ist es wahrscheinlich, dass es sich bei der UML-RT um eine zu Real-Time Object-Oriented Modeling (ROOM) kompatible Methode handelt. Alle in dieser Arbeit präsentierten Methoden und Ergebnisse sind somit auf die kommende UML-RT übertragbar und von sehr aktueller Bedeutung. Aus den genannten Gründen verfolgt diese Arbeit das Ziel, die analytische Qualitätssicherung in der modellbasierten Softwareentwicklung mittels einer modellbasierten Methode für den Modultest zu verbessern. Zu diesem Zweck wird eine neuartige Testmethode präsentiert, die auf automatenbasierten Verhaltensmodellen und CTL Model Checking basiert. Die Testfallgenerierung kann weitgehend automatisch erfolgen, um Fehler durch menschlichen Einfluss auszuschließen. Das entwickelte Modultestverfahren ist in die technischen Konzepte Model Driven Architecture und ROOM, beziehungsweise UML-RT, sowie in die organisatorischen Konzepte eines qualitätsorientierten Prozessmodells, beispielsweise das V-Modell, integrierbar. N2 - In consequence to the increasing complexity of technical software-systems the demand on highly productive methods and tools is increasing even in the field of safety-critical systems. In particular, object-oriented and model-based approaches to software-development provide excellent abilities to develop large and highly complex systems. Therefore, it can be expected that in the near future these methods will find application even in the safety-critical area. The Unified Modeling Language Real-Time (UML-RT) is a software-development methods for technical systems, which is propagated by the Object Management Group (OMG). For the practical application of this method in the field of technical and safety-critical systems it has to provide certain technical qualities, e.g. applicability of temporal analyses. Furthermore, it needs to be integrated into the existing quality assurance process. An important aspect of the integration of UML-RT in an quality-oriented process model, e.g. the V-Model, represents the availability of sophisticated concepts and methods for systematic unit-testing. Unit-testing is the first quality assurance phase after implementation to reveal faults and to approve the quality of each independently testable software component. During this phase the systematic execution of test-cases is the most important quality assurance task. Despite the fact, that today many sophisticated, commercial methods and tools for model-based software-development are available, no convincing solutions exist for systematic model-based unit-testing. The use of executable models and automatic code generation are important concepts of model-based software development, which enable the constructive reduction of faults through automation of error-prone tasks. Consequently, these concepts should be transferred into the testing phases by a model-based quality assurance approach. Therefore, a major requirement of a model-based unit-testing method is a high degree of automation. In the best case, this should result in fully automatic test-case generation. Model checking already has been approved an efficient and flexible method for the automated generation of test-cases from specifications in the form of finite state-machines. The model checking approach has been developed for the verification of communication protocols and it was applied successfully to a wide range of problems in the field of technical software modelling. The application of model checking demands a formal, state-based representation of the system. Therefore, the use of model checking for the generation of test-cases is a beneficial approach to improve the quality in a model-based software development with executable, state-based models. Although, in its current state the specification of UML-RT provides only little information on the semantics of the formalism that has to be used to specify a component’s behaviour, it can be assumed that it will be compatible to Real-Time Object-Oriented Modeling. Therefore, all presented methods and results in this dissertation are transferable to UML-RT. For these reasons, this dissertations aims at the improvement of the analytical quality assurance in a model-based software development process. To achieve this goal, a new model-based approach to automated unit-testing on the basis of state-based behavioural models and CTL Model Checking is presented. The presented method for test-case generation can be automated to avoid faults due to error-prone human activities. Furthermore it can be integrated into the technical concepts of the Model Driven Architecture and ROOM, respectively UML-RT, and into a quality-oriented process model, like the V-Model. KW - Software KW - Test KW - Model Checking KW - Model Based Engineering KW - Software KW - Test KW - Modellbasiert KW - Entwurf KW - software KW - test KW - model-based KW - design Y1 - 2005 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-6045 ER - TY - THES A1 - Ziehe, Andreas T1 - Blind source separation based on joint diagonalization of matrices with applications in biomedical signal processing T1 - Blinde Signalquellentrennung beruhend auf simultaner Diagonalisierung von Matrizen mit Anwendungen in der biomedizinischen Signalverarbeitung T1 - Blinde Signalquellentrennung beruhend auf simultaner Diagonalisierung von Matrizen mit Anwendungen in der biomedizinischen Signalverarbeitung N2 - This thesis is concerned with the solution of the blind source separation problem (BSS). The BSS problem occurs frequently in various scientific and technical applications. In essence, it consists in separating meaningful underlying components out of a mixture of a multitude of superimposed signals. In the recent research literature there are two related approaches to the BSS problem: The first is known as Independent Component Analysis (ICA), where the goal is to transform the data such that the components become as independent as possible. The second is based on the notion of diagonality of certain characteristic matrices derived from the data. Here the goal is to transform the matrices such that they become as diagonal as possible. In this thesis we study the latter method of approximate joint diagonalization (AJD) to achieve a solution of the BSS problem. After an introduction to the general setting, the thesis provides an overview on particular choices for the set of target matrices that can be used for BSS by joint diagonalization. As the main contribution of the thesis, new algorithms for approximate joint diagonalization of several matrices with non-orthogonal transformations are developed. These newly developed algorithms will be tested on synthetic benchmark datasets and compared to other previous diagonalization algorithms. Applications of the BSS methods to biomedical signal processing are discussed and exemplified with real-life data sets of multi-channel biomagnetic recordings. N2 - Diese Arbeit befasst sich mit der Lösung des Problems der blinden Signalquellentrennung (BSS). Das BSS Problem tritt häufig in vielen wissenschaftlichen und technischen Anwendungen auf. Im Kern besteht das Problem darin, aus einem Gemisch von überlagerten Signalen die zugrundeliegenden Quellsignale zu extrahieren. In wissenschaftlichen Publikationen zu diesem Thema werden hauptsächlich zwei Lösungsansätze verfolgt: Ein Ansatz ist die sogenannte "Analyse der unabhängigen Komponenten", die zum Ziel hat, eine lineare Transformation V der Daten X zu finden, sodass die Komponenten Un der transformierten Daten U = V X (die sogenannten "independent components") so unabhängig wie möglich sind. Ein anderer Ansatz beruht auf einer simultanen Diagonalisierung mehrerer spezieller Matrizen, die aus den Daten gebildet werden. Diese Möglichkeit der Lösung des Problems der blinden Signalquellentrennung bildet den Schwerpunkt dieser Arbeit. Als Hauptbeitrag der vorliegenden Arbeit präsentieren wir neue Algorithmen zur simultanen Diagonalisierung mehrerer Matrizen mit Hilfe einer nicht-orthogonalen Transformation. Die neu entwickelten Algorithmen werden anhand von numerischen Simulationen getestet und mit bereits bestehenden Diagonalisierungsalgorithmen verglichen. Es zeigt sich, dass unser neues Verfahren sehr effizient und leistungsfähig ist. Schließlich werden Anwendungen der BSS Methoden auf Probleme der biomedizinischen Signalverarbeitung erläutert und anhand von realistischen biomagnetischen Messdaten wird die Nützlichkeit in der explorativen Datenanalyse unter Beweis gestellt. KW - Signaltrennung KW - Mischung KW - Diagonalisierung KW - Bioelektrisches Signal KW - Magnetoencephalographie KW - Elektroencephalographie KW - Signalquellentrennung KW - Matrizen-Eigenwertaufgabe KW - Simultane Diagonalisierung KW - Optimierungsproblem KW - blind source separation KW - BSS KW - ICA KW - independent component analysis KW - approximate joint diagonalization KW - EEG KW - MEG Y1 - 2005 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-5694 ER -