Skip to main content

Using OCL and UML to Specify System Behavior

  • Chapter
  • First Online:
Object Modeling with the OCL

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2263))

Abstract

Use cases are an excellent tool for capturing behavioral requirements of software systems, but they are not an ideal work product for driving design activities. We believe that there is value from complementing use case descriptions with pre- and postcondition descriptions, not only to better support reasoning about system properties and a basis for testing and debugging, but also to better support a predictable decomposition level on which one can base a systematic transition to design. Nevertheless, we recognize that pre- and postcondition descriptions are not widely used in practice. We believe this is in part due to the formalism used. Either the formalism is too heavy to learn and use, or the formalism does not offer sufficient abstraction from the vocabulary of implementation.

Via an example, the paper highlights our approach for specifying system behavior, which uses the Unified Modeling Language (UML) and its Object Constraint Language (OCL). We focus the paper on pre- and postconditions descriptions and in particular propose a number of enhancements and interpretations to OCL that we made while refining our approach. In particular, we describe a number of issues that cover areas such as the frame problem, incremental descriptions, structuring schemas, and events and exceptions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Abrial. The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.

    Google Scholar 

  2. K. Achatz and W. Schulte. A Formal OO Method Inspired by Fusion and Object-Z. In J. P. Bowen, M. G. Hinchey, and D. Till (eds.): ZUM’97: The Z Formal Specification Notation, LNCS 1212 Springer, 1997.

    Chapter  Google Scholar 

  3. A. Borigda, J. Mylopoulos and R. Reiter. On the Frame Problem in Procedure Specifications. IEEE Transactions on Software Engineering, Vol. 21, No. 10: October 1995, pp. 785–798.

    Article  Google Scholar 

  4. J-M. Bruel and R. France. Transforming UML models to formal specifications. Proceedings of the OOPSLA’98 Workshop on Formalizing UML: Why? How?, Vancouver, Canada, 1998.

    Google Scholar 

  5. P. Chen; The Entity-Relationship Model—Toward A Unified View of Data. ACM Transactions on Database Systems, 1(1), 1976, pp. 9–36.

    Article  Google Scholar 

  6. D. Coleman et al. Object-Oriented Development: The Fusion Method. Prentice Hall, 1994.

    Google Scholar 

  7. S. Cook, A. Kleppe, R. Mitchell, J. Warmer, and A. Wills. Defining the Context of OCL Expressions. Second International Conference on the Unified Modeling Language: UML’99, Fort Collins, USA, 1999.

    Google Scholar 

  8. D. D’souza and A. Wills. Objects, Components and Frameworks With UML: The Catalysis Approach. Addison-Wesley 1998.

    Google Scholar 

  9. J. Daniels et al. Panel: Cracking the Software Paradox. OOPSLA 2000 Companion from the Conference on Object-Oriented Programming, Systems, Languages, and Application, USA, 2000.

    Google Scholar 

  10. K. Finney, N. Fenton, and A. Fedorec. Effects of Structure on the Comprehensibility of Formal Specifications. IEEE Proc.-Softw. Vol. 146, No. 4, August 1999.

    Google Scholar 

  11. D. Firesmith. Use Case Modeling Guidelines. Proc. 30th Conference on Technology for Object-Oriented Programming Languages and Systems (TOOLS-30), pp. 184–193, IEEE Computer Society, 1999.

    Google Scholar 

  12. M. Fowler; Use and Abuse Cases. Distributed Computing Magazine, 1999 (electronically available at http://www.martinfowler.com/articles.html).

  13. M. Glinz; Problems and Deficiencies of UML as a Requirements Specification Language. Proceedings of the Tenth International Workshop on Software Specification and Design, San Diego, 2000, pp. 11–22.

    Google Scholar 

  14. J. Guttag et al. The Larch Family of Specification Languages. IEEE Trans Soft Eng 2(5), September 1985.

    Google Scholar 

  15. C. Jones. Systematic Software Development Using VDM. Prentice Hall, 1986.

    Google Scholar 

  16. M. Kandé and A. Strohmeier. Towards a UML Profile for Software Architecture Descriptions. UML 2000-The Unified Modeling Language: Advancing the Standard, Third International Conference, York, UK, October 2–6, 2000, S. Kent, A. Evans and B. Selic (Eds.), LNCS (Lecture Notes in Computer Science), no. 1939, 2000, pp. 513–527.

    Google Scholar 

  17. B. Kovitz; Practical Software Requirements: A Manual of Content and Style. Manning 1999.

    Google Scholar 

  18. C. Morgan. Programming from Specifications. Second Edition, Prentice Hall 1994.

    Google Scholar 

  19. B. Meyer. Object-Oriented Software Construction. Second Edition, Prentice Hall, 1997.

    Google Scholar 

  20. R. Paige and J. Ostroff. A Comparison of the Business Object Notation and the Unified Modeling Language. UML’ 99-The Unified Modeling Language: Beyond the Standard, Second International Conference, Fort Collins, CO, USA, October 28–30, 1999, Robert France and Bernard Rumpe (Eds.), LNCS (Lecture Notes in Computer Science), no. 1723, 1999, pp. 67–82.

    Chapter  Google Scholar 

  21. B. Potter, J. Sinclair and D. Till. An Introduction to Formal Specification and Z. Prentice Hall, 1991.

    Google Scholar 

  22. M. Richters and M. Gogolla. On Formalizing the UML Object Constraint Language OCL. In Tok Wang Ling, Sudha Ram, and Mong Li Lee, editors, Proc. 17th Int. Conf. Conceptual Modeling (ER’98), pages 449–464. Springer, Berlin, LNCS Vol. 1507, 1998.

    Google Scholar 

  23. S. Sendall and A. Strohmeier. UML-based Fusion Analysis. UML’ 99-The Unified Modeling Language: Beyond the Standard, Second International Conference, Fort Collins, CO, USA, October 28–30, 1999, Robert France and Bernard Rumpe (Ed.), LNCS (Lecture Notes in Computer Science), no. 1723, 1999, pp. 278–291, extended version also available as Technical Report (EPFL-DI No 99/319).

    Chapter  Google Scholar 

  24. S. Sendall and A. Strohmeier. From Use Cases to System Operation Specifications. UML 2000 — The Unified Modeling Language: Advancing the Standard, Third International Conference, S. Kent and A. Evans (Ed.), LNCS (Lecture Notes in Computer Science), no. 1939, pp. 1–15; Also available as Technical Report (EPFL-DI No 00/333).

    Google Scholar 

  25. S. Sendall and A. Strohmeier. Specifying Concurrent System Behavior and Timing Constraints Using OCL and UML. ≪UML≫ 2001-The Unified Modeling Language: Modeling Languages, Concepts and Tools, Fourth International Conference, Toronto, Canada, October 1–5, Martin Gogolla (Ed.), Lecture Notes in Computer Science, Springer-Verlag, to be published in 2001. Also available as Technical Report EPFL-DI No 01/367.

    Google Scholar 

  26. J.M. Spivey. The Z Notation: A Reference Manual. Prentice Hall, 1989.

    Google Scholar 

  27. A. Strohmeier and S. Sendall. Operation Schemas and OCL. Technical Report (EPFL-DI No 01/358), Swiss Federal Institute of Technology in Lausanne, Software Engineering Lab., 2001.

    Google Scholar 

  28. K. Walden and J.-M. Nerson. Seamless Object-Oriented Software Architecture: Analysis and Design of Reliable Systems. Prentice-Hall, 1995.

    Google Scholar 

  29. J. Warmer and A. Kleppe. The Object Constraint Language: Precise Modeling With UML. Addison-Wesley 1998.

    Google Scholar 

  30. J. Wing. A Two-tiered Approach to Specifying Programs. Technical Report TR-299, Massachusetts Institute of Technology, Laboratory for Computer Science, 1983.

    Google Scholar 

Electronic Resources

  1. Klasse Objecten. OCL Center: OCL Tools. http://www.klasse.nl/ocl/index.htm

  2. OMG Unified Modeling Language Revision Task Force. OMG Unified Modeling Language Specification. Version 1.3, June 1999. http://www.celigent.com/omg/umlrtf/

  3. Software Engineering Lab., Swiss Federal Institute of Technology in Lausanne. The Fondue Method. http://lglwww.epfl.ch/research/fondue/

  4. Software Engineering Lab., Swiss Federal Institute of Technology in Lausanne. Operation Schemas. http://lglwww.epfl.ch/research/operation-schemas/

  5. S. Sendall. Specification Case Studies. http://lglwww.epfl.ch/~sendall/case-studies/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Sendall, S., Strohmeier, A. (2002). Using OCL and UML to Specify System Behavior. In: Clark, T., Warmer, J. (eds) Object Modeling with the OCL. Lecture Notes in Computer Science, vol 2263. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45669-4_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-45669-4_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43169-5

  • Online ISBN: 978-3-540-45669-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics