• 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 23. Mai 2017

Formale Methoden

SS 2017 – Übungsblatt 5 Ausgabe: 25. Mai 2017

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

Aufgabe 1. Unterverträge

Erläutern Sie, warum die Nachbedingung eines Modifikators einer

„is-a“ Unterklasse im Falle der Gültigkeit der Vaterklassenvorbedingung nicht schwächer sein darf als die Vaterklassennachbedingung, jedoch andernfalls „beliebig“ sein darf:

--- Fussgaengerbruecke QUERIES

MaxLast : REAL AktLast : REAL INVARIANTS

MaxLast >= 7500 AktLast <= MaxLast ACTIONS

ueberquereBruecke( IN gew : REAL,

OUT Guthaben : INTEGER ) PRE

gew + AktLast <= MaxLast gew <= 200

Guthaben >= 2 POST

AktLast = OLD(AktLast) + gew Guthaben = OLD(Guthaben) - 2 verlasseBruecke( IN gew : REAL )

...

sowie ein Subcontract:

(2)

--- Autobruecke QUERIES

MaxLast : REAL AktLast : REAL INVARIANTS

MaxLast >= 800000 AktLast <= MaxLast ACTIONS

ueberquereBruecke( IN gew : REAL,

OUT Guthaben : INTEGER ) PRE

gew + AktLast <= MaxLast gew <= 20000

Guthaben >= 20 POST

AktLast = OLD(AktLast) + gew

OLD(gew) <= 200 IMPLIES Guthaben = OLD(Guthaben) - 2 NOT OLD(gew) <= 200 IMPLIES Guthaben = OLD(Guthaben) - 20 verlasseBruecke( IN gew : REAL )

...

Aufgabe 2. Ein UML-Modell

Konzipieren und konstruieren Sie ein Klassenmodell im Umfeld Bestellung, Lieferschein und Rechnung.

Aufgabe 3. Softwarefehler

Welche Fehler führten in http://www.heise.de/newsticker/meldung/44621 zu einer Katastro- phe? Welche konstruktiven Maßnahmen hätten dieser vorbeugen können?

Aufgabe 4. isEmpty(), DataType

Wie wird in OCL (2.3.1) die abgeleitete Abfrage isEmpty() für die CollectionSet in Form einer Nachbedingung spezifiziert, wie die Funktionfloor()fürReal?

Suchen Sie vier andere interessante Nachbedingungen und erläutern Sie diese.

Lesen Sie Kapitel 10.2 (DataTypes) in UML2.5-beta.

Wie wird DataType erklärt? Welche Bedeutung hat der kleine gefüllte Punkt am Rollenende DataType::ownedAttribute beziehungsweise am Rollenende Property::datatype in Figure 10.1?

Skizzieren Sie die Diagramme zweier Objekt-Instanzen der Klasse Person aus Figure 10.3 oben genannten Dokuments, die beim Vergleich den Werttrueliefern.

Aufgabe 5. Heartbleed und welche Tools es (nicht) verhindern konnten Lesen Sie

How to Prevent the next Heartbleed

und erstellen Sie eine Übersicht über die dort bespochenen Software- Qualitätssicherungstools (jeweils Angabe, für was sie gut nutzbar sind).

Warum ist der Einsatz von Formalen Methoden auf dem Proof-Level nach Heartbleed and Formal Methods

nicht sinnvoll. Was sollte stattdessen genutzt werden,SQAzu realisieren?

Seite 2

Referenzen

ÄHNLICHE DOKUMENTE

Beim Hochfahren eines Server habe sich ein Fehler eingeschli- chen, so dass die Geldautomaten nicht mehr funktionierten. Die Sparkasse ¨offnete stadtdessen f¨unf Filialen, damit

– Falls eine Invariante die Attribute mehr als einer Klasse einschr¨ ankt, kann jede dieser Klassen als Kontext gew¨ ahlt werden. Eventuell kann man einer dieser Klassen

– Falls eine Invariante die Attribute mehr als einer Klasse einschr¨ ankt, kann jede dieser Klassen als Kontext gew¨ ahlt werden. Eventuell kann man einer dieser Klassen

Wie wird in OCL (2.3.1) die abgeleitete Abfrage isEmpty() für die Collection Set in Form einer Nachbedingung spezifiziert, wie die Funktion floor() für Real. Suchen Sie vier

Eine formale Spezifikation ist auch nicht um jeden Preis und f¨ur alle Teile eines Systems sinnvoll. Nicht- sicherheitskritische Teile m¨ussen nicht unbedingt formal

Eine formale Spezifikation ist auch nicht um jeden Preis und f¨ur alle Teile eines Systems sinnvoll.. Nicht- sicherheitskritische Teile m¨ussen nicht unbedingt formal

Wer Anfang Januar Euro-Betr¨age von Geldautomaten dieser Bank be- zogen hat, durfte sich am heutigen Freitag wundern, dass ihm die Bank das 1,95- fache vom Konto abgebucht

W¨ ahlen Sie im Model-View-Fenster core an und klicken Sie danach auf das UML-Icon des Model-View-Fensters: Es erscheint ein schon vorausgef¨ ullter Dateiinhalt f¨ ur das Package