课题基金 / 基金详情

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

批准号:
61272166
项目类别:
面上项目
资助金额:
81.0 万元
负责人:
史晓华
依托单位:
学科分类:
软件理论、软件工程与服务
结题年份:
2016
批准年份:
2012
项目状态:
已结题
项目参与者:
高仲仪、邱翔、连小利、孙清越、严鑫、谢君如

项目摘要

结项摘要

项目成果

史晓华的其他基金

相似基金

相关文献

中文摘要
符合Real-Time Specification for Java (RTSJ)规范的实时Java程序目前已经在航空航天、工业自动化和机器人等领域得到了较广泛的应用,但由于RTSJ规范对通用Java程序所依赖的规范,例如J2SE规范的修改和约束,使得Java程序原本具有的易于开发的部分特性遭到破坏,使得开发实时Java程序的难度和工作量远大于开发通用Java程序,从而影响了实时Java程序更广泛的应用。而导致这一困难的核心问题之一,来源于RTSJ规范中复杂的内存模型。本项目将主要研究动静态结合的对象分析和监控方法,结合程序语义分析,可以将通用Java程序中指定实时区域内的对象自动分类并转化为实时Java对象。本课题的研究方向在理论和实现上获得突破后,将可以显著提高实时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程序。而导致这一困难的核心问题之一,来源于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程序的内存利用率。
期刊论文列表
专著列表
科研奖励列表
会议论文列表
专利列表
An OpenCL micro-benchmark suite for GPUs and CPUs
适用于 GPU 和 CPU 的 OpenCL 微基准测试套件
DOI: 10.1007/s11227-014-1112-2
发表时间: 2012-12
期刊: Journal of Supercomputing
影响因子: 3.3
作者: [Yan, Xin, Shi, Xiaohua, Wang, Lina, Yang, Haiyan]
通讯作者: Yang, Haiyan
DOI: 10.5772/57057
发表时间: 2013-10
期刊: International Journal of Advanced Robotic Systems
影响因子: 2.3
作者: [Wanglong Yan;Xiaohua Shi;Xin Yan;Lina Wang]
通讯作者: Wanglong Yan;Xiaohua Shi;Xin Yan;Lina Wang
DOI: --
发表时间: 2015
期刊: Journal of Computational Information System
影响因子: --
作者: [史晓华]
通讯作者: 史晓华
DOI: --
发表时间: 2013
期刊: 系统工程与电子技术
影响因子: --
作者: [孙清越, 晏望龙, 严鑫, 金茂忠]
通讯作者: 金茂忠
基于受管理运行时系统的大型软件内存泄漏论问题及解决方法研究
  • 批准号:
    61073010
  • 项目类别:
    面上项目
  • 资助金额:
    34.0万元
  • 批准年份:
    2010
  • 负责人:
    史晓华
  • 依托单位:
国内基金
海外基金