CN102646035A - 基于api接口和脚本定义相结合的可视化代码生成方法 - Google Patents

基于api接口和脚本定义相结合的可视化代码生成方法 Download PDF

Info

Publication number
CN102646035A
CN102646035A CN2012100366837A CN201210036683A CN102646035A CN 102646035 A CN102646035 A CN 102646035A CN 2012100366837 A CN2012100366837 A CN 2012100366837A CN 201210036683 A CN201210036683 A CN 201210036683A CN 102646035 A CN102646035 A CN 102646035A
Authority
CN
China
Prior art keywords
script
api
code
page
symbol
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.)
Pending
Application number
CN2012100366837A
Other languages
English (en)
Inventor
陈宏君
刘克金
冯亚东
曹冬明
周强
张磊
袁涛
王国栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN2012100366837A priority Critical patent/CN102646035A/zh
Publication of CN102646035A publication Critical patent/CN102646035A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开一种基于API接口和脚本定义相结合的可视化代码生成方法,所述的可视化程序按照层次组织,程序由若干元件组成,元件由若干可视化页面组成,可视化页面由若干图形符号和数据连线组成;方法的内容为:前端处理器读取可视化工程文件,导入符号库,在内存中形成可视化页面数据;启动脚本引擎,解析执行脚本,在脚本中可调用API接口库,访问符号的属性;脚本执行完后,后端处理器组织文本段落,输出代码文本。该方法利用API接口提供编程平台的常规功能,在脚本中可以定义符号的代码,摆脱对系统软件接口的依赖,并为应用人员提供良好的扩展性,可以书写脚本,在不修改图形程序和编程平台的情况下,切换应用场景,输出对应的目标代码。

Description

