• 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 Fakultät für

Mathematik und Naturwissenschaften, Mathematik und Informatik

E-MAIL buhl@math.uni-wuppertal.de WWW www.math.uni-wuppertal.de/~buhl DATUM 1. Juni 2017

Formale Methoden

SS 2017 – Übungsblatt 6 Ausgabe: 1. Juni 2017

Abgabe bis 15. Juni 2017 an:mailto:1449250@uni-wuppertal.de

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

Vergleichen Sie den formalen Vertrag für die KlasseColor(vgl. Vorlesung oder http://www.cs.uwlax.edu/∼riley/CS220F12/lectures/3.1-LectO2_Specs.pdf#page=5) der JFC mit dem informalen (vgl.https://www.dpunkt.de/java/Referenz/Das_Paket_java.awt/27.html).

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 und -Redesign

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

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

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

Warum sind die oben genannten forAll()-Nachbedingungen und die KEY->select()-Anweisung eventuell auszukommentieren?

Ä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?

(2)

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. Floatingpoint-Vergleiche auf Wertegleichheit

Lesen Sie die auf Seite 92 der Materialsammlung zitierten Artikel zur Floatingpoint- Maschinengenauigkeit.

Wie muß man also zwei Gleitkommawerte auf (annähernde) Gleichheit testen?

Lesen Sie dazu zusätzlich auch die Diskussionen in How should I do floating point comparison?

und

Comparing floating point numbers.

Seite 2

Referenzen

ÄHNLICHE DOKUMENTE

I Teil I: Grundlagen der Formalen Logik I Teil II: Arbeiten mit Isabelle.. I Grundlagen

I Automatische Beweisprozeduren: simp, blast, clarify, auto. I Funktionsdefinition: fun

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

(Computerprogramme), die entscheiden k¨ onnen, ob eine Kette zu einer bestimmten formalen Sprache geh¨ ort oder nicht... Wenn Verwechslungsgefahr besteht, schreiben wir hai f¨ ur

• Diese beiden Ableitungen sind intuitiv ¨aquivalent, weil die selben Regeln benutzt werden, und die Regeln auch auf die selben Teilketten angewendet werden.. Dabei betrachten

• Bei einem deterministischen Automaten ist in jedem Zustand f¨ ur jedes Eingabesymbol eindeutig festgelegt, in welchen Zustand der Automat wechselt. • Ein

Regul¨ are Ausdr¨ ucke, Typ-3-Grammatiken, deterministische endliche Automaten und nicht-deterministische Automaten beschreiben alle die selbe Klasse

Entweder Hans glaubt, dass es entweder so aussieht, als ob es entweder kalt regnet oder warm regnet, oder dass es hagelt, oder es