BSc defense Lukas Härtel
Metadata
- Date: 18 Januar 2016 (Monday)
- Time: 18.30
- Room: B 233
- Presenter: Lukas Härtel
- Supervisor: Ralf Lämmel
- 2nd reviewer: Marcel Heinz
Title
Linguistic architecture on the workbench
Abstract
Abstract in English
Linguistic architecture complements the existing forms of modeling a software system by focusing on the exercised languages, the used technologies and the defined artifacts, as well as the relationships they participate in. In that sense megamodeling is used, viewing the given entities as models. In previous work, the MegaL language has been introduced in syntax and semantics, it provides a platform for megamodeling. Developing models in that language is not aided by an editor.
In this thesis, strong tool support based on robust frameworks is laid out. The existing syntax will be extended adding features for modularity and reusability, the model and its configuration are unified, inference of facts is supported by a reasoner framework, and a method to address in-memory objects in a model will be showcased. These features — provided by the developed Xtext based and Eclipse integrated editor — are demonstrated in the course of a case study on JAXB, a technology for Java\XML binding.
Abstract in German
Linguistische Architektur bietet einen komplementären Ansatz zur Softwaremodellierung, indem der Fokus auf den verwendeten Programmiersprachen, den benutzten Technologien und der definierten Artefakte liegt, sowie auf deren Beziehungen untereinander. Für diese Art der Architektur wird Megamodellierung verwendet, die obengenannten Dinge werden als Modelle angesehen. In vorausgehenden Arbeiten wurde MegaL mit ihrer Syntax und der Semantik als Modellierungssprache eingeführt. Erstellung von Architekturmodellen ist darin jedoch nicht durch einen Editor unterstützt.
In dieser Bachelorarbeit wird ein umfangreiches Werkzeug illustriert, basierend auf robusten Frameworks. Die bisherige Syntax der Sprache wird erweitert, dadurch entstehen neue Funktionen wie Modularität und Wiederverwendbarkeit, das Modell und dessen Konfiguration werden vereint, Ableitung neuer Fakten wird durch ein Reasoner Framework ermöglicht, und Methoden um Objekte zur Laufzeit eines Programms zu erfassen werden dargestellt. Diese Funktionen — gegeben durch einen Xtext basierten und in Eclipse integrierten Editor — werden anhand einer Fallstudie über JAXB, einer Technologie zur Java/XML Datenbindung, vorgeführt.