基于API接口和脚本定义相结合的可视化代码生成方法
技术领域
本发明属于可视化编程领域,具体涉及可视化图形程序的代码生成方法。
背景技术
可视化编程平台是根据面向对象的思想,实现图形化、模块化编程的工具,它从符号库文件中调用预先开发的功能块,搭建可视化页面程序,由编程工具自动生成代码。已有的代码生成方法,往往和系统软件接口绑定,或局限于某个应用场合,当底层系统软件接口有变化或应用场景发生变化时,或者应用有新的需求时,需修改或重新开发代码生成工具,缺乏灵活通用性。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。在可视化编程应用中,需要提供一种平台化的代码生成方法,面向用户开放一些接口,用户在这些接口的基础上,可以定制输出的目标代码,以适应不同的需求。
基于上述分析,本发明人针对现有技术对代码生成方法的需求,进行深入研究,本案由此产生。
发明内容
本发明的目的,在于提供一种基于API接口和脚本定义相结合的可视化代码生成方法,其中API接口提供编程平台的常规功能,在脚本中可以定义符号的代码,摆脱对系统软件接口的依赖,并为应用人员提供良好的扩展性,可以书写脚本,在不修改图形程序和编程平台的情况下,切换应用场景,输出对应的目标代码。
本发明为解决以上技术问题,所采用的技术方案是:
一种基于API接口和脚本定义相结合的可视化代码生成方法,所述的可视化程序按照层次组织,程序由若干元件组成,元件由若干可视化页面组成,可视化页面由若干图形符号和数据连线组成;代码生成方法的内容为:前端处理器读取可视化工程文件,导入符号库,在内存中形成可视化页面数据;启动脚本引擎,解析执行脚本,在脚本中可调用API接口库,访问符号的属性;脚本执行完后,后端处理器组织文本段落,输出代码文本。
本发明的具体步骤为:
(1)为层次数据管理模型和编程符号设计面向对象的代码生成API接口库,供脚本调用;
(2)启动脚本引擎,在脚本引擎中完成当前符号的上下文环境注册,导入符号脚本,将脚本中调用的API接口返回值进行字符替换处理,往文本段输出代码;
(3)所有符号脚本执行结束后,汇总文本段内容,输出C代码,形成程序文件。
上述步骤(1)中,对象提供的API包括如下内容:
1)元件API
元件是管理多个可视化页面的数据模型,元件会形成代码文件,元件开放的接口包括属性访问、属性设置、页面个数和页面数据指针函数,其中,能够访问和设置的属性包括文件全名、文件路径、结构名和实例名;
2)页面API
可视化页面开放的接口包括属性访问、属性设置、符号个数、符号指针、页面类型和页面名函数,其中,能够访问和设置的属性包括文件全名、文件路径和文件结构名;
3)编程符号API
编程符号开放的接口有:属性访问、属性设置、查找输入输出参数变量、查找输入输出图形点、获取输入输出对应的程序名、获取参数设置值、报错和告警函数,其中,能够访问的属性包括符号的id、排序后的序号和符号类型;
4)连接线API
连接线起着连接各个编程符号间的输入输出作用,提供4个接口进行拓扑访问,返回连接的起始终止符号、起始端输出点和终端输入点;
5)变量API
变量开放的接口有属性访问和属性设置,其中,能够访问和设置的属性包括变量类型、变量名、信号等级、注册简写类型、中文描述、英文描述、显示属性、显示格式、最小值、最大值、额定值、原始值、初始值、单位、步长、设置值和代码生成对应的层次变量名;
6)代码生成器API
代码生成器提供的API接口是输出文本信息,将C文件代码分成8个段:头文件包含段、变量定义段、局部函数定义段、页面任务函数段、页面构造函数段、页面初始化函数段、元件构造函数段和元件初始化段。
采用上述方案后,本发明的有益效果如下:
(1)本发明为可视化编程平台提供了一种通用的代码生成方法,代码生成工具能去除对系统软件的接口耦合,并能适用于不同的应用场景;
(2)本发明将API接口和脚本相结合,形成的代码既能在嵌入式装置中运行、也能在上位机PSCAD仿真环境中运行,发挥了平台化通用化的效益,提高了应用产品的开发效率。
附图说明
图1是本发明基于API和脚本的代码生成原理图;
图2是本发明在一个任务周期设置符号块的图形示例图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
本发明提供一种基于API接口和脚本定义相结合的可视化代码生成方法,所述的可视化程序按照层次组织,程序由若干元件组成,元件由若干可视化页面组成,可视化页面由若干图形符号和数据连线组成;配合图1所示,本发明的过程是:前端处理器读取可视化工程文件,导入符号库,在内存中形成可视化页面数据。启动脚本引擎,解析执行脚本,在脚本中可调用API接口库,访问符号的属性。脚本执行完后,后端处理器组织文本段落,输出代码文本。
本发明所述的代码生成方法具体包括如下步骤:
(1)API接口库定义。
为层次数据管理模型和编程符号设计面向对象的代码生成API接口库,供脚本调用。定义脚本中可访问的对象名如下:
1)当前元件:comp
2)当前页面:page
3)当前符号:symb
4)代码生成工具coder
对象提供的API如下:
1)元件API
元件是管理多个可视化页面的数据模型,元件会形成代码文件,元件开放的接口包括属性访问、属性设置、页面个数、页面数据指针等函数,其参数说明如表1所示:
表1
2)页面API
可视化页面开放的接口包括属性访问、属性设置、符号个数、符号指针、页面类型、页面名等函数,其参数说明如表2所示:
表2
Figure BDA0000136477070000051
3)编程符号API
编程符号开放的接口有:属性访问、属性设置、查找输入输出参数变量、查找输入输出图形点、获取输入输出对应的程序名、获取参数设置值、报错、告警等函数,其参数说明如表3所示:
表3
4)连接线API
连接线起着连接各个编程符号间的输入输出作用,提供4个接口进行拓扑访问,返回连接的起始终止符号、起始端输出点、终端输入点,其参数说明如表4所示:
表4
Figure BDA0000136477070000072
Figure BDA0000136477070000081
5)变量API
输入、输出、参数等变量开放属性设置、属性访问两个接口,其参数说明如表5所示:
表5
Figure BDA0000136477070000082
Figure BDA0000136477070000091
6)代码生成器API
代码生成器coder提供的API接口是输出文本信息,将C文件代码分成了8个段,头文件包含段、变量定义段、局部函数定义段、页面任务函数段、页面构造函数段、页面初始化函数段、元件构造函数段、元件初始化段。在脚本中可以往这些目标段输出预期代码。其参数说明如表6所示:
表6
Figure BDA0000136477070000092
(2)脚本引擎开发。
启动脚本引擎,对排序过的符号依次执行脚本,符号和脚本在内存中双向操作。在脚本引擎中完成当前符号的上下文环境注册(注册属性和API函数地址),导入符号脚本,进行词法扫描、语法分析、语义处理、解释执行等步骤,将脚本中调用的API接口返回值进行字符替换处理,往文本段输出代码。
(3)所有符号脚本执行结束后,汇总文本段内容,输出C代码,形成程序文件。
以图2为例,图2是1个设置插件执行任务周期的一个符号块,它对应8个全局变量,根据参数的设置值,需形成8个全局变量的声明和设置语句,其对应的脚本示例如下:
Figure BDA0000136477070000101
其中symb是当前符号,getSetValue是API函数,返回参数的设置值。coder是代码生成器,cout是API函数,往代码段中输出代码,执行完脚本后,形成的代码片段如下:
unsigned long single_task_user_time=75;
unsigned long lvl1_task_user_time=200;
unsigned long lvl2_task_user_time=400;
unsigned long lvl3_task_user_time=800;
unsigned long lvl4_task_user_time=1000;
unsigned long lvl5_task_user_time=2000;
unsigned long lvl6_task_user_time=4000;
unsigned long lvl7_task_user_time=12000;
unsigned long lvl8_task_user_time=24000;
综上所述,本发明一种基于API接口和脚本定义相结合的可视化代码生成方法,定义了脚本规范并开发了脚本引擎,引入了一套灵活简单的脚本体系,支持变量声明、表达式、逻辑运算、字符串操作等功能;在脚本中可调用API接口,访问符号的属性,进行组合逻辑判断;脚本引擎实现了在内存中符号和脚本双向作用,在内存中符号可以执行脚本,脚本通过API接口可以访问修改符号的数据。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (3)

