aProfessional engineers can often be distinguished from other designers by the engineersa ability to use mathematical models to describe and 1 analyze their products.a 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 Hollowayas words aaspire to be engineers.a 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? a failing to convince students, academics and practitioners alike that formal methods are truly pragmatic; a failing to overcome a phobia of formality and mathematics; a 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.ProgramManagerAPI Assessor ProgramManager +completeProg(student: Student) +assesses: POW(Course) Program ... Class Diagram of Program/ Course Manager Fig 2 shows a class diagram of a program/course management system, anbsp;...
|Title||:||Teaching Formal Methods|
|Author||:||C. Neville Dean, Raymond T. Boute|
|Publisher||:||Springer - 2004-10-11|