CSC704: Advanced formal methods in software engineering 6 credits (40-10-10)

Objectives

To provide skills on the use of formal methods in software development and its practical use.

Contents

Overview of formal methods; its uses and application areas; basic mathematical concepts (e.g., sets, functions, relations, function abstraction); logic and reasoning; Notions in model- and property-theoretic specifications; Algebraic specification methods; concurrency and real-time systems; processes and process algebras; Notation, syntax and semantics of a specification language (RSL); associated methodological approaches, guidelines, practices and tools/environment (RAISE); Requirements capture/formulation; proofs and proof obligations; correctness and error handling; transformations (refinements); documentation issues/content; Project management; Advances in formal methods.