Version: Monday evening at 1715
WG Members:
Vicki L. Almstrum (co-chair) |
University of Texas at Austin |
C. Neville Dean (co-chair) |
Anglia Polytechnic University |
Tom Hilburn |
Embry-Riddle Aeronautical University |
Don Goelman |
Villanova University |
David Gries |
University of Georgia |
Advisory Board Members:
Jonathan Bowen |
South Bank University |
Dan Craigen |
ORA Canada |
Kathi Fisler |
Rice University |
Susan Gerhart |
Embry-Riddle Aeronautical University |
Ebba Thora Hvannberg |
University of Iceland |
D. Randolph Johnson |
National Security Agency |
Peter Gorm Larsen |
IFAD A/S |
J Strother Moore |
University of Texas at Austin |
Lesley Semmens |
Leeds Metropolitan University |
Jan Smith |
Chalmers University of Technology |
Moshe Vardi |
Rice University |
Jeannette M. Wing |
Carnegie Mellon University |
J. C. P. Woodcock |
Oxford University Software Engineering Centre |
Goal: Make it natural (and obvious) for the computing education community to incorporate formal methods as a key aspect of the curriculum.
The ideal is to have folks incorporate formal methods without even realizing it!!
Closing the Gap |
formal methodists |
computing |
illustration
of gap between |
·
“The use of mathematics to aid in software development
is known as formal methods.”
D.C. Ince - An Introduction to Discrete
Mathematics, Formal System Specification, Z, Oxford, 1992.
·
“By formal methods I mean the specification and
verification of hardware and software systems.”
Jeannette M. Wing, Weaving Formal
Methods into the Undergraduate Computer Science Curriculum, Proceedings of the 8th International
Conference on Algebraic Methodology and Software Technology, May, 2000.
·
“A broad view of formal methods includes all
applications of (primarily) discrete mathematics to software engineering
problems. This application usually
involves modeling and analysis where the models and analysis procedures are
derived from or defined by an underlying mathematically-precise foundation.”
N.G. Levenson, “Guest Editor's
Introduction: Formal methods in Software Engineering”, IEEE Transactions in Software Engineering, September 1990.
·
“... that body of theory, techniques, pedagogy, and tools
that enable rigorous reasoning reasoning in system design practice.” http://www.cs.indiana.edu.formal-methods-education/xxiee/report.html
·
“A formal method in software development is a
method that provides a formal language for describing a software artifact (e.g.
specifications, designs, source code) such that formal proofs are possible, in
principle, about properties of the artifact so expressed.” Robert
Vienneau, A Review of Formal Methods,
Kaman Sciences Corporation, 1993.
·
“Formal
methods can be roughly divided into basic components: specification and
verification.
Formal specification is the use of notations derived from formal logic
to:
1. describe the assumptions about the
world in which a system will operate;
2. the requirements that the system is
to achieve;
3. a design to accomplish those
requirements.
Formal verification is the use of proof methods from formal logic to:
1. analyze specifications for certain
forms of consistency and completeness;
2. prove that the design will satisfy
the requirements, given the assumptions;
3. prove that a more detailed design
implements a more abstract one.
The mathematics of formal methods include:
1. predicate calculus (order logic)
2. recursive function theory
3. lambda calculus
4. programming language semantics”
http://ntsta.jrc.it/dsa/vse/fm1.html
· "My approach to software has been that of a study in management, dealing with a very difficult and creative process. The first step in such an approach is to discover what is teachable, in order to be able to manage it. If it cannot be taught, it cannot be managed as an organized, coordinated activity. Since software deals with purely logical processes, it seemed clear that mathematics was the right tool to apply to the problem. In this search for teachability, it has been a pleasant surprise to find that so much of software methodology could be formulated in classical mathematics.” Harlan Mills - Software Productivity(p. 2), Dorset, 1988.
Don Goelman is working up the matrix and survey for looking at this issue.
Tom Hilburn is working on a summary of this.
Building
on an existing web site
This will be a large poster section with “Formal Methods” in the middle, a line dividing the plane into “Applications” and “Concepts”. We will seed the page with some points:
Our goal is to have the attendees help fill in other points and perhaps even to somehow vote on what should be included.