Hasso-Plattner-Institut
Hasso-Plattner-Institut
  
Login
  • de
 

Virtuelle Ausführungsumgebungen (Sommersemester 2018)

Dozent: Prof. Dr. Robert Hirschfeld (Software-Architekturen) , Tobias Pape (Software-Architekturen) , Fabio Niephaus (Software-Architekturen)

Beschreibung

Virtuelle Ausführungsumgebungen bilden als Abstraktions-, und Portabilitäts- und Optimierungsgrundlage den Kern vieler Programmiersprachenimplementierungen, so als einfacher Interpreter, Virtuelle Maschine (VM) oder Managed Runtime.
In dieser eigene Softwarefamilie existieren über die Ausführungskonzepte (z.B. Interpreter und just-in-time compiler (JIT)) hinaus besondere Anforderungen an Speicherverwaltung (z.B. garbage collection (GC)) oder Optimierung (z.B. polymorphic inline caches (PIC)). Insbesondere metazirkuläre und tracing-JIT VMs bieten interessante Forschungsgegenstände. Das Ziel der Vorlesung ist die Vermittlung von Architekturen Virtueller Ausführungsumgebungen, der Umsetzung ihrer Komponenten, und die Auseinandersetzung mit aktueller Literatur zu diesem Thema.

Voraussetzungen

  • vertiefte Programmierkenntnisse
  • von Vorteil sind Kenntnisse in:

    • Python
    • Java
    • Squeak/Smalltalk
    • C++/Assembler

Literatur

  • J. E. Smith, R. Nair, Virtual Machines. Versatile Platforms for Systems and Processes, Morgan Kaufmann, 2005.
  • R. Jones, R. Lins, Garbage Collection. Algorithms for Automatic Dynamic Memory Management, Wiley, 1996.
  • L. Peter Deutsch, Allan M. Schiffman. "Efficient implementation of the Smalltalk-80 system", POPL '84, ACM, 1984.
  • D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, A. Kay. "Back to the future: The story of Squeak, A practical Smalltalk written in itself", OOPSLA ’97, ACM, 1997.
  • C. F. Bolz, A. Cuni, M. Fijałkowski, A. Rigo. "Tracing the meta-level: PyPy's tracing JIT compiler", ICOOOLPS ’09, ACM, 2009
  • C. F. Bolz, A. Kuhn, A. Lienhard, N. D. Matsakis, O. Nierstrasz, L. Renggli, A. Rigo, T. Verwaest. "Back to the future in one week — Implementing a Smalltalk VM in PyPy", S3 ’08, LNCS, Springer, 2008.

Die Literaturliste wird zum Literaturstudium und in der Vorlesung themenspezifisch erweitert.

Lern- und Lehrformen


Vorlesung

Leistungserfassung

Die Leistung wird durch Klausur und Projekt erbracht.

Beide Teile sind mit 50 % gewichtet; sie werden mit insgesamt 6 benoteten Leistungspunkten angerechnet. Zur erfolgreichen Teilnahme an der Lehrveranstaltung müssen beide Teile mit jeweils mindestens 4,0 benotet worden sein.


Klausur 

Die Klausur ist eine schriftliche Prüfung von 90 Minuten Dauer.


Projekt

Die Projektleistung wird durch die erfolgreiche Bearbeitung eines gewählten Themas in Gruppen erbracht. Zur Erlangung der sechs benoteten Leistungspunkte sind die folgenden Anforderungen zu erfüllen:

  • Regelmäßige Anwesenheit in der Vorlesung bzw. beim Treffen mit den Projektbetreuern
  • Bearbeitung einer gewählten Problemstellung
  • Abschlusspräsentation der Projektergebnisse

Eine Woche vor der jeweiligen Abschlusspräsentation bespricht jede Gruppe die Vorversion der Vortragsunterlagen mit einem der Betreuer. Die Vortragsunterlagen sind einen Tag vor dem Vortrag per Email einzureichen. Sie bestehen aus:

  • den Dokumentquellen der im Vortrag verwendeten Folien,
  • einer PDF-Version derselben,
  • dem in der Demo verwendeten Quelltext,
  • einer Installationsbeschreibung und
  • einem Demo-Script

Alle im Rahmen der Veranstaltung erstellten Quelltexte sollten unter der MIT-Lizenz und, falls notwendig, mit einer den verwendeten Systemen kompatiblen Lizenz bereitgestellt werden.

Termine

  • Donnerstags 11:00–12:30 Uhr, HS-3

Klausur

  • Donnerstag, 2018-07-19

Allgemeine Information

  • Semesterwochenstunden : 4
  • ECTS : 6
  • Benotet : Ja
  • Einschreibefrist : 20.04.2018
  • Lehrform : V
  • Belegungsart : Wahlpflicht

Studiengänge & Module

  • IT-Systems Engineering MA
    • ITSE-Analyse
    • ITSE-Entwurf
    • ITSE-Konstruktion
    • ITSE-Maintenance
    • OSIS-Konzepte und Methoden
    • OSIS-Spezialisierung
    • OSIS-Techniken und Werkzeuge
    • SAMT-Konzepte und Methoden
    • SAMT-Spezialisierung
    • SAMT-Techniken und Werkzeuge

Zurück