Thomas Schuischel

Aus SDQ-Wiki

Praktikum

Einführung

Im Rahmen des Praktikum "Software Performance Engineering mit Eclipse SS09" habe ich eine grundlegende Infrastruktur erstellt, um automatische "Completion Transformationen" an PCM-Modellen vorzunehmen.

Dies sollte so in den Workflow der SimuBench eingebunden werden, dass die Completions jeweils vor dem Lauf der Simulation ausgeführt werden.

Die Infrastruktur besteht aus drei Eclipse-Plugins und Änderungen an existierenden Palladio Eclipse-Plugins, die im Folgenden erläutert werden.

Plugins

neue Plugins:

  • de.uka.ipd.sdq.cip
Zentrales GUI-unabhängiges Plugin zur Ausführung von Completions
  • de.uka.ipd.sdq.cip.launchconfig
GUI-abhängiges Plugin, dass die Launchconfig zur Verfügung stellt 
  • de.uka.ipd.sdq.cip.completions
Repository existierender Completions

Änderungen existierender Plugins:

  • de.uka.ipd.sdq.workflow.mdsd
Hinzufügen von Klassen und Packeten zum Ansteuern der medini QVT Relational Engine
  • de.uka.ipd.sdq.pcm
Hinzufügen der PCM-Rootknoten-Implementierung die auf Grund eines Bugs in EMF fehlt, siehe auch FAQ: Can I use full qualified names in QVT? 

Stand der Entwicklung nach dem Praktikum

Die im Praktikum geschaffene Version erlaubt die Ausführung beliebiger über den Eclipse Extensionpoint bekannt gegebener Completions vor der Ausführung der Simulation. Die Konfiguration der Completions geschieht über ein Register des SimuBench Rundialogs. Hier kann man die Completions aktivieren/deaktivieren und eine Annotationsdatei zuweisen.

Screenshot des Completion Register im Rundialog

Über den Eclipse Extensionpoint de.uka.ipd.sdq.cip.completions können beliebig viele Completions registriert werden. Diese können dann über das Register des Rundialogs konfiguriert werden.

 <extension point="de.uka.ipd.sdq.cip.completions">
     <completion
           id="de.uka.ipd.sdq.cip.pubsubannotation"
           metamodel="PubSubAnnotation/PubSubAnnotation.ecore"
           name="PubSubAnnotation"
           qvt_file="PubSubAnnotation/Simulate1ToNConnector.qvt">
     </completion>
  </extension>

Dokumente

Schema des CIPlugins und seiner Abhängigkeiten

Workflow des SimuBench mit Completion



Studienarbeit

Die im Praktikum geschaffene Infrastruktur wird im Rahmen einer Studienarbeit weiterentwickelt und vervollständigt.


Architecture Walkthrough 23.2.2010: (Protokoll: Lucia)

Über

Thomas Schuischel

Thoma.Schuischel...ira.uka.de (Punkte durch @ ersetzen)