COMP2110 Revision

Ken Robinson

7th June 2006

In preparing for the B part of the paper take special note of the following.

  1. There are 40 questions in the exam and two hours to complete the exam. This exam is not intended to be under time pressure.
  2. All of the questions use marked up mathematics. This is not a great problem as the Concise Summary of the B mathematical toolkit is provided. This summary shows both marked up and ASCII forms. Make sure you are familiar with this summary and know how to use it effectively.
  3. The sample B questions would compare to the middle difficulty questions in the paper. There are one or two of the 30 questions that are more difficult than the 2 sample questions; there is a number that are simpler.
  4. Revise all the tutorial exercise and make sure you could do them from scratch on your own, and than you understand all points of the correct answers.
  5. Understand how to map an English expression of requirements into formal specifications.
  6. Understand how to express formal specifications in English.
  7. Some of the questions will be based on the assignments. Make sure you understand the assignments.
  8. Revise set theory concepts: simple sets, powersets, cartesian products, relations.
  9. Revise relations: what is a relation, domain, range, relational image, override, domain and range restriction, domain and range subtraction.
  10. Be sure you understand the various kinds of relations and their arrows: relation, partial function, total function, partial/total injective functions, partial/total surjective functions, total bijections. Ensure that you understand the significance of each kind of relation for modelling requirements.
  11. Revise the use of partial functions to model sequences and bags.
  12. Revise the various substitutions: simple, multiple, non-deterministic choice, any-where-then, if-then-else.
  13. Understand the role of preconditions.
  14. Understand the role of guards.
  15. Importantly, understand the difference between preconditions and guards.
  16. Understand how to compute proof obligations that ensure that an operation maintains the machine invariant. There will be some questions in the paper that are concerned with this.

And at the examination

Best of luck!



Ken Robinson
2006-06-07