Abstract
Unlike the existing object-oriented and other database technologies, database schemas in the technology developed in this research are equipped with very general integrity constraints specified in a declarative, logic-based fashion. These declarative specifications are expressed in object-oriented assertion languages and they apply to transactions that are implemented in a full-fledged, mainstream object-oriented programming language. The model of transactions is based on more advanced features of object-oriented type systems, the ownership model, and very general constraints. The main distinction in comparison with other database technologies is that transactions can be verified to satisfy the schema integrity constraints. The two main contributions of this paper are object-oriented schemas equipped with integrity constraints and static verification of transactions with respect to the integrity constraints. Solutions to these open problems have been out of reach so far. Furthermore, transaction verification is not only largely static, but it is also automatic, so that the subtleties of the underlying verification technology are hidden from the users. In addition to static verification, the technology offers dynamic enforcement of the integrity constraints when necessary. The overall outcome is a significant increase in data integrity along with run-time efficiency and reliability of transactions.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Alagić, S., Anumula, A., Yonezawa, A.: Verifiable constraints for ambients of persistent objects. In: Advances in Software, vol. 4, pp. 461–470 (2011)
Alagić, S., Bernstein, P.A., Jairath, R.: Object-oriented constraints for XML Schema. In: Dearle, A., Zicari, R.V. (eds.) ICOODB 2010. LNCS, vol. 6348, pp. 100–117. Springer, Heidelberg (2010)
Alagić, S., Royer, M., Briggs, D.: Verification technology for object-oriented/XML transactions. In: Norrie, M.C., Grossniklaus, M. (eds.) Object Databases. LNCS, vol. 5936, pp. 23–40. Springer, Heidelberg (2010)
Alagić, S., Logan, J.: Consistency of Java transactions. In: Lausen, G., Suciu, D. (eds.) DBPL 2003. LNCS, vol. 2921, pp. 71–89. Springer, Heidelberg (2004)
Alagić, S.: The ODMG object model: does it make sense? In: Proceedings of OOPSLA, pp. 253–270. ACM (1997)
Baltopoulos, I.G., Borgström, J., Gordon, A.D.: Maintaining database integrity with refinement types. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 484–509. Springer, Heidelberg (2011)
Benzaken, V., Doucet, D.: Themis: A database language handling integrity constraints. VLDB Journal 4, 493–517 (1994)
Benzanken, V., Schaefer, X.: Static integrity constraint management in object-oriented database programming languages via predicate transformers. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 60–84. Springer, Heidelberg (1997)
Cattell, R.G.G., Barry, D., Berler, M., Eastman, J., Jordan, D., Russell, C., Schadow, O., Stanienda, T., Velez, F.: The Object Data Standard: ODMG 3.0. Morgan Kaufmann (2000)
Db4 objects (2010), http://www.db4o.com
Eswaran, K.P., Grey, J.N., Lorie, R.A., Traiger, I.L.: The notions of consistency and predicate locks in a database system. Comm. of the ACM 19, 624–633 (1976)
Java Data Objects, Apache, http://db.apache.org/jdo/
Java Modeling Language, http://www.eecs.ucf.edu/leavens/JML/
Jagannathan, S., Vitek, J., Welc, A., Hosking, A.: A transactional object calculus. Science of Computer Programming 57, 164–186 (2005)
Leino, K.R., Muller, P.: Using Spec# language, methodology, and tools to write bug-free programs. Microsoft Research (2010), http://research.microsoft.com/en-us/projects/specsharp/
Liskov, B., Wing, J.M.: A behavioral notion of subtyping. ACM TOPLAS 16, 1811–1841 (1994)
Language Integrated Query, Microsoft Corporation, http://msdn.microsoft.com/en-us/vbasic/aa904594.aspx
Atkinson, M.P., Daynès, L., Jordan, M.J., Printezis, T., Spence, S.: An orthogonally persistent Java. ACM SIGMOD Record 15(4) (1966)
Microsoft Corp., Spec#, http://research.microsoft.com/specsharp/
Objectivity, http://www.objectivity.com/
Owre, S., Shankar, N., Rushby, J.M., Stringer-Clavert, D.W.J.: PVS Language Reference, SRI International. Computer Science Laboratory, Menlo Park, California, http://pvs.csl.sri.com/doc/pvs-language-reference.pdf
Royer, M., Alagić, S., Dillon, D.: Reflective constraint management for languages on virtual platforms. Journal of Object Technology 6, 59–79 (2007)
Sheard, T., Stemple, D.: Automatic verification of database transaction safety. ACM Transactions on Database Systems 14, 322–368 (1989)
Smaragdakis, Y., Kay, A., Behrends, R., Young, M.: Transactions with isolation and cooperation. In: Proceedings of OOPSLA 2007. ACM (2007)
Spelt, D., Even, S.: A theorem prover-based analysis tool for object-oriented databases. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 375–389. Springer, Heidelberg (1999)
Welc, A., Hosking, A.L., Jia, L.: Transparently reconciling transactions with locking for Java synchronization. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 148–173. Springer, Heidelberg (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Alagić, S., Fazeli, A. (2014). Verifiable Object-Oriented Transactions. In: Agha, G., et al. Concurrent Objects and Beyond. Lecture Notes in Computer Science, vol 8665. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44471-9_12
Download citation
DOI: https://doi.org/10.1007/978-3-662-44471-9_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-44470-2
Online ISBN: 978-3-662-44471-9
eBook Packages: Computer ScienceComputer Science (R0)