• Keine Ergebnisse gefunden

Formale Methoden

N/A
N/A
Protected

Academic year: 2022

Aktie "Formale Methoden"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. Hans-Jürgen Buhl Praktische Informatik/Numerik Fachbereich C

Mathematik und Naturwissenschaften, Mathematik und Informatik

E-MAIL buhl@math.uni-wuppertal.de WWW www.math.uni-wuppertal.de/~buhl DATUM 29. Mai 2013

Formale Methoden

SS 2013 – Übungsblatt 6 Ausgabe: 30. Mai 2013

Abgabe bis 6. Juni 2013 an:dsavvidi+fm@studs.math.uni-wuppertal.de

Aufgabe 1. Contract für Klasse java.awt.Color

Vergleichen Sie den formalen Vertrag für die KlasseColor(vgl. Vorlesung) der JFC mit der informalen

(vgl.http://www.geom.uiuc.edu/daeron/docs/apidocs/java.awt.Color.html#Color(float, float, float)).

Warum weicht die formale Spezifikation von den Regeln der SdV ab? Wie müsste sie geändert werden, damit sie den in der Vorlesung besprochenen Regeln genügt?

Aufgabe 2. SdV und OCL

Lesen Sie die Regeln der SdV in

Spezifikation durch Vertrag - eine Basistechnologie ...

und vergleichen Sie sie mit den in der Vorlesung besprochenen: wo entdecken Sie Abwei- chungen?

Fassen Sie die Aussagen dieses Artikels über OCL schriftlich zusammen.

Aufgabe 3. mydictionary-Verträge

Geben Sie die Klassemydictionary der Vorlesung alspapyrus*.uml-Datei ein.

Ergänzen Sie die Verträge als OCL-Constraints (Seite 71 der Materialsammlung).

Aufgabe 4. Meeting

Geben Sie das UML-Modell von Seite 5 aus

http://proglang.informatik.uni-freiburg.de/teaching/swt/2009/v11-ocl.en.pdf

ein. Testen Sie die OCL-Ausdrücke von Seite 5, 11, 13, 15 und 19. Sind sie syntaktisch kor- rekt? Schreiben Sie jeweils eine kurze präzise umgangssprachliche Erläuterung jedes be- nutzten OCL-Ausdrucks.

Aufgabe 5. SdV-Redesign mydictionary

Lösen Sie die Aufgaben auf Seite 72 der Materialsammlung:

(2)

– Warum sind die auf Seite 71 genanntenforAll()-Nachbedingungen auskommentiert?

– Ändern Sie das Design vonmydictionary, indem Siehas()zum abgeleiteten Obser- vator machen und einen neuen grundlegenden Observator usedKeys(): KEY [*]

einführen. Welchen Vorteil hat das?

– Schreiben Sie die Codeverträge für dieses neue Design um.

– Wie sieht es mit den expliziten Framebedingungen bei diesem neuen Design aus?

Seite 2

Referenzen

ÄHNLICHE DOKUMENTE

Designen Sie das Sparbuch aus Übungsblatt 2 neu nach den Prinzipien objektorientier- ter Programmierung (abstrakte Klasse Waehrung, abstrakte Klasse Konto, ...) und der SdV

Geben Sie das Modell Person/Arbeitsvertrag/Firma (Abbildung 1.10 der Materialsammlung) als UML-Datei ein und testen Sie alle Ihnen notwendig erscheinende selbst konzipierten

Java Vector Obsolete/Optional Data in Java8 and C++11 Lesen Sie die Artikel..

– Nach dem Hinzufügen einer Etage zu einem Haus mittels Haus::addEtage(e : Etage) enthält das Haus mindestens eine Etage.. – Nach dem Hinzufügen einer Etage zu einem Haus

OclHelper-Methoden erleichtern in Abschnitt 2.12 der Materialsammlung die Gültigkeitsüber- prüfung eines Tages/Monats/Jahres-Tripels auf Repräsentation eines gültigen Datums?. Wo

„A UML model with basic primitive types“ an und wechseln Sie vor Bearbeitung des Klassen- diagramms zur Papyrus-Perspektive!. Welche Abweichungen in der graphischen Darstellung

Vergleichen Sie den formalen Vertrag für die Klasse Color (vgl. Vorlesung oder http://www.cs.uwlax.edu/∼riley/CS220F12/lectures/3.1-LectO2_Specs.pdf#page=5) der JFC mit dem

Ergänzen Sie die beiden OclHelper-Attribute employer und employee aus Abschnitt 2.4 der Materialsammlung jeweils um Guards für den Fall der Vielfachheit 0.