Integration of Programming Environments for Platform Migration

DSpace Repositorium (Manakin basiert)


Dateien:

Zitierfähiger Link (URI): http://nbn-resolving.de/urn:nbn:de:bsz:21-opus-6960
http://hdl.handle.net/10900/48445
Dokumentart: Dissertation
Erscheinungsdatum: 2003
Sprache: Englisch
Fakultät: 7 Mathematisch-Naturwissenschaftliche Fakultät
Fachbereich: Sonstige - Informations- und Kognitionswissenschaften
Gutachter: Klaeren, Herbert
Tag der mündl. Prüfung: 2003-01-29
DDC-Klassifikation: 004 - Informatik
Schlagworte: Migration , Smalltalk , Java , Programmierumgebung
Freie Schlagwörter: Werkzeugintegration
Migration , Smalltalk , Java , programming environment , tool integration
Lizenz: http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=de http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=en
Gedruckte Kopie bestellen: Print-on-Demand
Zur Langanzeige

Inhaltszusammenfassung:

Diese Dissertation beschäftigt sich mit der Werkzeugunterstützung der Migration von Anwendungen von einer Plattform zu einer anderen, speziell von Smalltalk nach Java. Beide Plattformen bestehen nicht nur aus einer Programmiersprache, sondern enthalten auch eine große Klassenbibliothek, Entwicklungswerkzeuge und eine Laufzeitumgebung. Trotz vieler Gemeinsamkeiten weisen insbesondere die Klassenbibliotheken erhebliche Unterschiede auf. Sie stellen zwar annähernd die gleiche Funktionalität zur Verfügung, aber auf unterschiedliche Weise. Viele Unterschiede sind so grundlegend, dass Migrationswerkzeuge wie Syntax-Konverter und Typ-Analysatoren keine perfekten Ergebnisse erzielen. Der automatisch migrierte Code erfordert meist erhebliche Nacharbeit. Ein Entwickler wird dafür die Entwicklungsumgebungen beider Plattformen verwenden: um den ursprünglichen Code zu verstehen, und um Fehler im migrierten Code zu beheben. Außerdem muss er die Anwendung auf der Zielplattform von Grund auf neu erstellen, so dass sie über lange Zeit nicht als Ganzes ausführbar ist. Ohne die Möglichkeit automatisierte Tests einsetzen zu können, fällt es schwer den migrierten Code zu stablisieren. Ich schlage die Integration der Programmierumgebungen beider Plattformen vor. Diese Integration unterstützt einen schrittweisen Migrationsprozess. Die Integration kombiniert sowohl die Entwicklungs- als auch die Laufzeitumgebungen. Statt mit zwei getrennten Code-Basen arbeiten zu müssen, kann ein Entwickler mit einem integrierten, hybriden System arbeiten und die Migration durchführen, indem er Teile des ursprünglichen Codes durch migriertem Code in diesem hybriden System ersetzt. Der Vorteil dieses Ansatzes ist, dass das Gesamtsystem immer ausführbar ist. Viele Techniken, die ein ausführbares Programm erfordern, können dadurch angewendet werden, um die Produktivität des Migrationsprozesses zu verbessern. Das Anliegen dieser Arbeit ist Software-Migration agiler zu machen.

Abstract:

This dissertation is about tool and process support for migrating applications from one platform to another, specifically from Smalltalk to Java. Both platforms consist of a programming language, obviously, but also include large class libraries, development tools, and a runtime environment. Despite many high-level similarities, the class libraries are quite different. They provide similar functionality but in different ways. Many differences are so fundamental that migration tools like syntax converters and type analyzers produce imperfect results. The output of these migration tools generally requires a significant amount of manual rework. To perform the rework, a developer will have to use the development environments of both platforms: on the source platform to analyze the code, and on the target platform to fix problems. Furthermore, because he needs to rebuild the application on the target platform from scratch, the application is not executable as a whole. Without being able to run automated tests against the application, it is difficult to stabilize the migrated code. I propose the integration of the two programming environments. This integration supports a more productive piecemeal migration process. The environment integration combines both the development and the runtime environments. Instead of working with two code bases, a developer can work on a single integrated hybrid system and perform the migration by replacing original code with migrated code in a single system. The advantage of this approach is that the whole system is executable at all times. Many techniques requiring an executable application can be used to improve the productivity of the migration process, e. g. automated functional and unit testing, inspections of the system at runtime, dynamic type analyses, use of assertions, profiling, etc. In essence, this thesis aims at making software migrations more agile.

Das Dokument erscheint in: