Sprungmarken

Servicenavigation

Hauptnavigation

Sie sind hier:

Hauptinhalt

PG 470: jETI - Nachfolgegeneration von ETI

Thema

jETI Plattform

Grundidee der Eletronic Tool Integration Plattform (ETI) ist es, ein breites Spektrum an verschiedenen Softwaretools einer Vielzahl von Benutzern mit geringem Aufwand für den einzelnen Benutzer zugänglich zu machen. Die Tool Palette umfasst Tools zur

  • Analyse
  • Synthese
  • Verifikation
  • Konvertierung
  • Visualisierung

Ermöglicht wird dies, indem solche lokalen Tools mit einer Erweiterung versehen werden, die es ermöglicht, dieses Tool dann per Netzwerk aufzurufen. Zusammen mit einem Plattform unabhängigen, einheitlichen Benutzerinterface mit grafischen Oberfläche reduziert sich der Aufwand für den Benutzer drastisch. Gedacht als Experimentier- und Testplattform sind die Einsatzbereiche von ETI weit reichend. Neben Evaluation von Tools ist auch ein Betrieb als Licence Control System geplant. Die seit 1997 eingesetzte Version von ETI bestand aus einem zentralen Server, der über einen Java Applet Client bedient wurde. Anlass für eine Weiterentwicklung von ETI war es, die aufwändige Integration neuer Tools in den ETI Server zu vereinfachen und zu einem verteilten Webservice Ansatz überzugehen.

Bei der neuen Version, jETI genannt, handelt es sich um eine Spezialisierung des jABC Framework. Dieses am LS 5 entwickelt Client Server Java Framework bietet bereits alle notwendigen Grundfunktionen für das jETI System. Zentrale Idee des jABC ist die Verwendung von Komponenten zur Modellierung von Softwaresystemen mit einer grafischen Oberfläche. So können wie bei den bekannten Lego Steinen aus einer Palette von elementaren Grundbausteinen (Komponenten) immer wieder neue und unterschiedliche Systeme erstellt werden. Dabei ist die Komposition eines System mit Hilfe von Komponenten im jABC genau so einfach wie bei den Lego Bausteinen: Die einzelnen Komponenten bilden die Knoten in einem Graphen und werden interaktiv mit Kanten verbunden. In der jETI Variante repräsentieren die Komponenten (Lego Steine) die bereits verfügbaren Tools im System.

Mit Hilfe von Plugins kann die Funktionalität des jABC erweitert werden. Das jETI Plugin stellt dem Framework die Kommunikationschnittstelle mit den Remote Tools zur Verfügung. Ein Interpreter arbeitet die Graph Tool Sequenzen ab und kommuniziert mit den entsprechenden Tool Servern.

Für diese Kommunikation zwischen Tool Server und jABC System gibt es im jETI System das neue Tool Provider Subsystem. Die einzelnen Tools müssen nicht mehr an zentraler Stelle im ETI Server verfügbar gemacht werden sondern können im Netz verteilt angeordnet werden (z.B. beim jeweiligen Software Hersteller des Tools). Basis des als Webservice ausgeführten Tool Providers ist der Tomcat Servlet Container, der für eine Vielzahl von Betriebssystemen erhältlich ist. Für den Servlet Container stellt jETI zwei verschiedene Web Applikationen zur Verfügung:

  • Tool Executor
  • HTML Tool Configurator

Der Tool Executor realisiert die Schnittstelle für die Kommunikation mit den jETI-Clients über SOAP (Simple Object Access Protocol). Über eine Steuerdatei kennt der Executor die freigegebenen lokalen Tools und erzeugt aus statischen und dynamischen Parametern entweder eine Kommandozeile, die vom Betriebssystem ausgeführt wird oder ruft eine Java Klasse auf. Der Executor ist Multi-User und Multi-Tasking fähig. Jeder Benutzer erhält eine Session mit einem eigenen Bereich im Filesystem der für die Speicherung von Dateien bei der Ausführung der Tools verwendet werden kann.

Der HTML Tool Configurator erzeugt und verwaltet komfortabel die Steuerdatei des Tool Executors. Eine aktuelle Kopie dieser Datei wird automatisch an den Komponenten Server gesendet, der aus diesen Informationen die für das jABC benötigten Komponentenbausteine erzeugt.

 

Motivation

Haben Sie schon mal ein neues Auto gekauft? Um sich für ein Modell zu entscheiden habe Sie sicher vorher mit dem Autohaus Ihres Vertrauens eine Probefahrt vereinbart. Der Vorgang ist ganz einfach: Zum ausgemachten Termin leihen Sie sich beim Autohändler unkompliziert ein Fahrzeug aus und machen eine Probefahrt.

Wenn Sie analog ein neues Softwaretool erwerben wollen ist der Vorgang wesentlich komplizierter. Zuerst müssen Sie eine Demoversion der Software, passende Hardware, eventuell benötigte Basissoftware und Bibliotheken organisieren, um dann die Software zu installieren und konfigurieren. Erst dann können Sie eigene Tests durchführen. Nutzer von Microsoft Betriebssystemen wissen, dass nach Testende und der Deinstallation der Software meist nicht der Ursprungszustand des Testsystems wiederhergestellt wird, sondern Fragmente der getesteten Software auf dem System verbleiben.

Es drängt sich die folgende Frage auf: Muss das so sein ? Unsere Antwort lautet: Nein - nicht mit der richtigen Plattform: dem Webservice basierten jETI System.

 

Teilnahmevoraussetzungen

Erforderlich

 

  • Kenntnisse in der objektorientierten Programmiersprache Java
  • Grundlegende Kenntnisse in dem Gebiet Software-Design, vorzugsweise durch Teilnahme an einer entsprechenden Vorlesung wie Softwaretechnologie , Theorie der Programmierung , Objektorientierte Modellierung , o.ä.

Wünschenswert

  • Objektorientierte Modellierung (UML)
  • HTML-, JSP- Kenntnisse
  • XML- Kenntnisse
  • J2EE- Kenntnisse

 

Umfang

Jeweils 8 Semesterwochenstunden

 

Veranstalter

  • Dipl.-Inform. Ralf Nagel


Nebeninhalt

 

Kontakt

Tel. (0231) 755-5801
Fax (0231) 755-5802