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

Akzeptanz-orientiertes Programmieren (Sommersemester 2012)

Dozent: Prof. Dr. Robert Hirschfeld (Software-Architekturen) , Dr. Michael Perscheid (Software-Architekturen) , Marcel Taeumel (Software-Architekturen)

Beschreibung

Acceptability-oriented Programming ist ein Programmieransatz, der Fehler in Programmen toleriert und den Umgang mit denselben unterstützt, um ein akzeptables Verhalten trotz Fehler zu gewähren. Der Ansatz wurde stark von Prof. Dr. Martin Rinard, MIT (http://people.csail.mit.edu/rinard/acceptability_oriented_computing/) geprägt, der ihn folgendermaßen charakterisiert:

"The philosophy behind the acceptability-oriented computing project is to enhance flawed computer systems to ensure that they respect basic acceptability properties. Some acceptability properties might capture essential safety requirements (for example, the system must never accelerate the vehicle beyond a specified velocity), others capture basic system goals (for example, the system should continue to execute even if it has a memory error). Our OOPLA 2003 Onward! paper presents the basic philosophy and provides several examples of how developers might implement components that enforce acceptability properties.
[…]
One of the basic principles behind acceptability-oriented computing is that complex computer systems should have a natural resilience to errors, but this resilience has been explicitly removed by attempts to make programs fail at the first sign of an error. One of goals of our ongoing research project is to develop new mechanisms that help deployed programs execute successfully through errors. The ideal end result will be more robust and resilient computer systems."

In diesem Seminar wird Acceptability-oriented Programming und dessen Eigenschaften und Auswirkungen auf den Software-Entwicklungsprozess diskutiert. Hierzu werden wissenschaftliche Artikel von allen Teilnehmern gelesen und aufbereitet.

Voraussetzungen

Sehr gute Kenntnisse in mindestens einer Programmiersprache. Kenntnisse in C/C++, Smalltalk und Assembler sind von Vorteil.

Literatur

siehe http://people.csail.mit.edu/rinard/paper/

Lern- und Lehrformen

Seminar

Leistungserfassung

Die Leistung wird durch die Teilnahme an dem Seminar erbracht. Dem Seminar werden Forschungsergebnisse - in der Regel dokumentiert in Form von wissenschaftlichen Artikeln - zu Grunde gelegt.

Jeder Artikel wird von einer Lese-Gruppe (Größe abhängig von der Gesamtteilnehmerzahl) und einem Vortragenden vorab gelesen und bearbeitet.
Der Vortragende stellt den Inhalt des Artikels zusätzlich in einer Präsentation von 20 Minuten Dauer vor. Der Vortrag soll das Ziel verfolgen, die wesentlichen Beiträge und Inhalte des Artikels zusammenzufassen und sie auch den Veranstaltungsteilnehmern zugänglich zu machen, an die der Artikel nicht zur Bearbeitung übergeben wurde.

Aufgabe der Lese-Gruppe ist es, die Beiträge des vorgestellten Artikels kritisch zu hinterfragen und so eine Diskussion in Gang zu bringen. Die Kritik darf nicht oberflächlich sein, sondern muss erkennen lassen, dass der Artikel gelesen und seine Beiträge verstanden wurden.

Der Vortragende sendet seinen Vortrag (.pdf oder .ppt) spätestens einen Tag vor der Präsentation per E-Mail an die Betreuer. Jedes Mitglied der Lese-Gruppe sendet mindestens drei inhaltliche Fragen/Kritikpunkte/Diskussionsanregungen zum Papier spätestens einen Tag vor der Präsentation per E-Mail an die Betreuer.
Die im Rahmen der Leseübung zu erbringende Leistung ergibt sich (für den Vortragenden) aus der Qualität des Vortrags bzw. (für die Lese-Gruppe) aus der Qualität der Fragen/Kritik/Diskussionsanregungen.

Vortrag und Diskussion werden mit drei benoteten Leistungspunkten angerechnet.

Termine

  • Donnerstags 9.15 - 10.45 Uhr, Raum A-2.2
  • erster Termin: Donnerstag, 19. April 2012

Allgemeine Information

  • Semesterwochenstunden : 4
  • ECTS : 6
  • Benotet : Ja
  • Einschreibefrist : 1.4.2012 - 25.4.2012
  • Programm : IT-Systems Engineering MA
  • Lehrform : S
  • Belegungsart : Wahlpflicht

Module

  • Business Process & Enterprise Technologies
  • Operating Systems & Information Systems Technology
  • Software Architecture & Modeling Technology

Zurück