1.一种基于API接口和脚本定义相结合的可视化代码生成方法,所述的可视化程序按照层次组织,程序由若干元件组成,元件由若干可视化页面组成,可视化页面由若干图形符号和数据连线组成;其特征在于代码生成方法的内容为:
前端处理器读取可视化工程文件,导入符号库,在内存中形成可视化页面数据;启动脚本引擎,解析执行脚本,在脚本中可调用API接口库,访问符号的属性;脚本执行完后,后端处理器组织文本段落,输出代码文本。
2.如权利要求1所述的基于API接口和脚本定义相结合的可视化代码生成方法,其特征在于具体步骤为:
(1)为层次数据管理模型和编程符号设计面向对象的代码生成API接口库,供脚本调用;
(2)启动脚本引擎,在脚本引擎中完成当前符号的上下文环境注册,导入符号脚本,将脚本中调用的API接口返回值进行字符替换处理,往文本段输出代码;
(3)所有符号脚本执行结束后,汇总文本段内容,输出C代码,形成程序文件。
3.如权利要求2所述的基于API接口和脚本定义相结合的可视化代码生成方法,其特征在于所述步骤(1)中,对象提供的API包括如下内容:
1)元件API
元件是管理多个可视化页面的数据模型,元件会形成代码文件,元件开放的接口包括属性访问、属性设置、页面个数和页面数据指针函数,其中,能够访问和设置的属性包括文件全名、文件路径、结构名和实例名;
2)页面API
可视化页面开放的接口包括属性访问、属性设置、符号个数、符号指针、页面类型和页面名函数,其中,能够访问和设置的属性包括文件全名、文件路径和文件结构名;
3)编程符号API
编程符号开放的接口有:属性访问、属性设置、查找输入输出参数变量、查找输入输出图形点、获取输入输出对应的程序名、获取参数设置值、报错和告警函数,其中,能够访问的属性包括符号的id、排序后的序号和符号类型;
4)连接线API
连接线起着连接各个编程符号间的输入输出作用,提供4个接口进行拓扑访问,返回连接的起始终止符号、起始端输出点和终端输入点;
5)变量API
变量开放的接口有属性访问和属性设置,其中,能够访问和设置的属性包括变量类型、变量名、信号等级、注册简写类型、中文描述、英文描述、显示属性、显示格式、最小值、最大值、额定值、原始值、初始值、单位、步长、设置值和代码生成对应的层次变量名;
6)代码生成器API
代码生成器提供的API接口是输出文本信息,将C文件代码分成8个段:头文件包含段、变量定义段、局部函数定义段、页面任务函数段、页面构造函数段、页面初始化函数段、元件构造函数段和元件初始化段。
CN2012100366837A 2012-02-17 2012-02-17 基于api接口和脚本定义相结合的可视化代码生成方法 Pending CN102646035A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100366837A CN102646035A (zh) 2012-02-17 2012-02-17 基于api接口和脚本定义相结合的可视化代码生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100366837A CN102646035A (zh) 2012-02-17 2012-02-17 基于api接口和脚本定义相结合的可视化代码生成方法

Publications (1)

Publication Number Publication Date
CN102646035A true CN102646035A (zh) 2012-08-22

Family

ID=46658865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100366837A Pending CN102646035A (zh) 2012-02-17 2012-02-17 基于api接口和脚本定义相结合的可视化代码生成方法

Country Status (1)

