Forschungskontext
Im Kontext der Technologiemodellierung versuchen wir Software-Technologien ontologisch zu erfassen und zu verstehen. Dazu verwenden wir einerseits Quellen wie Wikipedia und Text-Corpora. Andererseits suchen wir nach Code-Mustern in existierenden Projekten. Code-Muster und technologische Konzepte werden
Mit MegaL lassen sich Technologien ontologisch erfassen. Dabei stellen sich Fragen wie "Welche Sprache wird in einem System oder einer Technologie verwendet?". Allerdings greifen einige Fragen auch in eine deutlich detailliertere Tiefe: "Wie lässt sich die Relation zwischen einem Schema-Artefakt (z.B. XSD-Schemas) und einem Instanz-Artefakt (z.B. XML-Files) erfassen?"
Im Project 'Techmodels' wurden bereits viele Megamodelle erstellt. Deren Präsentation ist jedoch ausbaufähig. Textuelle Modelle werden in einer einfachen Implementation mit Graphviz zu DOT verarbeitet.
Ziele
In diesem Projekt möchten wir den Support für die Visualisierung ausbauen. Dazu möchten wir uns eine Reihe an Visualisierungsarten ansehen, die bei verschiedenen Tasks helfen.
- Model-Overview
- Ziel: Die gesamte Struktur eines Modells kann ähnlich zu Komponentendiagrammen oder Featuremodellen angezeigt werden.
- Technologien: GraphViz, Yed
- Modul-basierte Visualisierung
- Ziel: Mega-Modelle bestehen aus mehreren Modulen. Jeder Block in einem Modul lässt sich einzeln visualisieren.
- Technologien: GraphViz, Yed, GEF
- Modul-basierte Exploration
- Ziel: In Megamodellen werden Code-Artefakte verlinkt. Zum Lernen ist die Exploration mit Erläuterungen von vorhandenem Code essentiell. Daher soll die 1. Visualisierung erweitert werden, um Möglichkeit verlinkte Artefakte interaktiv anzuzeigen. Das geschieht entweder auf Basis von externen Programmaufrufen oder auf Basis von einem gesonderten Teilfenster zur Anzeige von Code-Fragmenten.
- Technologien: Yed, GEF
- Model- to Slideware
- Ziel: Klassischerweise wird eine Folien-orientierte Aufarbeitung genutzt, um technische Umsetzungen zu erläutern. Mega-Modelle basieren auf literater Programmierung. Entsprechend ist eine gewisse Reihenfolge in der Erläuterung vorgegeben.
- Technologien: LaTeX, Präzi
Literatur
Modeling the Linguistic Architecture of Software Products
Renarrating linguistic architecture: a case study
MegaL-model library and Checker