CIS 771 Software Specifications -- Lecture Material

This page presents the material for CIS 771 lectures including lecture video, slides, examples, and answers to lecture exercises. For instructions on how to view lecture videos, see the Getting Started page.

Course Admistration and Overview

Course Administration

Course Overview

Sets and Relations

Alloy

Alloy Tour (part a)

Part A of a series of lectures covering the Alloy Whirlwind Tour chapter of Jackson's "Software Abstractions" book.

Alloy Tour (part b)

Part B of a series of lectures covering the Alloy Whirlwind Tour chapter of Jackson's "Software Abstractions" book.

Alloy Tour (part c)

Part C of a series of lectures covering the Alloy Whirlwind Tour chapter of Jackson's "Software Abstractions" book.

Alloy Tour (part d)

Part D of a series of lectures covering the Alloy Whirlwind Tour chapter of Jackson's "Software Abstractions" book.

Alloy Tour (part e)

Part E of a series of lectures covering the Alloy Whirlwind Tour chapter of Jackson's "Software Abstractions" book.

Alloy Logic (part b)

Part B of a series of lectures covering the Alloy Logic chapter of Jackson's "Software Abstractions" book.

Alloy Logic (part c)

Part C of a series of lectures covering the Alloy Logic chapter of Jackson's "Software Abstractions" book.
  • Video: podcast (watch in Quick Time Viewer, image view does not work in iTunes)
  • Slides: .pdf

Alloy Logic (part d)

Part D of a series of lectures covering the Alloy Logic chapter of Jackson's "Software Abstractions" book.

USE/OCL

Background Reading
  • OCL Specification: (pdf)
  • USE Documentation: (pdf)

Introduction to UML/OCL

OCL Basics

More OCL

Advanced OCL Expressions

Mining OCL Invariants from UML Class Diagrams

Pre/Post-conditions in OCL and USE

JML and Kiasan

Background Reading

Recommended Reading

  • John Hatcliff, Gary T. Leavens, K. Rustan M. Leino, Peter Müller, and Matthew Parkinson. Behavioral Interface Specification Languages. School of EECS, University of Central Florida, CS-TR-09-01, March 2009 (jmlspecs.org papers section)

Design by Contract

Introduction to JML

Introduction to Kiasan

Kiasan Demo

  • Videos:
    • Installation (OS X 64-bit, Linux 32-bit, Windows 32-bit): .mov
    • Walkthrough: .mov

More on JML and Kiasan

Kiasan's Analysis Engine