Snapshot Generation in a Constructive Object-Oriented Modeling Language

  • Mauro Ferrari
  • Camillo Fiorentini
  • Alberto Momigliano
  • Mario Ornaghi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4915)


CooML is an object-oriented modeling language where specifications are theories in a constructive logic designed to handle incomplete information. In this logic we view snapshots as a formal counterpart of object populations, which are associated with specifications via the constructive interpretation of logical connectives. In this paper, we introduce the “snapshot semantics” of CooML and we describe a snapshot generation (SG) algorithm, which can be applied to validate specifications in the spirit of OCL-like constraints over UML models. Differently from the latter and from the standard BHK semantics, the logic allows us to exploit a notion of partial validation that is appropriate to encodings characterised by incomplete information. SG is akin to model generation in answer set programming. We show that the algorithm is sound and complete so that its successful termination implies consistency of the system.


Information Content Generation Requirement Simple Property Expansion Step Information Term 
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.
    Baral, C.: Knowledge Representation, Reasoning and Declarative Problem Solving. In: CUP (2003)Google Scholar
  2. 2.
    Batory, D.S.: Feature models, grammars, and propositional formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Boronat, A., Oriente, J., Gómez, A., Ramos, I., Carsí, J.Á.: An algebraic specification of generic OCL queries within the eclipse modeling framework. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 316–330. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Bouquet, F., Dadeau, F., Legeard, B., Utting, M.: JML-testing-tools: A symbolic animator for JML specifications using CLP. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 551–556. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Buccafurri, F., et al.: Strong and weak constraints in disjunctive Datalog. In: Dix et al. [6]. pp. 2–17Google Scholar
  6. 6.
    Dix, J., Furbach, U., Nerode, A. (eds.): LPNMR 1997. LNCS, vol. 1265. Springer, Heidelberg (1997)Google Scholar
  7. 7.
    Fruewirth, T., Abdennadher, S.: Essentials of Constraint Programming. Springer, New York (2003)CrossRefzbMATHGoogle Scholar
  8. 8.
    Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL models in USE by automatic snapshot generation. Software and System Modeling 4(4), 386–398 (2005)CrossRefGoogle Scholar
  9. 9.
    Guttag, J.V., Horning, J.J.: Larch: languages and tools for formal specification. Springer, New York (1993)CrossRefzbMATHGoogle Scholar
  10. 10.
    Jackson, D., Wing, J.: Lightweight formal method. IEEE Computer, Los Alamitos (1996)Google Scholar
  11. 11.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Prentice Hall, Upper Saddle River, NJ (2004)Google Scholar
  12. 12.
    Leavens, G.T., Baker, A.L., Ruby, C.: Preliminary design of JML: A behavioral interface specification language for Java. SIGSOFT Softw. Eng. Notes 31(3), 1–38 (2006)CrossRefGoogle Scholar
  13. 13.
    Leone, N., et al.: The DLV system for knowledge representation and reasoning. ACM Trans. Comput. Log. 7(3), 499–562 (2006)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Marek, V.W., Niemelä, I., Truszczyński, M.: Logic programs with monotone cardinality atoms. In: Lifschitz, V., Niemelä, I. (eds.) LPNMR 2004. LNCS (LNAI), vol. 2923, pp. 154–166. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Miglioli, P., Moscato, U., Ornaghi, M., Usberti, G.: A constructivism based on classical truth. Notre Dame Journal of Formal Logic 30(1), 67–90 (1989)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Neema, S., Sztipanovits, J., Karsai, G., Butts, K.: Constraint-based design-space exploration and model synthesis. In: Alur, R., Lee, I. (eds.) EMSOFT 2003, vol. 2855, pp. 290–305. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Niemelä, I., Simons, P.: Smodels - an implementation of the stable model and well-founded semantics for normal lp. In: Dix et al. [6]. pp. 421–430Google Scholar
  18. 18.
    Offutt, J., Abdurazik, A.: Generating tests from UML specifications. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 416–429. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  19. 19.
    Ornaghi, M., Benini, M., Ferrari, M., Fiorentini, C., Momigliano, A.: A constructive object oriented modeling language for information systems. ENTCS 153(1), 67–90 (2006)Google Scholar
  20. 20.
    Ornaghi, M., Fiorentini, C.: Answer set semantics vs. information term semantics. In: Informal Proceedings of ASP 2007: Answer Set Programming: Advances in Theory and Implementation,
  21. 21.
    Przymusinski, T.C.: Well-founded and stationary models of logic programs. Ann. Math. Artif. Intell. 12(3–4), 141–187 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Troelstra, A.S.: From constructivism to computer science. TCS 211(1–2), 233–252 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Warmer, J., Kleppe, A.: The Object Constraint Language: Precise Modelling with UML. In: Object Technology Series, Addison-Wesley, Reading, MA (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Mauro Ferrari
    • 1
  • Camillo Fiorentini
    • 2
  • Alberto Momigliano
    • 2
  • Mario Ornaghi
    • 2
  1. 1.Dipartimento di Informatica e ComunicazioneUniversità degli Studi dell’InsubriaItaly
  2. 2.Dipartimento di Scienze dell’InformazioneUniversità degli Studi di MilanoItaly

Personalised recommendations