Course Outline

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

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

You might also like