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(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.
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.
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.
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.
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.
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.
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.
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.
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.
Interpretation 3 Le tableau a contient x qqe part; nous devons placer dans k le plus grand index ou x se trouve.
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.