Skip to main content

Modal Object Diagrams

  • Conference paper
ECOOP 2011 – Object-Oriented Programming (ECOOP 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6813))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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)

    Article  Google Scholar 

  2. Berardi, D., Calvanese, D., Giacomo, G.D.: Reasoning on UML class diagrams. Artif. Intell. 168(1-2), 70–118 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  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. 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. Damm, W., Harel, D.: LSCs: Breathing life into Message Sequence Charts. Formal Methods in System Design 19(1), 45–80 (2001)

    Article  MATH  Google Scholar 

  6. Dresden OCL, http://www.reuseware.org/index.php/DresdenOCL (accessed April 2011)

  7. Eclipse UML2 project, http://www.eclipse.org/modeling/mdt/?project=uml2 (accessed April 2011)

  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)

    Chapter  Google Scholar 

  9. FreeMarker, http://freemarker.org/ (accessed April 2011)

  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)

    Chapter  Google Scholar 

  11. Harel, D., Kugler, H.: Synthesizing state-based object systems from LSC specifications. Int. J. Found. Comput. Sci. 13(1), 5–51 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  14. IBM Rational Software Architect (RSA), http://www.ibm.com/developerworks/rational/products/rsa/ (accessed April 2011)

  15. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)

    Google Scholar 

  16. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Sci. Comput. Program. 72(1-2), 31–39 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  17. Kent, S.: Constraint diagrams: Visualizing assertions in object-oriented models. In: OOPSLA, pp. 327–341 (1997)

    Google Scholar 

  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)

    Article  Google Scholar 

  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. 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. 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. MOD project materials, http://www.se-rwth.de/materials/mod/

  23. MontiCore project, http://www.monticore.org/

  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. OMG (Object Management Group). Object Constraint Language (OCL), http://www.omg.org/spec/OCL/2.2/ (accessed May 2011)

  26. Poseidon for UML, http://www.gentleware.com/ (accessed May 2011)

  27. Rumpe, B.: Modellierung mit UML. Springer, Heidelberg (2004)

    Book  MATH  Google Scholar 

  28. SAT4J project, http://www.sat4j.org/ (accessed May 2011)

  29. Sen, S., Baudry, B., Vangheluwe, H.: Towards domain-specific model editors with automatic model completion. Simulation 86(2), 109–126 (2010)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Sparx Systems Enterprise Architect, http://www.sparxsystems.com/ (accessed May 2011)

  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)

    Chapter  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Maoz, S., Ringert, J.O., Rumpe, B. (2011). Modal Object Diagrams. In: Mezini, M. (eds) ECOOP 2011 – Object-Oriented Programming. ECOOP 2011. Lecture Notes in Computer Science, vol 6813. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22655-7_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-22655-7_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-22654-0

  • Online ISBN: 978-3-642-22655-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics