Modal Object Diagrams

  • Shahar Maoz
  • Jan Oliver Ringert
  • Bernhard Rumpe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6813)


While object diagrams (ODs) are widely used as a means to document object-oriented systems, they are expressively weak, as they are limited to describe specific possible snapshots of the system at hand. In this paper we introduce modal object diagrams (MODs), which extend the classical OD language with positive/negative and example/invariant modalities. The extended language allows the designer to specify not only positive example models but also negative examples, ones that the system should not allow, positive invariants, ones that all system’s snapshots should include, and negative invariants, ones that no system snapshot is allowed to include. Moreover, as a primary application of the extended language we provide a formal verification technique that decides whether a given class diagram satisfies (i.e., models) a multi-modal object diagrams specification. In case of a negative answer, the technique outputs relevant counterexample object models, as applicable. The verification is based on a reduction to Alloy. The ideas are implemented in a prototype Eclipse plug-in. Examples show the usefulness of the extended language in specifying structural requirements of object-oriented systems in an intuitive yet expressive way.


Object Model Class Diagram Object Constraint Language Extended Language Invariant MODs 
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.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Software and Systems Modeling 9(1), 69–86 (2010)CrossRefGoogle Scholar
  2. 2.
    Berardi, D., Calvanese, D., Giacomo, G.D.: Reasoning on UML class diagrams. Artif. Intell. 168(1-2), 70–118 (2005)CrossRefzbMATHMathSciNetGoogle Scholar
  3. 3.
    Broy, M., Cengarle, M.V., Grönniger, H., Rumpe, B.: Definition of the System Model. In: Lano, K. (ed.) UML 2 Semantics and Applications. Wiley, Chichester (2009)Google Scholar
  4. 4.
    Cengarle, M.V., Grönniger, H., Rumpe, B.: System Model Semantics of Class Diagrams. Informatik-Bericht 2008-05, Technische Universität Braunschweig (2008)Google Scholar
  5. 5.
    Damm, W., Harel, D.: LSCs: Breathing life into Message Sequence Charts. Formal Methods in System Design 19(1), 45–80 (2001)CrossRefzbMATHGoogle Scholar
  6. 6.
    Dresden OCL, (accessed April 2011)
  7. 7.
    Eclipse UML2 project, (accessed April 2011)
  8. 8.
    Evans, A., France, R.B., Peng, S.-L.: The UML as a Formal Modeling Notation. In: Bézivin, J., Muller, P.-A. (eds.) UML 1998. LNCS, vol. 1618, pp. 336–348. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. 9.
    FreeMarker, (accessed April 2011)
  10. 10.
    Gogolla, M., Kuhlmann, M., Hamann, L.: Consistency, independence and consequences in UML and OCL models. In: Dubois, C. (ed.) TAP 2009. LNCS, vol. 5668, pp. 90–104. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    Harel, D., Kugler, H.: Synthesizing state-based object systems from LSC specifications. Int. J. Found. Comput. Sci. 13(1), 5–51 (2002)CrossRefzbMATHMathSciNetGoogle Scholar
  12. 12.
    Harel, D., Maoz, S.: Assert and negate revisited: Modal semantics for UML sequence diagrams. Software and Systems Modeling (SoSyM) 7(2), 237–252 (2008)CrossRefGoogle Scholar
  13. 13.
    Harel, D., Maoz, S., Segall, I.: Some Results on the Expressive Power and Complexity of LSCs. In: Avron, A., Dershowitz, N., Rabinovich, A. (eds.) Pillars of Computer Science. LNCS, vol. 4800, pp. 351–366. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    IBM Rational Software Architect (RSA), April 2011)
  15. 15.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)Google Scholar
  16. 16.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1-2), 31–39 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  17. 17.
    Kent, S.: Constraint diagrams: Visualizing assertions in object-oriented models. In: OOPSLA, pp. 327–341 (1997)Google Scholar
  18. 18.
    Krahn, H., Rumpe, B., Völkel, S.: MontiCore: a framework for compositional development of domain specific languages. International Journal on Software Tools for Technology Transfer (STTT) 12(5), 353–372 (2010)CrossRefGoogle Scholar
  19. 19.
    Kuss, E.: Using Alloy Analyzer for automated consistency checks between UML/P class and object diagrams. Master’s thesis, Software Engineering, RWTH Aachen, Germany (2010) (in German)Google Scholar
  20. 20.
    Maoz, S., Ringert, J.O., Rumpe, B.: CDDiff: Semantic differencing for class diagrams. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 230–254. Springer, Heidelberg (2011)Google Scholar
  21. 21.
    Maraee, A., Balaban, M.: Efficient reasoning about finite satisfiability of UML class diagrams with constrained generalization sets. In: Akehurst, D.H., Vogel, R., Paige, R.F. (eds.) ECMDA-FA. LNCS, vol. 4530, pp. 17–31. Springer, Heidelberg (2007)Google Scholar
  22. 22.
    MOD project materials,
  23. 23.
    MontiCore project,
  24. 24.
    Nierstrasz, O.: Ten things I hate about object-oriented programming. ECOOP 2010  9(5) (September 2010) (editorial [Banquet speech given at ECOOP 2010, Maribor, June 24 2010])Google Scholar
  25. 25.
    OMG (Object Management Group). Object Constraint Language (OCL), (accessed May 2011)
  26. 26.
    Poseidon for UML, (accessed May 2011)
  27. 27.
    Rumpe, B.: Modellierung mit UML. Springer, Heidelberg (2004)CrossRefzbMATHGoogle Scholar
  28. 28.
    SAT4J project, (accessed May 2011)
  29. 29.
    Sen, S., Baudry, B., Vangheluwe, H.: Towards domain-specific model editors with automatic model completion. Simulation 86(2), 109–126 (2010)CrossRefGoogle Scholar
  30. 30.
    Shah, S.M.A., Anastasakis, K., Bordbar, B.: From UML to alloy and back again. In: Ghosh, S. (ed.) MODELS 2009. LNCS, vol. 6002, pp. 158–171. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  31. 31.
    Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., Drechsler, R.: Verifying UML/OCL models using Boolean satisfiability. In: DATE, pp. 1341–1344. IEEE, Los Alamitos (2010)Google Scholar
  32. 32.
    Sparx Systems Enterprise Architect, (accessed May 2011)
  33. 33.
    Van Der Straeten, R., Mens, T., Simmonds, J., Jonckers, V.: Using description logic to maintain consistency between UML models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 326–340. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  34. 34.
    Uchitel, S., Kramer, J., Magee, J.: Negative scenarios for implied scenario elicitation. In: SIGSOFT FSE, pp. 109–118. ACM, New York (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Shahar Maoz
    • 1
  • Jan Oliver Ringert
    • 1
  • Bernhard Rumpe
    • 1
  1. 1.Software EngineeringRWTH Aachen UniversityGermany

Personalised recommendations