## Teaching Formal Methods: CoLogNET/FME Symposium, TFM 2004, Ghent, Belgium, November 18-19, 2004. Proceedings“Professional engineers can often be distinguished from other designers by the engineers’ ability to use mathematical models to describe and 1 analyze their products.” This observation by Parnas describes the de facto professional standards in all classical engineering disciplines (civil, mechanical, electrical, etc.). Unf- tunately, it is in sharp contrast with current (industrial) practice in software design, where mathematical models are hardly used at all, even by those who, 2 in Holloway’s words “aspire to be engineers.” The rare exceptions are certain critical applications, where mathematical techniques are used under the general name formal methods. Yet,thesamecharacteristicsthatmakeformalmethodsanecessityincritical applicationsmakethemalsoadvantageousineverydaysoftwaredesignatvarious levels from design e?ciency to software quality. Why, then, is education failing with respect to formal methods? – failing to convince students, academics and practitioners alike that formal methods are truly pragmatic; – failing to overcome a phobia of formality and mathematics; – failing to provide students with the basic skills and understanding required toadoptamoremathematicalandlogicalapproachtosoftwaredevelopment. Until education takes these failings seriously, formal methods will be an obscure byway in software engineering, which in turn will remain severely impoverished as a result. |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

1 | |

Designing Algorithms in High School Mathematics | 17 |

Motivating Study of Formal Methods in the Classroom | 32 |

Formal Systems Not Methods | 47 |

A PracticeOriented Course on the Principles of Computation | 65 |

Teaching How to Derive Correct Concurrent Programs | 85 |

SpecificationDriven Design with Eiffel and Agents | 107 |

Integrating Formal Specification and Software Verification | 124 |

Distributed Teaching of Formal Methods | 140 |

An Undergraduate Course on Protocol Engineering | 153 |

Linking Paradigms Semiformal and Formal Notations | 166 |

Teaching Formal Methods in Context | 185 |

Embedding Formal Development in Software Engineering | 203 |

A Survey of Formal Methods Courses in European Higher Education | 235 |

249 | |

### Other editions - View all

Teaching Formal Methods: CoLogNET/FME Symposium, TFM 2004, Ghent, Belgium ... C. Neville Dean,Raymond T. Boute No preview available - 2014 |

### Common terms and phrases

Abstract State Machines algebra algorithms analysis application approach ASMs assignment automatic B-Method basic Börger communication protocols Computer Science concepts concurrent programming construct context correct course CPRE curricula curriculum definition described discrete mathematics discuss Eiffel example execution first-order logic formal methods education formal specification formal techniques formal verification functional programming IEEE imperative programs implementation industrial input integrated introduced invariant ISBN Java Lecture Notes loop modules motivation multibuffer nodes notation Notes in Computer object-oriented Object-Z operations paper parameters postconditions preconditions predicate problem programming language proof properties protected objects protocol reasoning recursive refinement requirements resource scheme semantics sequence sequential software development Software Engineering SPARK Springer-Verlag structures synchronization syntax Tarski’s World task Teaching Formal Methods testing theoretical theory tion topics undergraduate understanding University verification