Last Updated: 2014 July 25

Case Studies

  1. Agents and tuples Examples of how functions and procedures are passed in Eiffel in a type safe manner.
  2. Assertion study Shows that assertions can call user routines. Shows that assertions are not executed within routines called from assertions.
  3. Banks A sequence of 5 versions of a bank system showing the use of global variables, adaptor pattern, singleton pattern. Shows the use of contracts and testing with eSpec.
  4. Dictionary A dictionary system mapping keys to values. Shows the use of contracts. Two test systems are demonstrated.
  5. Testing with eSpec A minimal system that shows the fundamentals of testing using eSpec.
  6. Expanded class studyTwo definitions of a complex number class, one expaned the other not, shows how to use expanded classes and the properties of using expanded classes.
  7. Sparse Matrix Contains the specification (a pdf file) and solutionof a simple sparse matrix system that was an exercise in EECS 1030, 2011 and 3311 in earlier years. Shows the use of agents and tuples, contracts and minimal output tests.
  8. Twin study Some examples using strings that show the notions of shallow copy, one-level copy (twinning or cloning), and deep copy (deep twinning or deep cloning).