<ul><li>Introduction to  </li></ul><ul><li>Formal Methods </li></ul><ul><li>By :  Hend Muhammad Rizk </li></ul><ul><li>615...
What are formal methods? Formal methods are a mathematically based techniques and tools for the specification, design and ...
Formal methods can be useful in : 1-Articulating, and representing requirements . 2-Specifying software :  developing a pr...
<ul><li>4-Coding verification . </li></ul><ul><li>5-Enhancing early error detection . </li></ul><ul><li>6-Developing safe,...
The overall effect of the use of formal techniques on time, cost ,and quality :
Formal Specification Methods : <ul><li>Formal specifications . </li></ul><ul><li>Formal Proofs . </li></ul><ul><li>Model C...
Formal specification <ul><li>The specifications used in formal methods are well - formed statements  which describe what s...
Properties of Formal Specifications : <ul><li>Unambiguous . </li></ul><ul><li>Consistency . </li></ul><ul><li>Completeness...
Formal Specification Languages : <ul><li>A formal specification language consists of : </li></ul><ul><li>1- Syntax — the n...
<ul><li>Basic Specification Language Types : </li></ul><ul><li>1-   Axiomatic  specifications : </li></ul><ul><li>defines ...
<ul><li>3-   Algebraic  specifications : </li></ul><ul><li>defines operations by collections of equivalence relations . </...
Formal verification <ul><li>Formal verifications are rigorous deductions in logic </li></ul><ul><li>( i . e .  each step f...
<ul><li>Formal verification can also be defined to be the act of proving or disproving the correctness of some algorithm i...
<ul><li>The cost of applying this methods is very high </li></ul><ul><li>To make analysis economically feasible, the cost ...
<ul><li>the cost of specification alone is often beyond a project's budget .  Industry will have no reason to adopt formal...
<ul><li>makeing full formalization is a difficult and expensive task .  As an alternative, various  lightweight  formal me...
<ul><li>Conclusions : </li></ul><ul><li>Formal methods are : </li></ul><ul><li>a mathematically based techniques and tools...
<ul><li>Formal verifications are : </li></ul><ul><li>the act of proving or disproving the correctness of some algorithm in...
Thanks for listening
Upcoming SlideShare
Loading in...5
×

Formal Methods

930

Published on

introduction to formal methods

1 Comment
1 Like
Statistics
Notes
  • Thx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
930
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Formal Methods

  1. 1. <ul><li>Introduction to </li></ul><ul><li>Formal Methods </li></ul><ul><li>By : Hend Muhammad Rizk </li></ul><ul><li>61570 </li></ul><ul><li>CS-303 </li></ul>
  2. 2. What are formal methods? Formal methods are a mathematically based techniques and tools for the specification, design and verification of software systems .
  3. 3. Formal methods can be useful in : 1-Articulating, and representing requirements . 2-Specifying software : developing a precise statement of what the software is to do . 3-Software design . Data refinement involves state machine specification, abstraction functions, and simulation proofs .
  4. 4. <ul><li>4-Coding verification . </li></ul><ul><li>5-Enhancing early error detection . </li></ul><ul><li>6-Developing safe, reliable, secure software - intensive systems . </li></ul>
  5. 5. The overall effect of the use of formal techniques on time, cost ,and quality :
  6. 6. Formal Specification Methods : <ul><li>Formal specifications . </li></ul><ul><li>Formal Proofs . </li></ul><ul><li>Model Checking . </li></ul><ul><li>Abstraction . </li></ul>
  7. 7. Formal specification <ul><li>The specifications used in formal methods are well - formed statements which describe what some software should do , </li></ul><ul><li>“ not necessarily how” in a language defined by a mathematical logic . </li></ul><ul><li>This languages called “specification languages” </li></ul>
  8. 8. Properties of Formal Specifications : <ul><li>Unambiguous . </li></ul><ul><li>Consistency . </li></ul><ul><li>Completeness . </li></ul><ul><li>Inference . </li></ul>
  9. 9. Formal Specification Languages : <ul><li>A formal specification language consists of : </li></ul><ul><li>1- Syntax — the notation . </li></ul><ul><li>2- Semantics — the specifiable objects . </li></ul><ul><li>3- Relation defining which objects satisfy which notations . </li></ul>
  10. 10. <ul><li>Basic Specification Language Types : </li></ul><ul><li>1- Axiomatic specifications : </li></ul><ul><li>defines operations by logical assertions . </li></ul><ul><li>2- Abstract model specifications : </li></ul><ul><li>defines operations in terms of a well - defined math model . </li></ul>
  11. 11. <ul><li>3- Algebraic specifications : </li></ul><ul><li>defines operations by collections of equivalence relations . </li></ul><ul><li>4- Temporal logic specifications : </li></ul><ul><li>defines operations in terms of order of execution and timing . </li></ul><ul><li>5- Concurrent specifications : </li></ul><ul><li>defines operations in terms of simultaneously occurring events . </li></ul>
  12. 12. Formal verification <ul><li>Formal verifications are rigorous deductions in logic </li></ul><ul><li>( i . e . each step follows from a rule of inference and hence can be checked by a mechanical process .) </li></ul>
  13. 13. <ul><li>Formal verification can also be defined to be the act of proving or disproving the correctness of some algorithm in a system with respect to a certain formal specification . </li></ul>
  14. 14. <ul><li>The cost of applying this methods is very high </li></ul><ul><li>To make analysis economically feasible, the cost of specification must be dramatically reduced, and the analysis itself must be automated . </li></ul>
  15. 15. <ul><li>the cost of specification alone is often beyond a project's budget . Industry will have no reason to adopt formal methods until the benefits of formalization can be obtained immediately . </li></ul>
  16. 16. <ul><li>makeing full formalization is a difficult and expensive task . As an alternative, various lightweight formal methods, which emphasize partial specification and focused application, have been proposed . </li></ul>
  17. 17. <ul><li>Conclusions : </li></ul><ul><li>Formal methods are : </li></ul><ul><li>a mathematically based techniques and tools for the specification, design and verification of software systems . </li></ul><ul><li>Formal specifications are : </li></ul><ul><li>well - formed statements which describe what some software should do . </li></ul>
  18. 18. <ul><li>Formal verifications are : </li></ul><ul><li>the act of proving or disproving the correctness of some algorithm in a system . </li></ul><ul><li>formal methods cannot guarantee the completeness of a specifications . </li></ul>
  19. 19. Thanks for listening
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×