通用Java程序到实时Java程序的对象自动分类和转化方法研究

基本信息
批准号:61272166
项目类别:面上项目
资助金额:81.00
负责人:史晓华
学科分类:
依托单位:北京航空航天大学
批准年份:2012
结题年份:2016
起止时间:2013-01-01 - 2016-12-31
项目状态: 已结题
项目参与者:高仲仪,邱翔,连小利,孙清越,严鑫,谢君如
关键词:
内存模型对象自动分类实时Java
结项摘要

The real-time Java programs based on Real-Time Specification for Java (RTSJ) have been widely used in the aeronautics, astronautics, industrial automation and robots areas. However, RTSJ modified some easy-to-program features in the general Java platforms, i.e. J2SE platform, to fulfill the real-time requirements. The modifications induce the coding and testing efforts of the RTSJ programs to be much higher than the general Java programs. One of the key features that embarrass the usage of real-time Java program is the complicated memory models in RTSJ. This project will study how to automatically classify the general Java objects in heap and transform them to real-time Java objects in heaps, ScopedMemory blocks and ImmortalMemory blocks. This project will obviously improve the coding efficiency and decrease the testing efforts of real-time Java programs.

符合Real-Time Specification for Java (RTSJ)规范的实时Java程序目前已经在航空航天、工业自动化和机器人等领域得到了较广泛的应用,但由于RTSJ规范对通用Java程序所依赖的规范,例如J2SE规范的修改和约束,使得Java程序原本具有的易于开发的部分特性遭到破坏,使得开发实时Java程序的难度和工作量远大于开发通用Java程序,从而影响了实时Java程序更广泛的应用。而导致这一困难的核心问题之一,来源于RTSJ规范中复杂的内存模型。本项目将主要研究动静态结合的对象分析和监控方法,结合程序语义分析,可以将通用Java程序中指定实时区域内的对象自动分类并转化为实时Java对象。本课题的研究方向在理论和实现上获得突破后,将可以显著提高实时Java软件的开发效率,降低开发测试成本,具有较高的学术价值和广泛的应用前景。

项目摘要

符合Real-Time Specification for Java (RTSJ) 规范的实时Java程序目前已经在航空航天、工业自动化和机器人等领域得到了较广泛的应用,但由于RTSJ规范对通用Java程序所依赖的规范,例如J2SE规范的修改和约束,使得Java程序原本具有的易于开发的特性遭到破坏,导致开发实时Java程序的难度和工作量远大于开发通用Java程序。而导致这一困难的核心问题之一,来源于RTSJ规范中复杂的内存模型。本项目提出了“探索建立一种从通用Java程序到实时Java程序的自动转化方法”,来帮助程序员解决上述问题,提高开发效率。基于此研究目的,本项目深入研究了如何采用轻量级的profiler动态捕捉Java对象的方法和手段;本项目深入研究了通过静态程序分析方法,如何减少和降低实时Java程序中内存访问异常的运行负债;最后,本项目通过深入研究RTSJ语言模型和编程习惯,开创性的提出了一种通用Java程序到实时Java程序的对象自动分类和转化方法。该方法首先通过一种改进的基于等价类的逃逸分析算法,得到通用Java程序中所有对象的生存范围以及所有可能的引用关系,找到处于指定实时区域内的对象申请、回收和使用的规律;然后将初始指定的实时区域划分为多个具有相互嵌套关系的作用域内存,从而将通用Java程序中堆对象自动分类和转化为不同作用域内存对象,使之满足符合RTSJ规范的实时Java平台的要求。最后根据实时区域的划分结果对源程序进行手工转换,即保证了实时Java程序中的实时线程或程序段在运行时不受垃圾回收的影响,又避免以人工方式划分实时区域,从而促进实时Java程序开发效率的提高。该方法已在开源的实时Java虚拟机jRate0.3.7.2-3.3.3中实现,并在较为权威的实时Java基准检查程序CDj和通用Java基准测试程序JVM98上经过测试和验证。结果显示经过转化后的实时Java程序能够在jRate平台中正确运行,证明该方法可以正确分配实时内存区域;该方法能够保证转化后实时Java程序的实时性能无损失,例如转化后CDj程序,可以降低平均53.92%,最高73.56%的时间消耗,同时与标准CDj的时间消耗相比,波动变化在可控范围内;同时该方法可以提高实时Java程序的内存利用率。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

粗颗粒土的静止土压力系数非线性分析与计算方法

粗颗粒土的静止土压力系数非线性分析与计算方法

DOI:10.16285/j.rsm.2019.1280
发表时间:2019
2

中国参与全球价值链的环境效应分析

中国参与全球价值链的环境效应分析

DOI:10.12062/cpre.20181019
发表时间:2019
3

基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例

基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例

DOI:
发表时间:2022
4

基于细粒度词表示的命名实体识别研究

基于细粒度词表示的命名实体识别研究

DOI:10.3969/j.issn.1003-0077.2018.11.009
发表时间:2018
5

货币政策与汇率制度对国际收支的影响研究

货币政策与汇率制度对国际收支的影响研究

DOI:
发表时间:2022

相似国自然基金

1

SPMD程序设计模型——从Fortran到Java

批准号:69873004
批准年份:1998
负责人:李晓明
学科分类:F0204
资助金额:12.00
项目类别:面上项目
2

分划递推法应用于高可靠Java程序开发方法研究

批准号:69983003
批准年份:1999
负责人:薛锦云
学科分类:F0203
资助金额:13.00
项目类别:专项基金项目
3

程序规范到程序生成的面向对象理论及实现方法

批准号:69433032
批准年份:1994
负责人:冯玉琳
学科分类:F02
资助金额:20.00
项目类别:重点项目
4

基于流分析的分布式Java程序模型检查技术研究

批准号:60673155
批准年份:2006
负责人:张大方
学科分类:F0207
资助金额:27.00
项目类别:面上项目