1 / 38

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;

Download Presentation

Specifications de Systemes Logiciels المواصفات الشكلية Software Specifications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Specifications de Systemes Logicielsالمواصفات الشكليةSoftware Specifications Chapitre 7

  2. Proprietes des Specifications Proprietes du produit • Precision • Simplicite • Abstraction Proprietes du processus • Completude • Minimalite.

  3. 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}

  4. 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.

  5. Interpretations, 1 • Nous supposons que x est initialement non negatif, et que y est une racine positive ou negative de x.

  6. Interpretations, 1 • Nous supposons que x est initialement non negatif, et que y est une racine positive ou negative de x.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. 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.

  15. 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.

  16. 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.

  17. 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.

  18. 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.

  19. 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.

  20. Interpretation 1 • Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve.

  21. Interpretation 1 • Le tableau a contient x qqe part; nous devons placer dans k un index ou x se trouve.

  22. 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.

  23. 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.

  24. Interpretation 3 • Le tableau a contient x qqe part; nous devons placer dans k le plus grand index ou x se trouve.

  25. Interpretation 3 • Le tableau a contient x qqe part; nous devons placer dans k le plus grand index ou x se trouve.

  26. Interpretation 4 • Le tableau ne contient pas necessairement x; nous voulons placer dans la variable booleenne found la valeur vraie ssi x se trouve dans a.

  27. Interpretation 5 • Le tableau ne contient pas necessairement x; nous voulons placer dans la variable entiere k l’indice 0 si x n’est pas dans a, un indice ou se trouve x sinon.

  28. Generation de specifications complexes

  29. Deux Methodes Orthogonales • Analyse de cas • Partition du domaine • Conjonction de proprietes • Intersection de relations Etant donne trois variables entieres a, b, c, rearranger les de maniere triee.

  30. Analyse de Cas

  31. Conjonction de Proprietes

  32. Exemple • Etant donne un tableau reel a[N], un nbre reel x, et un indice k, mettre dans x l’element maximal de a et dans k l’indice maximal dans lequel se trouve x.

  33. Validation de Specifications • Completude • Minimalite

  34. Etant donnees les variables x et y de type int, faire croitre x en preservant la somme

  35. Raffinement • Une specification R raffine une specification R’ ssi tout programme correct par rapport a R est correct par rapport a R’. • Raffiner: exprimer une exigence plus forte.

  36. Raffinement

  37. Raffinement: Definition • R raffine R’ ssi:

  38. Raffinement et Validation • V: Propriete de completude. • R complet par rapport a V: R raffine V. • W: Propriete de Minimalite • R minimal par rapport a W:

More Related