BERGISCHE UNIVERSIT ¨AT WUPPERTAL
GAUSS-STRASSE 20 42119 WUPPERTAL TELEFAX (0202) 439-2901 TELEFON (0202) 439-0
Fachbereich C
MATHEMATIK UND NATURWISSENSCHAFTEN Mathematik
Prof. Dr. Hans-J ¨urgen Buhl Praktische Informatik / Numerik
e-mail: Juergen.Buhl@math.uni-wuppertal.de
Formale Methoden
SS 2004 – ¨ Ubungsblatt 12 28. Juli 2004
Ausgabe: 22. Juli 2004
Aufgabe 1. Spezifikation Fachbereich/zentraleEinrichtung
Erg¨anzen Sie die Fallstudie Personaldaten um die Klassen Fachbereich und zentraleEinrichtung (die Abteilungen von Uni- versit¨aten). Ordnen Sie diese mit geeigneten Assoziationen dem Klas- senlayout der Fallstudie zu. Schreiben Sie f¨ur die neuen Klassen Con- straints in OCL2 und testen Sie diese in Octopus. Studenten werden verm¨oge ihres Studiengangs einem (oder mehreren?) Fachbereichen zu- geordnet. Modellieren Sie diese Zuordnung ebenfalls mit den n¨otigen Constraints.
Aufgabe 2. Spezifikation Universit¨atspersonal
Erg¨anzen Sie die Fallstudie Personaldaten um die Klassen ProfessorIn, wissMitarbeiterIn (wissenschaftlicher/e Mitarbei- ter/in) und nichtwissMitarbeiterIn. Ordnen Sie diese mit geeigne- ten Assoziationen dem Klassenlayout der Fallstudie zu. Schreiben Sie f¨ur die neuen Klassen Constraints in OCL2 und testen Sie diese in Oc- topus. MitarbeiterInnen haben vorgesetzte MitarbeiterInnen oder Pro- fessorInnen. Modellieren Sie dies geeignet ebenfalls mit Angabe von Constraints.
Versuchen Sie einen OCL-Ausdruck zu formulieren, der ausdr¨uckt, dass kein Mitarbeiter/keine Mitarbeiterin sein eigener Vorgesetzter/ihre ei- gene Vorgesetzte sein kann.
Aufgabe 3. VDM Mappings
Lesen Sie den folgenden Foliensatz:
http://www.csr.ncl.ac.uk/modelling-book/notes/mappings.pdf Beschreiben Sie (in eigenen Worten) VDM-Zeile f¨ur VDM-Zeile das beschriebene Fallbeispiel tracking manager. Wo sehen Sie noch Pro- bleme?
Aufgabe 4. VDM Rekursionen
Lesen Sie den folgenden Foliensatz:
http://www.csr.ncl.ac.uk/modelling-book/notes/recursion.pdf Schreiben Sie die im Foliensatz noch fehlenden Operationen TotalWeight(s),XOR(sba, sbb), gather(sr)sowieadd(i, t).
1