Graduate classes |
i1jFormal Engineering Methods for Software Development
Formal engineering methods offer more practical techniques than conventional formal methods for large-scale software development. They emphasize the integration of mathematically-based notation and intuitive graphical notation for constructing comprehensible specifications. After a brief introduction to the fundamental principles of formal engineering methods by comparing them to conventional formal methods, this class focuses on the issue of how to write quality specifications using SOFL (Structured Object-oriented Formal Language). In addition to modules and condition data flow diagrams used in specifications, various kinds of data types, such as set types, sequence types, map types, composite types, and their application techniques are introduced. Many small examples are used to help students understand effective ways to write and to organize formal specifications, and a small project may also be used to improve students' skills and experience of using formal engineering methods in practice. |
|
|