Programmes

BACHELOR OF SCIENCE IN SOFTWARE ENGINEERING

SENG 41532

FORMAL METHODS

Status : Core Pre-requisite : SENG 12533 Co-requisite : None

 

On completion of this course, the student should be able to:

  • Describe the need for formal methods in designing complex software systems
  • Explain the basic formal methods
  • Apply formal methods in practical complex software designing process.

Fundamentals of formal methods: logic, arguments and proofs, automata theory, algorithms, logic programming, formal languages, Formal methods for specifying and analyzing complex software systems: formal specification techniques, formal methods for designing software architecture, formal software architecture analysis.

Lectures and case discussions.

End of course unit examination, case study presentations and group assignments.

  1. Woodcock, J and Loomes, M (2007). Software Engineering Mathematics: Formal Methods Demystified. Taylor and Francis
  2. Gabbar, H A (2010). Modern formal methods and applications. Springer
  3. Fisher, M (2011). An introduction to practical formal methods using temporal logic.Wiley.

Back