• Keine Ergebnisse gefunden

SS 2004 – ¨ Ubungsblatt 4 26. Mai 2004

N/A
N/A
Protected

Academic year: 2022

Aktie "SS 2004 – ¨ Ubungsblatt 4 26. Mai 2004"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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 4 26. Mai 2004

Ausgabe: 20. Mai 2004

Aufgabe 1. OCL 2.0

Lesen Sie in der OCL 2.0 Spezifikation http://neptune.irit.fr/Biblio/03-01-07.pdf

die zur Beantwortung der folgenden Fragen notwendigen Abschnitte und beantworten Sie die Fragen dann unter Zitierung der genauen Re- ferenzstellen der Spezifikation:

Welchen Collection-Ergebnistyp erh¨alt man in einem OCL- Ausdruck beim Durchlaufen von mehr als einer Assoziation mit der Vielfachheit * ?

Welche Typen haben im Kontext vonPersondie OCL-Ausdr¨ucke haus.hypotheken

sowie

haus.hypotheken->asSet()?

Welchen Ergebnistyp hat der Ausdruck

haus.hypotheken->asSet().kreditSumme? (Hinweis: das ist eine Kurzschreibweise von

haus.hypotheken->asSet()->collect(kreditSumme).) Was berechnet deshalb jeweils

haus.hypotheken.kreditSumme->sum() beziehungsweise

haus.hypotheken->asSet().kreditSumme->sum() sowie

haus.hypotheken->asSet().kreditSumme->asSet()->sum()?

Wie rundet die Operationround()jeweils die Zahlen3.0,3.5,

3.2, 3.2, 3.5 und 3.7. Begr¨unden Sie mit Hilfe der Nachbedingung der round()-Operation! Diskutieren Sie analoge Beispiele f¨ur die floor()-Operation.

Konstruieren Sie repr¨asentative Zahlenbeispiele f¨ur die Erkl¨arung der ganzzahligen Divisiondiv() und erl¨autern Sie die Ergebnisse mit Hilfe der div()-Nachbedingung.

1

(2)

Wie ist die Nachbedingung f¨ur die Collection-Operation size() zu interpretieren?

Erl¨autern Sie die Nachbedingungen der Set-Operation symmetricDifference(s:Set(T)):Set(T). Warum ist jede einzelne n¨otig (je Gegenbeispiele bei Weglassen)?

Was liefert derat()-Operator beim Datentyp Bag?

Aufgabe 2. OCL-Tool Octopus

Nehmen Sie das Eclipse-Plugin Octopus wie in

http://www.math.uni-wuppertal.de/∼buhl/teach/exercises/FormMeth/skript.pdf#OctopusAnleitung.0

(Seite 2) beschrieben in Betrieb und legen Sie ein erstes Octopus- Projekt PersonDatumTag gem¨aß Abschnitt 1.5.10 mit den dort be- schriebenen OCL-Einschr¨ankungen f¨ur die Klasse Datum an.

Modifizieren Sie die Einschr¨ankungen gem¨aß der Tageszahlabh¨angig- keit vom Monat (und Jahr).

Warum ist die Klasse Tage in der beschriebenen Form als Ergebnis- typ f¨ur eine Infixoperation Minus von Exemplaren der Klasse Datum nicht geeignet? Welche Modifikationen sind zur Behebung des Problems n¨otig?

Erg¨anzen Sie die folgenden Einschr¨ankungen zur Klasse Person:

/*

This file contains OCL expressions regarding core::Person.

File generated by Octopus on Mon May 17 20:29:15 CEST 2004

*/

package core context Person inv: alter >= 0 inv: alter < 200 inv: name <> ’’

inv: let aktAlter : Tage = (Datum::today() - geburtsDatum) in aktAlter.toReal() >= alter and aktAlter.toReal() < alter + 1 endpackage -- core

Welche explizite Spezifikation k¨onnte die implizite zur Kl¨arung der Abh¨angigkeit des redundanten (

”derived“) Attributs alter von geburtsDatum ersetzen?

2

(3)

Aufgabe 3. Sparbuch in Octopus

Bringen Sie Ihre UML/OCL- ¨Uberlegungen von ¨Ubungsblatt 1 im Pro- blemkreis Sparbuch, Euro, ... in ein Octopus-Projekt ein. ¨Uber- pr¨ufen Sie die syntaktische Korrektheit Ihrer OCL-Einschr¨ankungen.

Schicken Sie abschließend die *.uml und die *.ocl-Dateien an den Ubungsgruppenleiter.¨

Aufgabe 4. Person/Firma/Bank in Octopus

Bringen Sie Ihre UML/OCL- ¨Uberlegungen von ¨Ubungsblatt 2 im Pro- blemkreis Person, Firma, Bank, ... in ein Octopus-Projekt ein.

Uberpr¨¨ ufen Sie die syntaktische Korrektheit Ihrer OCL-Einschr¨ankun- gen. Schicken Sie abschließend die *.uml und die *.ocl-Dateien an den Ubungsgruppenleiter.¨

Aufgabe 5. ocle Lesen Sie

http://lci.cs.ubbcluj.ro/ocle/links.htm und beantworten Sie die folgenden Fragen:

Welche Code-Generierungseigenschaften enth¨alt ocle?

Welche Vorteile scheint Ihrer Meinung nach ocle gegen¨uber Octo- pus zu haben?

3

Referenzen

ÄHNLICHE DOKUMENTE

1. Welche der folgenden Aussagen sind wahr und welche sind falsch? Begründen Sie Ihre Antworten. Geben Sie Beispiele, wo es Ihnen geeignet erscheint. a) Jedes Argument mit einer

Falls zwei Interrupts zeitgleich auftreten wird der Interrupt mit der höchsten Dringlichkeit zuerst be- handelt. 6.1.4 Interrupts des

zur Vorlesung

Geben Sie die Definitionen der Begriffe Unifikator und allgemeinster Unifikator

17 Spary, Christiane: „Der OPAC der Zukunft – neue Wege der Erschließung.“ In: VDB-Mitteilungen 2004, 2, S.. Verfügung stehenden Ressourcen auch nur ansatzweise

[r]

Untersuchungen zur mittelalterlichen Baugeschichte, München / Berlin: Deutscher Kunstverlag 2003 Rezensiert von: Ulrike Gentz. Kristina Krüger: Die romanischen Westbauten in Burgund

Ziel dabei ist, das Wissen über die soziale und kulturelle Bedeutung von Technik zu vertiefen sowie Kompe- tenzen für einen konstruktiven und verantwortungsbewussten Umgang mit