CSE584, Assignment #2, 8 May 1997, due 27 May 1997

This assignment covers material for the requirements portion of the course.

You may work in pairs, and the assignment is worth 10% of the grade in the course (see introductory handout). I prefer it if you submit your assignment electronically, although it's your call. Ideally, you could send me a URL to a web page with the solutions.

  1. (20 points) Critique a real specification in terms of designations/definitions, in terms of optative/indicative properties, and other properties we discussed in lecture on May 6. Here are some suggested specifications:

    But other specifications are OK, as long as I can get a copy (from you or from the net, for instance).

    Are there fundamental changes you would suggest if the specification were re-written?

  2. (10 points) Write a Statechart for some simple machine you use frequently, such as a microwave, a CD player, etc. Select an appropriate level of detail.

    Briefly compare and contrast the Statechart specification to the usual natural language specification for this machine.

  3. (10 points) In no more than a few paragraphs, argue whether or not requirement specifications must necessarily be handled differently for shrinkwrap software (say, desktop applications) than for contract software (say, avionics software that is not safety critical).

  4. (10 points) Describe a situation in which you think using a specification like Z might be appropriate and of value. (Don't beg off the question by claiming you can't imagine one.)