Access the full text.
Sign up today, get DeepDyve free for 14 days.
James Gosling (2005)
The Java Language Specification, 3rd Edition
S. Alagic (1997)
The ODMG object model: does it make sense?
Mick Jordan, M. Atkinson (1998)
Orthogonal Persistence for Java? - A Mid-term Report
E. Emerson (2000)
Model Checking: Theory into Practice
Eric Allen, Robert Cartwright, B. Stoler (2002)
Efficient Implementation of Run-time Generic Types for Java
Gilad Bracha, Martin Odersky, David Stoutamire, P. Wadler (1998)
Making the future safe for the past: adding genericity to the Java programming language
James Gosling, William Joy, Guy Steele (1996)
The Java Language Specification
S. Alagic, Tuong Nguyen (2000)
Parametric Polymorphism and Orthogonal Persistence
T. Nipkow, David Oheimb (1998)
Javalight is type-safe—definitely
(2001)
Sympo - sium on Objects and Databases
Peter Canning, W. Cook, Walter Hill, W. Olthoff, John Mitchell (1989)
F-bounded polymorphism for object-oriented programming
Mirko Viroli, A. Natali (2000)
Parametric polymorphism in Java: an approach to translation based on reflective features
Kim Bruce, A. Reninger, R. Gent (1995)
PolyTOIL: A type-safe polymorphic object-oriented language
Atsushi Igarashi, B. Pierce, P. Wadler (2001)
Featherweight Java: a minimal core calculus for Java and GJACM Trans. Program. Lang. Syst., 23
K. Arnold, James Gosling (1998)
The Java programming language (2nd ed.)
G. Bierman, E. Meijer, Wolfram Schulte (2005)
The essence of data access in Cω: the power is in the dot!
S. Drossopoulou, S. Eisenbach (1997)
Java is Type Safe - Probably
Jose Solorzano, S. Alagic (1998)
Parametric polymorphism for Java: a reflective solution
M. Atkinson, L. Daynes, M.J. Jordan, T. Printezis, S. Spence (1996)
An orthogonally persistent Java TMACM SIGMOD Record, 25
A. Myers, Joseph Bank, B. Liskov (1997)
Parameterized types for Java
Kim Bruce (2002)
Foundations of object-oriented languages - types and semantics
A. Black, J. Palsberg (1994)
Foundations of object-oriented languagesACM SIGPLAN Notices, 29
S. Alagić, J. Solorzano (2000)
Java and OQL: a reflective solution for the impedance mismatch, Java and DatabasesL’objet,, 6
Dachuan Yu, A. Kennedy, Don Syme (2004)
Formalization of generics for the .NET common language runtimeProceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Robert Cartwright, G. Steele (1998)
Compatible genericity with run-time types for the Java programming language
J. Palsberg, M. Schwartzbach (1994)
Object-oriented type systems
K. Arnold, J. Gosling, D. Holmes (2005)
The Java Programing Language
Robert Bretl, Allen Otis, Marc Soucie, B. Schuchardt, R. Venkatesh (1998)
Persistent Java Objects in 3 Tier Architectures
Eric Allen, Jonathan Bannet, Robert Cartwright (2003)
A first-class approach to genericity
S. Alagic, Jose Solorzano (2000)
Java and OQL: A Reflective Solution for the Impedance MismatchObj. Logiciel Base données Réseaux, 6
Ole Agesen, Stephen Freund, John Mitchell (1997)
Adding type parameterization to the Java language
A. Igarashi, B. Pierce, P. Wadler (2001)
Featherweight Java: a minimal calculus for Java and GJACM TOPLAS, 23
Brian Cabana, S. Alagic, Jeff Faulkner (2004)
Parametric polymorphism for Java: is there any hope in sight?ACM SIGPLAN Notices, 39
M. Atkinson, R. Morrison (1995)
Orthogonally persistent object systemsThe VLDB Journal, 4
G. Kirby, R. Morrison, D. Stemple (1998)
Linguistic reflection in JavaSoftware: Practice and Experience, 28
A. Kennedy, Don Syme (2001)
Design and implementation of generics for the .NET Common language runtime
S. Alagic (1999)
Type-checking OQL queries in the ODMG type systemsACM Trans. Database Syst., 24
James Gosling, B. Joy, G. Steele, Gilad Bracha (2005)
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Maydene Fisher, Jon Ellis, J. Bruce (2003)
JDBC¿ API Tutorial and Reference
R. Cattell, Douglas Barry, Mark Berler, J. Eastman, David Jordan, Craig Russell, Olaf Schadow, Torsten Stanienda, F. Vélez (2000)
The Object Data Standard: ODMG 3.0
M. Atkinson, L. Daynès, Mick Jordan, Tony Printezis, Susan Spence (1996)
An orthogonally persistent JavaSIGMOD Rec., 25
Tim Lindholm, Frank Yellin (1996)
The Java Virtual Machine Specification
M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier, S. Zdonik (1994)
The Object-Oriented Database System Manifesto
Heiko Bobzin (2002)
Java Data ObjectsDatenbank-Spektrum, 3
Lack of parametric polymorphism has been a major obstacle for making Java a viable database programming language. Regrettably, a recently accepted solution for genericity in Java 5.0 has far-reaching negative implications for persistent and database systems because of static and dynamic type violations. Severe implications occur in typical database transactions when processing a variety of database collections. Well-known approaches to persistence in Java, including Java’s own persistence mechanism, do not perform correctly due to incorrect dynamic type information that gets promoted to persistence along with objects. Dynamic checking of types of objects fetched from the persistent store may now lead to unexpected type violations. Further problems occur in reflective transactions as Java Core Reflection now allows dynamic type violations without detecting them or throwing standard exceptions. All of this shows that extending Java with parametric polymorphism has not made Java a more viable database programming language. Both legacy systems, such as those based on the Java binding of the ODMG or JDO, and future Java-related persistent and database technologies will be affected. The source of these problems is in an implementation idiom called type erasure. This paper provides formal proofs of the above implications of type erasure along with specific samples of code in Java 5.0 illustrating these violations. The limitations of the virtual platform and extensions required for persistent systems to solve this problem are also elaborated.
The VLDB Journal – Springer Journals
Published: Jul 1, 2008
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.