Teaching Formal Methods: CoLogNET/FME Symposium, TFM 2004, Ghent, Belgium, November 18-19, 2004. Proceedings
Neville Dean, C. Neville Dean, Raymond T. Boute, Universtiy of Gent Raymond T. Boute
Springer Science & Business Media, 17. nov 2004 - 248 pages
“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.
Other editions - View all
Abstract State Machines algebra algorithms analysis application approach ASMs assignment automatic B-Method basic Börger C. A. R. Hoare 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