Software Specification (CIS 771) Home Page

Software Specification (CIS 771)
Spring 2002

About this course

Instructors


Reading

There is no textbook required for this course.

You will be reading several papers that provide different perspectives on software specifications and other papers that will help you learn how to use tools associated with specification approaches.

These papers are available as postscript or PDF files. If you're unclear about how to read and print postscript files, here is some advice. As for compressed postscript try uncompress for .Z files or gunzip for .gz files on UNIX; for windows, WinZip is great.


Daily life

  • Weekly Objectives -- tasks that you should be able to perform as the course progresses
  • Weekly Quizzes -- short graded quizzes given in lab sections
  • Weekly Exercises -- ungraded exercises (corresponding to potential exam questions)
  • Weekly Explorations -- other interesting resources related to the course and lectures
  • Lecture Examples -- sources for Alloy, USE, and ESC-Java examples used in lectures
  • Homework -- links to the discriptions and solutions of graded homeworks

Tool Home Pages

Below are the home pages for the tools that will use in the course. Each of these tools is available for windows, linux or solaris platforms. We will have versions of solaris executable on the K-state CIS machines made available. If you want your own copy just download and install (its pretty easy).

  • Alloy and its Constraint Analyzer are an object modeling language and analysis tool, respectively. Note: we are using the OLD version of Alloy, i.e., Alloy Alpha 1.1, this semester. The new version has lots to offer, but its documentation isn't as mature as the previous version.. It is available for windows machines here.
  • USE USE is a UML-based tool that processes class diagrams and OCL specifications. Models conforming to the class diagrams can be animated and automatically checked against the given OCL specifications.
  • ESC/Java is a tool that uses a theorem prover to automatically check code-level specifications written in the JML specification language.

Week by week

In the following red means that laboratory sections will meet and blue means there is no meeting.

PDF versions of the slides for the lectures and the video lecture's will be linked directly from this page. They are also available directly from K-state Online; to access them you will need a K-state Online account (just signup at their web-site as long as you are registered for this course). Technical problems in accessing or displaying the online lectures can be resolved through K-state Online's help desk:

  • Web: http://online.ksu.edu/support
  • Email: help@online.ksu.edu
  • Phone: (800) 865-6143 or (785) 532-0198
Note that if you have a slow internet connection it is always better to download the lecture first then view it. The audio/video quality will be poor otherwise.

We reserve the right to adjust this schedule based on the interest that the class shows in different topics.

Week 1: Course Administration

Lecture : Course operation (slides,online lecture)
Lab : no transcript (we just went over the lecture)
   January 2002
 S  M Tu  W Th  F  S
13 14 15 16 17 18 19

Week 2: Introduction

Reading : Formal Specification: a Roadmap, by Axel van Lamsweerde
Lecture : Course overview (slides, online lecture)
Lecture: Sets and Relations (slides, online lecture)
Lab: Sets and Relations (quiz, exercises)
   January 2002
 S  M Tu  W Th  F  S
20 21 22 23 24 25 26

Objectives

Week 3: Alloy Specifications

Reading : Hints to Specifiers, Alloy paper
Tools: Install the Alloy Constraint Analyzer
Lecture : Introduction to Alloy (slides, online lecture)
Lecture : More Alloy Basics (slides, online lecture)
Examples for lectures
Lab: Intro to Alloy (quiz, quiz solution, exercises)
Assignment 1: Simple Alloy specifications
   January 2002
 S  M Tu  W Th  F  S
27 28 29 30 31
   February 2002
 S  M Tu  W Th  F  S
                1  2

Objectives

Week 4: Modeling and Analyzing Using Alloy/ACA

Reading : Alloy paper
Lecture : Academia Alloy Model (slides, online lecture)
Lecture : Airport Alloy Model (slides, online lecture)
Examples for lectures
Lab: Modeling using Alloy (quiz, quiz solution, exercises)
   February 2002
 S  M Tu  W Th  F  S
 3  4  5  6  7  8  9

Objectives

Week 5: Dynamic Alloy Models and Operations

Lecture : Dynamic Alloy Models (slides, online lecture)
Lecture : More Dynamic Alloy Models (slides, online lecture)
Examples for lectures
Lab : Dynamic Models and Operations ( quiz, quiz solution, exercises)
   February 2002
 S  M Tu  W Th  F  S
