Today, February 3rd 2009, 7 till 9 AM, I’m attending a course subjected Formal Methods. Our Lecturer named Cecilia Nugraheni, she is working at Parahyangan University. In our first meeting She presenting the syllabus of the subject. I’ll try to present the summary of it here.
Objectives of Formal Methods is introduce formal methods in software engineering in particular RAISE (Rigorous Approach to Industrial Software Engineering), with emphasis on the spesification and design stages.
The outline of this course
- Introduction to formal methods
- RAISE methodology
- RSL: Basic concepts; Function, built-in types; Product, Binding and typing; List, Map; Subtype, Variant; Case, Let; Variable and sequencing; Repetition
Why we learn Formal Methods? we learn it because exhaustive testing and simulation for detecting errors is often impossible. Program testing can be used to show the presence of bugs, but never to show their absence! (Dijkstra, 1979). Well it’s true… that’s why almost on every application there exist after released bugs, and we have to download the patch and applied it
. Formal methods offers a logically consistent way of reasoning and exhaustive coverage to ensure the correctness of the software design.
Formal Methods definition:
A method is formal if it has a sound mathematical bases, typically given by a formal specification language. This basis provides a means of precisely defining notions like consistency and completeness and more relevant, specification, implementation and correctness.
so if you do not like mathematical notions, don’t touch this subject :p
Tags: Formal Methods, Lectures, Software Engineering, Syllabus