论文部分内容阅读
J2ME是Java平台的三个核心版本之一,它为运行在诸如手机、PDA等资源受限的消费产品上的应用程序提供了健壮而灵活的运行环境,是当前手持设备的首选平台之一。J2ME的架构由“配置”(Configuration)、“描述”(Profile)和“可选包”(Optional Packages)组成,开发者可以对其进行选择从而构建成一个完整的Java运行环境。JSR135是J2ME平台上一个重要的可选包,提供了多媒体的回放和控制功能,其接口集MMAPI(Mobile Media API)为Java应用在移动设备上运行使用多媒体提供了一套简洁、规范及可扩充的API。JSR135的开发使得手机和PDA等小型移动设备上多媒体应用和服务的普及成为可能,JSR135也渐渐成为这类设备上的标准配置。
ORL,即Open Runtime Libs,是一个严格遵循Sun公司J2ME框架规范而开发出的高性能Java类库。它的开发基于一个称为XORP的J2ME虚拟机,该虚拟机是在原先支持J2SE的开源项目ORP(Open Runtime Platform)的基础上改造的。XORP/ORL系统构成了Intel公司基金项目“J2ME Class Libs with Small Footprint,Low Power and High Performance on XScale Processor”的核心组成部分。可选包JSRl35则处于ORL开发的第三个阶段,本文的内容即是在该阶段的设计开发基础上完成的。
在本文中,我们提出了XORP/ORL系统中JSR135的一种跨平台设计方案及其实现机制,特别地,在Windows平台上我们还给出了可行并且高效的实现。在该方案开发过程的各个阶段,包括目标定位、架构设计、功能实现、平台移植等等,都做了大量细致的工作。在整个设计和实现的过程中,我们一直遵守正确性、统一性、简洁性、可扩展性和Clean Room的原则。总体来看,JSR135兼具专门性、原创性、通用性和可移植性。
首先,是JSR135的专门性。与通用目的的多媒体处理包不同,JSR135是专门在J2ME框架中设计开发的多媒体处理模块。作为整个XORWORL系统的一部分,JSR135子系统除了必须完全遵循Sun公司的规范外,还必须满足各种J2ME规范对虚拟机的要求。例如,JSR135的虚拟机部分的可执行模块就必须足够的小。
其次,是JSR135的原创性。与ORL的其他部分如CLDC和MIDP相同,JSR135的设计与实现也是白手起家的。在设计过程中,为了使JSR135能够更加适合在手持环境下运行,我们创造性地引入了一些技术和方法,比如在虚拟机层我们很好地利用了Intel的IPP(Integrated Performance Primitives)开发包。其三,是JSR135的通用性和可移植性,这两者关系密切。尽管JSR135的最初定位是以Pocket PC作为目标平台的,但在设计实现的过程中,我们借鉴了以往软件架构设计中的成熟经验,考虑进了通用性和移植性的因素,最终采用了分层次的架构模型,并极大地利用了支持多平台的多媒体开发包IPP(Intel Integrated Performance Primitives)。这些方法能够将对底层硬件设备的依赖性最小化和局部化,从而使JSRl35具有最大的跨平台通用性,同时大大方便了之后的移植工作。