A KVM-Based Development Environment for Java-enabled Embedded Systems
|關鍵字:||嵌入式系統;Java虛擬機器;Embedded systems;Java virtual machine;KVM;AOT Compiler|
|摘要:||在現在嵌入式系統的趨勢下，提供Java的支援是極為重要的指標之一。然而要設計一個能夠加速計算時間，節省記憶體使用空間的嵌入式Java虛擬機器必須考量硬體及軟體各方面的挑戰。我們透過昇陽公司所提供的嵌入式虛擬機器KVM ，開發一個跨平台的Java虛擬機器及應用程式發展環境。此環境利用靜態Java 程式碼的轉換以及組譯來增進Java 應用程式的執行效率。我們的架構環境能夠讓KVM很迅速的整合在嵌入式系統當中。|
Supporting Java has been one of the critical features desirable for the emerging embedded systems market. However, developing Java-enabled embedded systems is a daunting task. First of all, developing a correct Java virtual machine that can operate in restrictive conditions with scarce hardware resources is nontrivial. Furthermore, to be able to work with diverse embedded devices with varying hardware and software configurations, the JVM should also be adaptive so that porting the JVM across different devices does not incur substantial burden for developers. From application development perspective, the development environment for embedded Java applications should provide developers with sufficient customization or extension mechanisms so that for a given problem and a particular embedded platform, the developers have the flexibility to create an optimal solution without too much trouble. We develop an extensible development environment for Java-enabled embedded systems. The framework addresses not only the development of efficient and adaptive JVMs for embedded systems, but also issues regarding embedded Java application development. To be extensible and adaptable, the JVM is based on the popular KVM implementation that is small, portable and modular. To provide developers with more options regarding hardware integration and performance improvement, the II framework provides an ahead-of-time compilation mechanism such that the developer may replace part of a Java application with more efficient C programs automatically. We have built several applications and test cases using the framework, and conducted some initial performance studies. Although the development of the framework is an on-going process and many issues remain to be resolved, we have found that our approach can serve as a good foundation for embedded Java.
|Appears in Collections:||Thesis|