CN101192153B - 用于从可执行程序代码获得用户界面信息的方法和*** - Google Patents
用于从可执行程序代码获得用户界面信息的方法和*** Download PDFInfo
- Publication number
- CN101192153B CN101192153B CN2007101702232A CN200710170223A CN101192153B CN 101192153 B CN101192153 B CN 101192153B CN 2007101702232 A CN2007101702232 A CN 2007101702232A CN 200710170223 A CN200710170223 A CN 200710170223A CN 101192153 B CN101192153 B CN 101192153B
- Authority
- CN
- China
- Prior art keywords
- user interface
- catch
- image
- display
- present
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000000605 extraction Methods 0.000 claims abstract description 4
- 238000013515 script Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/74—Reverse engineering; Extracting design information from source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种支持从可执行程序代码自动地获得或提取例如图形用户界面的对话或屏幕并且以图形格式保存所述对话或屏幕的快照的技术。在所述可执行程序代码中扫描或搜索所述程序代码中用于产生用户界面或对话的特定模块。随后处理这些识别出的GUI可访问的模块的每一个,以便产生、显示和捕获与其相关联的用户界面或对话。自动地产生并且提供这些模块需要的任何必须的用户输入或样本数据,以辅助产生、显示和捕获所述界面/对话。
Description
技术领域
本发明一般地涉及辅助用户界面处理的工具,并且特别地涉及用于从可执行程序代码获得例如对话框或其他类型的图形用户界面(GUI)信息的用户界面信息的工具。
背景技术
将软件程序翻译成多种语言时,当前技术中的一个问题是为了验证翻译,测试人员必须安装翻译后的软件并且转到每个屏幕以验证内容被正确地翻译并且被适当地显示。这个过程耗时、费力而且费用高昂。
现有的另一个问题是当前翻译这样的软件程序的方法在显示每个可能的屏幕时并不能自动防止故障。除非给出特定的指令,个人/测试人员可能无法知道应如何导航用户界面以便访问和捕获每个可能的对话框。即使提供这些指令,也不能确定或确保所有可能的屏幕都已经被访问并且捕获。
另一个问题与翻译验证测试(TVT)方法和与此相关的劳动密集型有关,其中执行程序并且与所述程序交互的用户人工地捕获并且以TVT测试人员可使用的适当格式保存屏幕图像。
因此,期望提供一种计算机实现的方法、装置和计算机可用程序代码,可以支持自动地从可执行程序代码获取或提取对话和其他屏幕并且以图形格式保存所述对话的快照。
发明内容
提供了一种计算机实现的方法、装置和计算机可用程序代码,以支持从可执行程序代码自动地获取或提取例如图形用户界面的对话或屏幕并且以图形格式保存所述对话或屏幕的快照。在所述可执行程序代码中扫描或搜索这些程序代码中用于产生用户界面或对话的特定模块。随后处理这些识别出的GUI可访问的模块的每一个,以便产生、显示和捕获与所述模块相关联的用户界面或对话。自动地产生并提供这些模块所需的任何必须的用户输入或数据样本,以辅助所述界面/对话的产生、显示和捕获。
附图说明
权利要求书中说明了作为本发明特征的新颖特性。通过参照附图阅读下文对示例性实施例的详述,可以对本发明以及优选的使用方法及其进一步的目标和优势有最好的理解,其中:
图1是可以实现所述示例性实施例的数据处理***的示意图;
图2是可以实现所述示例性实施例的数据处理***的方框图,以及
图3是根据所述示例性实施例的从可执行程序代码自动地获取或提取对话并且以图形格式保存所述对话的快照的处理流程图。
具体实施方式
现在看附图,特别地参照图1,图1是可以实现所述示例性实施例的数据处理***的示意图。示出了计算机100,该计算机100包括***单元102、视频显示终端104、键盘106、可包括软盘驱动器和其他类型的永久和可移除存储介质的存储设备108、以及鼠标110。与个人计算机100一起,可以包括其他的输入设备,例如控制杆、触摸板、触摸屏、轨迹球,麦克风等等。
计算机100可以是任何适当的计算机,例如位于纽约阿芒克 的国际商业机器公司的产品IBMeServerTM计算机或IntelliStation计算机。尽管所述示意图示出了个人计算机,其他实施例可以在其他类型的数据处理***例如网络计算机中实现。计算机100优选地也包括可以以***软件方式实现的图形用户界面(GUI),所述***软件驻留于在计算机100内操作的计算机可读介质中。
现在参考图2,图2示出了可以实现示例性实施例的数据处理***的方框图。数据处理***200是一个计算机的例子,例如图1中的计算机100,实现所述示例性实施例的过程的代码或指令存在于所述计算机上。在所示的例子中,数据处理***200采用包括北桥和存储控制集线器(MCH)202以及南桥和输入/输出(I/O)控制集线器(ICH)204的集线器结构。处理器206、主存储器208以及图形处理器210连接到北桥和存储控制集线器202。图形处理器210可以通过如加速图形端口(AGP)连接到MCH。
在示出的例子中,局域网(LAN)适配器212连接到南桥和I/O控制集线器204,音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口和其他通信端口232以及PCI/PCIe设备234通过总线238连接到南桥和I/O控制集线器204,以及硬盘驱动器(HDD)226和CD-ROM驱动器230通过总线240连接到南桥和I/O控制集线器204。PCI/PCIe设备可以包括例如以太网适配器,***板以及用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不采用卡总线控制器。ROM 224可以是例如闪速二进制输入/输出***(BIOS)。硬盘驱动器226和CD-ROM驱动器230可以使用例如集成驱动电路(IDE)或串行高级技术附加装置(SATA)接口。超级I/O(SIO)设备236可以连接到南桥和I/O控制集线器204。
操作***在处理器206上运行,协调图2的数据处理***200中的各种组件并为其提供控制。所述操作***可以是商业可用的操作***,例如MicrosoftWindowsXP(Microsoft和Windows是微软公司在美国或其他国家或美国和其他国家的注册商标)。面向对象的编程***,如JavaTM编程***可以与所述操作***共同运行并且提供从在数据处理***200上执行的Java程序或应用到操作***的调用(Java和所有基于Java的商标是Sun Microsystems公司在美国或其他国家或美国和其他国家的注册商标)。
所述操作***、面向对象的编程***以及应用或程序的指令位于例如硬盘驱动器226的存储设备上,并且可以载入主存储器208用于由处理器206执行。所述示例性实施例的过程可以由处理器206使用计算机实现的指令执行,所述计算机实现的指令可以位于存储器中,例如主存储器208、只读存储器224,或者位于一个或多个***设备中。
图1-2中的硬件可以根据实现而变化。可以作为对图1-2中所示的所述硬件的补充或替代而使用其他内部硬件或***设备,如闪存,等效非易失性存储器,或光盘驱动器等。并且,所述示例性实施例的过程可以应用于多处理器数据处理***。
在某些示例性实施例中,数据处理***200可以是个人数字助理(PDA),其一般地配置有闪存,以提供非易失性存储器,用于存储操作***文件和/或用户产生的数据。总线***可以由一个或多个总线构成,如***总线,I/O总线和PCI总线。当然,所述总线***可以使用任何类型的在连接到架构和体系结构的不同组件或设备之间提供数据传送的通信架构和体系结构实现。通信单元可以包括一个或多个用于发送和接收数据的设备,如调制解调器或网络适配器。存储器可以是如主存储器208或高速缓存,例如在北桥和存储控制集线器202中可以见到的高速缓存。处理单元可以包括一个或多个处理器或CPU。图1-2所示的例子和上文所述的例子并不意味着对体系结构的限制。例如,数据处理***200也可以是台式计算机,膝上型计算机或另外地采取PDA形式的电话装置。本文的描述提供了一种计算机实现的方法、设备和用于处理可执行代码的计算机可用的程序代码。所述示例性实施例的方法可以在数据处理***中实施,例如图1所示的数据处理***100或图2所示的数据处理***200。
提供了一种计算机实现方法、装置和计算机可用的程序代码,用于支持从可执行程序代码自动地获得或提取对话并且以图形格式保存所述对话的快照。图3示出了一个优选的处理流程。处理过程开始于步骤302,其中使用特定的标志或指示器设置调用可执行的程序代码,例如应用程序,所述特定的标志或指示器设置用于表示以显示所述GUI或对话的模式调用所述程序。在步骤304,***搜索所述应用或可执行代码中实现特定界面的模块。例如,对于Java可执行代码,分析所有对象以确定哪些对象实现特定的界面。这可以使用称为内省(introspection)技术的Java方法完成。每个GUI可访问的对象随后被加入列表用于将来处理。在步骤306,确定所述GUI可访问的对象的列表是否包含任何(更多的)项目,并且如果否,处理过程在308结束。如果在步骤306确定存在所述列表项目,则在步骤310调用一种getDisplay()方法,以在所述设备的显示器上产生所述用户GUI或对话。在步骤312,确定是否需要向当前正在处理的对象输入样本数据,并且如果是,在步骤314产生所述样本数据。从中调用所述getDisplay()方法的类(超级类)在getDisplay()方法的处理过程中为屏幕快照提供了样本数据。通过用户界面的开发者提供所述样本数据。所述开发者在用户界面面板中以一种方法如getSampleDataGUI1()的形式为每个字段提供样本输入数据,所述方法被调用以便为给定的GUI可访问对象获取样本输入数据。这种用于获取样本输入数据的方法与其GUI可访问的对象通过文件名(如相同的文件名但不同的文件类型)或链接参考相关联。如果步骤312确定不需要样本数据,或者在步骤314产生所述所需样本数据后,在步骤316,GUI或用户对话在所述设备的显示器上显示(其在示例性实施例中经过测试以确保符合正确的语言翻译)。此外,通知所述***所述显示已经完成。随后在步骤318确定是否需要定制的捕获脚本或模板用于将所述显示图像捕获到文件中。通常需要定制的脚本/模板用于具有多个窗口包括前景和背景窗口的复杂屏幕。如果根据步骤318需要使用定制的脚本/模板,在步骤320,通过确定是否所述脚本/模板在所述文件***中存在,例如存在一个名为generateCaptureScriptGUI1()的文件,来产生所述捕获脚本。所述捕获脚本使用所述GUI屏幕的作者所提供的样本数据动态地产生。通过从所述GUI屏幕的作者所提供的所述GUI可访问的对象提取脚本模板来产生所述捕获脚本,并且随后使用与所述当前显示相关的特定参数,如位置、大小和任何与所述特定GUI可访问的对象相关联的必须的时间延迟,来更新所述模板。所述脚本可以调用在所述GUI上的按钮动作,文本输入等。如上文所述,在确定需要样本数据的时候,运行一个小脚本,以在所述GUI的代码中收集所述样本数据。这为所述捕获脚本填充必要的信息,从而利用所述数据填充所述屏幕。随后在步骤322处,调用所述屏幕捕获脚本,请求为特定区域拍照或进行屏幕捕获。
如果在方框318确定不需要定制的屏幕捕获脚本,在步骤322,使用现有的屏幕捕获应用或脚本调用屏幕捕获(例如为相对简单的GUI界面)。随后在步骤324,存储所述屏幕捕获的图像,并且随后所述处理在步骤306继续,以确定GUI可访问的对象列表中是否包含任何更多需要处理的项目。如果是,处理过程按照上文参照方框310-324所述的那样继续,并且如果否,处理过程在步骤308结束。
这样,上文所述的示例性实施例提供了一种用于支持从可执行程序代码自动地获得或提取对话并且以图形格式保存所述对话的快照的技术。
本发明可以采取完全硬件实施例、完全软件实施例或包括硬件和软件元素的实施例的方式。在一个优选的实施例中,本发明以软件来实现,其包括但不限于固件、驻留软件、微码等。
并且,本发明可以采取可以通过计算机可用或计算机可读介质可访问的计算机程序产品的形式,所述计算机程序产品提供程序代码,以由计算机或任何指令执行***使用或与计算机或任何指令执行***联合使用。为了在此说明的目的,计算机可用或计算机可读介质可以是任何有形的装置,其可以包含、存储、传送、传播或传输所述程序,以供指令执行***、装置或设备使用或与指令执行***,装置或设备联合使用。
所述介质可以是电子的、磁的、光的、电磁的、红外的或半导体的***(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移除计算机硬盘、随机访问存储器(RAM),只读存储器(ROM)、硬磁盘和光盘。目前光盘的例子包括只读光盘(CD-ROM),可读/写光盘(CD-R/W)和DVD。
适用于存储和/或执行所述程序代码的数据处理***可以包括至少一个通过***总线直接地或间接地连接到存储器元件的处理器。所述存储器元件可以包括在实际执行所述程序代码期间采用的本地存储器、大型存储器以及高速缓冲存储器,所述高速缓冲存储器临时地存储至少部分程序代码以降低在执行期间必须从大型存储器获取所述代码的次数。
输入/呈现或I/O设备(包括但不限于键盘、显示器、指针设备等)可以直接地连接到所述***或通过居间I/O控制器连接到所述***。
网络适配器也可以连接到所述***,以允许所述数据处理***通过居间的专用或公共网络连接到其他数据处理***或远程打印机或存储设备。调制解调器、线缆调制解调器和以太网卡仅是当前可用的网络适配器类型的例子。
本发明的描述是用于示例和描述的目的,并且并非是穷尽的或使本发明受限于所公开的形式。本发明的多种改变和变型对于本领域普通技术人员来说是显而易见的。选择和描述所述实施例是为了对本发明的原则、实际应用做出最佳的解释,并且使本领域的普通技术人员理解为考虑适应特定应用而对本发明进行了各种修改的各种实施例。
Claims (8)
1.一种用于从机器可执行代码中提取用户界面信息的方法,所述方法包括以下步骤:
确定所述机器可执行代码中哪些模块对于在设备的显示器上呈现用户界面信息有用;
使用所述模块在所述设备的所述显示器上呈现至少一个用户界面;
捕获所述显示器的图像;以及
将所述图像保存到文件,
其中使用所述模块在所述设备的所述显示器上呈现至少一个用户界面包括:
确定是否需要样本数据输入到所述模块之一,并且在需要的情况下产生所述样本数据;
将所述样本数据和所述模块之一提供给呈现程序以呈现所述至少一个用户界面。
2.根据权利要求1的方法,进一步包括以下步骤:
确定是否需要一个捕获脚本以捕获所述图像,并且在需要的情况下产生所述捕获脚本。
3.根据权利要求2的方法,其中所述捕获所述显示器的图像的步骤包括调用所述产生的捕获脚本以捕获所述显示器的所述图像。
4.根据权利要求3的方法,其中产生和调用多个捕获脚本以捕获所述显示器的图像。
5.一种用于从机器可执行代码中提取用户界面信息的***,所述***包括:
用于确定所述机器可执行代码中哪些模块对于在设备的显示器上呈现用户界面信息有用的装置;
用于使用所述模块在所述设备的所述显示器上呈现至少一个用户界面的装置;
用于捕获所述显示器的图像的装置;以及
用于保存所述图像的装置,
其中用于使用所述模块在所述设备的所述显示器上呈现至少一个用户界面包括:
确定是否需要样本数据输入到所述模块之一并且在需要的情况下产生所述样本数据;
用于将所述样本数据和所述模块之一提供给呈现程序以呈现所述至少一个用户界面。
6.根据权利要求5的***,进一步包括:
用于确定是否需要一个捕获脚本以捕获所述图像并且在需要的情况下产生所述捕获脚本的装置。
7.根据权利要求6的***,其中用于捕获所述显示器的图像的装置包括用于调用所产生的捕获脚本以捕获所述显示器的图像的装置。
8.根据权利要求7的***,其中产生和调用多个捕获脚本以捕获所述显示器的所述图像。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/565,922 US8146006B2 (en) | 2006-12-01 | 2006-12-01 | Method and apparatus for obtaining user interface information from executable program code |
US11/565,922 | 2006-12-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101192153A CN101192153A (zh) | 2008-06-04 |
CN101192153B true CN101192153B (zh) | 2011-11-02 |
Family
ID=39477330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101702232A Expired - Fee Related CN101192153B (zh) | 2006-12-01 | 2007-11-15 | 用于从可执行程序代码获得用户界面信息的方法和*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US8146006B2 (zh) |
CN (1) | CN101192153B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274807B2 (en) * | 2006-04-20 | 2016-03-01 | Qualcomm Incorporated | Selective hibernation of activities in an electronic device |
US9472167B2 (en) * | 2009-04-17 | 2016-10-18 | International Business Machines Corporation | Video capture through hardware |
CN101965053A (zh) * | 2009-07-24 | 2011-02-02 | 张海宏 | 一种即时表面通信装置和方法 |
US9182981B2 (en) * | 2009-11-23 | 2015-11-10 | University Of Washington | Systems and methods for implementing pixel-based reverse engineering of interface structure |
US8347219B1 (en) * | 2010-03-31 | 2013-01-01 | Emc Corporation | Object-level display building |
CN102243586B (zh) * | 2011-07-22 | 2015-02-04 | 于秀山 | 一种软件功能图自动获取方法 |
JP5349625B2 (ja) * | 2012-01-13 | 2013-11-20 | 株式会社エヌ・ティ・ティ・ドコモ | 画像を表示する情報端末及び画像表示方法 |
US20130268834A1 (en) * | 2012-04-04 | 2013-10-10 | Rolf Krane | Creating interactive forms from applications' user interface |
US10025445B2 (en) | 2012-12-21 | 2018-07-17 | International Business Machines Corporation | Automated screen captures |
US9298450B2 (en) * | 2013-10-25 | 2016-03-29 | International Business Machines Corporation | Associating a visualization of user interface with source code |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5335342A (en) * | 1991-05-31 | 1994-08-02 | Tiburon Systems, Inc. | Automated software testing system |
US5745738A (en) * | 1996-05-29 | 1998-04-28 | Microsoft Corporation | Method and engine for automating the creation of simulations for demonstrating use of software |
US7013297B2 (en) * | 2001-02-27 | 2006-03-14 | Microsoft Corporation | Expert system for generating user interfaces |
US20040148591A1 (en) * | 2003-01-23 | 2004-07-29 | International Business Machines Corporation | Method, apparatus, and program for automated application context delivery to translators |
JP2007535723A (ja) * | 2003-11-04 | 2007-12-06 | キンバリー クラーク ワールドワイド インコーポレイテッド | 複合ソフトウエアシステムを実施して検証するための自動多次元追跡可能性行列を含む試験ツール |
US20060253739A1 (en) * | 2005-05-03 | 2006-11-09 | Godefroid Patrice I | Method and apparatus for performing unit testing of software modules with use of directed automated random testing |
-
2006
- 2006-12-01 US US11/565,922 patent/US8146006B2/en not_active Expired - Fee Related
-
2007
- 2007-11-15 CN CN2007101702232A patent/CN101192153B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101192153A (zh) | 2008-06-04 |
US20080134062A1 (en) | 2008-06-05 |
US8146006B2 (en) | 2012-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101192153B (zh) | 用于从可执行程序代码获得用户界面信息的方法和*** | |
CN111488174B (zh) | 应用程序接口文档的生成方法、装置、计算机设备及介质 | |
US8627296B1 (en) | Unified unit and integration test with automatic mock creation | |
CN109815147B (zh) | 测试案例生成方法、装置、服务器和介质 | |
US9766868B2 (en) | Dynamic source code generation | |
US9619209B1 (en) | Dynamic source code generation | |
US20100042929A1 (en) | Verification of software applications | |
US6904563B2 (en) | Editing platforms for remote user interface translation | |
US6353904B1 (en) | Method of automatically generating new test programs for mixed-signal integrated circuit based on reusable test-block templates according to user-provided driver file | |
US20170277664A1 (en) | Graphical data presented in code editor along with code | |
CN109947924B (zh) | 对话***训练数据构建方法、装置、电子设备及存储介质 | |
US20170054790A1 (en) | System and Method for Object Compression and State Synchronization | |
US9176714B2 (en) | Re-using legacy libraries in software | |
US20230316792A1 (en) | Automated generation of training data comprising document images and associated label data | |
US20130174136A1 (en) | Detecting, Compiling, and Updating a New Locale Object in Real Time | |
US8769404B2 (en) | Rule-based locale definition generation for a new or customized locale support | |
WO2012027886A1 (en) | Platform specific application test | |
CN107077365B (zh) | 有选择地加载预编译的头部和/或其部分 | |
US8826253B2 (en) | Delayed insertion of safepoint-related code | |
CN113392014B (zh) | 测试用例生成方法、装置、电子设备和介质 | |
CN112748930B (zh) | 编译检测方法、装置、设备及存储介质 | |
CN114064010A (zh) | 前端代码生成方法、装置、***及存储介质 | |
CN113821438A (zh) | 一种应用响应性能测试方法、***及计算设备 | |
CN110750569A (zh) | 数据提取方法、装置、设备及存储介质 | |
CN112988593B (zh) | 代码分析方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111102 |