Tool Support for Contract Enhanced Scenarios

  • Reinhold Plösch
  • Gustav Pomberger
Part of the The Kluwer International Series in Engineering and Computer Science book series (SECS, volume 732)


Specification of dynamic behavior is still a difficult problem. Currently a number of formal approaches exist, that are in most cases not suitable for a typical project setting with industrial partners. Nevertheless a number of techniques are available that both contribute to software quality and are applicable. The techniques are uses cases (scenarios), contracts and prototyping. We developed a toolset, that allows to combine scenarios with contract-enriched classes. One of the major advantages is, that scenarios may be executed, i.e., prototypes may be built. We believe, that this toolset leads to more precise scenarios and therefore to a better understanding of the system to be developed.


Symbol Information Software Development Process Internal View Interaction Diagram Automate Teller Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bäumer D., Bischofberger W. R., Lichter H., Züllighoven H.: “User Interface Prototyping - Concepts, Tools, and Experience”, Proceedings of the 18th International Conference on Software Engineering (ICSE), Berlin, Germany, March 1996, pp 532–541Google Scholar
  2. 2.
    Behringer D.: “Modelling Global Behaviour with Scenarios in Object-Oriented Analysis”, Theses No. 1655 (1997), Ecole Polythechnique Federale de Lausanne (EPFL), 1997Google Scholar
  3. 3.
    Bischofberger W. R., Pomberger G: “Prototyping-Oriented Software Development — Concepts and Tools”, Springer-Verlag, 1992Google Scholar
  4. 4.
    Booch G.: “Object-oriented Analysis and Design with Applications”, The Benjamin Cummings Publishing Company, 1994Google Scholar
  5. 5.
    Bowen J. P., Hinchey M. G.: “Ten Commandments of Formal Methods”, IEEE Computer, IEEE Computer Society, April 1995, pp 56–63Google Scholar
  6. 6.
    Carey J. M., Currey J. D.: “The Prototyping Conundrum”, Datamation, June 1, 1989, pp 29–33Google Scholar
  7. 7.
    Chandy K.M., Misra J., “Parallel Program Design — A Foundation”, Addison-Wesley Reading, MA, 1988Google Scholar
  8. 8.
    Davis A.M.: “Software Requirements — Objects, Functions, and States”, Prentice Hall, New Jersey, 1993.Google Scholar
  9. 9.
    Goma H.: “Prototypes — Keep Them or Throw Them Away”, in: Lipp M. E. (ed.): “Prototyping — State of the Art Report”, Pergamon Infotech Ltd, Maidenhead, 1986, pp 41–54Google Scholar
  10. 10.
    Gordon S., Bieman J.: “Rapid Prototyping and Software Quality: Lessons from Industry”, Technical Report CS-91-113, Department of Computer Science, Colorado State University, 1991Google Scholar
  11. 11.
    Hoare C.A.R.: “Proof of Correctness of Data Representations”, Acta Informatica, Vol. 1, 1972, pp 271–281zbMATHCrossRefGoogle Scholar
  12. 12.
    Holland I.M., “Specifying Reusable Components using Contracts”, Proceedings of ECOOP 92, Lecture Notes in Computer Science, No. 615, pp 287–308, 1992Google Scholar
  13. 13.
    Jaaksi, A.: Our Cases with Use Cases. Journal of Object Oriented Programming, Feburary 1998, pp 58–65Google Scholar
  14. 14.
    Jacobson, I., Object-Oriented Software Engineering — A Use Case Driven Approach. Addison Wesley, 1992Google Scholar
  15. 15.
    Kramer R. “iContract-The Java Design by Contract Tool”, to be published in Proceedings of TOOLS USA ′98 conference, 1998Google Scholar
  16. 16.
    Lutz M.: “Programming Python”, O’Reilly & Associates, Sebastopol, 1996Google Scholar
  17. 17.
    Meyer B., “Building Bug-Free O-O Software: An Introduction to Design by Contract”, Object Currents, SIGS Publication, Vol. 1, No. 3, March 1996Google Scholar
  18. 18.
    Meyer B., Object-Oriented Software Construction, 2nd Edition, Prentice Hall Inc., 1997Google Scholar
  19. 19.
    Meyer B.: “Building Bug-Free O-O Software: An Introduction to Design by Contract”, Object Currents, SIGS Publication, Vol. 1, No. 3, March 1996Google Scholar
  20. 20.
    Morgan C., “Programming from Specifications”, Prentice-Hall, Englewood Cliffs, NJ, 1990Google Scholar
  21. 21.
    Page-Jones M., Constantine L.: “Fundamentals of Object-Oriented Design in UML”, Addison-Wesley, 1999Google Scholar
  22. 22. Ploesch R., Pichler J.: “Contracts: From Analysis to C++ Implementation”, Proceedings of the TOOLS-30 conference, Santa Barabara, 1999, IEEE Computuer Society Press, pp 248–257Google Scholar
  23. 23.
    Ploesch R.: “Tool Support for Design by Contract”, Proceedings of TOOLS USA 98 conference, Santa Barabara, USA, IEEE Computer Society Press, pp 282–294, 1998Google Scholar
  24. 24.
    Rubin, K.S./Goldberg, A.: Object Behavior Analysis. Communication of the ACM, September 1992Google Scholar
  25. 25.
    Rumbaugh J., Jacobson I., Booch G.: “The Unified Modeling Language Reference Manual”, Addison-Wesley, 1998Google Scholar
  26. 26.
    Rumbaugh J.: “Object-Oriented Modeling and Design”, Prentice Hall, 1991Google Scholar
  27. 27.
    Sametinger J., Stritzinger A.: “A Documentation Scheme for Object-oriented Software Systems”, OOPS Messenger, ACM Press, Vol. 4, No. 3, July 1993, pp. 6–17CrossRefGoogle Scholar
  28. 28.
    Sobol M. G, Kagan A.: “Which Systems Analysts are more Likely to Prototype?”, Journal of Information System Management, Summer 1989, pp 36–43Google Scholar
  29. 29.
    Spivey J. M.: “The Z Notation: A Reference Manual”, International Series in Computer Science, Prentice-Hall, New York, 1992Google Scholar
  30. 30.
    Standish Group International: Calculating your return of investment from more effective requirements management, Massachusetts, USA, 1996 Scholar

Copyright information

© Springer Science+Business Media New York 2003

Authors and Affiliations

  • Reinhold Plösch
    • 1
    • 2
  • Gustav Pomberger
    • 1
    • 2
  1. 1.Software Engineering Group, Department of Business InformaticsJohannes Kepler Universität LinzAustria
  2. 2.Software Competence Center HagenbergAustria

Personalised recommendations