Exercise for Week Four.

Consider a program to carry out Roman arithmetic. This will need to contain two conversion modules, one to convert from a string to be interpreted as a Roman numeral to an integer value and the other to convert from an integer value to a string which represpents that integer value. (You need not consider the later version with IV for 4, only the version IIII).

Produce Z specifications for each of these modules. Complete them in time to hand in by noon on Tuesday.

Remember your Z specification does not contain flow-charts, pseudo code or other ways of describing how the module achieves its result. It gives a very precise definition of the valid input to a module, the valid output from a module, and the relationship between them. Consequently the specifications of these modules will be so short you may not believe they can be correct. Have faith and hand in what your have produced.