Using OCL and UML to Specify System Behavior

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.

Published in:
Object Modeling with the OCL, The Rationale behind the Object Constraint Language; Clark and Warmer (Eds.), 2263, 250 - 279
Springer Verlag
Also available as Technical Report DI/01/359, Ecole Polytechnique Fédérale de Lausanne (EPFL), School of Computer and Communication Sciences, 2001
Other identifiers:

 Record created 2005-09-20, last modified 2018-01-27

External link:
Download fulltext
Rate this document:

Rate this document:
(Not yet reviewed)