Java程序及对象关系的动态可视技术研究与实现

来源 :广东工业大学 | 被引量 : 2次 | 上传用户:happykaijie1990
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Java虚拟机是影响Java程序设计语言的有效实现和关键软件系统之一。由于其运行过程比较封闭和抽象,极大地影响了Java程序的调试效率和成本,使得Java程序员不能直观地动态观察和分析程序的运行流程以及对象之间的逻辑关系,所以产生了将其与可视化技术结合起来,研发Java可视虚拟机的需求。 本文在分析现有Java虚拟机实现方案与可视化技术发展现状的基础上,提出了研制一个Java可视虚拟机JVVM的设计方案,并作为一个关键部分集成在Java可视集成开发环境AnyviewJ中。JVVM利用Java语言本身的特点解决了Java API的调用、对象创建等技术难点。 JVVM能够将Javac编译器所生成的Java Class文件正确装载并运行。在程序运行过程中,JVVM能够对程序运行过程中的各线程状态进行可视化监控,并且对堆、线程内的方法栈和操作数栈等内存区域的变化情况直观地表示出来。与此同时,JVVM还提供了基本的可视化Debug功能,能够单步、断点和连续执行Java程序,使用户能够动态观察和分析程序的执行流程。 在JVVM基础上实现了程序的可视化白盒测试。在程序运行过程中,JVVM能够识别程序中使用到的各种变量,并能够监控程序的运行状态。在该模块中,首先进行受测程序的结构分析,并且使用“广义表”数据结构来表示。基于广义表能够将程序结构采用流程图的方式表示出来。生成程序的测试路径和测试用例后,该模块能够在流程图中同步演示测试路径的执行过程,比较执行结果,完成白盒测试的基本流程。 在JVVM基础上还实现了典型对象关系的可视化。对象关系的可视化能够帮助程序员直接观察数据之间的动态关系,提高调试效率。首先采用索引数组将对象按类别组织起来,然后匹配现有的对象关系模式或者根据用户指定的对象关系模式,采用图形绘制方式表达对象关系。在程序的执行过程中,还能够根据程序执行情况对对象关系进行同步更新显示,方便程序的调试。 本文的内容组织如下:第一章介绍可视化编程技术的背景与现状,以及现有的集成开发环境在程序调试方面的特点,并介绍了本课题的主要内容;第二章分析Java虚拟机的结构模型和关键技术,并且分析了实以一些现有的JVM的实现方案;第三章介绍AnyviewJ中最重要的执行引擎模块的设计与实现,具体
其他文献
语义Web和Web服务是WWW发展的两个重要趋势,这两种技术的结合产生了另一个新兴的研究课题——语义Web服务。语义Web服务是指用语义Web标记语言来描述服务的语义,并结合本体的
近年来,XML在各种应用中得到了广泛的使用,Web上涌现了海量的XML数据。为了有效地加工、分析和处理XML数据,研究者们已经提出了各种XML的存储管理技术。基于关系数据库的XML数据
本课题设计和实现了微机联锁仿真系统中的联锁机子系统和基于检测点机制的内核容错系统。微机联锁仿真系统的成功开发,为研究联锁系统安全性等问题提供了一个良好的实验环境,对
无线数传电台作为一种通讯媒介,与光纤、微波、明线一样,有一定的适用范围。它提供某些特殊条件下专网中监控信号的实时、可靠的数据传输,具有成本低、安装维护方便、绕射能力强
Ad Hoc网络作为一种正在迅速崛起的无线通信技术,其应用前景十分广阔,将在未来网络应用中占据举足轻重的地位。路由协议作为Ad Hoc网络研究的关键技术之一,其性能的优劣关系
近年来,网络视频监控技术发展迅速并在许多领域得到推广和应用。但在智能建筑领域,作为其重要组成部分的视频监控系统却仍在采用模拟视频监控系统,网络视频监控系统应用很少
数据挖掘技术从上个世纪产生以来,已经被应用于多个领域,并得到了充分的验证,显示了其重要的经济和社会价值。  近年来我国高等院校招生规模逐渐扩大,毕业生人数剧增,就业问题不
随着虚拟现实技术和可视化技术的实用化,虚拟场景中需要建造大量逼真、复杂的三维模型,因而该三维场景的规模也就很大。用传统的方法建造大型场景、组织和存储大型场景的三维模
随着计算机技术应用的普及,电子政务、办公自动化等概念逐渐成为了我国政府工作中新的热点之一。在这些信息管理系统中,完成的查询功能一般是基于关键字的查找。但关键字查找在
分布式拒绝服务(DDoS)攻击是近年来常见的一种规模大,破坏性强,防御困难的攻击手段。传统的DDoS主要利用了TCP/IP协议自身的漏洞进行攻击。现今,IPv6代替IPv4成为新一代的网络层