基于标记的链接制造技术

技术编号:2882170 阅读:158 留言:0更新日期:2012-04-11 18:40
一个系统将下载的结构中性代码链接到资源受限计算机。该代码可以分离为一个或多个具有一个或多个可标识项的包。该系统将一个或多个可标识项映射为相应的一个或多个标记;相应于运行时间模式对标记排序;将包下载到资源受限计算机;并利用经排序的标记将包链接到一个可执行代码上。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般涉及用于资源受限装置如智能卡等的面向对象、结构中性的程序。
技术介绍
虚拟机是一种通过处理器执行的软件应用程序或指令序列产生的抽象计算机。术语“结构中性”指的是例如用JavaTM编程语言写的程序,它们可以在具有各种不同计算机结构的各种计算机平台上通过虚拟机来执行。这样,例如在基于WindowsTM的个人计算机系统上执行的虚拟机将使用与如在基于UNIXTM的计算机系统上执行的虚拟机相同的指令组。虚拟机的指令序列的独立平台编码的结果是一个或多个字节代码流,其中每一个例如是一个字节长的数字代码。已经在包括例如与网络浏览器有关的应用程序的许多应用程序中使用了Java编程语言。Java编程语言是面向对象的。在一个面向对象的系统中,“类”描述了数据的集合和操作该数据的方法。与数据和方法一起的标记描述了对象的状态和性能。Java编程语言也是可检验的,以便在执行以Java编程语言编写的应用程序之前,可以确定是否程序中的指令序列试图处理那些用于字节代码的类型不正确的数据或者是否程序的字节代码指令的执行将引起操作数堆栈的下溢或上溢。JavaTM虚拟机执行Java编程语言写的虚拟机代码并且被设计用于32位的结构。然而,许多资源受限装置如智能卡具有8位或16位的结构。智能卡也称为智能便携式数据携带卡,一般由塑料或金属制成并且具有电子芯片,该芯片中包括用于执行程序的嵌入式微处理器以及用于存储程序和数据的存储器。这种大小可与信用卡相似的装置通常具有有限的存储容量。例如,一些智能卡具有小于1千字节(1K)的随机存取存储器(RAM)以及有限的只读存储器(ROM),和/或非易失性存储器如电擦除可编程只读存储器(EEPROM)。一般地,在智能卡处理器上运行的程序确定了该卡所提供的服务。随着时间流逝,卡上的程序可能需要更新,例如为了增加新的功能或改进现有的功能。为此,该卡应该能够接受可以替代其它程序的新程序。执行字节代码的虚拟机(例如,完全的Java虚拟机)通常要求相当大的存储量以加载字节代码和解析标识(reference)。特别地,在Java虚拟机中,符号标识用于指出诸如类、方法和字段之类的程序元素。通过使用它的符号名来定位该元素可以解析这些程序元素的标识。这种操作要求相当大的随机存取存储器(RAM)。在只有较小RAM的环境中,这可能是不方便的。因为智能卡对于成本是敏感的,它们依靠便宜的、低性能处理器和低容量存储器装置。因为成本和功率的原因使得在这种资源受限的计算机中配置低功率和低容量处理器以及存储器组件,在这种资源受限装置上操作Java虚拟机的能力是困难的但仍然是需要的。专利技术概述一方面,一种方法将代码下载到资源受限计算机。该代码可分成具有至少一个可标识项的至少一个包。该方法包括形成包;形成可标识项到相应标记的映射;以及提供包和映射。第二方面,一种方法将下载的代码链接到资源受限计算机。该方法包括接收包;接收可标识项到相应标记的映射;以及使用映射来链接包。本专利技术的优点可以包括下面的一个或多个。本专利技术通过唯一的标记标识符使用较小的存储空间以有效地使用资源受限装置上的资源。另外,本专利技术能够链接和判定资源受限装置上输出项的标识。经过元数据文件如输出文件,本专利技术允许将输出元素公开。然而,能够进行的这种公开不能暴露专用的或专有的元素和小应用程序(applet)以及相关库的细节。因此,许多分开的改进的应用程序可以加载到资源受限装置并且相互共享它们的组件而不用考虑专用的保密信息。另外,结构中性的语言如Java的优点是能够在资源受限装置上实现,同时保留它的语义。标记也可以用于内部的或专用的元素。这样,标记可以分配给专用的和包可视实例(instance)字段以及包可视虚拟方法。本专利技术在分配标记上施加较少的限制,并且对于特定的应用程序可以进一步定义或优化该标记种类。这样,本专利技术支持一次写入并且可以在任何地方,甚至在资源限制装置如具有有限存储容量的智能卡上运行的便携的、结构中性代码。附图说明图1示出了将独立于硬件平台的代码转换和加载到智能卡。图2示出与图1所示的智能卡进行通讯的计算机系统。图3是说明内部包相关性的示意图。图4A和4B是说明两个转换器操作的示意图。图5是说明解析静态标识的两个包和包登记的示意图。图6是结合图5的包说明链接处理的流程图。图7A-7I是说明不同的类、字段和方法标识的示意图。图8A-8I是说明用于分配标记和支持表格的处理的流程图。图9A-9C是说明用于判定实例字段和方法的标记的处理流程图。详细说明本专利技术描述了一种采用压缩、保密格式表示用于面向对象程序的链接信息的方法。利用这种方法,能够在资源受限装置上下载、链接和执行所述程序。资源受限装置一般认为是在存储器和/或计算功率或速度上受限制的装置。虽然下面参照智能卡描述了特定的实现,本专利技术也可以用于其它的资源受限装置,包括但不限于蜂窝式电话、边界扫描装置、字段可编程装置、个人数据辅助(PDA)和寻呼机、以及其它小型或微型装置。在某些情况下,资源受限装置可以具有小到1K的RAM或小到16K的ROM。类似地,某些资源受限装置基于为小于32位设计的结构。例如,能够使用本专利技术的某些资源受限装置基于8位或16位结构,而不是32位结构。参照图1,对于资源受限装置如智能卡40的小应用程序的开发以类似于Java程序开发的方式开始。换句话说,开发器编写一个或多个Java类并且采用Java编译器来编译源码以产生一个或多个类文件10。例如在工作站上能够使用模拟工具运行、测试和调试小应用程序以模仿卡40的环境。当准备将小应用程序下载到卡40上时,类文件10被转换器14转换成一个经转换的小应用程序(CAP)文件16。转换器14可以是由台式计算机执行的Java应用程序。除了被转换的类文件10以外,转换器14可以接受一个或多个输出文件12作为其输入。输出文件12包含用于通过转换的类输入的其它包内容的命名或链接信息。一般地,CAP文件16包括在单个Java包中定义的所有类和接口并且由一个8位字节流表示。所有的16位和32位参数都是分别通过读取两个或四个连续的8位字节来构造的。除此以外,CAP文件16包括常数池组件(或“常数池”)18,该组件与方法组件20分开打包。常数池18可以包括不同类型的常数,这些常数包括程序被链接或下载到智能卡40时或在智能卡执行时判定的方法和字段标识。方法组件20指定了下载到智能卡40并且随后由智能卡执行的应用程序指令。在转换之后,CAP文件16可以存储在计算机可读介质17上,如硬盘、软盘、光存储介质、闪速(flash)设备或某些其它适当的介质上。或者计算机可读介质可以采用载波形式,例如网络数据传输或射频(RF)数据链接。然后CAP文件16可以通过外围设备的卡接收装置(CAD)24复制或传送到终端22如台式计算机。CAD 24允许在智能卡40上写入和检索信息。CAD 24包括一个可以插入智能卡40的卡插口(未示出)。一旦插入,连接器的触点紧压在智能卡40的表面连接区域上以提供功率并且允许与智能卡通讯,不过在其它实施方式中,也可以使用无接触的通讯。终端22还包括安装工具26,它将用于传输的CAP文件16加载到卡40上。智能卡40具有可以包括一组触点的输入/输出(I/O)端本文档来自技高网...

【技术保护点】
一种用于将代码下载到资源受限计算机的方法,代码可分离为至少一个具有至少一个可标识项的包,包括: 形成包; 形成可标识项到相应标记的映射;以及 提供包和映射。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:朱迪思E施瓦贝乔舒亚B舒塞尔
申请(专利权)人:太阳微电子公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1