University of Virginia, Department of Computer Science
CS201J: Engineering Software, Fall 2003

Notes: Thursday 4 September 2003
Assignments Due

Notes and Questions

What do we need to divide a problem into independent subproblems?






How does a specification constrain a client?






Our procedural specifications will use three clauses:

An implementation of a procedural specification is satisfactory if: if the client satisfies the precondition before the call, the postcondition is always satisfied after the call returns.

What is the point of having a MODIFIES clause?






What are the advantages and disadvangates of formal (instead of informal) specifications?






If a procedure's specification has no REQUIRES clause, what is the precondition?






If a procedure's specification has no MODIFIES clause, what can it modify?






What does it mean when a procedure has no EFFECTS clause?






Links

Then you should say what you mean, the March Hare went on.
I do, Alice hastily replied; at least--at least I mean what I say--that's the same thing, you know.
Not the same thing a bit! said the Hatter. You might just as well say that "I see what I eat" is the same thing as "I eat what I see"!
You might just as well say, added the March Hare, that "I like what I get" is the same thing as "I get what I like"!
You might just as well say, added the Dormouse, who seemed to be talking in his sleep, that "I breathe when I sleep" is the same thing as "I sleep when I breathe"!
It IS the same thing with you, said the Hatter, and here the conversation dropped, and the party sat silent for a minute, while Alice thought over all she could remember about ravens and writing-desks, which wasn't much.

Alice in Wonderland


CS201J University of Virginia
Department of Computer Science
CS 201J: Engineering Software
Sponsored by the
National Science Foundation
cs201j-staff@cs.virginia.edu