• Keine Ergebnisse gefunden

Formale Methoden der Softwaretechnik

N/A
N/A
Protected

Academic year: 2022

Aktie "Formale Methoden der Softwaretechnik"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Methoden der Softwaretechnik

Till Mossakowski, Christoph Lüth Sommersemester 2011

Universität Bremen FB 3 — Mathematik und Informatik

Übungsblatt 3

Abgabe: 18.07.2011 Aufgabe 3.1(Texte formatieren)

Gegeben sei folgende Spezifikation:

1 The program’s input is a stream of characters whose end is signalled 2 with a special end-of-text character, ET. There is exactly one ET 3 character in each input stream. Characters are classified as:

4

5 * break characters - BL (blank) or NL (new line) 6 * non-break characters - all others except ET;

7 * the end-of-text indicator - ET.

8

9 A word is a nonempty sequence of non-break characters. A break is a 10 sequence of one or more break characters. Thus, the input can be 11 viewed as a sequence of words separated by breaks, with possibly 12 leading and trailing breaks, and ending with ET.

13

14 The program’s output should be the same sequence of words as in the 15 input, with the exception that an oversize word (i.e. a word

16 containing more than MAXPOS characters, where MAXPOS is a positive 17 integer) should cause an error exit from the program (i.e. a variable, 18 Alarm, should have the value TRUE). Up to the point of an error, the 19 program’s output should have the following properties:

20

21 a) A new line should start only between words and at the beginning 22 of the output text, if any.

23 b) A break in the input is reduced to a single break character in 24 the output.

25 c) As many words as possible should be placed on each line 26 (i.e. between successive NL characters).

27 d) No line may contain more than MAXPOS characters (words and BLs).

(J.

Goodenough, S. Gerhart:Towards a theory of test: Data selection criteria, in Current Trends in Programming Methodology Vol. 2, T. Yeh (ed.), Prentice-Hall 1977, pp. 44-79.)

(i) Gebe fünf Probleme in der Spezifikation an. Erläutere das Problem, eventuell mit einem Gegenbei- spiel, und klassifiziere es anhand der folgenden “Sieben Todsünden des Spezifizierers” (B. Meyer):

Noise: Unnecessary text that diverts the attention of the reader.

Remorse: Restrictions to a specification element made at the point where the element is used and not where it is defined.

Silence: Omission of specification elements which are considered “obvious” by the specifier.

Contradiction: Inconsistent statements made in the specification.

Over-specification: Description of a solution instead of pointing out the problem.

Ambiguity: Statements that can be interpreted in several ways.

Forward references: Usage of a concept before its proper definition.

— 1—

(2)

(ii) Formuliere (natürlichsprachlich) eine funktionale Spezifikation des Problems, analog zu Aufgabe 3.2.

(iii) Formuliere diese Spezifikation formal in Isabelle.

(iv) Gebe eine Implementation in Isabelle an.

(v) Beweise, dass die Implementation die Spezifikation erfüllt.

Die folgende Aufgabe wird in der Übung am 20.06.2011 gemeinsam gelöst und braucht nicht abgegeben zu werden:

Aufgabe 3.2(Worte zählen)

Gegeben folgende funktionale Spezifikation:

The program should read in a text and produce a count of the words in the text in the form of pairs of words occuring in the text, and their frequency, sorted by descending frequency.

Here, a text is a sequence of characters, and a word a sequence of alphanumeric characters separated by spaces, punctuation, or other non-alphanumeric characters.

(i) Formuliere diese Spezifikation formal in Isabelle.

(ii) Gebe eine Implementation in Isabelle an.

(iii) Beweise, dass die Implementation die Spezifikation erfüllt.

Dies ist Revision 1491 vom 2011-06-20.

— 2—

Referenzen

ÄHNLICHE DOKUMENTE

As Lauer claims, to establish – or rather, re-invent – literary studies on the grounds of cognitive empirical ap- proaches based on neurological data would significantly transform

The Analysis and Archiving of Heterogeneous Text Documents: Using Support of the Computer Program NUD*IST 4

Ancient Jewish tradition attaches significant consideration to the book of Leviticus, as it is by far the most quoted in rabbinic literature such as the Mishna or the Talmud. In

Tammann, Gustav Heinrich Johann Apollon; Boehme,W.. Die Ausscheidungen aus übersättigten Mischkristallen in

Here, however, we contend ourselves with the observation that a grammatical ordering process that locally rearranges the word-order generated by a structured word selection

But if offers the possibility to discuss on a whole area of related issues: The modern global situations, the people´s tendency to describe the world as “us

a) Read the text. Janet and John live in London. Janet is ten years old. John is eleven years old. Janet’s birthday is in May. She likes reading books and riding the bike.

Janet and John live in London. Janet is ten years old. John is eleven years old. Janet’s birthday is in May. She likes reading books and riding the bike. John’s birthday is in