Results 1 - 10
of
12
BIT: A Tool for Instrumenting Java Bytecodes
, 1997
"... BIT (Bytecode Instrumenting Tool) is a collection of Java classes that allow one to build customized tools to instrument Java Virtual Machine (JVM) bytecodes. Because understanding program behavior is an essential part of developing effective optimization algorithms, researchers and software develop ..."
Abstract
-
Cited by 56 (0 self)
- Add to MetaCart
BIT (Bytecode Instrumenting Tool) is a collection of Java classes that allow one to build customized tools to instrument Java Virtual Machine (JVM) bytecodes. Because understanding program behavior is an essential part of developing effective optimization algorithms, researchers and software developers have built numerous tools that carry out program analysis. Although there are existing tools that analyze and modify executables on a variety of operating systems and machine architectures, there currently is no framework for carrying out the same task for JVM bytecodes. In this paper, we describe BIT, which allows the user to insert calls to analysis methods anywhere in the bytecode, so that information can be extracted from the user program while it is being executed. In this paper, we describe several simple tools built using BIT and also report on BIT's performance. We found that the overhead for the execution speed and size were between 23% to 150%. 1. Introduction It is often imp...
Straightforward Java Persistence through Checkpointing
- IN ADVANCES IN PERSISTENT OBJECT SYSTEMS, RON MORRISON, MICK JORDAN, AND MALCOM ATKINSON
, 1998
"... Several techniques have been proposed for adding persistence to the Java language environment. This paper ..."
Abstract
-
Cited by 14 (5 self)
- Add to MetaCart
Several techniques have been proposed for adding persistence to the Java language environment. This paper
Implementing Orthogonally Persistent Java
- In Proceedings of the Workshop on Persistent Object Systems (POS
, 2000
"... Abstract. Orthogonally persistent Java combines the power of abstraction over persistence with Java’s rich programming environment. In this paper we report our experience in designing and implementing orthogonally persistent Java. Our design approach is anchored by the view that any system that brin ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
Abstract. Orthogonally persistent Java combines the power of abstraction over persistence with Java’s rich programming environment. In this paper we report our experience in designing and implementing orthogonally persistent Java. Our design approach is anchored by the view that any system that brings together Java and orthogonal persistence should as far as possible avoid diluting the strengths of Java or the principles of orthogonal persistence. Our approach is thus distinguished by three features: complete transparency of persistence, support for both intra and inter application concurrency through ACID transactions, and the preservation of Java’s property of portability. In addition to discussing design and implementation, we present results that show that our approach performs credibly. 1
Persistent Operating System Support for Java
- IN PROCEEDINGS OF THE FIRST INTERNATIONAL WORKSHOP ON PERSISTENCE AND JAVA
, 1996
"... Over the last 15 years a number of persistent language systems have been produced whose implementation relies on the persistence mechanisms provided by an underlying operating system. We have produced an operating system called Grasshopper expressly designed to support orthogonally persistent system ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Over the last 15 years a number of persistent language systems have been produced whose implementation relies on the persistence mechanisms provided by an underlying operating system. We have produced an operating system called Grasshopper expressly designed to support orthogonally persistent systems. In this paper we demonstrate how the mechanisms provided by Grasshopper may be used to implement a persistent version of the language Java.
Analysing, Profiling and Optimising Orthogonal Persistence for Java
, 1997
"... Persistent systems manage main memory as a cache for efficient access to frequently-accessed persistent data. Good cache management requires some knowledge of the semantics of the applications running against it. We are attacking the performance problems of persistence for Java through analysis, pro ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Persistent systems manage main memory as a cache for efficient access to frequently-accessed persistent data. Good cache management requires some knowledge of the semantics of the applications running against it. We are attacking the performance problems of persistence for Java through analysis, profiling, and optimisation of Java classes and methods executing in an orthogonally persistent setting. Knowledge of application behaviour is derived through analysis and profiling, and applied by both a static bytecode transformer and the run-time system to optimise the actions of Java programs as they execute against persistent storage. Our prototype will unify distinct persistence optimisations within a single optimisation framework, deriving its power from treatment of the entire persistent application, consisting of both program code and data stored in the database, for wholeapplication analysis, profiling and optimisation. Keywords: persistence, Java, bytecode, program analysis, dynami...
Object lifetimes in Java card
- In USENIX Workshop on Smartcard Technology (Smartcard ’99
, 1999
"... Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. For more info ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. For more information about the USENIX Association:
Enabling "Smart Spaces:" Entity Description and User Interface Generation for a Heterogeneous Component-based Distributed System
- In DARPA/NIST Smart Spaces Workshop
, 1998
"... This paper motivates and describes a document-centric framework for component-based distributed systems. In the framework, XML documents are associated with programs that provide either static, immutable interface descriptions as advertisements of functionality at the server-side, or specification o ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
This paper motivates and describes a document-centric framework for component-based distributed systems. In the framework, XML documents are associated with programs that provide either static, immutable interface descriptions as advertisements of functionality at the server-side, or specification of manipulations of these server descriptions to express their usage at clients. We illustrate how the framework allows for 1) remapping of a portion of an existing user interface to a new room control (for example, due to movement of the terminal) 2) viewing of arbitrary subsets andcombinations of the functionality available, and 3) mixing dynamically-generated user interfaces with existing user interfaces. Theuse of a document-centric framework in addition to a conventional object-oriented programming language provides a number of key features. One of the most useful is that it exposes program/UI to referent objects mappings, thereby providing a standard location for manipulation of this in...
A Serially Reusable Java(tm) Virtual Machine Implementation for High Volume, Highly Reliable, Transaction Processing
"... Transaction processing environments form the backbone of e-business solutions on which much of today's commerce is conducted. The most critical of these environments couple extremely high reliability with performance. Unfortunately, they have done so while retaining a dependency on an aging programm ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Transaction processing environments form the backbone of e-business solutions on which much of today's commerce is conducted. The most critical of these environments couple extremely high reliability with performance. Unfortunately, they have done so while retaining a dependency on an aging programming model. Early efforts to introduce Java have been technically successful, but either at the cost of lower performance, or potentially lower reliability. We describe extensions to the Java virtual machine that support the stringent requirements of robust transaction processing environments. The design of a persistent reusable Java virtual machine is presented. Reliability is achieved because each transaction executes in isolation in an apparently unique JVM. Performance is simultaneously achieved through the introduction of new concepts such as the ability to reset the JVM to a clean state, trusted middleware, untrusted application code, and very rapid garbage collection. ITIRC KEYWORDS w Java Virtual Machine
JTool: Accessing Warehoused Collections of Objects with Java
"... The purpose of the work describe here is to gain experimental experience with data warehouses for large collections of Java objects. We report on the design, architecture, and early experimental work with a software tool called JTool for creating data warehouses of Java objects. Our primary interest ..."
Abstract
- Add to MetaCart
The purpose of the work describe here is to gain experimental experience with data warehouses for large collections of Java objects. We report on the design, architecture, and early experimental work with a software tool called JTool for creating data warehouses of Java objects. Our primary interest is in building distributed data warehouses containing large collections of Java objects as a basis for the data mining of objects on the web. This work is broadly based upon our prior work with a software called PTool which we have used for the data mining of large collections of C++ objects in clustered computing environments [Grossman 1996 and 1997a]. 1 This research was supported by Grants from the National Science Foundation and the Department of Energy. 2 Robert Grossman is a also a member of the technical staff at Magnify, Inc. With Version 0.2 of JTool, we have built Gigabyte size data warehouses of Java objects and showed that JTool scales linearly with the size of the warehous...

