=Paper= {{Paper |id=Vol-2358/paper-02 |storemode=property |title=Formale Methoden in der Softwaretechnik-Vorlesung (Formal Methods in the Software Engineering Lecture) |pdfUrl=https://ceur-ws.org/Vol-2358/paper-02.pdf |volume=Vol-2358 |authors=Bernd Westphal |dblpUrl=https://dblp.org/rec/conf/seuh/Westphal19 }} ==Formale Methoden in der Softwaretechnik-Vorlesung (Formal Methods in the Software Engineering Lecture)== https://ceur-ws.org/Vol-2358/paper-02.pdf
                    Formale Methoden in der
                   Softwaretechnik-Vorlesung
                               Bernd Westphal, Albert-Ludwigs-Universität Freiburg
                                             westphal@informatik.uni-freiburg.de


Zusammenfassung                                                     informal •                 informal •
Dieser Artikel stellt die Ergänzung einer Einfüh-
rung in die Softwaretechnik um Formale Metho-                    semi-formal •              semi-formal •
den im Bereich Requirements Engineering, Software-
Modellierung und Qualitätssicherung vor. Wir be-
schreiben die Konstruktion der Veranstaltung und be-                 formal                      formal
richten empirische Daten und Erfahrungen aus 4 Jah-                            •                •          •     •
ren der Durchführung. Ein Schwerpunkt ist die Be-                                            simple             complex
schreibung der verwendeten didaktischen Methoden                              (a)                         (b)
zur Vermittlung der neuen Inhalte.                                 Abbildung 1: Einführung Formaler Methoden.

Abstract
This article presents the extension of an introductory          den (Semi-)Entscheidungsprozeduren. Das Ziel der
course on software engineering by formal methods                Ergänzung um Formale Methoden ist motiviert durch
in the topic areas requirements engineering, software           unsere Erfahrung in zahlreichen Projekten mit Part-
modelling, and quality assurance. We describe the               nern aus der Industrie von kleinen Anbietern sicher-
construction of the course and report empirical data            heitskritischer Systeme (z.B. (Arenis u. a., 2016))
and experience from 4 years of conducting the course.           bis hin zu großen Automobilanbietern und Zuliefe-
A focus of this article is the description of didactical        rern (z.B. (Langenfeld u. a., 2016)). In der Projekt-
methods employed for teaching the new content.                  arbeit nehmen wir eine klare Nachfrage nach und
                                                                Anwendung (!) von Formalen Methoden im oben ge-
1     Einleitung                                                nannten Sinne in verschiedenen Bereichen der Soft-
Im Studienplan des Bachelorstudiums der Informatik              waretechnik in den Firmen wahr. Hierbei steht übli-
der Universität Freiburg ist eine einsemestrige Veran-          cherweise nicht die vollständige und umfassende for-
staltung zur Einführung in die Disziplin der Softwa-            male Beschreibung von Anforderungen und Entwurfs-
retechnik vorgesehen. Das Modulhandbuch fordert,                entscheidungen bzgl. Struktur und Verhalten im Vor-
wie in Deutschland nicht unüblich, eine Übersicht               dergrund (wie es etwa im Luft- und Raumfahrtbe-
über die Problembereiche, Konzepte und Techniken                reich teilweise angestrebt wird), sondern eine ange-
der Softwaretechnik, wie sie von den bekannten Lehr-            messene Verwendung von Formalen Methoden, um
büchern, etwa (Sommerville, 2010; Balzert, 2009;                bestimmte, besonders kritische oder risikobehaftete
Ludewig u. Lichter, 2013), abgedeckt werden. Im Jah-            Aspekte von Software zu beschreiben und zu ana-
re 2015 stand eine Überarbeitung der Vorlesung ‚Soft-           lysieren. Dem entsprechend möchten wir heute be-
waretechnik‘ an, über deren Resultat wir in diesem              ginnen, die in vielen Einführungen in die Software-
Artikel berichten.                                              technik fest etablierte (semi-formale) Modellierung
   Zwei Ziele standen bei der Überarbeitung der Ma-             von Softwareaspekten in unserer Einführungsveran-
terialien im Fokus. Erstens ein „Zurechtrücken“ der             staltung um eine formale Sicht zu erweitern und den
Proportionen der verschiedenen Bereiche der Softwa-             Studierenden eine Übersicht über Konzepte, Möglich-
retechnik in den Materialien (die über mehrere Jah-             keiten und Voraussetzungen Formaler Methoden für
re von verschiedenen Veranstaltern verwendet und                ihre zukünftigen Berufssituationen zu vermitteln.
bearbeitet wurden), und zweitens eine neue Ergän-                 Mit diesem Ziel ergibt sich neben der üblichen
zung der Materialien um eine verständliche und nach-            Herausforderung, aus dem umfangreichen Angebot
vollziehbare Einführung formaler Beschreibungsspra-             der Lehrbücher eine ausgewogene Vorlesung zusam-
chen und Analysetechniken (kurz Formale Metho-                  menzustellen, die Herausforderung, Lehrmaterialien
den), also Beschreibungssprachen mit formal defi-               für den Bereich Formale Methoden auszuwählen bzw.
nierter Syntax und Semantik und darauf aufbauen-                herzustellen. Interessanterweise ist die zweite Her-


V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                             21
                                                                                Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                     Bernd Westphal, Uni Freiburg


ausforderung keine Teilmenge der ersteren. In den               den Rahmen unserer Veranstaltung sprengen würde
etablierten Lehrbüchern (s.o.) und dem vorhandenen              und für unsere Lernziele nicht notwendig ist. Weiter-
Material wird ganz überwiegend ein Ansatz verfolgt,             hin ist das Material u.E. so weit von der (heutigen
den wir in Abbildung 1(a) visualisieren. Wir sehen              und mutmaßlich morgigen) Lebenswirklichkeit und
die für z.B. die Beschreibung von Anforderungen ver-            den etablierten Lehrbüchern entfernt, daß wir anneh-
fügbaren Mittel auf einer Achse, die von informal               men müssen, daß es Studierenden unnötig schwer
(rein natürlichsprachlich), über semi-formal (mit for-          fallen würde, andere Lehrbücher oder Fortbildungen
maler konkreter Syntax, aber ohne formale abstrakte             in der Arbeitssituation zu unserer Veranstaltung in
Syntax oder Semantik) hin zu formal (mathematisch               Bezug zu setzen. Unser (zugegeben: hoher) Anspruch
präzise definierte Syntax und Semantik) reichen. Die            an unsere Veranstaltung ist, daß nach der Teilnahme
vorgenannten Lehrbücher und Materialien bewegen                 an unserer Veranstaltung keines der etablierten Lehr-
sich auf dieser Achse zwischen informal und semi-               bücher große konzeptionelle Überraschungen bereit
formal und geben kurze Ausblicke auf Formale Me-                hält, sondern nur von den Studierenden einordne-
thoden, indem Beispiele auf einer intuitiven Ebene              bares, zusätzliches Hintergrundwissen sowie weitere
diskutiert werden. Bei diesem Ansatz sehen wir ein              Techniken liefert.
inhärentes Problem, das bereits Lehman & Buth (Leh-                In diesem Artikel beschreiben wir die Konstrukti-
mann u. a., 2015) beschreiben: „Es darf nicht erwar-            on unserer Vorlesung zur Einführung in die Softwa-
tet werden, dass die Studierenden UML Modelle er-               retechnik im Grundstudium, in der die in etablierten
stellen können, wenn in der Vorlesung nur die einzel-           Lehrbüchern zur Softwaretechnik (s.o.) vorgestellten
nen Symbole durchgearbeitet werden und dann auf                 Inhalte um Techniken zur Beschreibung von Anforde-
dieser Basis in der Prüfung Analyseaufgaben auf ei-             rungen und Entwurfsaspekten vollständig formal, al-
nem gegebenen Diagramm gestellt werden.“ Streng                 so mit konkreter Syntax und präziser abstrakter Syn-
genommen können wir schon nicht erwarten, daß                   tax und Semantik, ergänzt werden, und berichten von
Studierende in Bloom’s Taxonomie echt leichtere Auf-            Erfahrungen aus vier Sommersemestern mit der neu
gaben, wie etwa gegebene Objektdiagramme darauf-                gestalteten Veranstaltung. Schwerpunkt dieses Arti-
hin analysieren, zu welchem der (drei) Wahrheits-               kels sind die Voraussetzungen der Veranstaltung (ins-
werte eine gegebene OCL-Formel ausgewertet wird, in             besondere die Einbettung in den Studienplan), Kon-
Übungen so zu bearbeiten, daß gegenüber den Tu-                 sequenzen der ergänzten Inhalte für Übungen und
tor::innen die Korrektheit der Lösung argumentiert              Klausur, sowie Organisation und didaktische Maß-
(im besten Falle: bewiesen) werden kann bzw. von                nahmen (vor allem Bereich des Übungsbetriebs), mit
Seiten der Tutor::innen die Inkorrektheit eines Lö-             denen wir die Vermittlung und Erarbeitung der neu-
sungsvorschlags bewiesen und systematisch erklärt               en Inhalte unterstützen. Die neuen Inhalte als solche
werden kann. Unser Lösungsansatz besteht darin, in              werden für den Bereich Requirements Engineering
der Veranstaltung Endpunkte der Formalitätsachse zu             in (Westphal, 2018) vorgestellt und sind zudem auf
behandeln. Wir diskutieren sowohl informale Ansät-              der Homepage der Veranstaltung frei zugänglich.1
ze (und im Themenbereich Requirements Enginee-                     Der Artikel ist wie folgt strukturiert. In Abschnitt 2
ring verschiedene semi-formale Ansätze) und sprin-              beschreiben wir die Situation der Veranstaltung im
gen dann zu vollständig definierten Beschreibungs-              Studienplan der Universität Freiburg sowie der Stu-
sprachen, die für den Zweck der Vorlesung (bis auf              dierenden zu Beginn der Veranstaltung. Abschnitt 3
eine Ausnahme) auf einen essentiellen Kern reduziert            legt unsere Lernziele dar und beschreibt, wie wir die
sind (vgl. Abbildung 1(b)). Auf diese Weise geben wir           neuen Inhalte bzgl. Formaler Methoden durch didak-
eine konkrete Übersicht über die gesamte Achse. Für             tische Maßnahmen im Übungsbetrieb unterstützen.
eine ausgewählte Beschreibungssprache diskutieren               Einen Überblick über die neuen Inhalte, ihre Einbet-
wir mehr als einen essentiellen Kern, um zu demons-             tung in die gesamte Vorlesung und unsere Erfahrun-
trieren, daß es eine orthogonale Achse der Einfach-             gen bzgl. Lernerfolgen gibt Abschnitt 4. Wir schließen
heit formaler Beschreibungssprachen gibt (Einfach-              den Artikel mit einer Betrachtung von Evaluationser-
heit sowohl bzgl. der Ausdrucksstärke als auch bzgl.            gebnissen und einer Zusammenfassung.
des Aufwands, zu einer vollständigen Definition (von
abstrakter Syntax und Semantik) zu gelangen).                   2    Kontext der Veranstaltung und
   Für den Bereich der Formalen Methoden in der
                                                                     Situation der Studierenden
Softwaretechnik steht mit (Bjørner, 2006a,b,c) ein              Die Veranstaltung ‚Softwaretechnik‘ ist eine Pflicht-
dreibändiges Lehrbuch zur Verfügung, das versucht,              vorlesung im B. Sc.-Studiengang Informatik der Uni-
die Softwareentwicklung vollständig aus formaler                versität Freiburg mit einem Umfang von 3+1 SWS für
Sicht zu vermitteln. Wir haben uns aus zwei Grün-               Vorlesung und Übung und 6 ECTS-Punkten. Zusätz-
den dagegen entschieden, diesem Lehrbuch zu fol-                lich besuchen Studierende des nicht-konsekutiven
gen. Zunächst scheint uns das Ziel des Materials von            Masterstudiengangs, der Studiengänge ‚Embedded
Bjørner zu sein, formale Beschreibungssprachen mög-                1 Die URL für das Sommersemester 2018 ist: https://swt.

lichst in vollem Umfang darzustellen, was schlicht              informatik.uni-freiburg.de/teaching/SS2018/swtvl


                                                            2
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                    22
                                                                                             Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                                  Bernd Westphal, Uni Freiburg



             Tabelle 1: Selbsteinschätzung der Erfahrung (Minimum · 1., 2., 3. Quartil · Maximum).
                             Proj. Mgmt.      Req. Eng.         Programm.         Modellierung              QA
         2016 (77 Antw.)           –        0 · 1 · 1 · 3 · 9 1 · 2 · 3 · 5 · 10 0 · 1 · 1 · 2 · 7 0 · 1 · 2 · 3 · 9
         2017 (87 Antw.) 0 · 0 · 1 · 3 · 10 0 · 1 · 1 · 4 · 10 0 · 2 · 3 · 5 · 10 0 · 1 · 1 · 3 · 10 0 · 1 · 1 · 4 · 10
         2018 (64 Antw.) 0 · 0 · 1 · 3 · 8 0 · 0 · 1 · 2 · 8 1 · 1 · 3 · 5 · 10 0 · 1 · 1 · 3 · 9 0 · 1 · 2 · 4 · 10


Systems Engineering‘ (ESE) und ‚Mikrosystemtech-                               the planning and execution of the activity in a software deve-
nik‘ sowie des bivalenten Studiengangs Informatik                              lopment project within defined resource and time constraints.
die Veranstaltung. In den vier Jahren der Veranstal-
tung haben wir zwischen 80 und 150 angemelde-                              Tabelle 1 zeigt die bisherigen Ergebnisse, die unse-
te Teilnehmer::innen beobachtet. Unter den Teilneh-                        re Annahmen durchweg bestätigen. Etwas überra-
mer::innen (der Evaluation2 ) studierten zwischen 73                       schend finden wir, daß sich das obere Quartil der
und 96 % Informatik, der zu 100 % fehlende Teil                            Studierenden im Bereich Programmierung regelmä-
wird stark von ESE-Studierenden dominiert. Außer in                        ßig als relativ erfahren einschätzte, sich im Bereich
2016 strebten jeweils mehr als knapp zwei Drittel der                      Qualitätssicherung (der die Aktivität des Testens ein-
Teilnehmer::innen einen B. Sc.-Abschluss an.                               schließt, von der man erwarten sollte, daß diese
   Die ‚Softwaretechnik‘ ist im 4. Semester vor-                           mit ernsthafter Programmierung einhergeht) als eine
gesehen, d.h. wir können einen zweiteiligen Pro-                           oder zwei Stufen geringer erfahren einordnet.
grammierkurs und Algorithmen & Datenstrukturen,                               In der zweiten Vorlesung zeigen und diskutieren
Technische und Praktische Informatik (Betriebssyste-                       wir die Ergebnisse des jeweiligen Jahres. Mit der Prä-
me, Netzwerke, Datenbanken) und die Mathematik-                            sentation der Ergebnisse verbinden wir die folgenden
Vorlesungen voraussetzen. Logik und die Einführung                         Botschaften: Erstens, daß wir, d.h. die Veranstalter
in die Theoretische Informatik sind in Freiburg im                         und die Studierenden, es (auch dieses Jahr wieder)
3. Semester vorgesehen, liegen also auch zeitlich vor                      mit einem bzgl. Vorerfahrung eher heterogenen Au-
der ‚Softwaretechnik‘. Parallel zur ‚Softwaretechnik‘                      ditorium zu tun haben. Zweitens, daß die Vorlesung
findet für die B. Sc.-Studierenden der Informatik ein                      explizit für Studierende angelegt ist, die sich zwi-
Softwarepraktikum statt (vgl. Abschnitt 3).                                schen den Werten 0 und 1 einordnen (und daß die-
   Entsprechend der Position der ‚Softwaretechnik‘ im                      se Studierenden in der klaren Mehrheit sind, man al-
Curriculum und aus der Erfahrung der Jahre vor                             so nicht „allein“ ist, wenn man sich dort eingeordnet
2015 gehen wir einerseits davon aus, daß der Groß-                         hat). Drittens, daß für die Studierenden, die sich bei
teil der Teilnehmer::innen vor unserer Veranstaltung                       Werten von 5 und höher einordnen, möglicherweise
bzgl. der meisten Themenbereiche der Softwaretech-                         keine Neuigkeiten vermittelt werden, daß diese Stu-
nik über wenig bis sehr wenig Erfahrung verfügt.                           dierenden jedoch explizit eingeladen sind, in Form
Andererseits wissen wir aus persönlichen Gesprä-                           von Fragen oder Kommentaren ihre Vorerfahrung in
chen, daß es im nicht-konsekutiven M. Sc.-Programm                         den Vorlesungs- und Übungsterminen einzubringen.
durchaus einzelne Studierende gibt, die über mehr-                         In der Diskussion der Ergebnisse stellen wir heraus,
jährige Berufserfahrung verfügen.                                          daß die Inhalte der Vorlesung die Studierenden dar-
   Seit 2016 überprüfen wir diese Annahme durch                            auf vorbereiten möchten, in Softwarentwicklungspro-
eine Aufgabe auf dem ersten Übungsblatt, in der                            jekten höherer Stufen mitzuarbeiten, also Projekte
wir die Teilnehmer um eine Selbsteinschätzung der                          die einen größeren Umfang und eine größere Nutzer-
Vorkenntnisse in den Themenbereichen (die wir in                           basis haben als jedes Projekt, das man im Studium in
der ersten Vorlesung jeweils grob umreißen) Projekt-                       Freiburg erlebt, sowie üblicherweise einen wirtschaft-
management (seit 2017), Requirements Engineering,                          lichen Aspekt haben.
Programmierung, Modellierung und Qualitätssiche-
rung bitten. Wir schlagen in der Aufgabe die folgende,                     3   Ziele und Konstruktion
subjektiv zu interpretierende Skala vor (die Übungs-
blätter sind in Englisch verfasst):
                                                                               der Veranstaltung
                                                                           Ein Lernziel unserer Veranstaltung ist zunächst, wie
0:   I have no experience in that activity whatsoever. I have not
     taken any related subjects during my studies.                         in der Einleitung beschrieben, eine Übersicht über
                                                                           die verschiedenen Themenbereiche der Softwaretech-
1:   I have only performed the activity in the context of a lecture        nik entsprechend der etablierten Lehrbücher zu ge-
     or programming course.
                                                                           ben. Unser Schwerpunkt ist hierbei die Vermittlung
10: I have performed the activity in a project with a large user ba-       der verschiedenen Probleme, die sich daraus ergeben,
    se (100+ users), a large work volume (36+ person-months)               daß mehrere Menschen über einen längeren Zeit-
    or a specific commercial purpose. I have been responsible for          raum zusammen nichttriviale Softwaresysteme entwi-
   2 Zwischen 26 und 40 Angaben; leider haben wir keinen direk-            ckeln, sowie bekannte Lösungsansätze und deren Vor-
ten Zugriff auf Studiengang oder angestrebten Abschluss.                   und Nachteile vorzustellen.

                                                                       3
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                                 23
                                                                                 Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                      Bernd Westphal, Uni Freiburg


   Der neue Aspekt unserer Veranstaltung ist die voll-             Bei der Punkteverteilung der Klausur orientieren
ständig formale Definition von Beschreibungsspra-               wir uns grob an den Stufen der (überarbeiteten) Ta-
chen und Analysetechniken an den entsprechenden                 xonomie der Lernziele (Bloom, 1956; Anderson u. a.,
Stellen in der Vorlesung (vgl. Tabelle 2). Die Lernzie-         2001). Circa 50 % der Punkte entfallen auf „leichte“
le sind hier das sichere Verstehen und Anwenden der             Aufgaben (Vokabular, einfache Verfahren verstehen
eingeführten Formalen Methoden, sowie die Interpre-             und wie in den Übungen (jedoch auf andere Proble-
tation von Analyseergebnissen. Die entsprechenden               me) anwenden), ca. 33 % der Punkte entfallen auf
Inhalte und die Einbettung in die Vorlesung werden              „mittlere“ Aufgaben (ähnlich wie Übungsaufgaben, je-
in Abschnitt 4 beschrieben.                                     doch Analyse bzw. Transfer notwendig) und ca. 17 %
                                                                der Punkte sind für „schwere“ Aufgaben (nicht in
   Wir beschreiben die Ziele unserer Veranstaltung in           den Übungen besprochen, neue Sichten auf diskutier-
der ersten Vorlesung, um Missverständnisse (und Ent-            te Konzepte, offenere kreative Aufgaben) vorgesehen.
täuschungen) zu vermeiden. In einer Aufgabe des ers-            Unsere Absicht ist, Kompetenzen über alle kognitiven
ten Übungsblattes bitten wir die Studierenden, aus-             Kategorien hinweg zu prüfen; in der o.g. Punktever-
gehend von der ersten Vorlesung ihre Erwartungen                teilung reicht es z.B. zum Bestehen nicht aus, alle
an die Veranstaltung in eigenen Worten zu beschrei-             „schweren“ Aufgaben (ggf. intuitiv oder zufällig) zu
ben. In der zweiten Vorlesung stellen wir eine Aus-             lösen, sondern es sind Punkte aus den Bereichen Ver-
wahl der Antworten vor, und gehen jeweils darauf                stehen und Anwenden zum Bestehen notwendig.
ein, inwiefern die Veranstaltung diese Erwartungen
erfüllen kann. Ein über die Jahre wiederkehrender               3.2 Vorlesungen
Punkt, ist der Wunsch, gutes Design zu lernen. Diese            Teil unserer Veranstaltung ‚Softwaretechnik‘ ist eine
Erwartungen liefern einen guten Anlass, erneut aus-             klassische Vorlesung im Umfang von 3 SWS. Um nicht
zuführen, daß ein Ziel der Vorlesung ist, fundamenta-           an einem Tag der Woche auf eine Stunde Tutorium
le Designprobleme zu verstehen und Designentschei-              umschalten zu müssen, interpretieren wir das 3+1-
dungen präzise zu beschreiben und auf Aspekte gu-               Format als drei Vorlesungen (à 90 Minuten) und ein
ten Designs hin zu analysieren, wir jedoch keine kon-           Tutorium (à 90 Minuten) in zwei Wochen.
kreten Verfahren zur Erstellung guter Designs für spe-             Über die vorhandene Infrastruktur zeichnen wir
zifische Anwendungsfelder diskutieren. Wir plausibi-            das gesprochene Wort und den Bildschirminhalt auf
lisieren diese Zielsetzung durch eine grobe Beschrei-           und stellen die Aufzeichnungen zeitnah zur Verfü-
bung des weiten Spektrums von Software: von Onli-               gung. Auf diese Weise konnten wir die Vorlesungen
neshops, über Standardanwendungen (Textverarbei-                ohne Skript bestreiten, da das gesprochene Wort je-
tung, etc.), kommerzielle Spiele, Betriebswirtschaftli-         derzeit zum Nachhören verfügbar ist. Weiterhin kön-
che Software, bis hin zu sicherheitskritischen, einge-          nen die Teilnehmer::innen, denen unser Vortrag zu
betteten Systemen. Jeder dieser Bereiche hat eigene,            langsam oder zu ausführlich ist, die Geschwindig-
bewährte Vorstellungen von gutem Design, die unter-             keit beim Anhören der Aufzeichnung selbst bestim-
einander nicht austauschbar sein müssen.                        men. Entsprechend der Selbsteinschätzung der Teil-
                                                                nehmer::innen (vgl. Abschnitt 1) sprechen wir in der
3.1     Klausur                                                 Vorlesung lieber zu langsam als zu schnell und be-
                                                                trachten neue Inhalte ggf. aus mehreren Perspekti-
Ähnlich wie (Lehmann u. a., 2015), haben wir sehr               ven, was für einige Teilnehmer::innen zu langsam
früh in der Überarbeitung der Veranstaltung mit                 sein kann. In der Evaluation geben, über die Jah-
der Vorbereitung der Klausur begonnen. Laut Mo-                 re 2016 bis 2018 aggregiert,3 von 99 Rückmeldun-
dulhandbuch ist eine schriftliche Prüfung vorgese-              gen knapp 25 % an, sich die Inhalte hauptsächlich
hen und somit war klar, daß die Vorlesung notwen-               durch Anwesenheit anzueignen, und 18 % bzw. 33 %
dig schriftlich prüfbare Inhalte in hinreichendem Um-           geben ‚teils/teils‘ bzw. ‚hauptsächlich über die Auf-
fang und Tiefe präsentieren muß. Um das Risiko                  zeichnungen‘ an. Entsprechend haben wir eher ge-
zu mindern, zum zentral festgelegten Klausurtermin              ringe Besucherzahlen in der eigentlichen Vorlesung,
keine geeignete Klausur stellen zu können, haben                dafür jedoch Besucher::innen, die die Präsenz für Fra-
wir, ausgehend von einem ersten Entwurf des Zu-                 gen oder Kommentare nutzen möchten, denen wir, so
schnitts der Vorlesung, Aufgabenskizzen und eine                gut es die Zeit erlaubt, Raum geben.
grobe Festlegung der Proportionen für die Themen-                  Das Lernziel, eine Übersicht entsprechend der eta-
bereiche erstellt. Vorlesungsinhalte, Klausuraufgaben           blierten Lehrbücher zu geben, hat für uns zwei
und Übungsinhalte wurden dann im Sinne eines gu-                Teilaspekte. Einerseits den Aspekt der Vermittlung
ten Constructive Alignments (Biggs u. Tang, 2011) auf-          von Techniken und Verfahren und andererseits den
einander abgestimmt. Zum Ende der Vorlesungszeit                Aspekt „der Mensch steht im Mittelpunkt“ (Ludewig
2015 stand für die Studierenden zur Klausurvorberei-            u. Lichter, 2013). Der erste Aspekt ist relativ gut prüf-
tung eine Beispielklausur zur Verfügung, seit 2016 ist
die Beispielklausur mit dem ersten Vorlesungstag auf               3 Im Jahr 2015 wurde in der Evaluation zum Vortragsbesuch

der Lernplattform verfügbar.                                    eine andere, nicht gut vergleichbare Frage gestellt.


                                                            4
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                     24
                                                                                         Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                              Bernd Westphal, Uni Freiburg


bar (und kann als Vorbereitung auf die Klausur gese-                  hen sind. Weiterführende technische Fragen können
hen werden). Zum zweiten Aspekt ist unser Ziel, das                   konstruiert werden, indem man die gezeigte Problem-
(gesprochene und schriftliche) Kommunizieren von                      stellung leicht modifiziert und eine erneute Analyse
Softwaretechnik-Problemen und Lösungsideen und                        erfragt. Bei der Diskussion von Lösungen und weiter-
die Analyse und Bewertung von Lösungsideen ein-                       führenden Fragen achten die Tutor::innen auf präzise
zuüben. Dieser zweite Aspekt ist ungleich schwerer                    Sprache, insbesondere die korrekte Verwendung von
prüfbar (und kann als Vorbereitung auf „das echte                     Softwaretechnik-Fachsprache.
Leben“ gesehen werden) und findet in unserer Veran-                      Für die schriftliche Darstellung in den Einreichun-
staltung schwerpunktmäßig im Übungsbetrieb statt                      gen fordern wir regelmäßig die Form „Problem in ei-
(siehe folgender Abschnitt).                                          genen Worten darstellen – eigenen Lösungsvorschlag
                                                                      formulieren – begründen, argumentieren, im besten
3.3     Übungsaufgaben und Tutorate                                   Falle: beweisen, daß der Lösungsvorschlag das defi-
Die Vorlesung wird von Übungen begleitet. Vor der                     nierte Problem löst“ und halten die Tutor::innen da-
ersten Vorlesung jedes 3er Blocks steht ein Übungs-                   zu an, in Kommentaren zu den Einreichungen kon-
blatt zur Verfügung, das direkt nach dieser Vorlesung                 tinuierlich diese Form nachzufragen.5 Entsprechend
teilweise und nach der zweiten Vorlesung des Blocks                   sind die (ausgewogen vorkommenden) offenen Mo-
vollständig bearbeitet werden kann, sodaß für jede                    dellierungsaufgaben absichtlich unpräzise formuliert.
Aufgabe mindestens eine Woche zur Bearbeitung zur                     Hierbei ist unserer Erfahrung nach der angemesse-
Verfügung steht. Studierende bearbeiten die Aufga-                    ne Grad an Unschärfe in der Aufgabenstellung im
ben in Teams aus 2 bis 3 Personen und können ihre                     B. Sc.-Programm signifikant geringer als im M. Sc.-
Bearbeitungen bis zur Minute vor Beginn des Tutori-                   Programm. Diese absichtliche Unschärfe und die di-
ums auf der Lernplattform einreichen.                                 daktische Absicht kommunizieren wir ganz explizit:
   In den Tutorien legen wir Wert auf Interaktion                     wir gehen (stark) davon aus, daß die allerwenigs-
(i.S.v. (Krusche u. a., 2017)). Das heißt, es sind nicht              ten Absolventen in ihrer beruflichen Laufbahn präzi-
die Tutor::innen, die eine Beispiellösung vorstellen,                 se Aufgabenstellungen bekommen werden — und un-
die „passiv konsumiert“ werden kann („man trifft sich                 ter dieser Annahme können wir ruhig im 4. Semester
nicht mehr nur, um ‚gemeinsam zuzuhören‘“ (Siege-                     langsam mit Aufgaben dieser Art beginnen. Im ersten
ris, 2017)),4 sondern der Modus der Tutorien ist „wir                 Jahr der Veranstaltung gab es in der Evaluation ver-
erarbeiten eine gute Lösung zusammen“ bzw. „wir                       einzelt Wünsche nach ganz klaren Aufgaben. Unsere
analysieren und bewerten Lösungsvorschläge und                        Hypothese ist, daß in den meisten vorherigen Veran-
diskutieren weiterführende Fragen“. Die Tutor::innen                  staltungen präzise Aufgabenstellungen vorherrschen
sehen wir im Tutorium vor allem als Moderator::in,                    (und den Lernzielen angemessen sind, vgl. auch Ab-
nicht als Vortragende::r. Hierbei sollen die Lösungs-                 schnitt 4.2) und die ‚Softwaretechnik‘ sich in diesem
wege und -überlegungen transparent werden. Zu die-                    Aspekt für die Studierenden ungewohnt anfühlt.
sem Zweck sind die Tutor::innen angehalten, für die                      Am Tag vor den Tutorien führen wir jeweils ein Tu-
technischen Aufgaben (im Sinne des Retrieval-Based-                   torium für die Tutor::innen durch, vor dem die Tu-
Learning) die Teilnehmer::innen zunächst nach den                     tor::innen das Übungsblatt selbst skizzenhaft lösen.
relevanten Definitionen zu fragen. Bei kleinen Auf-                   In diesen Tutors’ Tutorials gehen wir (in der Art der
gaben schreiben die Tutor::innen Lösungsvorschläge                    Tutorien für die Studierenden) die Aufgaben durch,
aus dem Auditorium auf den Bildschirm, bei größe-                     diskutieren weiterführende Fragen, legen die Lernzie-
ren Aufgaben bringen die Tutor::innen bemerkens-                      le der jeweiligen Aufgaben und Fragen dar und geben
werte Lösungen mit ins Tutorium und stellen sie zur                   Tips zur Moderation. Der Ablauf der Tutorien steht
Diskussion. Die bemerkenswert guten oder eigenarti-                   danach inklusive Vorschlägen für weiterführende Fra-
gen Lösungen werden aus sogenannten Early Submis-                     gen und Lernziele als eine Art „Drehbuch“ zur Verfü-
sions ausgewählt. Wir bieten denjenigen Teams, die                    gung. In der ersten Durchführung hatten wir leich-
24 Stunden vor dem Tutorium Lösungen einreichen,                      te Sorge, daß sich die Tutor::innen in ihrer gestal-
einen 10 %-Bonus auf die erzielten Zulassungspunk-                    terischen Freiheit beschränkt fühlen könnten. Hier
te. Beispiele für weiterführende Fragen ergeben sich                  waren die Rückmeldungen bisher durchweg positiv:
z.B. im Bereich des Requirements Engineering wie                      ganz im Gegenteil würden die Tutors’ Tutorials Sicher-
folgt. Eine technische Aufgabe kann darin bestehen,                   heit (z.B. im Zeitmanagement) geben und kognitive
eine gegebene Formalisierung einer Anforderung auf                    Kapazitäten für tiefer gehende Fragen und Kommen-
(formale) Vollständigkeit zu untersuchen. Ausgehend                   tare von Seiten der Studierenden freihalten. Weiter-
von der (technischen) Lösung ergibt sich die Frage,                   hin erreichen wir durch diesen Ansatz eine überwie-
wie das Resultat in der Rolle Requirements Engineer                   gend gleichbleibende Qualität der Tutorien, unabhän-
zu interpretieren ist und welche Konsequenzen für                     gig von dem/der konkreten Tutor::in.
die Kommunikation mit der Kundenseite ggf. zu zie-
                                                                          5 Nicht zuletzt im Interesse der Studierenden: Wir gehen davon
   4 Auch wenn einige Studierende sich dies lt. Evaluation wün-       aus, daß gut präsentierte Lösungsvorschläge bei der Klausurvorbe-
schen würden.                                                         reitung zumindest nicht hinderlich sind.


                                                                  5
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                             25
                                                                                               Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                                    Bernd Westphal, Uni Freiburg



                                                  Tabelle 2: Kursinhalte und Struktur.
    Vorlesungen            Themenbereich                                                      Inhaltsübersicht
    1                Einleitung                             Software, Engineering, Software Engineering; Erfolgreiche Softwareent-
                                                            wicklung, Empirische Daten zum Erfolg von Softwareprojekten; Aufbau
                                                            des Kurses, Bezug zu anderen Lehrveranstaltungen, Organisatorisches.
    2–5              Projektmanagement                      Softwaremetriken, Skalen; Kostenschätzung (Experten- und algorithmi-
                                                            sche Schätzung); Projekt, Prozess, Prozess Modellierung; Prozedurmodel-
                                                            le; Prozessmodelle (Agil, V-Modell (semi-formal)).
    6 – 10           Requirements Engineering               Vokabular: Anforderungen, Anforderungsanalyse; Anforderungen im Ent-
                                                            wicklungsprozess; Eigenschaften von Anforderungsspezifikationen (Voll-
                                                            ständigkeit, Konsistenz, . . . ), Arten von Anforderungen, Analysetechniken;
                                                            Dictionary; Spezifikationssprachen für Anforderungen: natürlichsprachli-
                                                            che Pattern, Entscheidungstabellen (formal), Use Cases und -Diagramme
                                                            (semi-formal), LSCs (formal).
    11 – 14          Design & Architektur                   Modell; Sichten; Strukturmodellierung für Software (Klassen- und Objekt-
                                                            diagramme (formal), Proto-OCL (formal)); Designprinzipien; Design Pat-
                                                            terns; Verhaltensmodellierung für Software (Communicating Finite Auto-
                                                            mata (formal), Query Language (formal)); ein Ausblick zu UML State-
                                                            Machines.
    15 – 18          Qualitätssicherung                     Testfall, Testausführung, falsch/richtig positive/negative Ergebnisse (for-
                                                            mal); Grenzen des Softwaretestens; Glas-Box-Testen (Anweisungs-,
                                                            Verzeigungs-, Term-Überdeckung); Modell-basiertes Testen, Runtime-Veri-
                                                            fikation; Programmverifikation (formal), Code Review.


   In der auf das Tutorium folgenden Woche geben                              los an die Diskussion der Begriffe der Modellierung
die Tutor::innen individuelle (für die Klausurzulas-                          und die Bedeutung von Modellen in der Softwareent-
sung relevante) Bewertungen und Kommentare zu                                 wicklung bereits im ersten Kapitel von (Ludewig u.
den Einreichungen. Hierbei werden die Einreichun-                             Lichter, 2013) anfügt. In der Diskussion der (gegen-
gen auf zwei verschiedenen Skalen bewertet. Die für                           über (Ludewig u. Lichter, 2013)) neuen Inhalte bemü-
die Klausurzulassung relevante good-will-Skala be-                            hen wir uns, dem evidenzbasierten Stil des Lehrbuchs
wertet „sinnvolle Bearbeitung“ relativ zum Wissen                             zu folgen, also rationale Wertungen zu ermöglichen
der Studierenden vor dem Tutorium. Hier interpre-                             und soweit möglich die (ursprünglichen) Quellen an-
tieren die Tutor::innen unklare Formulierungen im                             zugeben. Entsprechend zeigen wir anhand von Bei-
Zweifel zugunsten der Studierenden. Um einen Ein-                             spielen, was Formale Methoden konkret leisten kön-
druck von der Bewertung in der Klausur zu geben, be-                          nen, was ihre Fürsprecher::innen versprechen und
werten wir außerdem jede Aufgabe auf der evil-Skala,                          welche Kritik vorgebracht wird, sodaß die Studieren-
die sich am Punkteschema der Klausur und am Wis-                              den Vor- und Nachteile verantwortlich und kontext-
sen nach dem Tutorium orientiert, insbesondere dar-                           abhängig abwägen können.
über, wie bestimmte Aufgabenstellungen im Kontext
der Veranstaltung im Zweifel zu interpretieren sind.                             Tabelle 2 gibt einen Überblick über die Inhalte
Hier werden unklare Formulierungen oder Fehler in                             der Vorlesung. Wir beginnen mit dem Themenbereich
der Syntax zuungunsten der Studierenden gewertet.                             Projektmanagement, da die Inhalte dieses Bereichs
                                                                              für die Teilnehmer::innen des parallel im 4. Semes-
4     Formale Methoden in der                                                 ter stattfindenden Software-Praktikums (SoPra) für
                                                                              B. Sc.-Studierende nützlich sein können. Es gibt von
      Softwaretechnik-Vorlesung                                               Seiten der Teilnehmer::innen durchaus den Wunsch
Für die Darstellung von Vokabular, Problembereichen                           nach einer Abstimmung zwischen dem SoPra und
und nicht formalen Inhalten folgt unsere Vorlesung                            der ‚Softwaretechnik‘, der aus verschiedenen Grün-
im Wesentlichen dem Lehrbuch (Ludewig u. Lichter,                             den nicht praktikabel (und, da das SoPra eine in sich
2013). Wir schätzen an diesem Lehrbuch die expli-                             abgeschlossene Veranstaltung mit eigenen Vorlesun-
zit adressierte Sicht, „dass sich Software-Engineering                        gen ist, auch nicht notwendig) ist. Ein Grund ist, daß
vor allem mit den Menschen befasst, die Software in                           im SoPra bereits in der dritten Woche die Spezifika-
Auftrag geben, entwickeln und ändern oder benut-                              tion und ein Architekturentwurf abzugeben sind. Ein
zen“ und das u.E. sehr gelungene „[B]emühen [...]                             weiterer Grund ist, daß in jedem Jahr über 30 % der
um eine rationale Wertung“ und darum, „alle Quel-                             ‚Softwaretechnik‘-Teilnehmer::innen das SoPra nicht
len [...] vollständig anzugeben“.                                             in ihrem Studienplan haben und Versuche einer en-
   Im folgenden beschreiben wir unsere Erweiterung                            geren Abstimmung bei diesen Teilnehmer::innen zu
der Inhalte um formale Modelle in der Softwareent-                            signifikanten Verwirrungen geführt haben. Als Kom-
wicklung, die sich unserer Wahrnehmung nach naht-                             promiss haben einige Übungsaufgaben einen Bezug

                                                                          6
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                                   26
                                                                                                Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                                     Bernd Westphal, Uni Freiburg


zum SoPra, der sich den SoPra-Teilnehmer::innen er-                              Wir nutzen bei der Auswahl der Inhalte die re-
schließt, und für die anderen Studierenden einfach                            lative späte Lage der Veranstaltung im Studienplan
„ein Beispielprojekt“ ist.                                                    aus (vgl. Abschnitt 2). So bauen wir auf ‚Grundla-
   In der Präsentation und Diskussion der nicht-                              gen der Theoretischen Informatik‘, die Mathematik-
formalen Inhalte folgen wir (Ludewig u. Lichter,                              Vorlesungen und ‚Rechnerarchitektur‘ auf, in denen
2013), wobei wir im Zweifel direkt auf die ursprüng-                          die Studierenden bereits mit verschiedenen Forma-
lichen Quellen zurückgreifen, z.B. die Normtexte IE-                          len Methoden konfrontiert wurden (wenn auch viel-
EE 601.12 und ISO 24765 für Vokabular und IE-                                 leicht nicht unter diesem Namen). Unsere Veranstal-
EE 830 zur Struktur von Anforderungsdokumenten.                               tung zeigt gewissermaßen, wie ein großer Teil des
In den folgenden Abschnitten geben wir einen Über-                            bisher Gelernten in der Softwarekonstruktion ange-
blick über die von uns ergänzten formalen und semi-                           wandt werden kann.
formalen Inhalte.
                                                                              4.1 Themenbereich
   Aufgrund unserer in der Einleitung ausgeführten
                                                                                  Softwareprojektmanagement
Beobachtung eines Mangels an geeigneten Lehrbü-
chern, haben wir die formalen Inhalte selbst ausge-                           Im Themenbereich Softwareprojektmanagement
wählt bzw. konstruiert. Der Überarbeitung der Veran-                          überwiegen nicht-formale Inhalte (vgl. Tabelle 2).
staltung lag die Hypothese zugrunde, daß es durch ei-                         Ein Schwerpunkt sind Softwaremetriken als ein
ne angemessene Reduktion des Sprachumfangs mög-                               Aspekt der ingenieurmäßigen, objektivierten Soft-
lich ist z.B. die formale Spezifikationssprache für                           wareentwicklung (inklusive des Bewusstseins für
Strukturaspekte OCL vollständig definiert einzufüh-                           Pseudometriken (vgl. (Ludewig u. Lichter, 2013))).
ren und die Idee Formaler Methoden und Analysen                               Ein weiterer Schwerpunkt ist die Prozessmodellie-
zu vermitteln, und gleichzeitig der Vermittlung der                           rung. Hier führen wir zunächst eine semi-formale7
etablierten nicht-formalen Inhalte einen angemesse-                           graphische Beschreibungssprache für Prozesse ein,
nen Raum zu geben. Bei der Auswahl der Teilspra-                              bestehend aus Rollen, Artefakten, Aktivitäten und
chen von z.B. OCL stand das Ziel im Vordergrund,                              den entsprechenden Relationen. Wie zeigen, wie
die formalen Sprachen nicht artifiziell zu vereinfa-                          ein konkreter Ablauf (oder Prozess) einer Softwa-
chen, sondern echte Teilsprachen auszuwählen, die                             reentwicklung modelliert werden kann (deskriptiv,
in Spezialvorlesungen konservativ erweitert werden.                           Abbild), um dann zu zeigen, wie ein graphisches Pro-
Wir konnten hierbei auf eine langjährige Erfahrung                            zessmodell präskriptiv (Vorbild) verwendet werden
aus Forschungs- und Projektarbeit sowie aus unse-                             kann, um Prozessabläufe vorzugeben. Wir verwen-
ren Spezialvorlesungen ‚Software, Design, Modelling,                          den unsere graphische Beschreibungssprache, um
and Analysis in UML‘ (UML) und ‚Real-Time Sys-                                konkrete Prozedur- und Prozessmodelle (Wasserfall,
tems‘ im M. Sc. Informatik zurückgreifen, in denen                            V-Modell, XP, Scrum) vorzustellen bzw. setzen die
für die Modellierungssprachen jeweils eine vollständi-                        Notation z.B. der V-Modell-Beschreibung zu unserer
ge konkrete und abstrakte Syntax sowie eine forma-                            Teilsprache in Beziehung.
le Semantik eingeführt wird. In der UML-Vorlesung                               In den Übungsaufgaben ist anhand von vorgegebe-
sind dies Klassen- und Objektdiagramme, OCL, State-                           nen Prozessbausteinen ein kleines Entwicklungspro-
Machines und Sequenzdiagramme.                                                jekt zu planen inklusive Besetzung von Rollen mit Per-
   Bei der Auswahl der Beispiele in der Vorlesung und                         sonen. Um die Tutor::innen insbesondere auf Fragen
der Konstruktion der Übungsaufgaben greifen wir so-                           und Diskussionen zur Verwendung und zum Nutzen
weit möglich auf reale, industrielle Softwareprojekte                         von Prozessmodellen vorzubereiten, haben wir ent-
(bestenfalls aus unserer eigenen Erfahrung) zurück,                           sprechend des Prinzips „lehren, was wir praktizieren“
da so sichergestellt ist, daß wir Nachfragen in belie-                        in 2018 den Prozess des Übungsbetrieb vollständig
biger Detailtiefe zufriedenstellend beantworten kön-                          modelliert. Die Erläuterung des Prozesses ist aufwen-
nen.6 Dabei verwendet die Vorlesung für die verschie-                         dig, dafür weiß über das gesamte Semester jede::r
denen Formalen Methoden verschiedene Beispiele an                             Tutor::in, wer wann welches Artefakt wie zu bearbei-
denen sich die spezifischen Stärken zeigen. Wir möch-                         ten hat und wir können unsere ganze Aufmerksam-
ten (und können redlicherweise) nicht den Eindruck                            keit den eingereichten Lösungsvorschlägen widmen.
erwecken, daß der Stand der Technik der Formalen
                                                                              4.2 Themenbereich
Methoden ist, ein Softwaresystem vollständig und
                                                                                  Requirements Engineering
durchgängig konsistent formal zu beschreiben. For-
male Methoden sind dann effektiv, wenn geeignete                              Der Themenbereich Requirements Engineering (RE)
Formalismen zur Beschreibung und Analyse spezifi-                             ist in der Veranstaltung etwas stärker gewichtet als
scher, besonders kritischer oder komplexer Aspekte                            die weiteren Themenbereiche (vgl. Tabelle 2). Dies
von Software mit Bedacht eingesetzt werden.                                   ist vor allem drei Überlegungen geschuldet. Erstens
                                                                              stimmen wir zu (etwa (Sedelmaier u. Landes, 2017)),
    6 Dies ist bei artifiziell konstruierten Beispielen ungleich schwe-

rer herzustellen und kann, wenn es nicht gelingt, unnötige Unzu-                7 d.h. präzise konkrete Syntax, informelle Beschreibung der Be-

friedenheit auf Seiten der Studierenden hervorrufen.                          deutung.


                                                                          7
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                                    27
                                                                                Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                     Bernd Westphal, Uni Freiburg


daß dem Themenbereich RE in der Softwareentwick-                ist, eine für alle Beteiligten gute Beispiellösung zu er-
lung eine besondere Relevanz zukommt. Die Rele-                 arbeiten. Unser Kunde ist ein Organisator des SoPra,
vanz wird dabei in den späteren Themenbereichen                 unsere Anforderung war in 2018 der oben genannte
sehr natürlich aufgegriffen: Der Begriff der Korrekt-           Satz. Die Aufgabe besteht darin, durch Kommunika-
heit von Softwareentwürfen (insbesondere bzgl. des              tion mit dem Kunden ein Begriffslexikon zu erarbei-
Verhaltens) und von Software ist relativ zu einer An-           ten und die nicht im Satz enthaltenen Informationen
forderung. Etwa ein Algorithmus kann nur als korrekt            „herauszukitzeln“. Um die Aufgabe skalierbar zu ge-
(bzgl. einer Anforderung) bewiesen werden, wenn                 stalten, führen zunächst die Organisatoren unserer
es eine formale Beschreibung der Anforderung gibt.              Veranstaltung eine Anforderungsanalyse durch und
Zweitens beobachten wir, daß die Vermittlung von                notieren die Findungen in einem Wiki. Die Studieren-
Problemen und Techniken des RE für Studierende mit              den kommunizieren mit dem (für sie anonymen) Kun-
wenig oder keiner Vorerfahrung eine besondere Her-              den per Mail, vermittelt durch die Tutor::innen. Mit
ausforderung darstellt (vgl. Selbsteinschätzung der             Hilfe des Wiki können die Tutor::innen die meisten
Studierenden, Abschnitt 2). Drittens führen wir in un-          Fragen ihrer Tutanden schon im Stile eines Kunden
serer Veranstaltung im Themenbereich RE zum ers-                beantworten, noch unklare Aspekte werden an den
ten Mal Formale Methoden ein.                                   SoPra-Organisator weitergeleitet und im Wiki nach-
   Wir sprechen bei unseren Diskussionen i.d.R. über            geführt; weiterhin sind die Tutor::innen angehalten,
die u.E. besonders herausfordernde Situation eines              die Kommunikation in der Art eines Coaches zu be-
Softwareentwicklungsvertrages zwischen getrennten               obachten und Tips für weitere Fragen zu geben. Für
Kunden- und Entwicklungsunternehmen. Die Softwa-                das Tutorium bereiten wir eine Liste von bekannten
reentwicklung in Start-Ups, innerhalb einer Abtei-              Beispielspielen vor, die die Anforderung lt. Kunde er-
lung oder zwischen Abteilungen desselben Unterneh-              füllen bzw. nicht erfüllen. Im Tutorium sollen die Teil-
mens hat ggf. andere Rahmenbedingungen.                         nehmer::innen durch Handzeichen pro Beispiel anzei-
   Bei der Vermittlung von Problemen und Techniken              gen, ob nach ihrer konkreten Anforderungsanalyse
des RE arbeiten wir mit zwei (bisher leider nicht               das Beispiel vom Kunden akzeptiert oder abgelehnt
empirisch belegten) Hypothesen zu Ursachen von                  wird bzw. ob sie sich nicht sicher sind. In 4 Jahren
Schwierigkeiten. Eine Ursache sehen wir darin, daß              Durchführung dieser Übung hat noch nicht ein Team
der weitaus überwiegende Teil der Übungsaufgaben,               alle Beispiele korrekt klassifiziert; dies wird durch das
die die Studierenden bis zum 4. Semester bearbei-               Verfahren mit den Handzeichen im Tutorium unmit-
ten, von Fachleuten in Fachsprache präzise formu-               telbar für die Studierenden erfahrbar.
liert sind (nicht zuletzt, um die Korrektur zu vereinfa-          In der Einführung der Problemstellung der An-
chen). Entsprechend stellen wir Übungsaufgaben zu               forderungsanalyse und nicht-formalen Beschreibung
unserer Veranstaltung absichtlich unpräzise und hal-            von Anforderungen folgen wir (Rupp u. a., 2014).
ten dazu an, in den Einreichungen zunächst die Auf-             Wir beginnen die Diskussion von Beschreibungsspra-
gabenstellung in eigenen Worten wiederzugeben (vgl.
                                                                chen am nicht-formalen Ende der in Abbildung 1(b)
Abschnitt 3.3). Als zweite Ursache vermuten wir, daß            dargestellten Achse mit der natürlichsprachlichen Be-
der Umgang mit Sprache im Alltag von dem in der                 schreibung und Sprach-Patterns (Rupp u. a., 2014)
RE-Arbeit verschieden ist. Im Alltag sind Menschen
                                                                und diskutieren Eigenschaften guter Anforderungsdo-
üblicherweise gern bereit, einen Satz wie:                      kumente wie Vollständigkeit. Die Präsentation wech-
     Spielfiguren müssen indirekt gesteuert werden.             selt dann ans formale Ende der Achse und dort
                                                                zu einem möglichst einfachen Formalismus (vgl. Ab-
direkt als „klar“ zu akzeptieren und keinen Bedarf              schnitt 4.2.1), um dann im semi-formalen Bereich
für Nachfragen zu sehen (fehlende Information wird              z.B. User Stories und Use Cases einzuführen. Ein kom-
plausibel aufgefüllt; man sieht nur Information). In            plexer Formalismus (vgl. Abschnitt 4.2.2) und ein
der RE-Arbeit geht es unseres Erachtens beim Blick              Rückblick schließen den Themenbereich ab.
auf den obigen Satz vor allem darum, zu sehen, wel-
                                                                4.2.1 Entscheidungstabellen
che Information der Satz nicht enthält.
   Um diesen Sichtwechsel anzuregen, führen wir                 Als Einstieg in die formale Beschreibung von Anfor-
eine Übung durch, in der die Studierenden eine                  derungen haben wir als eine möglichst einfache Spra-
textuell gegebene Anforderung analysieren. Diese                che die in vielen Lehrbüchern semi-formal eingeführ-
Übung wird in verschiedenen Ausprägungen im RE-                 ten Entscheidungstabellen (ET) ausgewählt. ET sind
Unterricht eingesetzt, etwa mit Paaren von studenti-            eine der einfachsten Beschreibungssprachen, die mit
schen Teams, die jeweils die Kunden- bzw. Entwickler-           formaler Semantik und Analysen versehen werden
rolle übernehmen oder mit nicht technisch vorgebil-             können, sind jedoch weder trivial noch eine artifi-
deten (echten) Kunden. Wir verwenden eine Varian-               zielle Lehrsprache. Die schlichten Sprachmittel von
te mit einem technisch vorgebildeten Kunden, da wir             ET reichen vollständig aus, um Anforderungen zu be-
in den anderen Szenarien die Gefahr sehen, daß die              schreiben, die in textueller Form sehr schnell nicht
Parteien aneinander vorbeireden und es aufwendig                mehr überblickbar, wartbar oder analysierbar sind.

                                                            8
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                    28
                                                                                                          Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                                               Bernd Westphal, Uni Freiburg

       T : decision table                            r1     ···     rn                 ET die wichtige Diskussion, wie sich z.B. die formale
       c1      description of condition c1          v1,1           v1,n
       ..      ..                                     ..
                                                            ···
                                                                     ..
                                                                                       Vollständigkeit einer ET zur vollständigen Erfassung
                                                            ..
        .       .                                      .       .      .                einer Anforderung im Sinne von (Rupp u. a., 2014)
        cm      description of condition cm         vm,1    ···    vm,n                verhält. Eine Analyse einer formalen Beschreibung
       a1      description of action a1             w1,1           w1,n
       ..      ..                                    ..
                                                            ···
                                                                    ..
                                                                                       bzgl. einer Eigenschaft wie Vollständigkeit kann po-
                                                            ..
        .       .                                     .        .     .                 sitiv (Eigenschaft nicht gegeben) oder negativ aus-
        ak      description of action ak            wk,1    ···    wk,n                fallen und dieses Ergebnis kann (wie Testresultate)
                                                                                       falsch oder richtig sein. Ein Grund für ein falsch-
             Abbildung 2: Konkrete Syntax von ET.
                                                                                       positives Resultat kann z.B. ein simpler Schreibfeh-
                                                                                       ler beim Verfassen der formalen Beschreibung sein.
   Formal ist eine ET T über disjunkte Mengen von Be-                                  Ein positives Resultat liefert jedoch in jedem Fall ein
dingungen C und Aktionen A eine n × m-Matrix (sie-                                     Indiz dafür, daß uns z.B. in der Anforderungserfas-
he Abbildung 2) wobei c1 , . . . , cm ∈ C, a1 , . . . , ak ∈                           sung ein Fehler unterlaufen ist und dieses Indiz ist
A, v1,1 , . . . , vm,n ∈ {−, ×, ∗}, und w1,1 , . . . , wk,n ∈                          im Zweifel zusammen mit den Kunden zu klären. Für
{−, ×}. Eine wohlgeformte ET hat einen Namen.                                          ET liefern die Werkzeuge im positiv-Fall sogar alle Be-
Spalten (v1,i , . . . , vm,i , w1,i , . . . , wk,i ), 1 ≤ i ≤ n, wer-                  obachtungen, die in T nicht berücksichtigt werden,
den Regeln genannt und haben einen eindeutigen Na-                                     und die sich üblicherweise gut in die Begriffs- und Er-
men (hier: r1 , . . . , rn ). Die Vektoren (v1,i , . . . , vm,i )                      fahrungswelt der Kunden übersetzen und als solche
und (w1,i , . . . , wk,i ) heißen Prämisse und Effekt von                              klären lassen. Die Formalisierung einer Anforderung
Regel ri . Die Semantik einer ET T ist durch die Funk-                                 und die formale Analyse kann also sicherstellen, daß
tion F gegeben, die jeder Regel r in T eine Formel                                     alle Probleme, die zu positiven Resultaten führen, er-
der propositionalen Logik über C und A wie folgt zu-                                   kannt und ggf. ausgeräumt werden. Die formale Ana-
ordnet. Seien (v1 , . . . , vm ) und (w1 , . . . , wk ) Prämisse                       lyse kann nicht sicherstellen, daß die Anforderungs-
und Effekt von r. Dann ist                                                             analyse als solche vollständig ist, da falsch-negative
                                                                                       Resultate möglich sind. Ob der Aufwand der Formali-
                V                             V
   F (r) :=                                                                            sierung und Analyse von Anforderungen oder Design-
                    1≤i≤m F (vi , ci ) ∧          1≤j≤k F (wj , aj )         (1)
                |           {z             } |             {z            }             ideen das verringerte Fehlerrisiko rechtfertigt, ist je
                       =:Fpre (r)                    =:Feff (r)                        nach Projektkontext zu entscheiden.
                                                                                          Die Übungsaufgaben zu ET umfassen verschiedene
mit F := {(×, x) 7→ x, (−, x) 7→ ¬x, (∗, x) 7→
                                                                                       formale Analysen von gegebenen ET sowie eine Auf-
true}. Die Teilformeln Fpre (r) und Feff (r) heißen
                                                                                       gabe, in der ein Transkript eines Kundeninterviews
Prämissen- bzw. Effektformel.
                                                                                       (mit absichtlichen Redundanzen und Mehrdeutigkei-
   Eine ET kann wie folgt zur Formalisierung einer
                                                                                       ten) im Umfang von ca. einer DIN-A4-Seite in eine
Anforderung der Art, daß Systemverhalten in akzep-
                                                                                       ET mit ca. 10 Regeln über jeweils 5 Bedingungen und
tabel (oder erwünscht) und unerwünscht klassifiziert
                                                                                       Aktionen überführt werden soll. Im Tutorium stellen
wird, verwendet werden. Ein System erfüllt die durch
                                                                                       wir die (provokante) Frage: Nehmen wir an, man
ET T gegebene Anforderung genau dann, wenn je-
                                                                                       müsste als Implementierer::in des Kundenwunsches
des beobachtbare Systemverhalten durch eine Regel
                                                                                       zwischen Text und ET als Spezifikation wählen, was
in T erlaubt wird. Formal kann eine Beobachtung ei-
                                                                                       wäre die Wahl? Und warum? Meiner Kenntnis nach
nes Systems bzgl. der Bedingungen und Aktionen in
                                                                                       hat sich in den 4 Jahren der Veranstaltung noch nie-
C und A, also welche Bedingungen aus C erfüllt sind
                                                                                       mand ausdrücklich den Text gewünscht. Hier versu-
und welche Aktionen aus A ausgeführt werden, als
                                                                                       chen wir, einen Aspekt sichtbar zu machen, der unse-
Boole’sche Belegung σ : C ∪ A → {0, 1} der logischen
                                                                                       rer Meinung nach im Kontext formaler Beschreibun-
Variablen in C ∪ A notiert werden. Die Beobachtung
                                                                                       gen noch vor der Anwendung von formalen Analy-
σ erfüllt T genau dann, wenn es eine Regel r in T
                                                                                       sen steht. Eine formale Beschreibung einer Anforde-
gibt, sodaß σ |= F (r).
                                                                                       rung hat den Effekt, daß (mit hoher Wahrscheinlich-
   Begriffe wie Vollständigkeit können für ET präzise                                  keit) alle im verwendeten Formalismus ausgebildeten
definiert werden, z.B. nennen wir eine ET T (formal)                                   Softwaretechniker::innen zu jeder Zeit dieselbe Infor-
vollständig, wenn die Disjunktion der Prämissenfor-                                    mation sehen.8 So sehen wir formale Beschreibun-
meln von T eine Tautologie ist. Das Problem der Ana-                                   gen zuvorderst als Werkzeug, um auf Seiten der Soft-
lyse auf (formale) Vollständigkeit kann auf das Erfüll-                                waretechniker::innen das Risiko von Missverständnis-
barkeitsproblem propositionaler Logik reduziert wer-                                   sen zu verringern. Als Analogie verwenden wir z.B.
den, für das in Form von sogenannten SAT-Solvern                                       von Jurist::innen konstruierte Individualverträge, de-
Entscheidungswerkzeuge zur Verfügung stehen.                                           ren Konsequenzen man als Nicht-Jurist üblicherwei-
   In der Vorlesung ‚Softwaretechnik‘ diskutieren wir                                  se nicht überblicken kann. Man hat als Auftragge-
nun nicht eine Reduktionsprozedur oder die Kon-                                        ber des Individualvertrags jedoch den Anspruch, von
struktion von SAT-Solvern, sondern nehmen eine Nut-
zersicht ein, nehmen also zur Kenntnis, daß Werkzeu-                                      8 Gestandene Praktiker::innen berichten, daß es vorkommt, daß

ge dieser Art existieren. Wir führen am Beispiel der                                   dieselbe Person am selben Tag einen Text verschieden interpretiert.


                                                                                   9
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                                              29
                                                                                Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                     Bernd Westphal, Uni Freiburg


der Fachperson eine „Übersetzung“ zu erhalten bzw.               4.3 Themenbereich Entwurf
darauf, wichtige Szenarien gemeinsam durchzuspie-                Im Themenbereich Softwarearchitektur und Entwurf
len. Ebenso hat man als Softwarekunde einen An-                  liegt der Schwerpunkt auf der Modellierung der
spruch, von den Entwickler::innen deren z.B. in for-             Struktur und des Verhaltens von Softwaresystemen
maler Form notiertes Verständnis der Anforderun-                 als Baupläne im Sinne von (Lamport, 2015). Zur
gen erklärt zu bekommen. Dies kann insbesondere                  Strukturmodellierung führen wir eine übersichtliche
durch Szenarien gelingen (vgl. (Arenis u. a., 2016)).            Teilsprache der Klassendiagramme von UML ein, die
Für jedes von dem/der Kund::in formulierte Szena-                im wesentlichen Klassen mit Attributen von Basisty-
rio können Entwickler::innen auf Basis der formalen              pen und gerichteten Assoziationen der Multiplizitä-
Beschreibung Auskunft geben, ob ihrem Verständnis                ten 0,1 und 0,∗ mit Ownership umfasst.Neben der be-
nach dieses Szenario erwünscht oder unerwünscht                  kannten Sicht, Klassendiagramme als Visualisierung
ist. Bei Verwendung formaler Beschreibungen ist die-             von (Klassen in) Programmen zu betrachten, beto-
se Auskunft objektiv und beliebig reproduzierbar.                nen wir die Sicht eines abstrakten (von der Pro-
   Die Klausur umfasst Aufgaben verschiedener Taxo-              grammierung zunächst unabhängigen) Strukturmo-
nomie-Stufen zu ET, vom Beweis z.B. der Vollstän-                dells. Die abstrakte Syntax eines Klassendiagramms
digkeit einer ET, über die Analyse einer gegebenen               ist eine Signatur mit Klassen, Basis- und abgeleiteten
ET auf Konsistenz bis hin zur Erstellung einer klei-             Typen, und je Klasse der Menge der Attribute dieser
nen ET zu einem Text. Die Ergebnisse (vgl. (Westphal,            Klasse. Die Semantik eines Klassendiagramms ist die
2018)) sind sehr erfreulich. Den gesamten Aufgaben-              Menge der über dieser Signatur bildbaren System-
bereich lösten in 2015 bis 2017 mehr als 50 % der                zustände (OMG, 2006), d.h. partiellen Funktionen,
Teilnehmer::innen mit 14 bzw. 13 von 15 Punkten,                 die (einige) Objektidentitäten auf jeweils eine Bele-
liegen also im guten oder sehr guten Bereich, obwohl             gung der Attribute mit Werten abbilden. Systemzu-
wir die Analyseaufgabe klar den „schweren“ Aufga-                stände können graphisch (ohne Informationsverlust)
ben der Klausur zuordnen. Die Grenze zum unteren                 durch vollständige Objektdiagramme dargestellt wer-
Quartil liegt bei erfreulichen 12,5 bzw. 12 Punkten.             den. Hier stellen wir die Anwendung von Objektdia-
4.2.2 Live Sequence Charts                                       grammen in der Dokumentation und Spezifikation
Als komplexen Formalismus (mit höherer Ausdrucks-                heraus. Wenn der Aufwand, bestimmte Annahmen
stärke und Informationsdichte, und höherem Auf-                  einer Datenstruktur z.B. mit OCL zu formalisieren,
wand zur Definition von (abstrakter) Syntax und Se-              in einem Projekt als zu hoch bewertet wird, kann
mantik) haben wir Live Sequence Charts (Damm u.                  eine geeignete Auswahl von Objektdiagrammen her-
Harel, 2001) (LSCs) ausgewählt, eine formale Vari-               vorragend zur Spezifikation dieser Annahmen „durch
ante der weit verbreiteten Sequenzdiagramme. Wir                 Beispiel“ verwendet werden. Wenn etwa eine Listen-
führen die Automatensemantik für LSCs nach (Klo-                 struktur nur unter der Annahme verwendet werden
se u. Wittke, 2001) ein, inklusive Chart-Modus, Cold             darf, daß keine Zyklen konstruiert werden.
Conditions, und Pre-Charts. Ein System erfüllt eine                 Eigenschaften von Strukturen können mit Hilfe der
(universelle) LSC genau dann, wenn alle Berechnun-               Object Constraint Language (OCL) formalisiert wer-
gen des Systems von dem aus der LSC konstruier-                  den. Hier führen wir Proto-OCL ein, eine Teilspra-
ten Automaten akzeptiert werden. Weiterhin führen                che der OCL, deren konkrete Syntax sich an der den
wir aus, wie LSCs (bzw. ihre Automaten) in der auto-             Studierenden vertrauten Form der Logik erster Stufe
matischen Testdurchführung verwendet werden kön-                 orientiert. Die Semantik von Proto-OCL ist eine In-
nen (Klose u. Lettrari, 2001).                                   terpretationsfunktion, die eine gegebene Proto-OCL-
   Die Klausur umfasst Aufgaben zur Konstruktion                 Formel und einen gegebenen Systemzustand (oder
der Automaten sowie erfragt Beispiele für akzeptier-             ein vollständiges Objektdiagramm) auf einen der drei
te bzw. nicht akzeptierte Systemberechnungen. Nicht              (!) Werte true, false und ⊥ abbildet. Wir stellen die
zuletzt da die Einführung von LSCs den technisch an-             Besonderheiten heraus, daß OCL Assoziationen ver-
spruchsvollsten Teil unserer Vorlesung darstellt, se-            schiedener Multiplizität verschieden behandelt sowie
hen wir diese Aufgaben im „mittleren“ und „schwe-                die Bedingungen, unter denen man eine Auswertung
ren“ Bereich, der am Ende die guten und sehr guten               zum dritten Wahrheitswert beobachten kann.
Gesamtnoten entscheidet. Mit den Resultaten sind                    Für die konstruktive Modellierung von Verhalten
wir auch hier zufrieden, das untere Quartil endet bei            führen wir eine einfache Teilsprache von State-
8,5 bzw. 7 von 15 bzw. 16 Punkten, das obere Quartil             Machines ein. Unsere Communicating Finite Automa-
beginnt bei 13 bzw. 12 Punkten.                                  ta (CFA) sind im Wesentlichen nicht-hierarchische
   Im ersten Jahr waren wir von den guten Ergebnis-              State-Machines mit Rendezvous-Synchronisation,
sen bei aller Zuversicht positiv überrascht. Wir hatten          d.h. zwei Kanten in verschiedenen Automaten
uns vereinzelt vorgetragenen Sorgen, daß die LSC-                können eine Transition begründen, wenn je eine
Semantik zu schwer sein könnte, nicht völlig entzie-             der Kanten bzgl. eines Events sende- bzw. emp-
hen können und entsprechend Vorsorge getragen, die               fangsbereit ist. Dieses Synchronisationsparadigma
Aufgaben zu LSCs ggf. aus der Wertung zu nehmen.                 ist mit durch State-Machines implementierten

                                                            10
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                    30
                                                                                       Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                            Bernd Westphal, Uni Freiburg


Behavioural Features in UML vergleichbar jedoch                         ment von Soll ist. Hier betonen wir ((Ludewig u. Lich-
nicht (ohne weitere Annahmen) identisch. Zu dieser                      ter, 2013) folgend) besonders den Aspekt, daß die
Abweichung von der UML-Semantik haben wir uns                           Begriffe des positiven und negativen Tests relativ zu
vorrangig aus zwei Gründen entschieden. Einerseits                      Soll-Werten (die sich ggf. aus (formalen) Anforderun-
erfordert die formale Einführung des abstrakten                         gen ableiten lassen) definiert sind. Die Resultate der
Event-Speichers (in der die UML-Semantik be-                            Klausuraufgaben zum Testen sind durchweg ordent-
kanntlich parametrisiert ist) sowie einer konkreten                     lich, jedoch sind wir jedes Jahr wieder überrascht,
Ausprägung, etwa einer empfängerseitigen FIFO-                          daß eine signifikante Anzahl der Studierenden keine
Queue, wie sie IBM Rhapsody verwendet, in unserer                       Soll-Werte angibt, obwohl explizit nach einer erfolglo-
UML-Veranstaltung ca. 2 Vorlesungen. Der Erkennt-                       sen Test-Suite gefragt wird.
nisgewinn im Vergleich zum Aufwand erscheint uns                           Als gegenüber den etablierten Lehrbüchern neu-
für eine Softwaretechnik-Veranstaltung zu gering.                       en Inhalt präsentieren wir Programmverifikation
Andererseits steht mit Uppaal (Larsen u. a., 1997)                      nach (Hoare, 1969) in der Form des Lehrbuchs (Apt
ein Werkzeug zur Erstellung, Simulation und Verifi-                     u. a., 2009). Für die Übungen verwenden wir das
kation von (insbesondere)9 CFAs mit einer reichen                       Web-Interface des Verifying C Compilers (Cohen u. a.,
Programmiersprache für Guards und Aktionen zur                          2009) (VCC) und diskutieren als weiterführende Fra-
Verfügung, das nicht zuletzt aufgrund seines sehr gut                   gen den Unterschied zwischen der Verifikation eines
auf das Wesentliche reduzierten User-Interfaces10                       Algorithmus und der Verifikation eines C-Programms
hervorragend für unsere Ziele geeignet ist.11                           unter Annahmen über die Ausführungsplattform. Die
   Die Übungsblätter zu CFA umfassen Aufgaben zur                       Klausuraufgabe besteht üblicherweise darin, eine ge-
Erstellung eines Modells eines verteilten Algorithmus                   gebene Beweisskizze mit den verwendeten Axiomen
für Mutual-Exclusion (das den Teilnehmer::innen als                     und Beweisregeln zu annotieren. Hier erreicht das
Problem aus der Betriebssysteme-Vorlesung bekannt                       obere Quartil zwischen 5,5 und 7 von 7 Punkten, das
sein müsste), zur Simulation verschiedener Abläu-                       untere Quartil endet bei 3 bis 5 Punkten.
fe und zur Verwendung von Uppaal’s Temporallogik
(Query Language) zur Spezifikation und Verifikati-                      5   Lehrevaluation
on der Mutual-Exclusion-Eigenschaft. Mit den Übun-                      Da die Veranstaltung neu konstruiert wurde, beob-
gen verfolgen wir insbesondere das Ziel, das mäch-                      achten wir seit der ersten Durchführung verschiedene
tige Modellierungskonzept des Nichtdeterminismus                        Metriken (vgl. Abschnitt 4.1) auf Indizien für Fehlent-
und die durch nebenläufiges Verhalten induzierten                       wicklungen. Daten beziehen wir aus dem Übungsbe-
Schwierigkeiten sichtbar zu machen.                                     trieb, den Klausuren und der zentralen Evaluation.
   In der Klausur ist üblicherweise der Transitions-                       In der Evaluation beachten wir besonders die
graph eines gegebenen Systems von mehreren CFAs                         Aspekte „Workload“ und „Niveau“ (Uttl u. a., 2017)
zu erstellen. Mit den Ergebnissen sind wir durchweg                     und die Freitexte. Den Workload sehen über alle
zufrieden, der Median liegt zwischen 10 und 12,25                       4 Jahre gesehen rund 62 % der Studierenden als ‚mit-
von 13 Punkten, das obere Quartil beginnt zwischen                      tel‘ und rund 30 % als ‚hoch‘, das Niveau sehen rund
12 und 13 Punkten, liegt also im sehr guten Bereich.                    62 % als ‚angemessen‘ und rund 29 % als ‚hoch‘. Dies
4.4     Themenbereich Qualitätssicherung                                entspricht vollständig unserem Ziel für eine universi-
                                                                        täre Lehrveranstaltung.
Im Themenbereich Qualitätssicherung betrachten wir
                                                                           Den Lernerfolg bzgl. des Lernziels der Vermittlung
speziell die Prüfung von Programmcode. Hier disku-
                                                                        von Methoden und Techniken messen wir anhand der
tieren wir zunächst die Disziplin des Softwaretestens.
                                                                        Klausurergebnisse, mit denen wir über alle 4 Jahre
Dem formalen Charakter der gesamten Veranstaltung
                                                                        sehr zufrieden sind. Das viel interessantere Lernziel
folgend, führen wir Testfälle als Paare (In, Soll) aus
                                                                        der Vorbereitung auf das „echte Leben“ läßt sich lei-
einer (Menge von) Eingabe(n) und Soll-Wert(en) ein.
                                                                        der notorisch nicht gut messen. Als ein positives In-
Eine Ausführung eines Testfalls ist eine Beobachtung
                                                                        diz sehen wir unsere und von Kolleg::innen berichte-
des Systems, die Eingaben entsprechend In erhält,
                                                                        te Erfahrung aus Vorgesprächen zu individuellen Pro-
was ein einzelner Wert oder eine Sequenz von z.B.
                                                                        jekten wie etwa B. Sc.-Arbeiten. Hier nehmen wir die
Events sein kann. Ein Test ist negativ (Test passed) ge-
                                                                        Inhalte der Vorlesung als (angestrebten) soliden Be-
nau dann, wenn die betrachtete Beobachtung ein Ele-
                                                                        zugspunkt wahr, um über spezialisierte Aufgabenstel-
    9 Daß Uppaal für CFAs mit Uhrenvariablen, also Timed Automa-        lungen zu sprechen. Wir hoffen, daß sich die Veran-
ta, entwickelt wurde, verschweigen wir schlankerhand.                   staltung ebensogut als Bezugspunkt für den Einstieg
  10 Aus denselben Überlegungen führen wir kein Werkzeug zur
                                                                        in die berufliche Karriere der Studierenden eignet.
Erstellung von Klassendiagrammen ein. Die für die Einarbeitung
in die Bedienung der meisten dieser Werkzeuge notwendige Zeit
steht unserer Meinung nach in keinem akzeptablen Verhältnis zu          6   Zusammenfassung
den Absichten z.B. unserer Übungen (vgl. (Glinz, 1996)).
  11 Einige Teilnehmer::innen unserer UML-Veranstaltung, in der         Formale Methoden werden zunehmend in vielen
wir IBM Rhapsody verwenden, vermissen die mächtige und leicht           Bereichen der Softwaretechnik angewandt. Unserer
zu bedienende Simulationsfunktion von Uppaal.                           Überzeugung nach ist es hilfreich, wenn die Bedeu-

                                                                   11
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                           31
                                                                                 Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                      Bernd Westphal, Uni Freiburg


tung formaler Beschreibungen vollständig durchdrun-               [Glinz 1996] G LINZ, M.: The Teacher: “Concepts!”
gen wird und die aus formalen Analysen zu ziehen-                   The Student: “Tools!”. In: Softwaret.-Trends 16
den Schlüsse verstanden werden.                                     (1996), Nr. 1
  Unsere Erfahrung zeigt, daß es möglich ist, eine
Veranstaltung zur Einführung in die Softwaretechnik               [Hoare 1969] H OARE, C. A. R.: An axiomatic basis
im Grundstudium um genau diese Aspekte zu ergän-                    for computer programming. In: CACM 12 (1969),
zen ohne hierbei die Inhalte der etablierten Lehrbü-                Nr. 10, S. 576–580
cher zu vernachlässigen.                                          [IEEE 1990] IEEE: Standard Glossary of Software En-
  Danksagungen. Wir danken Sergio Feo Arenis und                    gineering Terminology, 1990. – Std 610.12-1990
Christian Schilling für ihre Unterstützung als Assistenten
                                                                  [IEEE 1998] IEEE: Recommended Practice for Softwa-
der ersten beiden bzw. des letzten Jahres. Ohne die Ge-
                                                                    re Req. Specifications, 1998. – Std 830-1998
spräche mit Sergio und Christian und ihre Ausarbeitung
und Weiterentwicklung der Übungsaufgaben wäre die Ver-            [ISO/IEC/IEEE 2010] ISO/IEC/IEEE: Systems and
anstaltung in ihrer heutigen Form nur schwer vorstellbar.           software eng. – Vocabulary, 2010. – 24765:2010(E)
Weiterhin danken wir unseren stud. Hilfskräften für ihre
engagierte Mitarbeit an Aufgaben und Tutorials.                   [Klose u. Lettrari 2001] K LOSE, J. ; L ETTRARI, M.:
                                                                    Scenario-based Monitoring and Testing of Real-
Literatur                                                           time UML models. In: G OGOLLA, M. (Hrsg.) u. a.:
                                                                    UML Bd. 2185, Springer, 2001 (LNCS)
[Anderson u. a. 2001] A NDERSON, L. W. (Hrsg.) u. a.:
  A Revision of Bloom’s Taxonomy of Educational Ob-               [Klose u. Wittke 2001] K LOSE, J. ; W ITTKE, H.: An
  jectives. Longman, 2001                                           Automata Based Representation of Live Sequence
                                                                    Charts. In: M ARGARIA, T. (Hrsg.) u. a.: TACAS,
[Apt u. a. 2009] A PT, K. R. ; B OER, F. S. ; O LDEROG,
                                                                    Springer, 2001 (LNCS 2031)
  E.-R.: Verification of Sequential and Concurrent Pro-
  grams. Springer, 2009                                           [Krusche u. a. 2017] K RUSCHE, S. ; F RANKENBERG, N.
                                                                    von ; A FIFI, S.: Experiences of a Software Engi-
[Arenis u. a. 2016] A RENIS, S. F. ; W ESTPHAL, B. u. a.:
                                                                    neering Course based on Interactive Learning. In:
  Ready for testing: ensuring conformance to indus-
                                                                    SEUH, 2017, S. 32–40
  trial standards through formal verification. In:
  FAoC 28 (2016), Nr. 3, S. 499–527                               [Lamport 2015] L AMPORT, L.: Who builds a house
                                                                    without drawing blueprints? In: CACM 58 (2015),
[Balzert 2009] B ALZERT, H.: Lehrbuch der Softwa-
                                                                    Nr. 4, S. 38–41
  retechnik: Basiskonzepte und Requirements Enginee-
  ring. 3rd. Spektrum, 2009                                       [Langenfeld u. a. 2016] L ANGENFELD, V. ; P OST, A.
                                                                    u. a.: Requirements Defects over a Project Lifeti-
[Biggs u. Tang 2011] B IGGS, J. ; TANG, C.: Teaching
                                                                    me. In: D ANEVA, M. (Hrsg.) u. a.: REFSQ Bd. 9619,
  for Quality Learning at University. 4th. Open Uni-
                                                                    Springer, 2016 (LNCS), S. 145–160
  versity Press, 2011
                                                                  [Larsen u. a. 1997] L ARSEN, K. G. ; P ETTERSSON, P. ;
[Bjørner 2006a] B JØRNER, .: SWE, Vol. 1: Abstraction
                                                                    Y I, W.: U PPAAL in a Nutshell. In: STTT 1 (1997),
  and Modelling. Springer, 2006
                                                                    Dezember, Nr. 1, S. 134–152
[Bjørner 2006b] B JØRNER, D.: SWE, Vol. 2: Specifica-
                                                                  [Lehmann u. a. 2015] L EHMANN, T. u. a.: Lecture En-
  tion of Systems and Languages. Springer, 2006
                                                                    gineering. In: S CHMOLITZKY, A. (Hrsg.) u. a.: SEUH
[Bjørner 2006c] B JØRNER, D.: SWE, Vol. 3: Domains,                 Bd. 1332, CEUR-WS, 2015, S. 103–109
  Req. and Software Design. Springer, 2006
                                                                  [Ludewig u. Lichter 2013] L UDEWIG, J. ; L ICHTER, H.:
[Bloom 1956] B LOOM, B. S. (Hrsg.): Taxonomy of                     Software Engineering. 3rd. dpunkt, 2013
  Educat. Objectives: Cognitive Domain. Longman,
                                                                  [OMG 2006] OMG: Object Constraint Language, Ver-
  1956
                                                                    sion 2.0. formal/06-05-01, 2006
[Cohen u. a. 2009] C OHEN, E. u. a.: VCC: A Practical
                                                                  [Rupp u. a. 2014] R UPP, C. u. a.: Requirements-
  System for Verifying Concurrent C. In: B ERGHOFER,
                                                                    Engineering und -Management. 6th. Hanser, 2014
  S. (Hrsg.) u. a.: TPHOLs Bd. 5674, Springer, 2009
  (LNCS), S. 23–42                                                [Sedelmaier u. Landes 2017] S EDELMAIER, Y. ; L AN -
                                                                    DES , D.: Experiences in Teaching and Learning Req.
[Damm u. Harel 2001] D AMM, W. ; H AREL, D.: LSCs:
                                                                    Engineering on a Sound Didactical Basis. In: D AVO -
  Breathing Life into Message Sequence Charts. In:
                                                                    LI , R. (Hrsg.) u. a.: ITiCSE, ACM, 2017, S. 116–121
  FMSD 19 (2001), Juli, Nr. 1, S. 45–80
                                                                  [Siegeris 2017] S IEGERIS, J.: LearnTeamPlenum. In:
                                                                    SEUH, 2017, S. 1–7
                                                             12
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                     32
                                                                                Formale Methoden in der Softwaretechnik-Vorlesung
                                                                                                     Bernd Westphal, Uni Freiburg


[Sommerville 2010] S OMMERVILLE, I.: Software Engi-                lated. In: Stud. Educat. Eval. 54 (2017), S. 22 – 42
  neering. 9th. Pearson, 2010
                                                                 [Westphal 2018] W ESTPHAL, B.: An Undergraduate
[Uttl u. a. 2017] U TTL, B. u. a.: Meta-analysis of fa-            Requirements Engineering Curriculum with Formal
  culty’s teaching effectiveness: Student evaluation               Methods. In: REET, IEEE, 2018, S. 1–11
  of teaching ratings and student learning are not re-




                                                            13
V. Thurner, O. Radfelder, K. Vosseberg (Hrsg.): SEUH 2019                                                                    33