Review of Lab, Course overview - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Review of Lab, Course overview

Description:

... two subject fields (these are double honours students), a name field, a student ... The admin class should create several student objects and print their ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 14
Provided by: csM8
Category:

less

Transcript and Presenter's Notes

Title: Review of Lab, Course overview


1
Review of Lab, Course overview
  • Formal Methods se304/cs407

2
Yesterdays lab
  • Module for student, admin
  • The student class should have two subject fields
    (these are double honours students), a name
    field, a student number field, and the usual get
    and set methods. The admin class should create
    several student objects and print their contents
    to the screen.

3
First step
  • These are classes (Student and Admin)
  • So they should be hidden sorts
  • In CafeOBJ, attributes of classes are only
    described by the operators that describe their
    methods

4
Student module
  • module STUDENT
  • Student

5
  • module STUDENT
  • Student
  • bop setStudentName Student String -gt Student

String
6
  • module STUDENT
  • Student
  • String
  • bop setStudentName Student String -gt Student
  • bop setStudentNumber Student Nat -gt Student

Nat
7
  • module STUDENT
  • Student
  • Nat String
  • bop setStudentName Student String -gt Student
  • bop setStudentNumber Student Nat -gt Student
  • bop getStudentName Student -gt String
  • bop getStudentName Student -gt String
  • similarly for subject1 and subject 2

8
Admin module
  • module ADMIN
  • Admin

protecting (STUDENT)
9
Admin module
  • module ADMIN
  • protecting (STUDENT)
  • Admin
  • bop addStudent Admin String Nat String String
  • -gt Admin
  • bop printStudents Admin -gt Admin

10
Course so far
  • Introduction/motivation for formal methods
  • The point is to build better software
  • Remove ambiguity, incompleteness and
    inconsistency
  • Design by Contract with JML
  • Pre-conditions, post-conditions, invariant
  • Quantifiers
  • Testing
  • Refinement

11
Course so far
  • CafeOBJ
  • Introduction
  • Imports, signatures, axioms
  • Ambiguous terms
  • Developing basic modules
  • Examples Nat, GCD, Factorial
  • Term rewriting systems
  • Proof
  • Hidden sorts

12
Remaining lectures, labs
  • Historical context, motivation for formal methods
  • Revision lab
  • Revision lectures
  • Optional lab exam

13
Main Exam
  • Sample paper not ready
  • Ill email the class once its on my webpage
  • Cheat sheet
  • Notes on web are not adequate
  • Ask questions in next weeks lab
  • Let me know if there are particular areas you
    want me to revise
Write a Comment
User Comments (0)
About PowerShow.com