Professional Documents
Culture Documents
Formal Methods in Software Engineering-Course Contents
Formal Methods in Software Engineering-Course Contents
Introduction to Course
Problems in software development
Formal Methods
Formal Logic
Programming paradigms
Developing and acquiring Formal Methods
Formal specification
Abstraction
Logic and set theory
Propositional Logic
Rules of Inference and logical Deduction
Propositional Logic - rules of elimination and introduction
Predicate Logic
Quantifiers
Mixing quantifiers
Scope of quantifiers
Practice examples
Resolution in Predicate Logic
Hoare's Logic
Assignment statements of program:
Conditional rule
Hoare's Logic
Empty statement axiom schema
Sequencing/composition rule
Consequence rule
Loop rule
Cartesian Product of sets
Weakest precondition
State spaces
Purpose of state space
The notation [S] P
Assignment
Multiple Assignment statements
Conditional Statements
Begin and End
Relations
Why relations?
Domain of relation
Range of relation
Domain restriction
Range restriction
Functions and Sequences
Functions
Partial Function
Total Function
Injective Function
Surjective Function
Bijective Function
Lambda Notation of functions
Sequences
Introduction to Z specification language
Fundamental concepts
The Z specification language (cont’d)
Z specification examples/case studies