Specifications de Systemes Logiciels المواصفات الشكلية Software Specifications
-
Upload
aspen-ellison -
Category
Documents
-
view
27 -
download
3
description
Transcript of Specifications de Systemes Logiciels المواصفات الشكلية Software Specifications
Specifications de Systemes Logiciels
الشكلية المواصفاتSoftware Specifications
Chapitre 7
Proprietes des Specifications
Proprietes du produit Precision Simplicite Abstraction
Proprietes du processus Completude Minimalite.
Mathematiques Discretes
Espace, S
x, y, z: int;
s dans S: <x, y, z>
x(s), y(s), z(s)
R sur S: {(s,s’)| x(s’)=x(s)+y(s)}
{(s,s’)| x’=x+y}
Exemple de specification
Nous avons deux variables reelles x et y, nous voulons specifier un programme qui calcule la racine carree de x dans y.
Ecrivez une relation R qui contient toutes les paires d’entrée sortie decrites dans cette specification.
Interpretations, 1
Nous supposons que x est initialement non negatif, et que y est une racine positive ou negative de x.
Interpretations, 1
Nous supposons que x est initialement non negatif, et que y est une racine positive ou negative de x.
}.'0|)',{( 2 xyxssR
Interpretations, 2
Nous supposons que x est initialement non negatif, et que y est une approximation de la racine positive ou negative de x a epsilon pres, ou epsilon = 10^-6.
Interpretations, 2
Nous supposons que x est initialement non negatif, et que y est une approximation de la racine positive ou negative de x a epsilon pres, ou epsilon = 10^-6.
}.10|'|0|)',{( 62 xyxssR
Interpretations, 3
Nous supposons que x est initialement non negatif, et que y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.
Interpretations, 3
Nous supposons que x est initialement non negatif, et que y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.
}.0'10|'|0|)',{( 62 yxyxssR
Interpretations, 4
La valeur intiale de x n’est pas necessairement non negative, et nous demandons que y soit une approximation de la racine positive de la valeur absolue de x a epsilon pres, ou epsilon = 10^-6.
Interpretations, 4
La valeur intiale de x n’est pas necessairement non negative, et nous demandons que y soit une approximation de la racine positive de la valeur absolue de x a epsilon pres, ou epsilon = 10^-6.
}.0'10|||'||)',{( 62 yxyssR
Interpretations, 5
La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulles alors y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6. Si x est negative, alors y prend la valeur -1.
Interpretations, 5
La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulles alors y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6. Si x est negative, alors y prend la valeur -1.
}.1'0|)',{(
}0'10|'|0|)',{( 62
yxss
yxyxssR
Interpretations, 6
La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulle alors y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.
Interpretations, 6
La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulle alors y est une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.
}.0|)',{(
}0'10|'|0|)',{( 62
xss
yxyxssR
Interpretations, 7
La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulle alors nous preservons x et mettons dans y une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.
Interpretations, 7
La valeur intiale de x n’est pas necessairement non negative, et nous demandons que si x est positive ou nulle alors nous preservons x et mettons dans y une approximation de la racine positive de x a epsilon pres, ou epsilon = 10^-6.
}.0|)',{(
}0''10|'|0|)',{( 62
xss
yxxxyxssR
Un programme de Recherche
Espace:
a: array [indextype] of itemtype;
x: itemtype;
k: indextype U {0}; // indextype 1..N;
Specification: specifier un programme de recherche de x dans a.
Interpretation 1
Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve.
Interpretation 1
Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve.
}.1']'[|)',{(
}]'[)][1:(|)',{(
kxkass
xkaxjaNjjssR
Interpretation 2
Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve tout en preservant a et x.
Interpretation 2
Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve tout en preservant a et x.
}.''1']'[|)',{( xxaakxkassR
Interpretation 3
Le tableau a contient x qqe part; nous devons placer dans k le plus grand index ou x se trouve.
....}.1']'[|)',{( kxkassR
Interpretation 2
Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve tout en preservant a et x.
}.''1']'[|)',{( xxaakxkassR