Using Constraints in Teaching Software Modeling

  • Dan Chiorean
  • Vladiela Petraşcu
  • Ileana Ober
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7167)


The paper presents an approach to teaching software modeling that has been put into practice at the Babeş-Bolyai University of Cluj-Napoca and Paul Sabatier University in Toulouse. This aims at persuading students of the advantages deriving from the usage of rigorous models. The development of such models, which relies on the Design by Contract technique, is a must in the context of the Model-Driven Engineering paradigm. Another goal of our approach is for students to acquire core software modeling principles and techniques, allowing them to identify and avoid various types of pitfalls enclosed by the modeling examples posted on web. Following a decade of use and teaching of OCL, we have concluded that starting with a defense of the necessity and advantages offered by the use of constraints (an “inverted curriculum” approach) is a far more efficient teaching method compared to a pure technical introduction into the language itself.


rigorous modeling OCL specifications meaningful specifications efficient specifications model understanding 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A UML-based Specification Environment,
  2. 2.
    Frame Based on the Extensive Use of Metamodeling for the Specification, Implementation and Validation of Languages and Applications (EMF_SIVLA) - Project Deliverables,
  3. 3.
  4. 4.
  5. 5.
    Cabot, J.: Common UML errors (I): Infinite recursive associations (2011),
  6. 6.
    Chimiak-Opoka, J., Demuth, B.: Teaching OCL Standard Library: First Part of an OCL 2.x Course. ECEASST, vol. 34 (2010)Google Scholar
  7. 7.
    Chiorean, D., Ober, I., Petraşcu, V.: Avoiding OCL Specification Pitfalls. In: Proceedings of the 7th Educators Symposium: Software Modeling in Education at MODELS 2011 (EduSymp 2011). Electronic Communications of the EASST, vol. xx, 10 pages. EASST (2011) Google Scholar
  8. 8.
    Chiorean, D., Petraşcu, V., Ober, I.: Testing-Oriented Improvements of OCL Specification Patterns. In: Proceedings of the 2010 IEEE International Conference on Automation, Quality and Testing, Robotics - AQTR, vol. II, pp. 143–148. IEEE Computer Society (2010)Google Scholar
  9. 9.
    France, R., Rumpe, B.: Model-driven development of complex software: A research roadmap. In: 2007 Future of Software Engineering, FOSE 2007, pp. 37–54. IEEE Computer Society, Washington, DC (2007), Google Scholar
  10. 10.
    LCI (Laboratorul de Cercetare în Informatică): Object Constraint Language Environment (OCLE),
  11. 11.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall (1997)Google Scholar
  12. 12.
    Nierstrasz, O.: Synchronizing Models and Code (2011), Invited Talk at TOOLS 2011 Federated Conference,
  13. 13.
    OMG (Object Management Group): Object Constraint Language (OCL), Version 2.3 Beta 2 (2011),
  14. 14.
    Software Technology Group at Technische Universität Dresden: Dresden OCL,
  15. 15.
    Todorova, A.: Produce more accurate domain models by using OCL constraints (2011),
  16. 16.
    Venners, B.: Abstraction and Efficiency. A Conversation with Bjarne Stroustrup - Part III (2004),

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Dan Chiorean
    • 1
  • Vladiela Petraşcu
    • 1
  • Ileana Ober
    • 2
  1. 1.Babeş-Bolyai UniversityCluj-NapocaRomania
  2. 2.Université Paul SabatierToulouseFrance

Personalised recommendations