Deriving Operation Contracts from UML Class Diagrams

  • Jordi Cabot
  • Cristina Gómez
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4735)


Class diagrams must be complemented with a set of system operations that describes how users can modify and evolve the system state. To be useful, such a set must be complete (i.e. through these operations, users should be able to modify the population of all elements in the class diagram) and executable (i.e. for each operation, there must exist a system state over which the operation can be successfully applied). Manual specification of these operations is an error-prone and time-consuming activity. Therefore, the goal of this paper is to automatically provide a basic set of system operations that verify these two properties. Operations are drawn from the elements (classes, attributes, etc) of the class diagram and take into account the possible dependencies between the different change events (i.e. inserts/updates/deletes) that may be applied to them. Afterwards, the designer could reuse our proposal to build up more complex operations.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ackermann, J., Turowski, K.: A Library of OCL Specification Patterns for Behavioral Specification of Software Components. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 255–269. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Andrew, J., Mcallister, D.S.: An approach for decomposing N-ary data relationships. Software: Practice and Experience 28, 125–154 (1998)CrossRefGoogle Scholar
  3. 3.
    Cabot, J.: From Declarative to Imperative UML/OCL Operation Specifications. In: ER 2007. LNCS, Springer, Heidelberg (to appear, 2007)Google Scholar
  4. 4.
    Cabot, J., Teniente, E.: Determining the Structural Events that May Violate an Integrity Constraint. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, pp. 173–187. Springer, Heidelberg (2004)Google Scholar
  5. 5.
    CincomSmalltalk. VisualWorks,
  6. 6.
    Costal, D., Sancho, M.-R., Teniente, E.: Understanding Redundancy in UML Models for Object-Oriented Analysis. In: Pidduck, A.B., Mylopoulos, J., Woo, C.C., Ozsu, M.T. (eds.) CAiSE 2002. LNCS, vol. 2348, pp. 659–674. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  7. 7.
    Costal, D., Teniente, E., Urpí, T., Farré, C.: Handling Conceptual Model Validation by Planning. In: Constantopoulos, P., Vassiliou, Y., Mylopoulos, J. (eds.) CAiSE 1996. LNCS, vol. 1080, pp. 255–271. Springer, Heidelberg (1996)Google Scholar
  8. 8.
    Engels, G., Gogolla, M., Hohenstein, U., Hüllmann, K., Löhr-Richter, P., Saake, G., Ehrich, H.-D.: Conceptual Modelling of Database Applications Using an Extended ER Model. Data & Knowledge Engineering 9, 157–204 (1992)CrossRefGoogle Scholar
  9. 9.
    ISO/TC97/SC5/WG3: Concepts and Terminology for the Conceptual Schema and Information Base. ISO (1982) Google Scholar
  10. 10.
    Laleau, R., Polack, F.: Specification of Integrity-Preserving Operations in Information Systems by Using a Formal UML-based Language. Information and Software Technology 43, 693–704 (2001)CrossRefGoogle Scholar
  11. 11.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, 2nd edn. Prentice-Hall, Englewood Cliffs (2001)Google Scholar
  12. 12.
    Link, S.: Consistency Enforcement in Databases. In: Bertossi, L., Katona, G.O.H., Schewe, K.-D., Thalheim, B. (eds.) Semantics in Databases. LNCS, vol. 2582, pp. 139–159. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
  14. 14.
    Olivé, A.: Conceptual Modeling of Information Systems. Springer, Heidelberg (2007)MATHCrossRefGoogle Scholar
  15. 15.
    OMG: UML 2.0 Superstructure Specification. OMG Adopted Specification (ptc/03-08-02) (2003)Google Scholar
  16. 16.
    OMG: UML 2.0 OCL Specification. OMG Adopted Specification (ptc/03-10-14) (2003)Google Scholar
  17. 17.
    Pastor, J.A., Olivé, A.: Supporting Transaction Design in Conceptual Modelling of Information Systems. In: Iivari, J., Rossi, M., Lyytinen, K. (eds.) CAiSE 1995. LNCS, vol. 932, pp. 40–53. Springer, Heidelberg (1995)Google Scholar
  18. 18.
    Queralt, A., Teniente, E.: Specifying the Semantics of Operation Contracts in Conceptual Modeling. Journal on Data Semantics 7, 33–56 (2006)CrossRefGoogle Scholar
  19. 19.
    Raventós, R.: A conceptual schema for a conference management application. UPC, LSI Technical Report, LSI-05-1-R (2005)Google Scholar
  20. 20.
    Schewe, K.-D., Thalheim, B.: Towards a theory of consistency enforcement. Acta Informatica 36, 97–141 (1999)MATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Sendall, S., Strohmeier, A.: From use cases to system operation specifications. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, Springer, Heidelberg (2000)Google Scholar
  22. 22.
    Wieringa, R.: A survey of structured and object-oriented software specification methods and techniques. ACM Computing Surveys 30, 459–527 (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Jordi Cabot
    • 1
  • Cristina Gómez
    • 2
  1. 1.Estudis d’Informàtica, Multimedia i Telecomunicacions, Universitat Oberta de Catalunya 
  2. 2.Dept. de Llenguatges i Sistemes Informàtics, Universitat Politècnica de Catalunya 

Personalised recommendations