Constraint Support in MDA Tools: A Survey

  • Jordi Cabot
  • Ernest Teniente
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4066)


The growing interest in the MDA (Model-Driven Architecture) and MDD (Model-Driven Development) approaches has largely increased the number of tools and methods including code-generation capabilities. Given a platform-independent model (PIM) of an application, these tools generate (part of) the application code either by defining first a platform-specific model or by executing a direct PIM to code transformation. However, current tools present several limitations regarding code generation of the integrity constraints defined in the PIMs. This paper compares these tools and shows that they lack expressiveness in the kind of constraints they can handle or efficiency in the code generated to verify them. Based on this evaluation, the features of an ideal code-generation method for integrity constraints are established. We believe such a method is required to extend MDA adoption in the development of industrial projects, where constraints play a key role.


Class Diagram Integrity Constraint Relational Schema Cardinality Constraint Case Tool 
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.
    Ahrendt, W., Baar, T., Beckert, B., Bubel, R., Giese, M., Hähnle, R., Menzel, W., Mostowski, W., Roth, A., Schlager, S., Schmitt, P.H.: The KeY tool, Integrating object oriented design and formal verification. Software and Systems Modeling 4, 32–54 (2005)CrossRefGoogle Scholar
  2. 2.
    Babes-Bolyai. Object Constraint Language Environment 2.0,
  3. 3.
  4. 4.
    Borland. Together Architect (2006),
  5. 5.
    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
  6. 6.
    Cabot, J., Teniente, E.: Computing the Relevant Instances that May Violate an OCL constraint. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 48–62. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Cabot, J., Teniente, E.: Incremental Evaluation of OCL Constraints. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 81–95. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Ceri, S., Fraternali, P., Bongio, A., Brambilla, M., Comai, S., Matera, M.: Designing Data-Intensive Web Applications. Morgan Kaufmann, San Francisco (2002)Google Scholar
  9. 9.
  10. 10.
    Demuth, B., Hussmann, H., Loecher, S.: OCL as a Specification Language for Business Rules in Database Applications. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 104–117. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Dresden. Dresden OCL Toolkit,
  12. 12.
    Dzidek, W.J., Briand, L.C., Labiche, Y.: Lessons Learned from Developing a Dynamic OCL Constraint Enforcement Tool for Java. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 10–19. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    EmPowerTec. OCL-AddIn for Rational Rose,
  14. 14.
    Fons, J., Pelechano, V., Albert, M., Pastor, Ó.: Development of Web Applications from Web Enhanced Conceptual Schemas. In: Song, I.-Y., Liddle, S.W., Ling, T.-W., Scheuermann, P. (eds.) ER 2003. LNCS, vol. 2813, pp. 232–245. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Gentleware. Poseidon for UML v. 4,
  16. 16.
    Gogolla, M., Bohling, J., Richters, M.: Validation of UML and OCL Models by Automatic Snapshot Generation. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 265–279. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Interactive Objects. ArcStyler v.5,
  18. 18.
    ISO/TC97/SC5/WG3: Concepts and Terminology for the Conceptual Schema and Information Base. ISO (1982) Google Scholar
  19. 19.
    Kent Modelling Framework. Kent OCL Library,
  20. 20.
    Klasse Objecten. Octopus: OCL Tool for Precise UML Specifications,
  21. 21.
    Mellor, S.J., Balcer, M.J.: Executable UML. Object Technology Series. Addison-Wesley, Reading (2002)Google Scholar
  22. 22.
    No Magic Inc. MagicDraw UML v. 10.5,
  23. 23.
    Objects by Design. List of UML tools, Available:
  24. 24.
  25. 25.
    Olivé, A.: Conceptual Schema-Centric Development: A Grand Challenge for Information Systems Research. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 1–15. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  26. 26.
    OMG: UML 2.0 OCL Specification. Adopted Specification (ptc/03-10-14) (2003) Google Scholar
  27. 27.
    OMG: UML 2.0 Superstructure Specification. Adopted Specification (ptc/03-08-02) (2003) Google Scholar
  28. 28.
    OMG: MDA Guide Version 1.0.1 (2003) Google Scholar
  29. 29.
    Softeam. Objecteering/UML v. 5.3,
  30. 30.
    Software, R. Rational Rose,
  31. 31.
    Tariq, N.A., Akhter, N.: Comparison of Model Driven Architecture (MDA) based tools. In: Proc. 13th Nordic Baltic Conference (NBC), IFMBE Proceedings, vol. 9 (2005)Google Scholar
  32. 32.
    Teichroew, D.: Methodology for the Design of Information Processing Systems. In: Proc. 4th Australian Computer Conference, pp. 629–634 (1969)Google Scholar
  33. 33.
    Türker, C., Gertz, M.: Semantic integrity support in SQL:1999 and commercial (object-) relational database management systems. The VLDB Journal 10, 241–269 (2001)MATHCrossRefGoogle Scholar
  34. 34.
    Verheecke, B., Straeten, R.V.D.: Specifying and implementing the operational use of constraints in object-oriented applications. In: Proc. Tools Pacific 2002, pp. 23–32 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jordi Cabot
    • 1
  • Ernest Teniente
    • 2
  1. 1.Estudis d’Informàtica i MultimèdiaUniversitat Oberta de Catalunya 
  2. 2.Dept. Llenguatges i Sistemes InformàticsUniversitat Politècnica de Catalunya 

Personalised recommendations