User Tools

Site Tools


course_outline

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
course_outline [2011/02/06 03:29] jonathancourse_outline [2011/04/11 19:29] (current) jonathan
Line 56: Line 56:
 **Tuesday's lecture:** We reviewed the 2nd refinement question in Labtest1. We also did [[http://deploy-eprints.ecs.soton.ac.uk/114/1/sld.ch4.file.pdf|ftp slides]] (up to slide 26). There are exercises you must do to review and extend your knowledge of sets, functions and relations.  **Tuesday's lecture:** We reviewed the 2nd refinement question in Labtest1. We also did [[http://deploy-eprints.ecs.soton.ac.uk/114/1/sld.ch4.file.pdf|ftp slides]] (up to slide 26). There are exercises you must do to review and extend your knowledge of sets, functions and relations. 
  
-**Thursday's lecture**: We reviewed the first refinement of the ftp protocol. We then had a lab session in which the initial model and refeinement were entered in Rodin and proved. We also did some predicate logic in the theorem prover (with the aut-tactics disabled).  +**Thursday's lecture**: We reviewed the first refinement of the ftp protocol. We then had a lab session in which the initial model and refeinement were entered in Rodin and proved. We also did some predicate logic in the theorem prover (with the aut-tactics disabled).
-   +
  
 **Required exercises this week** (not for marks): Do questions 5, 6, 7, 8 and 9 in //EventB-Questions.pdf// in the SVN.  **Required exercises this week** (not for marks): Do questions 5, 6, 7, 8 and 9 in //EventB-Questions.pdf// in the SVN. 
Line 63: Line 62:
 **Required Reading:** See SVN (folder ''04-ftp''): Read ''04-ftp.pdf'' and ''05-eventb-notation.pdf''. **Required Reading:** See SVN (folder ''04-ftp''): Read ''04-ftp.pdf'' and ''05-eventb-notation.pdf''.
  
-===== Week 6 =====+**Note**: Labtest2 is on March 1. By that time you must finish up to and inluding questions 15 (celebrity.pdf) and 16 (ftp).
  
-**Tuesday**: First and second refinements of Chapter IV of the textbook -- A simple File Transfer Protocol (FTP). +===== Week 6 February 7 =====
-[[http://deploy-eprints.ecs.soton.ac.uk/114/1/sld.ch4.file.pdf|slides]]. We also use sets and functions to model a banking system using Rodin (in class).  +
  
 +**Tuesday's lecture:** We did the second refinement in the [[http://deploy-eprints.ecs.soton.ac.uk/114/1/sld.ch4.file.pdf|ftp protocol]] in which we separate the sending and receiving agent. We had a lab session with Rodin, proving cross-products, powersets, relations and functions.
  
 +**Thursday's lecture:** Third and final refinement in the [[http://deploy-eprints.ecs.soton.ac.uk/114/1/sld.ch4.file.pdf|ftp protocol]] in which we add a parity bit. The distributed ftp protocol is now ready to be implemented in code (how would you write the program?) with a guarantee that it will terminate with the file properly transmitted from the sender to the receiver. Lab: prove the parity bit theorem. 
  
-===== Reading week =====+**Required Reading**: In the SVN==>Rodin folder, study: ''ref-card.pdf''  
 + 
 + 
 +===== Week 7 - February 14 ===== 
 + 
 +**Tuesday's Lecture**: Did a manual proof of the theorem needed for the theory of parity (in the ftp protocol). This theorem was hard to prove. The suggestion is to first do the proof manually, which then makes it easier to do in Rodin. Using this approach, we were able to derive a Lemma that was helpful in the Rodin proof. We also did the initial model of the celebrity example (from the Exercises). We showed how to formalize the problem in Event-B using a "knows" relation. We dicussed the indentity and inverse relations and showed how the Celebrity axioms could be written in predicate logic or set theory. The celebrity example is one of the exercises that you must do in advance of Labtest1. [Challenge: In class we issued the following challenge: write a program given that takes as input a set of people and a knows relation, and outputs which person is the celebrity.    
 + 
 +**Thursday's lecture**: First Refinement of Celebrity. Then we start Chapter 15: Development of sequential programs. Binary search. Merging Rules. 
 + 
 +Celebrity example ideas: Relations, functions, identity relation, inverse. Feasibility proof obligations for non-deterministic assignment, witness (WITH) for local variable refinements, convergence and proof obligations. 
 + 
 +**Required reading**: Chapter 15. 
 + 
 +**Exercises**: Up to an including Exercise 16.
  
-Work on Assignment 2 
  
 ===== Week 8===== ===== Week 8=====
Line 108: Line 120:
 Tuesday: Data refinement and Procedural Refinement. Illustration of these concepts using the Birthday Book example in which we write an initial specification, do a data refinement, followed by a procedural refinement; finally a merge produces code. Tuesday: Data refinement and Procedural Refinement. Illustration of these concepts using the Birthday Book example in which we write an initial specification, do a data refinement, followed by a procedural refinement; finally a merge produces code.
  
-Thursday: Labtest2 +BAG abstract datatype.
  
 ===== Week 12===== ===== Week 12=====
course_outline.1296962967.txt.gz · Last modified: 2011/02/06 03:29 by jonathan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki