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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
J. Abrial. The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.
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.
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.
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.
P. Chen; The Entity-Relationship Model—Toward A Unified View of Data. ACM Transactions on Database Systems, 1(1), 1976, pp. 9–36.
D. Coleman et al. Object-Oriented Development: The Fusion Method. Prentice Hall, 1994.
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.
D. D’souza and A. Wills. Objects, Components and Frameworks With UML: The Catalysis Approach. Addison-Wesley 1998.
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.
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.
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.
M. Fowler; Use and Abuse Cases. Distributed Computing Magazine, 1999 (electronically available at http://www.martinfowler.com/articles.html).
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.
J. Guttag et al. The Larch Family of Specification Languages. IEEE Trans Soft Eng 2(5), September 1985.
C. Jones. Systematic Software Development Using VDM. Prentice Hall, 1986.
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.
B. Kovitz; Practical Software Requirements: A Manual of Content and Style. Manning 1999.
C. Morgan. Programming from Specifications. Second Edition, Prentice Hall 1994.
B. Meyer. Object-Oriented Software Construction. Second Edition, Prentice Hall, 1997.
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.
B. Potter, J. Sinclair and D. Till. An Introduction to Formal Specification and Z. Prentice Hall, 1991.
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.
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).
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).
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.
J.M. Spivey. The Z Notation: A Reference Manual. Prentice Hall, 1989.
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.
K. Walden and J.-M. Nerson. Seamless Object-Oriented Software Architecture: Analysis and Design of Reliable Systems. Prentice-Hall, 1995.
J. Warmer and A. Kleppe. The Object Constraint Language: Precise Modeling With UML. Addison-Wesley 1998.
J. Wing. A Two-tiered Approach to Specifying Programs. Technical Report TR-299, Massachusetts Institute of Technology, Laboratory for Computer Science, 1983.
Electronic Resources
Klasse Objecten. OCL Center: OCL Tools. http://www.klasse.nl/ocl/index.htm
OMG Unified Modeling Language Revision Task Force. OMG Unified Modeling Language Specification. Version 1.3, June 1999. http://www.celigent.com/omg/umlrtf/
Software Engineering Lab., Swiss Federal Institute of Technology in Lausanne. The Fondue Method. http://lglwww.epfl.ch/research/fondue/
Software Engineering Lab., Swiss Federal Institute of Technology in Lausanne. Operation Schemas. http://lglwww.epfl.ch/research/operation-schemas/
S. Sendall. Specification Case Studies. http://lglwww.epfl.ch/~sendall/case-studies/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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