Extracting Java library subsets for deployment on embedded systems

  • Authors:
  • Derek Rayside;Kostas Kontogiannis

  • Affiliations:
  • Massachusetts Institute of Technology, Laboratory for Computer Science, 545 Technology Square, Cambridge, MA;Electrical and Computer Engineering, University of Waterloo, Waterloo, Ontario, N2L 3G1 Canada

  • Venue:
  • Science of Computer Programming - Software maintenance and reengineering (CSMR 99)
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Embedded systems provide means for enhancing the functionality delivered by small-sized electronic devices such as hand-held computers and cellular phones. Java is a programming language which incorporates a number of features that are useful for developing such embedded systems. However, the size and the complexity of the Java language and its libraries have slowed its adoption for embedded systems, due to the processing power and storage space limitations. A common approach to address storage space limitations is for the vendor to offer special versions of the libraries with reduced functionality and size to meet the constraints of embedded systems. However, such an approach will severely limit the type of applications that can be deployed. This paper presents a technique that is used for selecting, of an as needed basis, the subset of library entities that is exactly required for a given Java application to run. This subset can then be down-loaded to the device for execution on an as needed basis. The advantage of this approach is that the developer can use arbitrary libraries, instead of being restricted to those which have been adapted for embedded systems by the vendors. A prototype system, that builds library subsets on per application basis, has been built and tested on several mid-size Java applications with encouraging results.