Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
Login
 

Software Language Engineering: Definition, Compilation, Interpretation, Transformation (Sommersemester 2022)

Lecturer: Prof. Dr. Holger Giese (Systemanalyse und Modellierung) , Matthias Barkowsky (Systemanalyse und Modellierung) , Mustafa Ghani (Systemanalyse und Modellierung)

General Information

  • Weekly Hours: 4
  • Credits: 6
  • Graded: yes
  • Enrolment Deadline: 01.04.2022 - 30.04.2022
  • Examination time §9 (4) BAMA-O: 26.07.2022
  • Teaching Form: Lecture / Exercise
  • Enrolment Type: Compulsory Elective Module
  • Course Language: German

Programs, Module Groups & Modules

IT-Systems Engineering BA
  • SAMT: Software Architecture & Modeling Technology
    • HPI-SAMT-G Grundlagen
  • SAMT: Software Architecture & Modeling Technology
    • HPI-SAMT-V Vertiefung

Description

Die Entwicklung der Informatik ist geprägt durch die Entwicklung von Sprachen für die Beschreibung von Software. Dies spiegelt sich heutzutage in Programmiersprachen, domänenspezifischen Sprachen wie z.B. SQL oder auch Modellierungssprachen wie z.B. UML wider. Alle diese Ansätze erlauben es, die Lösung auf einem höheren Abstraktionsniveau zu beschreiben. Viele der dadurch notwendigen Konkretisierungsschritte bei der Softwareentwicklung können automatisiert werden. Dies ermöglicht häufig eine Reduktion der Entwicklungszeit, eine Kostensenkung durch die generative Erzeugung von weiten Teilen der Anwendung sowie vereinfachte Wiederverwendung. Außerdem kann die resultierende Software-Qualität erhöht werden.


Diese Vorlesung betrachtet den Stand der Technik für Software Sprachen bzgl. der Definition der Sprachen, Verarbeitung der Sprache für automatisierte Schritte und die Ausführung der Sprachen durch Compilierung und/oder Interpretation. Neben dem Bau von Compilern und Interpretern werden dabei auch domänenspezifische Sprachen (domain-specific languages (DSL)) und die modellgetriebene Softwareentwicklung (model-driven software engineering (MDSE)) betrachtet. Dabei werden die den verschiedenen Ansätzen zugrundeliegenden Konzepten und Techniken eingeführt und in einem Projekt praktisch erprobt.

Requirements

Grundlagenwissen zu Programmiersprachen, wie durch die Lehrveranstaltungen Einführung in die Programmiertechnik I und II vermittelt, und Modellierung von Software, wie durch die Lehrveranstaltungen Modellierung I und II oder Modellierungssprachen und Formalismen vermittelt, wird vorausgesetzt.

Literature

Die Folien zur Vorlesung wie auch eine Literaturliste werden im internen Bereich zur Verfügung gestellt.

Learning

Die Vorlesung wird begleitet von einem Projekt, das die Bearbeitung von einführenden Übungsaufgaben beinhaltet.

Examination

Klausur (60-90 Min.)

Zulassungsvoraussetzung zur Klausur ist die erfolgreiche Bearbeitung eines Projektes während des Semesters. Das Projekt beinhaltet eine Einführungsphase, in der zunächst einige Übungsaufgaben bearbeitet werden.

Dates

Vorlesung

Die erste Vorlesung findet am 26.04.2022 (Dienstag) von 09:15-10:45 statt. Die Vorlesung findet remote und in Raum A-1.1 statt. Eine Einladung zur Teilnahme via Zoom wird rechtzeitig im HPI-GitLab unter https://gitlab.hpi.de/matthias.barkowsky/2022-software-language-engineering veröffentlicht.

Der genaue Rahmen der späteren Veranstaltungen wird in Abhängigkeit von der abschließenden Anzahl an Teilnehmenden ausgestaltet.

In der zweiten Semesterhälfte wird ein Teil der Vorlesungen zugunsten der Übungen bzw. Projekte ausfallen. Besondere Termine sowie Vorlesungsausfälle werden rechtzeitig bekannt gegeben.

Zurück