10 11 12 13 14 15 16

Objectives

Week 6: Alloy Case Studies I

Lecture : Full Airport Case Study (slides, online lecture)
Examples for lectures
Lab : Mutabilities ( quiz, quiz solution, exercises)
Assignment 2: Dynamic Alloy Models

   February 2002
 S  M Tu  W Th  F  S
17 18 19 20 21 22 23

Week 7: Alloy Case Studies II

Reading : Alloy COM Case Study
Lecture : Alloy COM Model
Lab : Assignment 2 questions

   February 2002
 S  M Tu  W Th  F  S
24 25 26 27 28 
   March 2002
 S  M Tu  W Th  F  S
               1  2

Week 8: Intro to UML/OCL

Reading : Validating UML Models and OCL Constraints (.ps, .pdf), OCL : Syntax, Semantics and Tools (.ps, .pdf), UML Spec (section on Object Constraint Language)
Lecture : Introduction to UML/OCL (slides, online lecture)
Lecture : OCL Basics (slides, online lecture)
Examples for lectures
Lab : Intro to OCL and USE (quiz, quiz solution)
Tools: Install USE

   March 2002
 S  M Tu  W Th  F  S
 3  4  5  6  7 8  9

Week 9: Review and Mid-term Exam

Lecture : (no lectures this week)
Lab : Exam

   March 2002
 S  M Tu  W Th  F  S
10 11 12 13 14 15 16 

Week Off:

Spring Break

   March 2002
 S  M Tu  W Th  F  S
17 18 19 20 21 22 23

Week 10: More OCL and USE

Lecture : More OCL (slides, online lecture)
Lecture :
Examples for lectures
Lab : (quiz, quiz solution, exercises)

   March 2002
 S  M Tu  W Th  F  S
24 25 26 27 28 29 30

Week 11: Advanced OCL Expressions

Lecture : Advanced OCL Expressions (slides, online lecture)
Examples for lectures
Lab : (quiz, quiz solution)

   March 2002
 S  M Tu  W Th  F  S
31
   April 2002
 S  M Tu  W Th  F  S
    1  2  3  4 5  6

Week 12: Discovering OCL Constraints

Lecture : Mining OCL Invariants from UML Class Diagrams (slides, online lecture)
Lab : (no lab this week)

   April 2002
 S  M Tu  W Th  F  S
 7  8  9 10 11 12 13

Week 13: More OCL

Lecture : Pre/Post-conditions in OCL and USE (slides, online lecture)
Examples for lectures
Lab : (exercises)
Assignment 3: OCL specification and checking with USE

   April 2002
 S  M Tu  W Th  F  S
14 15 16 17 18 19 20

Week 14: Design By Contract

Reading : Extended Static Checking (ESC) (index of several document formats)
Optional Reading: iContract, Parasoft's jcontract
Lecture : Design By Contract (slides, online lecture)
Lab : ESC/Java Demo (off campus students can just walk through the tutorial in the user's manual as that's what we did in class), (quiz, quiz solution)
Tool : Install ESC/Java

   April 2002
 S  M Tu  W Th  F  S
21 22 23 24 25 26 27 

Week 15: ESC/Java

Reading : ESC/Java User's Manual (html)
Lecture : ESC/Java (slides, online lecture)
Lab: (quiz,quiz solution,exercises)

   April 2002
 S  M Tu  W Th  F  S
28 29 30
   May 2002
 S  M Tu  W Th  F  S
          1  2 3  4

Week 16: Course Review

Lecture : ESC/Java Checking (slides, online lecture)
Lecture : Final exam review
Assignment 4: Checking Java code with ESC/Java

   May 2002
 S  M Tu  W Th  F  S
 5  6  7  8  9 10 11

Week 17:

Final exam: Wednesday, May 15, 2002 from 11:50am-1:??pm

   May 2002
 S  M Tu  W Th  F  S
12 13 14 15 16 17 18

Copyright 2001-2002, Matt Dwyer, John Hatcliff, and Rod Howell. The syllabus and all lectures for this course are copyrighted materials and may not be used in other course settings outside of Kansas State University in their current form or modified form without the express written permission of one of the copyright holders. During this course, students are prohibited from selling notes to or being paid for taking notes by any person or commercial firm without the express written permission of one of the copyright holders.
Maintained by Matthew Dwyer and John Hatcliff