Die Vorlesung Systeme hoher Sicherheit und Qualität wird anhand des folgenden Blockdefinitionsdiagramms spezifiziert:
Die Aufgaben sind bei 1 beginnend aufsteigend durchnummeriert. Welche der folgenden OCL Constraints sagen das aus?
context Website inv: exercises.number = exercises.number@pre + 1
context Exercise inv: number = 1 or Exercise.allInstances()->exists( e|e.number = number - 1)
context Lecture inv: number > 1 and exercise.exists(e|e.number = number - 1)
context Website inv: exercises->forAll(e| exercises->exists(f| e.number = 1 or e.number = f.number+1))
context Website inv: exercises->exists(e| exercises->forAll(f| e.number = 1 or e.number = f.number+1))
context Website inv: lectures->exists(l| exercises->forAll(e| e.number = 1 or e.lecture.number = l.number-1))
Die zusammengerechnete Schwierigkeit aller Übungen auf der Webseite soll höchstens 3 mal so groß aber wenigstens 2 mal so groß sein, wie die Anzahl der Vorlesungen auf der Webseite. Formulieren sie diese Eigenschaft als OCL Constraint.
Bevor eine Übung gehalten werden kann, muss eine Vorlesung mit gleicher Nummer auf der Webseite existieren. Formalisieren Sie diese Aussage in OCL
Es werden keine Daten übertragen. Per Klick auf "Ergebnis speichern" kann eine Datei gespeichert werden, welche die eingegebenen Ergebnisse enthält. Diese Datei sendet ihr bitte rechtzeitig bis Dienstag 23:59:59 an martin (punkt) ring (klammeraffe) dfki (punkt) de. Ihr könnt eure Abgabe später auch wieder laden und ansehen indem ihr auf "Ergebnis laden" klickt.