250 likes | 431 Views
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;
E N D
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.
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.