Formal Methods in Software Engineering

  • Software Engineering |

Description

This course introduces the use of formal mathematical notation and reasoning in the software development process. These methods have applications in requirements specification, design, and verification. Course topics include mathematical foundations, predicates, preconditions and post conditions, alternative notations, types of formal models, and the strengths and limitations of formal methods.

Program

Software Engineering 144 CRs

Objectives

  • 1. Understand the mathematical basis of formal methods.
    2. Understand the role of formal methods in software engineering practice.
    3. Understand the risks of poorly specified software systems.
    4. Use formal specification languages in requirement specifications.
    5. Apply formal reasoning and proof techniques in software verification and validation.
    6. Communicate software requirements and designs using a formal notation.

Textbook

Jonathan Jacky, The Way of Z: Practical Programming with Formal Methods, Cambridge University Press.

Course Content

content serial Description
1Introduction to Formal Methods
2Set Theory
3Introduction to Z
4Elements of Z
5Structure
6Logic
77th Week Exam
8Synthesis
9State
10Schemas and schema Calculus
11Schema Types and Binding
12Formal Reasoning
1312th Week Exam
14Using Formal methods with UML
15Object Constraint Language (OCL)
16Final Exam

Markets and Career

  • Generation, transmission, distribution and utilization of electrical power for public and private sectors to secure both continuous and emergency demands.
  • Electrical power feeding for civil and military marine and aviation utilities.
  • Electrical works in construction engineering.

Start your application

Start The your journey to your new career.