Fehlersuche im Modell - Modellbasiertes Testen und Debuggen
dc.contributor.corporatename | Kassel, Universität, FB 16, Elektrotechnik/Informatik | |
dc.contributor.referee | Zündorf, Albert (Prof. Dr.) | |
dc.contributor.referee | Schäfer, Wilhelm | |
dc.date.accessioned | 2011-07-13T09:35:58Z | |
dc.date.available | 2011-07-13T09:35:58Z | |
dc.date.examination | 2011-04-11 | |
dc.date.issued | 2011-07-13T09:35:58Z | |
dc.identifier.uri | urn:nbn:de:hebis:34-2011071338286 | |
dc.identifier.uri | http://hdl.handle.net/123456789/2011071338286 | |
dc.language.iso | ger | |
dc.rights | Urheberrechtlich geschützt | |
dc.rights.uri | https://rightsstatements.org/page/InC/1.0/ | |
dc.subject | Testing | eng |
dc.subject | MDD | eng |
dc.subject | MDA | eng |
dc.subject | eDOBS | eng |
dc.subject | FUJABA | ger |
dc.subject | Design Level Debugging | eng |
dc.subject.ddc | 004 | |
dc.subject.swd | Debugging | ger |
dc.subject.swd | Modellgetriebene Entwicklung | ger |
dc.title | Fehlersuche im Modell - Modellbasiertes Testen und Debuggen | ger |
dc.type | Dissertation | |
dcterms.abstract | Kern der vorliegenden Arbeit ist die Erforschung von Methoden, Techniken und Werkzeugen zur Fehlersuche in modellbasierten Softwareentwicklungsprozessen. Hierzu wird zuerst ein von mir mitentwickelter, neuartiger und modellbasierter Softwareentwicklungsprozess, der sogenannte Fujaba Process, vorgestellt. Dieser Prozess wird von Usecase Szenarien getrieben, die durch spezielle Kollaborationsdiagramme formalisiert werden. Auch die weiteren Artefakte des Prozess bishin zur fertigen Applikation werden durch UML Diagrammarten modelliert. Es ist keine Programmierung im Quelltext nötig. Werkzeugunterstützung für den vorgestellte Prozess wird von dem Fujaba CASE Tool bereitgestellt. Große Teile der Werkzeugunterstützung für den Fujaba Process, darunter die Toolunterstützung für das Testen und Debuggen, wurden im Rahmen dieser Arbeit entwickelt. Im ersten Teil der Arbeit wird der Fujaba Process im Detail erklärt und unsere Erfahrungen mit dem Einsatz des Prozesses in Industrieprojekten sowie in der Lehre dargestellt. Der zweite Teil beschreibt die im Rahmen dieser Arbeit entwickelte Testgenerierung, die zu einem wichtigen Teil des Fujaba Process geworden ist. Hierbei werden aus den formalisierten Usecase Szenarien ausführbare Testfälle generiert. Es wird das zugrunde liegende Konzept, die konkrete technische Umsetzung und die Erfahrungen aus der Praxis mit der entwickelten Testgenerierung dargestellt. Der letzte Teil beschäftigt sich mit dem Debuggen im Fujaba Process. Es werden verschiedene im Rahmen dieser Arbeit entwickelte Konzepte und Techniken vorgestellt, die die Fehlersuche während der Applikationsentwicklung vereinfachen. Hierbei wurde darauf geachtet, dass das Debuggen, wie alle anderen Schritte im Fujaba Process, ausschließlich auf Modellebene passiert. Unter anderem werden Techniken zur schrittweisen Ausführung von Modellen, ein Objekt Browser und ein Debugger, der die rückwärtige Ausführung von Programmen erlaubt (back-in-time debugging), vorgestellt. Alle beschriebenen Konzepte wurden in dieser Arbeit als Plugins für die Eclipse Version von Fujaba, Fujaba4Eclipse, implementiert und erprobt. Bei der Implementierung der Plugins wurde auf eine enge Integration mit Fujaba zum einen und mit Eclipse auf der anderen Seite geachtet. Zusammenfassend wird also ein Entwicklungsprozess vorgestellt, die Möglichkeit in diesem mit automatischen Tests Fehler zu identifizieren und diese Fehler dann mittels spezieller Debuggingtechniken im Programm zu lokalisieren und schließlich zu beheben. Dabei läuft der komplette Prozess auf Modellebene ab. Für die Test- und Debuggingtechniken wurden in dieser Arbeit Plugins für Fujaba4Eclipse entwickelt, die den Entwickler bestmöglich bei der zugehörigen Tätigkeit unterstützen. | ger |
dcterms.abstract | This thesis presents methods, techniques and tools for finding bugs in model-based software development processes. Therefor this thesis first introduces a new model-based software development process, the so-called Fujaba Process, that was co-developed by me. This process is driven by use cases, which are formalized by customized collaboration diagrams. All other artifacts of the process including the application itself are also modeled using UML diagrams. The Fujaba CASE Tool offers tool support for every phase of this process. Main parts of the tool support for the Fujaba Process, including support for testing and debugging, were developed as part of this thesis. The first part of this thesis describes the Fujaba Process in detail and shows the experiences we made using this process in industrial projects and for teaching. The second part describes the test generation, that was developed as part of this thesis and became an important component of the Fujaba Process. During the test generation the formalized use case scenarios are automatically transformed into executable test cases. The second part of the thesis describes the underlying concepts and the technical realization of the test generation. Our experiences from case studies using the test generation are also presented. The last part of this thesis is about debugging in the Fujaba Process. It presents several concepts and techniques, that were implemented for this thesis and that simplify the fault diagnostics during application development. As all other steps of the Fujaba Process are performed on model level, the presented debugging should be model-based, too. My work will for example present techniques for stepwise execution of models, it will present an object browser for runtime model representation and a back-in-time debugger on model level. All presented concepts are realized and evaluated as plugins for the Eclipse version of Fujaba, Fujaba4Eclipse. The plugin implementations offer a tight integration with eclipse on the one hand and with Fujaba on the other hand. To conclude, I will present a development process and the possibility to identify faults using tests. Furthermore I will show an approach how to locate these faults using debugging techniques to finally correct these faults. In my approach the complete process is done on model level. I developed plugins for Fujaba4Eclipse for the test generation and the debugging techniques, that support the developer at the best during this process. | eng |
dcterms.accessRights | open access | |
dcterms.creator | Geiger, Leif |