Abstract
We present a formal semantics for an object-oriented specification language. The formal semantics is presented as a conservative shallow embedding in Isabelle/hol and the language is oriented towards ocl formulae in the context of uml class diagrams. On this basis, we formally derive several equational and tableaux calculi, which form the basis of an integrated proof environment including automatic proof support and support for the analysis of this type of specifications. We show applications of our proof environment to data refinement based on an adapted standard refinement notion. Thus, we provide an integrated formal method for refinement-based object-oriented development.
Similar content being viewed by others
References
Abrial J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, New York (1996)
Abrial J.R.: Modeling in Event-B: System and Software Design. Cambridge University Press, New York (2009)
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. Softw. Syst. Model. 4(1), 32–54 (2005). doi:10.1007/s10270-004-0058-x
Andrews P.B.: Introduction to Mathematical Logic and Type Theory: To Truth through Proof, 2nd edn. Kluwer, Dordrecht (2002)
Boulton R., Gordon A., Gordon M.J.C., Harrison J., Herbert J., Tassel J.V.: Experience with embedding hardware description languages in HOL. In: Stavridou, V., Melham, T.F., Boute, R.T. (eds) Proceedings of the International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience, IFIP Transactions, vol. A-10, pp. 129–156. North-Holland, Nijmegen (1993)
Brucker, A.D.: An interactive proof environment for object-oriented specifications. Ph.D. thesis, ETH Zurich (2007). ETH Dissertation No. 17097
Brucker, A.D., Doser, J., Wolff, B.: An MDA framework supporting OCL. Electronic Communications of the EASST 5 (2006)
Brucker A.D., Doser J., Wolff B.: A model transformation semantics and analysis methodology for SecureUML. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds) MoDELS 2006: Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science, vol. 4199, pp. 306–320. Springer, Berlin (2006). doi:10.1007/11880240_22
Brucker, A.D., Wolff, B.: The HOL-OCL book. Tech. Rep. 525, ETH Zurich (2006)
Brucker A.D., Wolff B.: An extensible encoding of object-oriented data models in HOL. J. Autom. Reason. 41, 219–249 (2008). doi:10.1007/s10817-008-9108-3
Church A.: A formulation of the simple theory of types. J. Symb. Log. 5(2), 56–68 (1940)
Gabbay D.M.: Labelled Deductive Systems, Oxford Logic Guides, vol. 1. Oxford University Press, New York (1997)
Gogolla M., Richters M.: Expressing UML class diagrams properties with OCL. In: Clark, T., Warmer, J. (eds) Object Modeling with the OCL: The Rationale behind the Object Constraint Language. Lecture Notes in Computer Science, vol. 2263, pp. 85–114. Springer, Heidelberg (2002)
Hähnle, R.: Efficient deduction in many-valued logics. In: International Symposium on Multiple-Valued Logics (ISMVL), pp. 240–249. IEEE Computer Society, Los Alamitos (1994). doi:10.1109/ismvl.1994.302195
Hähnle R.: Tableaux for many-valued logics. In: D’Agostino, M., Gabbay, D., Hähnle, R., Posegga, J. (eds) Handbook of Tableau Methods, pp. 529–580. Kluwer, Dordrecht (1999)
Jones C.B.: Systematic Software Development Using VDM, 2nd edn. Prentice-Hall, Upper Saddle River (1990) ISBN 0-13-880733-7
Kerber, M., Kohlhase, M.: A tableau calculus for partial functions. In: Collegium Logicum—Annals of the Kurt-Gödel-Society, vol. 2, pp. 21–49. Springer, New York (1996)
Kleppe A., Warmer J., Bast W.: MDA Explained. The Model Driven Architecture: Practice and Promise. Addison-Wesley, Reading (2003)
Kobryn C.: UML 2001: a standardization odyssey. Commun. ACM 42(10), 29–37 (1999). doi:10.1145/317665.317673
Leino K.R.M., Müller P.: Modular verification of static class invariants. In: Fitzgerald, J., Hayes, I.J., Tarlecki, A. (eds) FM 2005: Formal Methods. Lecture Notes in Computer Science, vol. 3582, pp. 26–42. Springer, Heidelberg (2005). doi:10.1007/11526841_4
Leino, K.R.M., Nelson, G., Saxe, J.B.: ESC/Java user’s manual. Tech. Rep. SRC-2000-002, Compaq Systems Research Center (2000)
Marché C., Paulin-Mohring C.: Reasoning about Java programs with aliasing and frame conditions. In: Hurd, J., Melham, T.F. (eds) Theorem Proving in Higher Order Logics (TPHOLS). Lecture Notes in Computer Science, vol. 3603, pp. 179–194. Springer, Heidelberg (2005). doi:10.1007/11541868_12
Nipkow T., Paulson L.C., Wenzel M.: Isabelle/HOL—A Proof Assistant for Higher-Order Logic. Lecture Notes in Computer Science, vol. 2283. Springer, Heidelberg (2002). doi:10.1007/3-540-45949-9
Richters, M.: A precise approach to validating UML models and OCL constraints. Ph.D. thesis, Universität Bremen, Logos Verlag, Berlin, BISS Monographs, No. 14 (2002)
Richters M., Gogolla M.: OCL: Syntax, semantics, and tools. In: Clark, T., Warmer, J. (eds) Object Modeling with the OCL: The Rationale behind the Object Constraint Language. Lecture Notes in Computer Science, vol. 2263, pp. 42–68. Springer, Heidelberg (2002)
Schmidt D.C.: Guest editor’s introduction: Model-driven engineering. Computer 39(2), 25–31 (2006). doi:10.1109/MC.2006.58
Spivey J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice-Hall, Upper Saddle River (1992)
UML 2.0 OCL specification (2003). Available as OMG document. http://www.omg.org/cgi-bin/doc?ptc/03-10-14
Unified modeling language specification (version 1.5) (2003). Available as OMG document. http://www.omg.org/cgi-bin/doc?formal/03-03-01
Viganò L.: Labelled Non-Classical Logics. Kluwer, Dordrecht (2000)
von Oheimb, D.: Analyzing Java in Isabelle/HOL: formalization, type safety and Hoare logic. Ph.D. thesis, Technische Universität München (2001)
von Oheimb D., Nipkow T.: Hoare logic for NanoJava: auxiliary variables, side effects, and virtual methods revisited. In: Eriksson, L.H., Lindsay, P.A. (eds) FME 2002: Formal Methods—Getting IT Right. Lecture Notes in Computer Science, vol. 2391, pp. 89–105. Springer, Heidelberg (2002). doi:10.1007/3-540-45614-7_6
Wenzel M., Wolff B.: Building formal method tools in the Isabelle/Isar framework. In: Schneider, K., Brandt, J. (eds) TPHOLS 2007. Lecture Notes in Computer Science, vol. 4732, pp. 351–366. Springer, Heidelberg (2007)
Winskel G.: The Formal Semantics of Programming Languages. MIT Press, Cambridge (1993)
Woodcock J., Davies J.: Using Z: Specification, Refinement, and Proof. Prentice Hall International Series in Computer Science. Prentice Hall, Upper Saddle River (1996)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Brucker, A.D., Wolff, B. Semantics, calculi, and analysis for object-oriented specifications. Acta Informatica 46, 255–284 (2009). https://doi.org/10.1007/s00236-009-0093-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-009-0093-8