




已阅读5页,还剩60页未读, 继续免费阅读
(机械设计及理论专业论文)java卡测试平台的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北枷盹婵砒学位做 嬲微期必 独创性 或创新性 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果 尽 我所知 除了文中特别加以标注和致谢中所罗列的内容以外 论文中不包含其他人已经 发表或撰写过的研究成果 也不包含为获得北京邮电大学或其他教育机构的学位或证书 而使用过的材料 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示了谢意 申请学位论文与资料若有不实之处 本人承担一切相关责任 本人签名 寸 1 舍1 日期 砌 p 乡 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定 即 研究生 在校攻读学位期间论文工作的知识产权单位属北京邮电大学 学校有权保留并向国家有 关部门或机构送交论文的复印件和磁盘 允许学位论文被查阅和借阅 学校可以公布学 位论文的全部或部分内容 可以允许采用影印 缩印或其它复制手段保存 汇编学位论 文 保密的学位论文在解密后遵守此规定 保密论文注释 本学位论文属于保密在年解密后适用本授权书 非保密论文注释 本学位论文不属于保密范围 适用本授权书 本人签名 导师签名 日期 冱丝 至 兰 日期 塑罂 生 北京邮电大学硕士学位论文 j a v a 测试平台的设计与实现 摘要 随着智能卡的优点越来越被人们所认同 智能卡的应用涉及到了各个 领域 市场的需求量急剧上升 但与智能卡需求量急剧上升所矛盾的是 智能卡应用的研发是一个复杂漫长的过程 j a v a 卡的出现虽然解决了智能 卡生产复杂 编程难这一问题 但调试j a v a 卡a p p l e t 应用程序仍然是一个 难题 仍然是亟待我们解决的问题 这一问题促使我们要设计开发一个可以调试a p p l e t 应用程序的平台 从而可以提高a p p l e t 的调试速率 经过我们对j d w p 协议 j c d p 协议 s u nj c 2 2 1 v i r t u a l m a c h i n e 等协议的解析 以及对j a v a 卡和j a v a 虚拟机 运行原理的了解 设计开发了一款符合调试人员需求的j a v a 卡测试平台 本文详细阐述了基于上述几项协议和j a v a 虚拟机而设计开发的j a v a 卡 测试平台 对测试平台的关键技术进行系统性的研究实验与实现 首先从 国内外背景和现实的需要出发阐述了开发这款平台的必要性 然后简短阐 述了j a v a 调试卡平台的基本功能需求分析 在对协议解析和对平台基本功 能分析完成后 本文详细阐述了测试平台的开发实现细节 并在此过程中 介绍了平台开发过程中需要遵循的协议等内容 最后对平台的具有代表的 的功能做出了简短的介绍 测试平台设计实现成功的结果证明 基于现有j a v a 虚拟机 遵循j c d p j d w p 等协议开发的j a v a 卡测试平台时可行的 平台的实现在很大程度上 提高了j a v a 卡生产调试环节的速度 为j a v a 卡的快速投入市场和发展打下 了坚实的基础 对j a v a 卡的发展具有重大的意义 关键词 j a v a 卡j d w pj c d pj a v a 虚拟机 北京邮电大学硕士学位论文 t h ed e s i g na n di m p l e m e n m 虹i o no f 儿气 乙 c a r dt e s tp l a i f o r m a b s t r a c t w i t ht h ea d v a n t a g e so fs m a r tc a r d sh a sb e e ng r o w i n gr e c o g n i t i o n i tc a nb e s a i dt h a tt h ea p p l i c a t i o n so fs m a r tc a r dh a sc o m et ov a r i o u sa r e a s s h a r pi n c r e a s e i nm a r k e td e m a n d b u tt h et h i n gt h a tc o n t r o d i c t ss h a r pi n c r e a s ei nm a r k e t d e m a n do fs m a r tc a r di st h ed e v e l o p m e n to fs m a r tc a r da p p l i c a t i o n si sa c o m p l e xa n dl o n gp r o c e s s t h ec o m p l e x i t yo fp r o d u c t i o na n dp r o g r a m m i n g d i f f i c u l t l yo fs m a r tc a r dh a sn o tb e e ns o l v e du n t i lt h ee m e r g e n c eo fj a v ac a r d h o w e v e r a l t h o u g ht h ej a v ac a r ds o l v e st h ea b o v ep r o b l e m s b u td e b u g g i n g a p p l e t i ss t i l lad i f f i c u l tp r o b l e m i ts t i l ln e e du st os o l v ei tu r g e n t l y t h i sq u e s t i o np r o m p t e du st o d e s i g na n dd e v e l o pap l a t f o r mw h i c hc a n d e b u ga p p l e t t oi m p r o v et h es p e e do fd e b u g g i n ga p p l e t t h r o u g ha n a l y z i n g j d w pp r o t o c o l j c d pp r o t o c o la n ds u n j c 2 2 1 一v i r t u a l m a c h i n ep r o t o c o la n d s oo n a sw e l la st h eu n d e r s t a n d i n go nj a v ac a r da n dj a v av i r t u a lm a c h i n e o p e r a t i n gp r i n c i p l e w ed e s i g n e da n dd e v e l o p e daj a v ac a r dp l a t f o r mw h i c h m e e t so u rn e e d so fd e b u g g i n g t h e p a p e r d e s c r i b e st h ed e s i g n m e n ta n d d e v e l o p m e n to f j a v ac a r d d e b u g g i n gp l a t f o r mb a s e do nan u m b e ro fa g r e e m e n t sa b o v e m e n t i o n e da n d j a v av i r t u a lm a c h i n e a n ds y s t e m a t i cs t u d i e s e x p e r i m e n t sa n dr e a l i z e st h ek e y t e c h n o l o g yo fd e b u g g i n gp l a t f o r m f i r s t i tp r o v e dt h en e c e s s i t yo fd e v e l o p i n g b a s i co nd o m e s t i ca n di n t e r n a t i o n a lb a c k g r o u n da n dp r a c t i c a ln e e d s s e c o n d b r i e f l ya d d r e s s e db a s i cf u n c t i o n so fn e e d sa n a l y s i s o fj a v ac a r dd e b u g g i n g p l a t f o r m t h i r d a f t e rp a r s i n gp r o t o c o l sa n dk n o w i n gt h ed e s i g ng o a l s t h ep a p e r d e s c r i b e dt h ed e v e l o p m e n ta n di m p l e m e n t a t i o nd e t a i l si nd e t a i l a n di n t r o d u c e d an u m b e ro fp r o t o c o ln e e d e dt ob ef o l l o w e di nt h ep r o c e s so fd e v e l o p i n g d e b u g g i n gp l a t f o r m f i n a l l y t h ep a p e rm a d eai n t r o d u c t i o ni nd e t a i l o nt h e r e p r e s e n t a t i v ef u n c t i o n o ft h ed e b u g g i n gp l a t f o r m 北京邮电大学硕士学位论文 t h er e s u l to fs u c c e s s f u l l y a c h i e v i n gd e s i g n m e n ta n dr e a l i z a t i o no f d e b u g g i n gp l a t f o r m i ti sf e a s i b l et od e v e l o paj a v ac a r dd e b u gp l a t f o r mb a s e d o nj a v av i r t u a lm a c h i n e j d w pp r o t o c o la n dj c d pp r o t o c o la n ds oo n t h e r e a l i z a t i o no fd e b u g g i n gp l a t f o r mi m p r o v e st h es p e e do fp r o c e s so fj a v ac a r d p r o d u c i n ga n dd e b u g g i n g i tl a i das o l i df o u n d a t i o no nq u i c k l yp l a c i n go nt h e m a r k e tf o rj a v ac a r d a n dh a das i g n i f i c a n ts i g n i f i c a n c ef o rd e v e l o p m e n to f j a v ac a r d k e yw o r d s j a v ac a r d j d w pj c d p j a v av i t u a lm a c h i n e 北京邮电大学硕士学位论文 目录 第一章绪论 1 1 1 课题研究背景 1 1 1 1 课题背景概要 1 1 2 国内外研究现状 6 1 3 课题研究内容 7 1 4 课题研究方法 7 第二章j a v a 卡测试平台设计与实现 8 2 1j a v a 卡测试平台简介 8 2 2j a v a 卡测试平台目标分析 8 2 3j a v a 卡测试平台的目标设计 9 2 4 平台的中心设计思想 9 2 5 关键技术 1 1 第三章j a v a 卡测试平台的实现 1 3 3 1m y 的实现 13 jpda 3 1 1j d w p 1 3 1 2j p d a1 本系 1 5 3 1 3j a v a 卡测试平台中m yj p d a 体系的实现 2 1 3 2j c d p 解析 2 5 3 2 1j a v a 卡的状态 2 6 3 2 2i o 状态 2 7 3 2 3d p d u a p d u 的结构 2 9 3 2 4m yj c d i 模块的实现 3 0 3 2 5m yj c d i 模块的具体实现 3 0 3 3j a r 包解析模块的实现 3 1 3 3 1c a p 文件 3 1 3 3 2j a r 包 3 2 3 3 3h e a d e r c a p 解析 3 2 3 3 4d e b u g c a p 解析 3 4 3 3 5j a r 包的解析 3 5 3 3 6j a r 包的具体解析方法 3 5 3 4 应用代理模块的实现 3 7 北京邮电大学硕士学位论文 3 4 1 具体实现 3 9 3 5 日志功能 3 9 3 5 1s p r i n g 4 0 3 5 2 日志功能的实现 4 1 3 6 平台各模块整合 4 3 第四章平台功能展示及介绍 4 6 4 1 查看修改变量值功能 4 6 4 2r u n t o 1 i n e 功能 4 8 4 3 总结 5 0 第五章总结和展望 5 1 5 1 系统的特点 5 1 5 2 系统的缺点 5 1 5 3 平台的改进前景 5 1 参考文献 5 3 致 射 5 5 攻读学位期间发表的学术论文目录 5 6 北京邮电大学硕士学位论文 第一章绪论 文章从课题的研究背景出发 介绍了目前国内外的现状 从而引出课题 并阐述了 本课题的研究方法与内容 最后 本章对论文的结构安排进行了说明 1 1 课题研究背景 1 1 1 课题背景概要 智能卡 1 1 1 2 3 s m a r tc a r d 内嵌有微芯片的塑料卡 通常是一张信用卡的大小 的通称 j a v a 卡 4 1 5 是一种可以运行j a v a 6 1 1 7 1 程序的接触式微处理器智能卡 在卡中运行的 程序叫a p p l e t 1 9 9 6 年1 1 月 j a v a 卡1 0 版本的规范正式发布了 如今j a v a 卡最新 的规范已经到了2 1 版 一 1 1 1 1j a v a 卡之前的智能卡 早期的智能卡主要是以一种介质形式出现的 它可以在卡体内存储金额 从而能在 公共电话机或自动售货机上被使用 它完成的是一种存储信息的应用 这时卡的需求量 并不大 同时卡的应用也不多 而近来 随着智能卡地越来越 智能 由于智能卡的 优点越来越被人认可 它的应用范围也越来越广泛 从银行的借贷卡 存放个人医疗信 息的医疗卡 到有线和无线网络的安全模块卡等等 智能卡的应用可以说是涉及到了各 个领域 几乎每个人都要与智能卡打交道 市场的需求量急剧上升 同时越来越多的智 能卡新应用也随之诞生 但与智能卡需求量急剧上升所矛盾的是 智能卡应用的研发是一个复杂漫长的过 程 尽管对智能卡的结构大小和通信协议 国际规范i s 0 7 8 1 6 早已规定 但各个卡生 产商对智能卡的研制都各不相同 各个卡生产商对自己的智能卡操作都有自己独特的一 套指令集 此外 智能卡编程接l l a p i s 非常复杂 基于此接口编程 需要开发人员非常熟悉 低层通信接口协议 内存管理和一些智能卡硬件的细节 因此 在开发智能卡应用之前 开发人员就需要花费大量时间来了解智能卡的复杂开发环境 而且更糟糕的是 对不同 的智能卡并没有一个通用的开发环境 每次要开发一种新的应用 可能都必须从新了解 一种新的开发环境 北京邮电大学硕士学位论文 情况有可能还没有这么简单 由于所有的智能卡都是在专门的开发环境中开发出来 的 不同的卡的生产商生产出来的相同应用的卡可能并不兼容 这使同一系统中使用不 同生产商的卡变得很复杂 智能卡编程的复杂性 不统一性将严重阻碍智能卡的发展 市场的需求为智能卡的发展提出了新的要求 然而这一切将随着j a v a 卡的出现而改变 1 1 1 2j a v a 卡的出现 j a v a 卡是s u n 微系统为智能卡开发平台而制定的一个开放的标准 使用j a v a 卡平 台创建的智能卡上存有j a v aa p p l e t 在卡发行后也可以把a p p l e t 加到卡上或修改卡上已 有的a p p l e t 它们把数据存储在一个集成的微处理器芯片里 然后a p p l e t 被下载到微处 理器的内存里 由j a v a 卡虚拟机来运行 类似于另一个智能卡的开发技术m u l t o s j a v a 卡使多个应用程序被安装并且各自独立地共存 每个a p p l e t 都被防火墙保护以维护 其完整性以及防止干扰 应用程序可以动态地升级 j a v a 卡是一种可以运行j a v a 程序的接触式微处理器智能卡 在卡中运行的程序叫 a p p l e t a p p l e t 可以动态装载到j a v a 卡上 j a v a 卡的a p i j a v ac a r d2 1 1a p p l i c a t i o n p r o g r a m m i n gi n t e r f a c e ss p e c i f i c a t i o n 为智能卡制定了一个j a v a 语言的特殊子集 如今 9 5 智能卡制造商已经支持了j a v a 卡的a p i j a v a 卡和j a v a 卡a p i 的出现使智能卡的 编程变得既快又简单 同时这些卡的应用程序 a p p l e t n 在任何支持j a v a 卡a p i 的智 能卡上运行 可以说j a v a 卡的出现立刻解决了j a v a 卡出现之前智能卡所遇到的问题 在j a v a 卡内有一个能执行j a v a 字节码 a p p l e t 的j a v a 卡虚拟机 它提供一整套 标准的j a v a 卡编程的a p i 使得开发人员无需了解复杂的智能卡硬件和智能卡专用的技 术 就可以进行智能卡应用的开发 从而大大减少开发时间和降低开发难度 据粗略的 统计 用j a v a 来编程可以比用c 语言来编程节约6 0 的开发时间 如与智能卡特殊的 汇编语言来比 这种优势将更为明显 同时由于j a v a 卡虚拟机的使用 j a v a 卡的a p p l e t 能够在不同卡片的j c a e j a v ac a r da p p l i c a t i o ne n v i r o n m e n t 上执行 即透过j a v a 卡虚拟 机的机制来达到跨平台的能力 j a v a 是一种面对对象的编程语言 智能卡的基于对象的a p i 大大简化了卡内a p p l e t 与终端或后台服务器的通信 j a v a 卡的另一巨大优势是 开发人员可以任意选择他们所熟悉和喜欢的开发工具 由于对j a v a 卡的编程是用j a v a 语言 所有几乎当今所有流行的j a v a 开发环境 如 v c a f e 等 都可以被用来进行j a v a 卡的开发 正因如此 快速完成和调试j a v a 卡的应 用程序也变为了可能 而在这之前 调试卡的应用程序是一个极复杂漫长的过程 因为 应用程序首先要被装载到卡的r o m 中 而装载到卡的r o m 中的程序是无法更新的 所以对一个应用程序的调试将占用大量的时间和资源 2 北京邮电大学硕士学位论文 同时由于任何j a v a 开发人员都可以变为j a v a 卡开发人员 这就为智能卡的发展提 供了强有力的保证 j a v a 卡还有两大优点 支持一卡多用途和重用 支持一卡多用途是指j a v a 卡上可 以同时存在多个不同的应用 这些应用可以来自同一个卡供应商 也可以来自不同的卡 供应商 这样一张j a v a 卡就可以完成不同的功能 例如 它可以有电子钱包功能 同时 也可以有身份鉴别功能 重用是指j a v a 卡上的应用可以根据需要进行删除或重新添加新 的应用 而无需更换新的智能卡 这样大大增强智能卡的灵活性 j a v a 卡的基本概念 1 j a v a 卡的结构 可以说j a v a 卡是j a v a 平台中最小的子集 j a v a 卡2 1 规范1 8 l 主要包括有 j a v a 卡 虚拟机规范 j a v a 卡编程接n a p 0 和j a v a 卡运行环境规范 j a v a 卡有点象一部功能齐全 但规模较小的电脑 其硬件主要是为了保证j a v a 卡 的运行环境的需要 其最小的硬件配置要求为 j 1 5 1 2b y t e sr a m 主要用于存放程序执行时的堆栈 暂存资料以及做为i o 的缓 冲区 2 2 4k br o m 主要用于存放操作系统以及运行环境 r u n t i m ee n v i r o n m e n t 如 j a v a 虚拟机 a p p l e t 等 3 8k be e p r o m 用于储存装载至j a v a 卡上的a p p l e t 4 8 b i tp r o c e s s o r j a v a 卡需要至少8 位的处理器支持 j a v a 卡的内部结构由o s n a t i v ef u n c t i o n s j a v a v m j a v a 虚拟机 j a v a f r a m e w o r k 以 及架构在此上的应用程序 a p p l e o 所构成 下图为j a v a 卡内部结构 1 i i n d u s t r ya d do nc l a s s e s 1 j a v a c a r df r a m e w o r k 刁 j a v a c a r dv m l o s n a t i v ef u n c t i o n s 图1 1j a v a 卡结构图 3 北京邮电大学硕士学位论文 在此结构中 最底层的o s 操作系统 a n dn a t i v ef u n c t i o n s 基本函数 是负责低层的处理 工作 如同p c 的操作系统 j a v a 虚拟机处于o sa n dn a t i v ef u n c t i o n s 之上 它的存在实现了卡接口的统一和编 程语言的统一 并且也隐藏了卡底层各个卡供应商不同的技术 j a v a 卡f r a m e w o r k 为开发人员定义了一整套编程接口类 主要负责执行j a v a 卡 a p p l e t 以及提供a p p l e t 执行所需要的环境 i n d u s t r ya d d o rc l a s s e s 则是服务方所提供的类 使得企业与公司能够提供属于自 己的服务程序 例如 如果这张卡是g s m 网络的s i m 卡 那么这一层就是s i m 卡 所需的接口类 j a v a 卡的最上层就是j a v a 卡a p p l e t 也就是开发人员要进行开发的应用 如图1 1 所示 一个j a v a 卡可以执行多个j a v a 卡a p p l e t 每个a p p l e t 是靠a i d 应用i d 号 来识别的 但是要特别注意 j a v a 卡的执行环境并不支援多线程 所以一次只能执行一 个a p p l e t 并且a p p l e t 与a p p l e t 之间也有防火墙的阻隔 j a v a 卡的生命期 1 j a v a 卡的生命期 当j a v a 卡的o s 虚拟机 编程接n a p i 类库装载到卡的r o m 之后 j a v a 卡即 开始了它的工作使命 这个把j a v a 卡的固定不变的组件放入芯片的不可重写区域 r o m 的过程叫掩膜 m a s k 不过 要使j a v a 卡真正能使用还要两个必须的过程 初始化和 个人化 初始化是指 在卡体内 一般在e e p r o m 中 创建文件结构 这个文件结构是 大家都有的 它的具体内容是与你这张j a v a 卡的功能有关 比如 你的卡是银行卡 那 么卡内结构就是由银行业规定的结构 如卡是s i m 卡 那么卡的结构就要根据g s m 规范来定 初始化并没有涉及到个人信息 如果卡要发行给指定的某个人 就要通过个 人化过程来完成 个人化就是把个人信息附于卡 它可以是物理过程 如打印某人的照 片 也可以是电子过程 把个人信息写入卡中 如你的d 号 p i n 码等等 初始化和 个人化可以由制卡商或发行商来完成 当初始化和个人化完成后 这张j a v a 卡就可以被 使用了 你可以把卡插入读卡器 对它发出a p d u 指令 或下载更多的a p p l e t j a v a 卡的生命期将一直持续到它被物理损害 被不正确的操作锁死或卡的应用过期 2 j a v a 卡虚拟机的生命期 与p c 中的j a v a 虚拟机不同 j a v a 卡中的虚拟机将永远运行 那怕掉电后 卡上 的信息也将被保存下来 所以j a v a 卡虚拟机的生命期是与j a v a 卡生命期一致的 当没 有电源时 虚拟机就象在一个无限大的时钟频率下运行 3 j a v a 卡a p p l e t 的生命期 4 北京邮电大学硕士学位论文 a p p l e t 开始于a p p l e t 被安装并在卡的注册表中注册 终止于a p p l e t 被从注册表 中注销 一般a p p l e t 在卡中是没有被激活的 只有当这个a p p l e t 被终端 选择 s e l e c t 到时 a p p l e t 才被激活 3 j a v a 卡的j a v a 语言 j a v a 卡的程序当然是由j a v a 语言写的 也是由一般的j a v a 编译器编译的 但由于 j a v a 卡硬件限制 内存大小 c p u 的能力 j a v a 卡并不支持所有的j a v a 语言的特性 以下的j a v a 语言特性 j a v a 卡是不支持的 1 动态类装载 d y n a m i c c l a s sl o a d i n g 2 安全管 理 s e c u r i t ym a n a g e r 3 对象克隆 o b j e c tc l o n i n g 4 f i n a l i z e 0 方法 5 一些数据类型 f l o a t d o u b l e l o n g c h a r 6 多线程 而这些关键字也不被支持 n a t i v e s y n c h r o n i z e d t r a n s i e n t v o l a t i l e 同时几乎所有的 j a v a 核心a p i 的类都不被j a v a 卡支持 只有一些从j a v a 1 a n gp a c k a g e 来的类才 被支持 j a v a 卡的a p i 根据j a v a 卡2 1 的规范规定 j a v a c a r d2 1 1a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e 目 前j a v a 卡共支持4 个p a c k a g e s 包 现就其中一些重要的类进行介绍 1 j a v a 1 a n gp a c k a g e 提供j a v a 语言一些重要的类 如o b j e c t 类 因为所有的 j a v a 类皆继承它 2 o b j e c t c l a s s 说明它的类型为c l a s s 类 若写i n t e r f a c e 说明类型为接口 以下 相同 所有类的基类 3 t h r o w a b l e c l a s s 为所有e r r o r 及e x c e p t i o n 的父类 这表示j a v a 卡也支持 e x c e p t i o n 4 j a v a c a r d f r a m e w o r kp a c k a g e 是j a v a 卡a p i 主要的核心p a c k a g e 提供并 实现了j a v a 卡a p p l e t 基本的接口与工具 a a i d c l a s s 用来唯一表示j a v a 卡a p p l e t 的i d 号 s nu t i l c l a s s 一个提供常用工具的类 如b y t e 数组拷贝与比较等功能 5 j a v a c a r d s e c u r i t yp a c k a g e 提供安全机制的包 其中几个重要的i n t e r f a c e 接口 与c l a s s 类 如下 a k e y i n t e r f a c e 是d e s k e y p r i v a t e k e y p u b l i c k e y 等接i 1 的共同接i 1 b k e y b u i l d e r c l a s s 创建各种安全的k e y 的工厂 f a c t o r y 曲m e s s a g e d i g e s t c l a s s 可以将信息做数字签名的对象 6 j a v a c a r d x c r y p t op a c k a g e 其中包含了关于加密与安全的对象 而此p a c k a g e 仅 包含了一个接口与一个类 c i p h e r c l a s s 使得在j a v a 卡中的信息得以加密保护 1 2 国内外研究现状 近年来 为了加速j a v a 卡生产期间的重要环节 调试的完成 各大卡制造商或服 务商都暗自研究设计自己的j a v a 卡开发调试软件 如i b m 公司针对自己生产的j c o p 卡 j c o p 即j a v ac a r do p e np l a t f o r m 是i b m 研究院为j a v a 卡平台开发的智能卡操 6 北京邮电大学硕士学位论文 作系统 j c o p 卡中拥有能够运行j a v a 应用程序的j a v a 卡虚拟机 j c o ps h e l l 是m m 公司专门针对j c o p 卡而开发的调试工具 只能调试j c o p 卡 且调试卡的所有过程都 要在命令行中完成 操作起来很不方便 s u n 公司也针对j a v a 卡设计开发了开发调试工 具 但很不好用很复杂 要用命令编译 而且国内也没有什么教程和书籍 1 3 课题研究内容 在j a v a 卡生产环节中 调试j a v a 卡上的a p p l e t 应用程序是个很重要的环节 这一 环节严重影响着j a v a 卡的生产效率 而这一效率对于j a v a 的迅速完成生产制造 投入 市场 占有是常量又起着极为关键的作用 目前各大j a v a 卡制造商在j a v a 卡调试方面 的研究有着许多的不足之处 他们设计开发的j a v a 卡调试软件都有着调试环境不美观 操作复杂等缺点 所以设计开发一款新的 便于开发人员使用且功能强大的调试软件便 成了一项艰巨而又富有挑战的工作 本课题主要针对基于s u n 公司提供的j a v a 调试协议和j a v a 卡调试协议等相关协议 的j a v a 卡测试平台的功能而进行研究 通过对协议的解析和测试平台的功能需求分析 设计开发一款操作简单 功能齐全的j a v a 卡测试平台 1 4 课题研究方法 本课题将以设计开发一套完整的j a v a 卡测试平台为目标 通过对j a v a 卡测试平台 进行功能分析后 将测试平台分解为几个主要功能模块 解析j a v a 卡测试平台在实现功 能过程中所要遵循的j a v a 卡调试协议 j a v a 调试协议等协议 并对各个功能模块进行 试验以验证功能的可实现性 在通过功能验证后依次分别实现各功能模块 最终将各模 块整合为j a v a 卡测试平台 平台采用目前比较流行的s p r i n g 技术 结合e c l i p s e 插件技术 基于j a v a 虚拟机 利用j a v a 语言进行代码的编写 对平台设计开发进行深入的分析与研究 7 北京邮电大学硕士学位论文 第二章j a v a 卡测试平台设计与实现 2 1j a v a 卡测试平台简介 j a v a 卡测试平台 主要用于调试j a v a 卡上的a p p l e t 应用程序 但是我们又不能像 调试普通j a v a 程序那样用j a v a 虚拟机f 9 1 1 1 0 调试 因为a p p l e t 应用程序是运行在j a v a 卡 虚拟机上的 j a v a 虚拟机是不能远程调试程序的 且j a v a 虚拟机也没有调试a p p l e t 应 用程序所须的必备信息 因此调试人员需要一款既能够解析调试j a v a 卡时所需要的必备 信息又可以将a p p l e t 程序运行在j a v a 卡上的j a v a 卡测试平台 平台采用代理模式 基于s u n 公司提供的j a v a 调试协议和j a v a 卡调试等协议 应 用现今最流行的s p d n g 框架 实现测试平台的调试功能及日志的管理 研究本平台应用 到的硬件为读卡器 软件为s n o o p e r u c a r d 平台开发语言为j a v a 2 2j a v a 卡测试平台目标分析 在软件项目管理中 需求分析是项目开发过程中极为关键的一步 它影响着整个项 目的设计方向 在某些程度上也影响着整个项目的进度 需求分析指导我根据软件所要 实现的功能建立模型 根据模型逐步实现系统的各部分功能 j a v a 卡测试平台应能够实现调试j a v a 卡的功能和调试人员通过使用各种软件如 s n o o p e r u c a r d 等给j a v a 卡发送命令的功能 且它还要能够记录日志 即j a v a 卡测试 平台各功能模块相互协作时发送的信息 因此 j a v a 卡测试平台要实现的基本功能如下 1 通过读卡器 j a v a 卡调试软件可以与j a v a 卡连接 这个连接用于j a v a 卡调试软 件控制和访问j a v a 卡上的j a v a 卡虚拟机 2 j a v a 卡调试软件要能够接受来自标准j a v a 调试接口的连接 此连接与j a v a 卡调 试软件相互通信遵循j d w p l l l l j a v ad e b u gw 讹p r o t o c 0 1 j a v a 卡调试软件处理解析来自 标准j a v a 调试接口命令 如果不需要j a v a 卡或其他功能模块的协助 则直接立刻响应 命令 3 j a v a 卡调试软件可以接受来自终端应用如s n o o p e r u c a r d 等软件的连接请求 通过这个连接 终端应用可以发送a p d u s 1 7 1 a p p l i c a t i o np r o t o c o ld a t au n i t 给j a v a 卡 以运行j a v a 卡上的应用程序 4 j a v a 卡调试软件还要必须能够解析j 盯文件和c a p 文件 c a p 文件中包含了调试 j a v a 卡上a p p l e t 应用程序所须要的全部信息 但是要注意的是j a r 文件不是加载在卡上 的且是纯数字文件 因此j a v a 卡测试平台要能够完成对j a r 文件和c a p 文件的解析 8 北京邮电大学硕士学位论文 2 3j a v a 卡测试平台的目标设计 本平台的目标是基于j d w p 协议 j c d p 1 7 j 协议 s u n j c 2 2 1 v i r t u a l m a c h i n e 协议 中关于c a p 文件格式协议等协议设计开发的测试平台 主要从分析j a v a 卡所处的不同 的状态时能够处理响应不同的命令 实现常用的调试程序手段 如在程序的任一位置打 断点 执行步进 查看变量值等功能和接收来自终端应用的命令功能入手 详细分模块 的完成平台的具体功能 从而最终完成j a v a 卡平台的设计实现 2 4 平台的中心设计思想 本平台是一个实时的监控调试系统 它监听着程序正常运行和出现异常时各种情 况 这也是j a v a 卡测试平台的最重要部分和最基本的功能 将异常情况报告给调试人 员 我在设计平台时采用了代理模式处理平台各功能模块相互协作时可能产生的交互信 息 本文将平台根据功能抽象为四大功能模块和五大功能 分别是 m y j p d a 应用 代理 j a r 包解析 m y j c d i 四大功能模块和日志功能 如下图是平台调试体系模型 图1 2j a v a 卡测试平台模型 m yj p d a 模块 这一模块在整个j c p d a 中功能类似于一个标准的j p d a 中的 j v m t i 层和j d w p 层的功能 即充当着j a v a 虚拟机的角色 由于最终是要将这款调试 9 图l 3j p d a 模型层次 应用代理模块 这一层测试平台采用基于t 2 2 4 协议的通信格式 测试平台将接 收到命令分解为h e a d e r 和d a t a 两部分以备响应来自卡片端1 0r e c e i v eh e a d e r 和 i o r e c e i v e b y t e s 的命令 与m y j p d a 一样 这一功能模块也将采用单线程的方 式完成测试平台与t e r m i n a la p p l i c a t i o n 的相互交互 j a r 包解析模块 此模块是利用i o 流将a p p l e t d a r 包根据s u n 公司关于j a v a c a r d 虚 拟机规范中关于c a p 文件格式的部分 将a p p l e t j a r 解析 然后将信息交给a g e n t 管理 以准备平台在调试a p p l e t 时所须要的信息 其中解析a p p l e t j a r 时 调试软件主要解析 j a r 包中的h e a d e r c a p 和d e b u g c a p 两个c a p 文件 h e a d e l c a p 文件中包含测试平台需要的 p a c k a g e l d 此p a c k a g e l d 是用于区分j a v a 卡上各个a p p l e t 所在的p a c k a g e 且测试平台 利用p a c k a g e l d 从卡上获得调试a p p l e t 时所须要的c l a s s c o m p o n e n t i d 等必需的信息 d e b u g c a p 文件包含了调试a p p l e t 时的几所所有必须的信息 如a p p l e t 类的名字 此 a p p l e t 类在卡中的相对位置等 这些都是调试a p p l e t 时的必须信息 在实现r u n t o l i n e 功能过程中 此模块为平台提供了调试a p p l e t 的所有必要信息 m y j c d i 模块 由于j a v a 卡是有状态的 且其在不同的状态时 只能接收特定的 北京邮电大学硕士学位论文 命令或返回特定的信息 因此 我首先要了解j a v a 卡的状态 如下图示 i n p e c tr e j m l t i x q 冀 e tr e s a t l t i 图1 4 卡片状态图 图3 中 左边的字符表示命令 右边的为响应 从图1 4 中 可以看出当卡片接 收到命令或返回响应信息时会改变它的状态 圆角方框中字符表示卡片正在等待来自调 试软件的命令时的状态 这一功能模块是整个j c p d a 中最重要最关键的一块 因为测试平台对j a v a c a r d 调 试的整个过程都需要也必须通过这一模块完成 如对a p p l e t 程序的某一行打断点 查看 程序中的某变量值信息以及处理来自t e r m i n a la p p l i c a t i o n 的命令等功能 此模块基于 j c d p 与卡之间相互发送符合i o s 7 8 1 6 规定的a p d u s a p p l i c a t i o np r o t o c o ld a t au n i t 应 用协议数据单元 或d p d u s d e b u g g i n gp r o t o c o ld a t au n i t 每个a p d u 可以被分解转换 成调试协议数据单元在调试软件与卡之间交互 其实d p d u 就是a p d u 只是在卡处于 调试挂起状态时 即图3 中的s u s p e n d e d 状态 只能接收d p d u s 以完成与卡之间的交 互 日志功能 我利用s p d n g 的a o p 特性和代理机制以配置文件的形式来实现测试平 台的日志功能 平台的日志功能主要用于完成平台与j d i 接口 终端应用软件和j a v a 卡交互信息的记录工作 以备测试平台发生异常情况时 查出问题所在 2 5 关键技术 该平台集成的关键技术主要是 1 j d w p 协议的解析 北京邮电大学硕士学位论文 议结合 北京邮电大学硕士学位论文 第三章j a v a 卡测试平台的实现 j a v a 卡测试平台主要分四个功能模块和一个日志功能实现 3 1m y j p d a 的实现 3 1 1j d w p j d w p j a v a d e b u gw 沁p r o t o c 0 1 它定义了调试器 d e b u g g e r 和被调试的j a v a 虚拟机 t a r g e tv m 之间的通信协议 3 1 1 1j d w p 协议介绍 这里首先要说明一下d e b u g g e r 和t a r g e tv m t a r g e tv m 中运行着调试人员要要 调试的程序 它与一般运行的j a v a 虚拟机没有什么区别 只是在启动时加载了a g e n t j d w p 从而具备了调试功能 而d e b u g g e r 就是开发人员熟知的调试器 它向运行中的 t a r g e tv m 发送命令来获取t a r g e tv m 运行时的状态和控制j a v a 程序的执行 d e b u g g e r 和t a r g e tv m 分别在各自的进程中运行 他们之间的通信协议就是j d w p j d w p 与其他许多协议不同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋限期整治方案范本
- 2025至2030全球及中国生物制药合同制造(BCMO)行业发展趋势分析与未来投资战略咨询研究报告
- 壶关村官考试真题及答案
- 边坡承重挡土墙施工方案
- 贵州普安县县直单位街道考调事业单位考试真题2024
- 城市超市测评方案范本
- 泥匠培训考试试题及答案
- 湖北水性仿石漆施工方案
- 水利监理考试试题及答案
- 初中英语相关试卷及答案
- 经济与社会 思维导图式复习课件高中政治统编版必修二经济与社会
- 《系统工程与决策分析》全册配套课件
- DL∕T 2033-2019 火电厂用高压变频器功率单元试验方法
- 高中数学-斐波那契数列与黄金分割教学设计
- 数据驱动的教育决策
- 农作物植保员职业技能竞赛题库及答案
- T梁湿接缝及横隔梁施工方案
- (完整)易制毒化学品使用管理责任书
- 石群邱关源电路课件(第8至16单元)白底
- 个人增资入股合同
- GB/T 6579-2007实验室玻璃仪器热冲击和热冲击强度试验方法
评论
0/150
提交评论