An Extensible Encoding of Object-oriented Data Models in HOL with an Application to IMP plus

被引:13
作者
Brucker, Achim D. [1 ]
Wolff, Burkhart [2 ]
机构
[1] SAP Res, D-76131 Karlsruhe, Germany
[2] Univ Paris 11, F-91893 Orsay, France
关键词
Object-oriented data models; HOL; Theorem proving; Verification;
D O I
10.1007/s10817-008-9108-3
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We present an extensible encoding of object-oriented data models into higher-order logic (HOL). Our encoding is supported by a datatype package that leverages the use of the shallow embedding technique to object-oriented specification and programming languages. The package incrementally compiles an object-oriented data model, i.e., a class model, to a theory containing object-universes, constructors, accessor functions, coercions (casts) between static types (and providing a foundation for the notion of dynamic types), characteristic sets, and co-inductive class invariants. The package is conservative, i.e., all properties are derived entirely from constant definitions, including the constraints over object structures. As an application, we use the package for an object-oriented core-language called IMP++, for which we formally prove the correctness of a Hoare logic with respect to a denotational semantics.
引用
收藏
页码:219 / 249
页数:31
相关论文
共 35 条
[1]  
Ahrendt W., 2005, SOFTWARE SYSTEM MODE, V4, P32, DOI [DOI 10.1007/S10270-004-0058-X, 10.1007/s10270-004-0058-x]
[2]  
Andrews P.B., 2002, An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof, V2nd
[3]  
[Anonymous], UML 2 0 OCL SPEC
[4]  
Barnett M, 2005, LECT NOTES COMPUT SC, V3362, P49
[5]  
Basin D, 2005, LECT NOTES COMPUT SC, V3582, P269
[6]  
Beckert B., 2007, LNCS, V4334, DOI [10.1007/978-3-540-69061-0, DOI 10.1007/978-3-540-69061-0]
[7]  
Berghofer S, 1999, LECT NOTES COMPUT SC, V1690, P19
[8]  
Böhme S, 2008, LECT NOTES COMPUT SC, V5170, P150, DOI 10.1007/978-3-540-71067-7_15
[9]  
Brucker AD, 2008, LECT NOTES COMPUT SC, V5142, P438
[10]  
Brucker AD, 2008, LECT NOTES COMPUT SC, V4961, P97, DOI 10.1007/978-3-540-78743-3_8