05.08.2013 Aufrufe

Funktionale Spezifikation

Funktionale Spezifikation

Funktionale Spezifikation

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

• Modellbildung erfolgt zu einem bestimmten Zweck<br />

• Zwecke müssen exakt definiert werden<br />

• eine Möglichkeit:<br />

funktionale <strong>Spezifikation</strong><br />

• Anwendungen:<br />

• Vertragsgrundlage<br />

• Korrektheitsnachweis<br />

• Wiederverwendung (interface)


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Grundprinzip<br />

• funktionale <strong>Spezifikation</strong><br />

• beschreibt das funktionale Verhalten als Ein-/<br />

Ausgaberelation<br />

• zwei Komponenten<br />

• Funktionalität (Definitions- u. Wertebereich)<br />

• Verhalten (Vor- und Nachbedingungen)


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Grundprinzip<br />

• funktionale <strong>Spezifikation</strong><br />

• beschreibt das funktionale Verhalten als Ein-/<br />

Ausgaberelation<br />

• zwei KomponentenX→Y<br />

• Funktionalität (Definitions- u. Wertebereich)<br />

• Verhalten (Vor- und Nachbedingungen)


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Grundprinzip<br />

• funktionale <strong>Spezifikation</strong><br />

• beschreibt das funktionale Verhalten als Ein-/<br />

Ausgaberelation<br />

X→Y<br />

• zwei Komponenten<br />

• Funktionalität (Definitions- u. Wertebereich)<br />

• Verhalten (Vor- und Nachbedingungen)<br />

zulässige<br />

Eingaben


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Grundprinzip<br />

• funktionale <strong>Spezifikation</strong><br />

• beschreibt das funktionale Verhalten als Ein-/<br />

Ausgaberelation<br />

X→Y<br />

• zwei Komponenten<br />

• Funktionalität (Definitions- u. Wertebereich)<br />

• Verhalten (Vor- und Nachbedingungen)<br />

zulässige<br />

Eingaben<br />

erwartete<br />

Ausgaben


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Definition:<br />

Definition<br />

Eine funktionale <strong>Spezifikation</strong> S besitzt<br />

die allgemeine Form:<br />

S: spec f: X→Y with<br />

f(x)=y where<br />

pre P(x)<br />

post Q(x,y).


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Definition:<br />

Definition<br />

Eine funktionale <strong>Spezifikation</strong> S besitzt<br />

f berechnete Funktion des<br />

die allgemeine Form:<br />

S: spec f: X→Y with<br />

f(x)=y where<br />

pre P(x)<br />

post Q(x,y).<br />

spezifizierten Programms


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Definition:<br />

Definition<br />

Eine funktionale <strong>Spezifikation</strong> S besitzt<br />

f berechnete X, Y Ein-/Ausgabemenge Funktion des des<br />

die allgemeine Form:<br />

S: spec f: X→Y with<br />

f(x)=y where<br />

pre P(x)<br />

post Q(x,y).<br />

spezifizierten spezifizierten Programms Programms


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Definition:<br />

Definition<br />

Eine funktionale <strong>Spezifikation</strong> S besitzt<br />

f berechnete X, Y Ein-/Ausgabemenge Funktion des des<br />

die allgemeine Form:<br />

S: spec f: X→Y with<br />

wenn Eingabe x die<br />

Vorbedingung P erfüllt, ...<br />

f(x)=y where<br />

pre P(x)<br />

post Q(x,y).<br />

spezifizierten spezifizierten Programms Programms


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Definition:<br />

Definition<br />

Eine funktionale <strong>Spezifikation</strong> S besitzt<br />

f berechnete X, Y Ein-/Ausgabemenge Funktion des des<br />

die allgemeine Form:<br />

S: spec f: X→Y with<br />

post Q(x,y).<br />

spezifizierten spezifizierten Programms Programms<br />

wenn Eingabe x die<br />

Vorbedingung P erfüllt, f(x)=y ... where ... dann soll das Programm<br />

y liefern, sofern es terminiert,<br />

pre P(x) und zwischen x und y soll<br />

Beziehung Q gelten


•<br />

•<br />

•<br />

<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Vor- und Nachbedingungen<br />

Die Sprache zur Beschreibung von Vor- und<br />

Nachbedingungen muß noch definiert<br />

werden.<br />

hier: übliche mathem. Sprache: Mengen,<br />

Konstanten, Variablen, Quantoren,<br />

Funktionen usw.<br />

Theorie der Programmierung: Teilmenge der<br />

Prädikatenlogik


<strong>Funktionale</strong> <strong>Spezifikation</strong><br />

Beispiel: Mischen<br />

Smisch: spec misch: IN0 * ×IN0 * →IN0 * with<br />

misch(x,y)=z where<br />

pre x=[x1,...,xn] und n≥0 und x1≤...≤xn und<br />

y=[y1,...,ym] und y1≤...≤ym und m≥0<br />

post z=[z1,...,zn+m] und z1≤...≤zn+m und<br />

z=π(x . y) für eine Permutation π<br />

Früher gezeigt: PRO-Version von misch erfüllt die<br />

<strong>Spezifikation</strong> Smisch

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!