Country Link
CN (1) CN102646035A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置
CN103677772A (zh) * 2012-09-07 2014-03-26 腾讯科技(深圳)有限公司 脚本编写方法及相应的脚本编写系统
CN104133676A (zh) * 2014-07-18 2014-11-05 珠海市君天电子科技有限公司 一种基于脚本的功能执行方法和设备
CN104751094A (zh) * 2013-12-26 2015-07-01 辻进 带有可视化代码的物品、可视化代码读取设备及信息传递方法
CN105912391A (zh) * 2016-04-08 2016-08-31 南京南瑞继保电气有限公司 一种可视化程序的任务调度配置方法
CN106569785A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 一种作业表单生成方法及设备
CN107179910A (zh) * 2017-05-18 2017-09-19 南京南瑞继保工程技术有限公司 一种在线编辑即时生效的逻辑组态方法
CN107247582A (zh) * 2017-04-14 2017-10-13 惠州市蓝微新源技术有限公司 一种自动生成can发送和接收代码的方法
CN108228173A (zh) * 2018-01-16 2018-06-29 北明软件有限公司 一种可视化的数据接口开发系统和方法
CN109032575A (zh) * 2018-06-23 2018-12-18 上海泽阳智能科技有限公司 一种多返回值的函数编程处理器
CN109032572A (zh) * 2017-06-08 2018-12-18 阿里巴巴集团控股有限公司 一种基于字节码的java程序方法内联的方法
CN109814864A (zh) * 2019-01-02 2019-05-28 北京永洪商智科技有限公司 一种数据可视化方法、可视化系统、网页浏览系统和设备
CN110569031A (zh) * 2019-09-10 2019-12-13 联想(北京)有限公司 编程实现方法和装置
CN111427630A (zh) * 2020-03-31 2020-07-17 北京金堤科技有限公司 冷启动优化方法和装置、电子设备和存储介质
CN111427622A (zh) * 2018-12-24 2020-07-17 阿里巴巴集团控股有限公司 应用程序中脚本代码的执行方法及装置
CN111475155A (zh) * 2020-03-26 2020-07-31 哈尔滨工业大学 一种基于图块的用于机器人交互的图形化编程的方法
CN111813443A (zh) * 2020-07-28 2020-10-23 南京大学 一种用JavaFX进行代码样例自动填充的方法和工具
CN113641397A (zh) * 2021-10-12 2021-11-12 湖南映客互娱网络信息有限公司 带操作界面的脚本服务管理系统及管理方法
CN115543294A (zh) * 2022-12-06 2022-12-30 麒麟软件有限公司 一种Linux系统上动态链接库可视化依赖树的生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055521A (zh) * 2007-04-04 2007-10-17 中兴通讯股份有限公司 映射规则的可视化生成方法及系统
CN102231106A (zh) * 2011-05-27 2011-11-02 王志勇 实现移动通用开发平台应用代码生成的方法
CN102289375A (zh) * 2011-09-02 2011-12-21 中兴通讯股份有限公司 代码生成方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055521A (zh) * 2007-04-04 2007-10-17 中兴通讯股份有限公司 映射规则的可视化生成方法及系统
CN102231106A (zh) * 2011-05-27 2011-11-02 王志勇 实现移动通用开发平台应用代码生成的方法
CN102289375A (zh) * 2011-09-02 2011-12-21 中兴通讯股份有限公司 代码生成方法及系统

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677772A (zh) * 2012-09-07 2014-03-26 腾讯科技(深圳)有限公司 脚本编写方法及相应的脚本编写系统
CN103677772B (zh) * 2012-09-07 2019-01-11 腾讯科技(深圳)有限公司 脚本编写方法及相应的脚本编写系统
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置
CN104751094B (zh) * 2013-12-26 2018-11-09 辻进 带有可视化代码的物品、可视化代码读取设备及信息传递方法
CN104751094A (zh) * 2013-12-26 2015-07-01 辻进 带有可视化代码的物品、可视化代码读取设备及信息传递方法
CN104133676A (zh) * 2014-07-18 2014-11-05 珠海市君天电子科技有限公司 一种基于脚本的功能执行方法和设备
CN106569785B (zh) * 2015-10-09 2021-03-09 阿里巴巴集团控股有限公司 一种作业表单生成方法及设备
CN106569785A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 一种作业表单生成方法及设备
CN105912391A (zh) * 2016-04-08 2016-08-31 南京南瑞继保电气有限公司 一种可视化程序的任务调度配置方法
CN107247582A (zh) * 2017-04-14 2017-10-13 惠州市蓝微新源技术有限公司 一种自动生成can发送和接收代码的方法
CN107179910A (zh) * 2017-05-18 2017-09-19 南京南瑞继保工程技术有限公司 一种在线编辑即时生效的逻辑组态方法
CN109032572A (zh) * 2017-06-08 2018-12-18 阿里巴巴集团控股有限公司 一种基于字节码的java程序方法内联的方法
CN109032572B (zh) * 2017-06-08 2023-03-31 阿里巴巴集团控股有限公司 一种基于字节码的java程序方法内联的方法
CN108228173A (zh) * 2018-01-16 2018-06-29 北明软件有限公司 一种可视化的数据接口开发系统和方法
CN108228173B (zh) * 2018-01-16 2021-08-31 北明软件有限公司 一种可视化的数据接口开发系统和方法
CN109032575A (zh) * 2018-06-23 2018-12-18 上海泽阳智能科技有限公司 一种多返回值的函数编程处理器
CN111427622B (zh) * 2018-12-24 2023-05-16 阿里巴巴集团控股有限公司 应用程序中脚本代码的执行方法及装置
CN111427622A (zh) * 2018-12-24 2020-07-17 阿里巴巴集团控股有限公司 应用程序中脚本代码的执行方法及装置
CN109814864A (zh) * 2019-01-02 2019-05-28 北京永洪商智科技有限公司 一种数据可视化方法、可视化系统、网页浏览系统和设备
CN110569031A (zh) * 2019-09-10 2019-12-13 联想(北京)有限公司 编程实现方法和装置
CN111475155A (zh) * 2020-03-26 2020-07-31 哈尔滨工业大学 一种基于图块的用于机器人交互的图形化编程的方法
CN111475155B (zh) * 2020-03-26 2023-05-09 哈尔滨工业大学 一种基于图块的用于机器人交互的图形化编程的方法
CN111427630A (zh) * 2020-03-31 2020-07-17 北京金堤科技有限公司 冷启动优化方法和装置、电子设备和存储介质
CN111427630B (zh) * 2020-03-31 2024-03-22 北京金堤科技有限公司 冷启动优化方法和装置、电子设备和存储介质
CN111813443A (zh) * 2020-07-28 2020-10-23 南京大学 一种用JavaFX进行代码样例自动填充的方法和工具
CN113641397A (zh) * 2021-10-12 2021-11-12 湖南映客互娱网络信息有限公司 带操作界面的脚本服务管理系统及管理方法
CN113641397B (zh) * 2021-10-12 2021-12-21 湖南映客互娱网络信息有限公司 带操作界面的脚本服务管理系统及管理方法
CN115543294A (zh) * 2022-12-06 2022-12-30 麒麟软件有限公司 一种Linux系统上动态链接库可视化依赖树的生成方法

