Lehrveranstaltungen
Software-Entwicklungswerkzeuge
Vorlesung mit Übung (WS 13) - VorlesungZusammenfassung
Die Vorlesung vermittelt Grundkenntnisse zum Einsatz, zur Erweiterung und Komposition von Werkzeugen im Computer Aided Software Engineering (CASE). Ausgehend vom Begriff eines Softwarewerkzeuges, den Standards für Softwareentwicklungsumgebungen (Metamodellierung, Sprachfamilien, u.a.), werden grundsätzliche Funktionen, Aufbau und Wirkungsprinzipien von Werkzeugen behandelt. Das Einsatzfeld der behandelten Werkzeuge umfasst den gesamten Softwarelebenszyklus, insbesondere auch das Software Engineering mit domänenspezifischen Sprachen (DSL).
Mittels Übungen, Vorträgen und Praktika auf Basis industriell genutzter Werkzeuge soll die Lehre nicht nur praktisch untermauert, sondern anwendungsbereites Wissen vermittelt werden.
Currently, the course is given in German.
Currently, the course is given in German.
Gliederung der Vorlesung
I - Basistechniken | ||
---|---|---|
2013-10-17 | Einführung | |
Achtung: Entgegen vorheriger Ankündigung kann Prof. Aßmann doch erst am ersten regulären Vorlesungstermin 17.10. beginnen. | ||
2013-10-17 | SEW Methodologie | |
Taxonomie von Werkzeugen und SEU. Software-Werkzeugmaschinen. Tools-and-Materials Metapher. | ||
2013-10-24 | Metamodeling | |
Metamodellierung (M0-M3 Metahierarchie). Wiederverwendung von Metamodell-Paketen. Metasprachen wie MOF, eMOF, UML-core. | ||
2013-11-07 ((!)) | Sprachfamilien auf M2 und Architektur von Werkzeugen | |
Achtung, Vorlesung verlegt auf 7.11.. Sprachen, die Werkzeuge prägen. Schichtung der M2-Ebene in DDL, DQL, DCL, DML etc. Beispiele für die einzelnen Sprachklassen in verschiedenen Technikräumen wie XML oder Java. Transformation languages for term and graph rewriting. Applications in data and code transformations. | ||
2013-11-14 | Tool Architecture | |
Grundlegendes zur Architektur von Werkzeugen. Strombasierte und repositorybasierte Werkzeuge. Datenablage (Repository). Metamodellsteuerung und Schnittstellengenerierung. | ||
II - Werkzeuge zur Programmanalyse | ||
2013-12-05 | Werkzeuge zum Zerteilen (Parsen) | |
Generierung von Zerteilern (Parsern). ANTLR. | ||
2013-12-05 | Abstrakte Interpretation von Programmen | |
Interpretation und dynamische Semantik von Programmen. Abstrakte Interpretation als Verallgemeinerung der konkreten Semantik. Grundlagen für die Programmanalyse. Attributgrammatiken zur Spezifikation von Interpretern und abstrakten Interpretern. | ||
2013-12-12 | Model checking | |
Modellprüfung als spezielle Interpretation eines endlichen Automaten. Berechnungsbäume. Logik. Realzeit-Modellprüfung von regulären Zustandssytemen. | ||
2013-12-12 | Software model checking (optional) | |
Prüfung von Software mittels Model Checking; Abstraktion von Programmen zu Automaten | ||
III - Architektur von Softwarewerkzeugen | ||
2013-12-12 | Integration von Werkzeugen, Austauschformate und SEU | |
Integration von Werkzeugen. Austauschformate, auch zwischen Technikräumen. ECMA, PCTE. | ||
2013-12-19 | Komposition von Werkzeugen | |
Komposition von Werkzeugen mit Repositorien. Blutgruppen. Komposition von Tool-Objekten auf Repositorien. Komposition von strombasierten Werkzeugen. Rollenbasierte Komposition von Metamodellen. | ||
0000-00-00 (self study) | EMFText | |
EMFText als Werkzeug zur Erstellung von Austauschsyntax, Technologieraumbrücken und textuellen domänenspezifischen Sprachen (textual DSL). | ||
IV - MetaCase-Werkzeuge | ||
2014-01-09 | Meta-CASE-Werkzeuge | |
Einführung in Meta-CASE-Werkzeuge wie MetaEdit+, MOFLON. | ||
2014-01-09 | Das Meta-CASE-Werkzeug Fujaba | |
Graphersetzungssysteme (GRS). Spezifikation von Interpretern mit GRS. Programmtransformationen mit GRS. Fujaba als Beispiel eines Werkzeugs für Graphersetzung. | ||
2014-01-09 | Das Meta-CASE-Werkzeug MOFLON | |
MOFLON vereinigt generische Graphwerkzeuge wie Fujaba SDM, TGG und Logikwerkzeuge wie OCL. Zur Codegenerierung wird die Technikraumbrücke JMI benutzt. | ||
2014-01-16 | Metamodellierung und DSL | |
Domänenspezifische Sprachen (DSL). Graphische DSL. MetaCASE-Werkzeug Reuseware zur Komposition von DSL-Fragmenten. | ||
V - Werkzeuge zur Programmanalyse II | ||
2014-01-16 | Visualisierungswerkzeuge | |
Werkzeuge zur Berechnung von Attributen. Visualisierungswerkzeuge zur Berechnung von Visualisierungs- und Layoutattributen (AiSee, CrocoPat). | ||
2014-01-23 | Werkzeuge zur Programmanalyse | |
Werkzeuge für die interprozedurale Analyse. Program analyser generator (PAG). Worst-Case Execution Time Analysis (WCETA) mit aiT. | ||
0000-00-00 (omitted) | Werkzeuge zur Analyse von Grapherreichbarkeit | |
Datenflussanalyse (Erreichbarkeitsanalyse) auf Modellen und Programmen. | ||
VI - Werkzeuge zur Programmtransformation | ||
0000-00-00 (omitted) | Modellmanagement | |
Modellmanagement mit Modellalgebren. Hook-Algebren. | ||
2014-01-23 | Werkzeuge zur Codegenerierung | |
Programmüberführung (Model2Code-Transformation, Codegenerierung). Programm-Rückführung (Reparsing). Round-Trip Engineering. Template-basierte Codegenerierung. Template-basierte Coderückführung. Hedges. Generierung von Dokumentation. | ||
2014-01-30 | View-Based Model-Driven Development with Vitruvius | |
Prof. Ralf Reussner, KIT The talk presents the Vitruvius approach for the construction of modular metamodels. It can be used to define metamodels for view-based development, for the engineering of software or for the engineering of mechatronic devices. | ||
VII - Werkzeuge für spezifische Aufgaben | ||
2014-02-06 | Werkzeuge zur Anforderungsanalyse | |
Verfolgbarkeit zwischen Requirements, Design, Code und Tests. Anforderungsanalyse. RequisitePRO, Ontology-Driven Requirements Engineering. Traceability mit Modellabbildungen. | ||
2014-02-06 | Testwerkzeuge | |
Testwerkzeuge. Black-box Tests. Energietests. Model-Based Testing (MBT). Klassifikationsbaum-Methode. Überdeckungstests. Coverlipse. TestBench von Imbus. | ||
0000-00-00 (self study) | Dokumentationswerkzeuge | |
Elucidative Documentation with model mappings and link queries. | ||
0000-00-00 (self study) | Baumanagement-Werkzeuge | |
Werkzeuge für Bau- und Fehlermanagement. | ||
0000-00-00 (self study) | Werkzeuge in der Pflege | |
Werkzeuge für Wartung und Reengineering, Klassifikation und Bewertung (optional) | ||
VIII - Ausblick | ||
2014-02-06 | Technikräume und Werkzeuge | |
Bestandteile vonTechnologieräumen. Abhängigkeit von Werkzeugen von der DDL und vom Technikraum. Model Engineering. |