Entwicklung eines JaMP-Editors für das Eclipse-Framework

Student:Arne Becker
Title:Entwicklung eines JaMP-Editors für das Eclipse-Framework
Type:study thesis
Advisors:Klemm, M.; Philippsen, M.
State:submitted on July 13, 2007
Prerequisits:

Für Shared-Memory-Systeme existieren zahlreiche Übersetzer, die es dem Programmierer erlauben, ein sequentielles Programm mittels Übersetzer-Direktiven zu parallelisieren. Der Übersetzer unternimmt hierbei die nötigen Schritte, um einen als parallel ausführbar markierten Programmteil ohne weiteres Zutun des Programmiers auf mehrere parallel ablaufende Aktivitätsträger aufzuteilen. Ein Beispiel hierfür ist der OpenMP-Standard.

Mit JaMP wurde der OpenMP-Standard für das DSM-System Jackal adaptiert. Mittels JaMP-Übersetzer-Direktiven ist es einem Programmierer möglich, ein sequentielles Java-Programm durch Hinzufügen der Direktiven zu parallelisieren. JaMP lehnt sich dabei eng an die Vorgaben des OpenMP-Standards an und bildet diese möglichst genau auf das von Jackal bereitgestellte DSM ab.

Topic:

Ziel der Arbeit ist es, den Java-Editor von Eclipse durch ein Plugin zu erweitern, so dass dieser in der Lage ist, die Compiler-Direktiven zu erkennen und den Programmierer bei der Programmierung paralleler Applikationen aktiv zu unterstützen.

Das entstehende Plugin soll mindestens folgende Funktionalitäten bereitstellen:

  • Korrekte Formatierung der Direktiven
  • Syntax-Highlighting zur Markierung der Direktiven
  • Kontextabhängige Code-Vervollständigung
  • Syntaxprüfung zur Validierung der Direktiven
  • Spezielle Ansicht zur Visualisierung der lexalischen Schachtelung der Direktiven
  • Code-Faltung für JaMP-Regionen
  • Unterstützung von JaMP-basierten Refaktorisierungen
  • Semantische Analysen zur Code-Inspektion und Fehlerprüfung
  • Erweitere kontextabhängige Informationen (z.B. Zugriffsart für Variablen)

Meilensteine:

  • Einarbeitung in das Eclipse-Framework mittels kleiner Beispiel-Plugins
  • Entwurf der Architektur des Plugins
  • Implementierung der geforderten Funktionalität
  • Ausführliche Testreihen zur Fehlerbehebung
  • Ausarbeitung

Literatur:

  • OpenMP Application Program Interface, Version 2.5, May 2005.
  • Klemm, Michael; Bezold, Matthias; Veldema, Ronald; Philippsen, Michael: JaMP: An Implementation of OpenMP for a Java DSM. In: Proceedings of the 12th Workshop on Compilers for Parallel Computers, A Coruna, Spain, 2006.
  • Klemm, Michael; Veldema, Ronald; Bezold, Matthias; Philippsen, Michael: A Proposal for OpenMP for Java. In: Proceedings of the International Workshop on OpenMP, Reims, France, 2006.
  • Daum, Berthold: Java-Entwicklung mit Eclipse 3. Anwendungen, Plugins und Rich Clients. Dpunkt Verlag, Heidelberg, 2004.
watermark seal