Sie sind hier

Entwicklung von Rich Client Applications

 

Dr. Tobias Walter   Dr. Fernando Silva Parreiras   Prof. Dr. Steffen Staab

Anmeldung

Hier geht es direkt zur MeToo-Anmeldung.

Aktuelles

Erstes Treffen Anfang März 2009; genaueres wird auf dieser Seite noch bekannt gegeben.

Kurzbeschreibung

Einen aktuellen Standard bei der Entwicklung von nahezu allen Arten von Software bildet die Entwicklungsumgebung Eclipse.  Eclipse basiert auf einem Open-Source-Framework, wobei Eclipse selber nur als Kern dieses dient. Plug-ins stellen die eigentliche Funktionalität zur Verfügung und sind so gekapselt, dass sie einen hohen Wiederverwendungsgrad bieten und ausgetauscht werden können.

Die Oberfläche von Eclipse bietet verschiedene Varianten um die Arbeit an Ressourcen zu vereinfachen. Dabei werden sowohl textuelle Editoren, die zum Beispiel mit Features wie Syntax Highlighting ausgestattet sind, als auch graphische Editoren in Betracht gezogen. So kann durch entsprechende Plug-ins die textuelle Modellierung (Codierung) und die visuelle Modellierung (zum Beispiel durch UML) unterstützt werden. Entscheidend sind hier der Nutzen von vorhandenen Technologien wie GEF (Graphical Editing Framework), welches die schnelle Erstellung von graphischen Editoren erlaubt und TCS (Textual Concrete Syntax), einer Komponente zur Spezifikation von textuellen Syntaxen.

Um von den Modellen automatischen zu lauffähigem Code zu gelangen wird das Eclipse Modeling Framework (EMF) angeboten. Hier werden Transformationsmechanismen bereitgestellt, um zum Beispiel von Modell zu Modell oder von Modell zu Code zu transformieren.

Durch die einfache Erstellung von Plug-ins und die vorhandenen Technologien und Frameworks bietet Eclipse eine Plattform zur Entwicklung von sogenannten Rich Client Applications.

Ein erstes Ziel des Praktikums ist das Erlernen des Umgangs mit der Eclipse Entwicklungsumgebung und die Erweiterung dieser. Dazu gehört auch der Einblick in verschieden vorhandene und bewährte Technologien wie EMF, GEF etc., um sie für weitere, eigenständige Projekte nutzen zu können. Um Software modular zu gestalten ist ein weiteres Ziel die Implementierung sogenannter Eclipse Plug-ins, die beliebig wiederverwendet und ausgetauscht werden können. Abschließend sollen die entwickelten Plug-ins so zueinander passen, dass alle (oder nach Wunsch des Kunden nur eine Teilmenge von ihnen) eine Rich Client Application bilden.

Szenarien für die Nutzung des Werkzeuges und der Plug-ins finden sich in zahlreicher Form in den Bereichen des Semantic Web.

Projektablauf

Die Projektteilnehmer koordinieren selbstständig und eigenverantwortlich ihre Arbeit. Das Projekt umfasst alle Phasen des Softwareentwurfs und der Implementierung. Folgende Schritte sind vorgesehen:

  • Einführungsseminar zu Beginn des Semesters: Für dieses Seminar bereitet jeder Teilnehmer einen Kurzvortrag vor. Ziel des Seminars ist die Vermittlung von relevantem Vorwissen, wie z.B. Plugin-Entwicklung, Rich Client Application und der wissenschaftlicher Background vom Semantic Web, Transformationssprachen, Domain Spezifischen Sprachen, verschiedener Modellierungssprachen...
  • Sammlung und Analyse der Anforderungen (Requirements) an die einzelnen Plug-ins und das gesamte System: Die Teilnehmer sind selber dafür zuständig, die an die Plug-ins gestellten Anforderungen zu erfassen und zu dokumentieren.
  • Auswahl der im Projektpraktikum umzusetzenden Features und anschließende Implementierung: Die Teilnehmer haben eigenverantwortlich eine sinnvolle Auswahl unter den gefundenen Anforderungen zu treffen und einen Zeitplan zu ihrer Umsetzung aufzustellen. Bevor mit der Implementierung gestartet wird, wird der Plan mit den Betreuern besprochen.

Alle Arbeiten während des Praktikums sind von einem unter den Teilnehmern auszuwählenden Projektleiter zu koordinieren und zu überwachen. Trotzdem stehen die Betreuer den Teilnehmern jederzeit zur Verfügung, falls Fragen zur Vorgehensweise auftreten. Am Ende des Projektpraktikums soll ein Werkzeugs existieren, das den Benutzern das Arbeiten mit Ontolgien erleichtert. Den Abschluss des Projektpraktikums bilden eine Präsentation des Projekts und die Demo des Werkzeugs.

Es besteht die Möglichkeit, im Anschluss an das Projektpraktikum im Rahmen von Studien- und Diplomarbeiten Erweiterungen an dem System vorzunehmen. Mögliche Themen dafür wären z.B. Ontologie-getriebene Entwicklung von Software oder domainspezifische Sprachen für integrierte Entwicklung von Software, wobei sich die Integration auf Modellierungsprachen und Ontologien bezieht.

Vortragsthemen

Entwicklung von Plugins in Eclipse

Graphical Editing Framework (GEF)

Atlas Transformation Language (ATL)

Eclipse Modeling Framework (EMF)

Ontologien und Reasoning

Interessante Links

Eclipse

Rich Client Platforms with Eclipse

Eclipse Modeling Project

Graphical Editing Framework

Textual Concrete Syntax