Filtern
Dokumenttyp
- Diplomarbeit (1)
- Studienarbeit (1)
Schlagworte
- Softwareentwicklung (2) (entfernen)
Institut
Software Projekte nutzen typischerweise mehrere externe Programmbibliotheken. Die Schnittstelle, die solch eine Programmbibliothek zur Verfügung stellt, wird als API (application programming interface) bezeichnet. APIs werden üblicherweise laufend weiterentwickelt, was es notwendig macht, dass die Anwendungen, welche sie verwenden, entsprechend modifiziert werden. Zudem kann es kann vorkommen, dass eine Programmbibliothek durch eine andere ersetzt werden soll, was ebenfalls zur Folge hat, dass die Anwendungen, wo die API verwendet wurde, modifiziert werden müssen. Den Vorgang eine Anwendung so zu modifizieren, dass eine andere API verwendet wird, bezeichnet man als API Migration. Manuelle API Migration ist eine mühselige und zeitintensive Aufgabe, deshalb ist automatische API Migration ein aktives Forschungsfeld. Ein verwandtes Forschungsgebiet ist API Analyse, welches Daten zur Verfügung stellt, die helfen können Werkzeuge für API Migration zu entwickeln. Die hier vorliegende Arbeit behandelt Techniken und Technologien für die Entwicklung von Werkzeugen für API Analyse und API Migration. Die Ergebnisse werden als Design Patterns präsentiert, welche auf unseren Erfahrungen mit API Analyse und API Migration innerhalb des Software Languages Teams basieren.
Im Rahmen dieser Arbeit soll das Software-Modellierungstool Enterprise Architect so erweitert werden, dass die Trennung der Belange entsprechend dem erweiterten Hyperspace-Modell von Lohmann ermöglicht wird. Daneben soll auch die Bestimmung so genannter Slices ermöglicht werden. Bei einem Slice handelt es sich um die Menge aller Belange und syntaktischen Einheiten, welche mit einem oder mehreren Belangen direkt oder transitiv verknüpft sind. Die Idee der Bestimmung solcher Slices ist graphenorientiert: Die transitive Hülle der ausgewählten Belange und der mit diesen verknüpften Belange wird bestimmt. Dies kann auf bestimmte Kantenarten, welche die Arten der Verknüpfung von Belangen widerspiegeln, eingeschränkt werden. Bevor dies implementiert werden kann, muss untersucht werden, ob die Funktionalität mit den im Enterprise Architect gegebenen Möglichkeiten realisiert werden kann. Ist dies nicht der Fall, so müssen Modelle aus dem Enterprise Architect zunächst mit Hilfe von JGraLab in Graphen überführt werden, damit anschließend die Slices unter Anwendung der Graphenabfragesprache Graph Repository Query Language (GreQL) bestimmt werden können. Die Funktionalitäten sollen in einem gemeinsamen Software-Baustein realisiert werden, der sich konform zu den für den Enterprise Architect vorgegebenen Schnittstellen verhalten muss und keine Konflikte im Programmablauf verursachen kann.