course_outline
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
course_outline [2012/03/06 04:26] – jonathan | course_outline [2012/04/03 20:06] (current) – jonathan | ||
---|---|---|---|
Line 44: | Line 44: | ||
In the previous example, the program was **reactive** (i.e. it had to control an external situation such as cars on a bridge). This chapter deals with a protocol used on a computer network to transfer data from a sender to a receiver. The example will also allow us to extend our mathematical language with sets, functions and relations. As usual we will start with a requirements document. The initial model tells us what the protocol is supposed to achieve without telling us how to achieve it; how to achieve it will be dealt with in succesive refinements. Note that the model presented in the slides (using the notion of an **anticipated** event) is different than that of the textbook. | In the previous example, the program was **reactive** (i.e. it had to control an external situation such as cars on a bridge). This chapter deals with a protocol used on a computer network to transfer data from a sender to a receiver. The example will also allow us to extend our mathematical language with sets, functions and relations. As usual we will start with a requirements document. The initial model tells us what the protocol is supposed to achieve without telling us how to achieve it; how to achieve it will be dealt with in succesive refinements. Note that the model presented in the slides (using the notion of an **anticipated** event) is different than that of the textbook. | ||
- | |||
In the second refinement in the [[http:// | In the second refinement in the [[http:// | ||
Line 53: | Line 52: | ||
- | **Exercise | + | **Exercises 11 and 12 in preparation |
Line 62: | Line 61: | ||
- | ===== Sequential | + | ===== Sequential |
Requirements for the sorting algorithm. Initial specification using an anticipated event. First and second refinements leading to the use of merge rules for a loop within a loop. For the slides see [[http:// | Requirements for the sorting algorithm. Initial specification using an anticipated event. First and second refinements leading to the use of merge rules for a loop within a loop. For the slides see [[http:// | ||
- | Tuesday: | + | Discussion. (a) Data refinement and Procedural Refinement. Illustration of these concepts using the Birthday Book example in which we write an initial specification, |
+ | |||
+ | In class we provided the following requirement: | ||
+ | |||
+ | REQ: Find an integer approximation to the square root of n. | ||
+ | |||
+ | **Specification** | ||
+ | |||
+ | n,d: INT | ||
+ | |||
+ | sqrt | ||
+ | require n >= 0 | ||
+ | ensure (d^2 <= n < (d+1)^2) & (n = old n) | ||
+ | |||
+ | Problem: Convert the above specification ito Rodin and use Rodin refinement rules to develop the code for the method //sqrt//. | ||
+ | |||
+ | We did the celebrity problem ind detail including the addition of a variant for the new event and witnesses for disappearing parameters. We also studied injections, surjection and bijections of functions and relations. See Rodin folder. | ||
+ | |||
+ | Review of arithmetic, set theory, predicate logic and Event-B invariant and refinement proof obligations. Translation between set theoretic statements and predicate logic. Re-write rules. | ||
+ | |||
+ | ===== Weakest Preconditions===== | ||
- | BAG abstract datatype. | + | We did not cover weakest preconditions. |
- | ===== Week 12===== | + | Dijkstra weakest precondition calculus and loop variants and invariants.Proving loop termination. Relationship of Dijkstra weakest precondition calculus to Event-B. Slides on the SVN. |
- | Tuesday: Dijkstra weakest precondition calculus and loop variants and invariants.Proving loop termination. Relationship of Dijkstra weakest precondition calculus to Event-B. Slides on the SVN. | ||
- | Thursday: Review of arithmetic, set theory, predicate logic and Event-B invariant and refinement proof obligations. Translation between set theoretic statements and predicate logic. Re-write rules. | ||
- | ===== Week 13===== | ||
- | Work through a complete example: requirements document, initial specification, | ||
course_outline.1331007981.txt.gz · Last modified: 2012/03/06 04:26 by jonathan