Similar Documents

Publication Publication Date Title
CN102646035A (zh) 基于api接口和脚本定义相结合的可视化代码生成方法
CN102541521B (zh) 基于结构化查询语言的操作指令自动生成装置及方法
Karrer et al. Stacksplorer: Call graph navigation helps increasing code maintenance efficiency
US10269087B2 (en) Language translation using preprocessor macros
Arcaini et al. AsmetaSMV: a way to link high-level ASM models to low-level NuSMV specifications
Fuchssteiner MuPAD User’s Manual: Multi-Processing Algebra Data Tool, MuPAD Version 1.2. 2
Bucaioni et al. Moves: A model-driven methodology for vehicular embedded systems
Aksit et al. A graph-transformation-based simulation approach for analysing aspect interference on shared join points
CN105446725A (zh) 用于模型驱动开发的方法和系统
WO2009156198A1 (en) Method and system for generating of a control flow graph for representing a program code
CN115017516A (zh) 一种基于符号执行的模糊测试方法
Fauth Beyond tool-specific machine descriptions
CN105027089B (zh) 内核功能性检查器
Bunker et al. Formal hardware specification languages for protocol compliance verification
CN116107524B (zh) 低代码应用日志处理方法、介质、装置和计算设备
JP2008165342A (ja) ソースコード生成方法及び装置並びにプログラム
Greevy et al. How developers develop features
CN110737431B (zh) 软件开发方法、开发平台、终端设备及存储介质
Llopard et al. A parallel action language for embedded applications and its compilation flow
CN114356379A (zh) 基于备份的服务升级方法、装置、设备及存储介质
Clark et al. An eXecutable metamodelling facility for domain specific language design.
JP6116983B2 (ja) エントリーポイント抽出装置
Kim et al. Energy-efficient progressive remote update for flash-based firmware of networked embedded systems
Cortellessa et al. A framework for the integration of functional and non-functional analysis of software architectures
Klikovits et al. Pragmatic reuse for DSML development: Composing a DSL for hybrid CPS modeling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120822