Riassunto
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.
Contenuti
A Beginner’s Course on Reasoning About Imperative Programs.- Designing Algorithms in High School Mathematics.- Motivating Study of Formal Methods in the Classroom.- Formal Systems, Not Methods.- A Practice-Oriented Course on the Principles of Computation, Programming, and System Design and Analysis.- Teaching How to Derive Correct Concurrent Programs from State-Based Specifications and Code Patterns.- Specification-Driven Design with Eiffel and Agents for Teaching Lightweight Formal Methods.- Integrating Formal Specification and Software Verification and Validation.- Distributed Teaching of Formal Methods.- An Undergraduate Course on Protocol Engineering – How to Teach Formal Methods Without Scaring Students.- Linking Paradigms, Semi-formal and Formal Notations.- Teaching Formal Methods in Context.- Embedding Formal Development in Software Engineering.- Advertising Formal Methods and Organizing Their Teaching: Yes, but ....- Retrospect and Prospect of Formal Methods Education in China.- A Survey of Formal Methods Courses in European Higher Education.
Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.