CS63Z: Formal Methods in Software Engineering
Formal Methods in Software Engineering is a course dealing with the
formal modeling and specification of software, the translation of
formal specifications into executable code, and the reasoning about
programs and specifications. Its aim is to give the students the tools
and understanding to develop more reliable software in a systematic
way.
- Time and place:
- Mondays, 6.00 p.m. - 9.00 p.m.
- Wednesdays, 6.00 p.m. - 9.00 p.m.
- Fridays, 6.00 p.m. - 9.00 p.m.
- Materials:
- Lecture notes (PDF) -- updated Fri Jul 22 14:20:11 EEST 2005
- Added recipe for termination proofs
- Note: There is only one file that grows as I add to
it (reason: I fix bugs, and I can go back to any page if there is
a question). If you get an old version, try emptying your browser
cache and reload.
- Python Lexer and Examples:
-
The lexer library (updated Fri Jul 8 14:35:24 EST 2005 to
handle illegal character error)
-
Simple example for using it (updated Fri Jul 8 14:36:04 EST
2005 to display the very first token, too)
-
Example for a recursive parser using it
- An input example
- Instructions:
- Download the files into one directory (Note: IE may corrupt the
files by replacing some characters like & by HTML
entities. Choosing "Safe link as..." or similar might help. Using
a better web browser or wget will help)
- chmod ugo+x *.py (if necessary)
- (Possibly edit first lines of lexer_example.py and
parser_example.py to point to plain python or
python2.4 (this code does not use sets and should work
with all versions of Python 2.X))
- ./lexer_example.py test.prp
- ./parser_example.py test.prp
- Read and learn ;-)
- The Z Method Home page
- LaTeX Style
for writing Z
- Python resources
Stephan Schulz