CN104657139B - 用于故障注入的可视化命令流生成系统及方法 - Google Patents

用于故障注入的可视化命令流生成系统及方法 Download PDF

Info

Publication number
CN104657139B
CN104657139B CN201510070575.5A CN201510070575A CN104657139B CN 104657139 B CN104657139 B CN 104657139B CN 201510070575 A CN201510070575 A CN 201510070575A CN 104657139 B CN104657139 B CN 104657139B
Authority
CN
China
Prior art keywords
visualization
script
operation object
constructing module
operational order
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.)
Active
Application number
CN201510070575.5A
Other languages
English (en)
Other versions
CN104657139A (zh
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.)
Shanghai Chuangjing Information Technology Co ltd
Original Assignee
Shanghai Chuangkin Mdt Infotech 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 Shanghai Chuangkin Mdt Infotech Ltd filed Critical Shanghai Chuangkin Mdt Infotech Ltd
Priority to CN201510070575.5A priority Critical patent/CN104657139B/zh
Publication of CN104657139A publication Critical patent/CN104657139A/zh
Application granted granted Critical
Publication of CN104657139B publication Critical patent/CN104657139B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种用于故障注入的可视化命令流生成系统及方法,包括操作对象构造模块、操作对象语法规则构造模块、视图操作模块,所述操作对象构造模块,用来定义操作指令中的操作对象;所述操作对象语法规则构造模块,用来定义操作对象之间的相互操作规则;所述视图操作模块,用来提供一个基于操作对象构造模块、操作对象语法规则构造模块信息的可视化的操作方式,最终得到一组操作指令命令流。本发明通过简单的选择就可构造出复杂的操作指令命令流系统,并提供可视化的操作指令命令流构造方法。

Description

用于故障注入的可视化命令流生成系统及方法
技术领域
本发明涉及一种操作指令命令流的构造系统及方法,特别涉及一种基于可视选择操作的操作指令命令流构造系统及方法。
背景技术
在故障注入类系统中,被测设备具有多样性,故障类型也具有多样性,一个固定的故障注入逻辑只能应用于有限的被测设备环境,而如果要能够针对尽可能多的设备进行各类故障的注入,就需要一套能够根据当前设备类型,当前需要注入故障类型实时构造故障的机制。
例如在《使用基于脚本的故障注入测试安全苛求软件》论文中,提出构建一种脚本语言来实现故障的注入,但有一个很明显的不足,用户使用这个脚本语言非常复杂,用户需要记住脚本的规则,记住脚本的关键字,如果涉及硬件信息,还要查对应资料,难度很大,而且设计也很复杂,系统本身更容易产生BUG。
发明内容
本发明针对上述现有技术中存在的技术问题,提供一种用于故障注入的可视化命令流生成系统及方法,通过简单的选择就可构造出复杂的操作指令命令流系统,并提供可视化的操作指令命令流构造方法。
为达到上述目的,本发明所采用的技术方案如下:
一种用于故障注入的可视化命令流生成系统,包括操作对象构造模块、操作对象语法规则构造模块、视图操作模块,所述操作对象构造模块,用来定义操作指令中的操作对象;所述操作对象语法规则构造模块,用来定义操作对象之间的相互操作规则;所述视图操作模块,用来提供一个基于操作对象构造模块、操作对象语法规则构造模块信息的可视化的操作方式,最终得到一组操作指令命令流。
一种用于故障注入的可视化命令流生成方法,采用上述的系统来完成,包括步骤如下:
第一步,操作对象构造模块通过脚本定义出操作指令中涉及的对象;
第二步,基于这些对象,通过操作对象语法规则构造模块构造操作规则;
第三步,通过可视化界面的视图操作模块构造最终的操作指令命令流。
其中第一步、第二步是由系统开发者定义的,第三步由最终系统使用用户来完成的,对于最终系统使用者来说,只需要通过可视化的视图进行操作指令命令流进行构造。
所述第一步通过脚本定义出操作指令中涉及的对象,具体操作是在Lua脚本中定义一个脚本结构,这个脚本结构类似编程语言中类的概念,这个结构不仅有自己的数据,而且还有对这些数据操作的方法。
所述第二步中,基于这些对象构造出操作规则,就是定义这些对象直接容许什么样的运算,也就完成了基本信息定义,从而能够通过可视化视图进行编辑和使用。
构造对象之间的操作规则是通过正则表达式的方式进行规则表达。
所述第三步中,通过可视化的界面对操作指令命令流进行构造,具体实现过程是:首先通过脚本注册一组类对象之间关系的表达逻辑,UI模块通过注册信息进行脚本的可视化表达,编辑完成后,点击确定,生成最终的可执行脚本语句。
本发明的技术方案,相对于现有技术来说,其有益效果如下:
本发明采用了更加高效的方式,基于Lua脚本进行脚本的定制,并且提供了可视化的界面,不需要用户记住脚本该怎么写,完全通过可视化界面中选择就行。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明所提供的方法流程图;
图2是本发明具体构造视图过程一示意图;
图3是本发明具体构造视图过程二示意图;
图4是本发明具体构造视图过程二示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
本发明所提供的用于故障注入的可视化命令流生成系统,包括操作对象构造模块、操作对象语法规则构造模块、视图操作模块。
操作对象构造模块,用来定义操作指令中的操作对象。
操作对象语法规则构造模块,用来定义操作对象之间的相互操作规则,定义了哪些对象可以与哪些对象进行操作。
视图操作模块,用来提供一个可视化的操作方式,这种操作方式的基础就是操作对象构造模块、操作对象语法规则构造模块,基于这些信息,最终得到一组操作指令命令流。
如图1所示,本发明用于故障注入的可视化命令流生成方法,其基本过程如下:
第一步,通过脚本定义出操作指令中涉及的对象;
第二步,基于这些对象信息构造出这些操作对象之间的操作规则;
第三步,通过可视化的界面对操作指令命令流进行构造。
其中,第一步骤中,通过脚本定义出操作指令中涉及的对象,具体操作是在Lua脚本中定义一个脚本结构,这个脚本结构类似一般编程语言中类的概念,这个结构不仅可以有自己的数据,而且还可以有对这些数据操作的方法。第二步骤中,基于这些对象构造出这些操作对象之间的操作规则,就是定义这些对象直接容许什么样的运算,例如,我们定义可以将一个数字赋值到寄存器中,那么脚本形式如下:RegRegex("$EQ","$Register","=","$Num");,这些就完成了基本信息定义,可以通过可视化视图进行编辑使用了。通过可视化的界面对操作指令命令流进行构造,这个步骤的具体实现过程是这样的,首先通过脚本注册一组类对象之间关系的表达逻辑,UI模块通过注册信息进行脚本的可视化表达,用户编辑完成后,点击确定,生成最终的可执行脚本语句。
其中第一步、第二步是系统开发者定义的,第三步有最终系统使用用户来完成的,对于最终系统使用用户来说,只需要通过可视化的视图进行操作指令命令流进行构造。
下边结合故障注入项目对本发明技术方案做具体的说明。
第一步,构造操作指令中涉及的对象,在故障注入系统中,涉及的指令对象有被测系统的寄存器、内存、数字、数组、内存块、文件、被测程序的符号等等,以寄存器对象为例,构建的对象代码如下,
因为代码太长,所以中间使用省略号来代替具体的代码信息,这样方便看出定义一个对象时的基本结构。
第二步,构造对象之间的操作规则,构造操作规则时通过正则表达式的方式进行规则表达,例如,
RegRegex("$Compare","$Num","<","$Num");
RegRegex("$Compare","$Num","==","$Num");
RegRegex("$Compare","$Num","<=","$Num");
RegRegex("$Compare","$Num",">","$Num");
RegRegex("$Compare","$Num",">=","$Num");
RegRegex("$Compare","$MemoryBlock","==","$Num");
RegRegex("$Compare","$MemoryBlock","==","$ARR");
RegRegex("$Compare","$Compare","&&","$Compare");
RegRegex("$Compare","$Compare","||","$Compare");
第三步,通过可视化的视图进行操作指令命令进行构造,具体构造视图过程如图2所示,处于还没有开始构造命令,用户可以选择界面中按钮,选择元素开始构造命令。图3所示是用户选择了一个寄存器对象。图4所示是构造了一个完整的命令,将数字1写入到g2寄存器中。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (6)

1.一种用于故障注入的可视化命令流生成系统,其特征在于,包括操作对象构造模块、操作对象语法规则构造模块、视图操作模块,所述操作对象构造模块,用来通过脚本定义出操作指令中涉及的对象;所述操作对象语法规则构造模块,用来定义操作对象之间的相互操作规则;所述视图操作模块,用来提供一个基于操作对象构造模块、操作对象语法规则构造模块信息的可视化的操作方式,通过可视化的界面对操作指令命令流进行构造,首先通过脚本注册一组类对象之间关系的表达逻辑,UI模块通过注册信息进行脚本的可视化表达,编辑完成后,点击确定,生成最终的可执行脚本语句。
2.一种用于故障注入的可视化命令流生成方法,其特征在于,采用如权利要求1所述的系统来完成,包括步骤如下:
第一步,操作对象构造模块通过脚本定义出操作指令中涉及的对象;
第二步,基于这些对象,通过操作对象语法规则构造模块构造操作规则;
第三步,通过可视化界面的视图操作模块构造最终的操作指令命令流。
3.根据权利要求2所述的用于故障注入的可视化命令流生成方法,其特征在于,其中第一步、第二步是由系统开发者定义的,第三步由最终系统使用用户来完成的,对于最终系统使用者来说,只需要通过可视化的视图进行操作指令命令流进行构造。
4.根据权利要求2所述的用于故障注入的可视化命令流生成方法,其特征在于,所述第一步通过脚本定义出操作指令中涉及的对象,具体操作是在Lua脚本中定义一个脚本结构,这个脚本结构类似编程语言中类的概念,这个结构不仅有自己的数据,而且还有对这些数据操作的方法。
5.根据权利要求2所述的用于故障注入的可视化命令流生成方法,其特征在于,所述第二步中,基于这些对象构造出操作规则,就是定义这些对象直接容许什么样的运算,也就完成了基本信息定义,从而能够通过可视化视图进行编辑和使用。
6.根据权利要求5所述的用于故障注入的可视化命令流生成方法,其特征在于,构造对象之间的操作规则是通过正则表达式的方式进行规则表达。
CN201510070575.5A 2015-02-10 2015-02-10 用于故障注入的可视化命令流生成系统及方法 Active CN104657139B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510070575.5A CN104657139B (zh) 2015-02-10 2015-02-10 用于故障注入的可视化命令流生成系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510070575.5A CN104657139B (zh) 2015-02-10 2015-02-10 用于故障注入的可视化命令流生成系统及方法

Publications (2)

Publication Number Publication Date
CN104657139A CN104657139A (zh) 2015-05-27
CN104657139B true CN104657139B (zh) 2018-08-24

Family

ID=53248325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510070575.5A Active CN104657139B (zh) 2015-02-10 2015-02-10 用于故障注入的可视化命令流生成系统及方法

Country Status (1)

Country Link
CN (1) CN104657139B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359038B (zh) * 2018-09-28 2021-11-05 江苏凌创电气自动化股份有限公司 一种基于Qt和Lua组合实现组态测试系统、实现方法及设备
CN109542758B (zh) * 2018-09-29 2023-05-26 中国平安人寿保险股份有限公司 应用程序容错能力测试方法、装置、计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236602A (zh) * 2011-07-21 2011-11-09 南京大学 一种可视化软件测试设计平台
CN102521120A (zh) * 2011-11-16 2012-06-27 中国民航信息网络股份有限公司 一种软件自动化测试系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236602A (zh) * 2011-07-21 2011-11-09 南京大学 一种可视化软件测试设计平台
CN102521120A (zh) * 2011-11-16 2012-06-27 中国民航信息网络股份有限公司 一种软件自动化测试系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
二叉树型知识系统开发工具的研究;丘耘等;《农业网络信息》;20051026(第10期);第26-28页 *

Also Published As

Publication number Publication date
CN104657139A (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
CN108885545B (zh) 用于实时数据流编程语言的工具和方法
CN106843869A (zh) 一种前端开发工程化系统和方法
CN109739494B (zh) 一种基于Tree-LSTM的API使用代码生成式推荐方法
CN102449598B (zh) 包设计和生成
CN104503917B (zh) 基于数据流函数调用路径的变更影响域分析方法及系统
CN104331294B (zh) 一种可视化程序生成方法和装置
KR102224759B1 (ko) 컴퓨터 애플리케이션에 대한 언어 번역 현지화를 위한 기법
EP3433732A1 (en) Converting visual diagrams into code
Ge et al. A data‐centric capability‐focused approach for system‐of‐systems architecture modeling and analysis
JP7350923B2 (ja) ディープラーニングフレームワークのオペレータ登録方法、装置、デバイス及び記憶媒体
US20100251209A1 (en) Generating Validation Test Suites
CN107436762A (zh) 一种寄存器代码文件生成方法、装置和电子设备
US8756407B2 (en) Configuration rule prototyping tool
JP6387182B2 (ja) 情報処理方法、装置及びコンピュータ記憶媒体
Thayer et al. A theory of robust API knowledge
CN105378658B (zh) 自动源代码生成
CN104050087A (zh) 一种基于uml模型的软件架构正确性验证方法
CN109840205A (zh) 应用程序测试方法、装置、可读存储介质及终端设备
CN105637478A (zh) 原生移动应用代码的计算机辅助开发
CN104731588B (zh) 页面布局文件生成方法和页面布局文件生成装置
CN109684607A (zh) Json数据解析方法、装置、计算机设备和存储介质
CN107562777A (zh) 数据处理方法及其设备
CN106951248A (zh) 添加代码的方法、装置和可读存储介质
Vishal et al. Mobile application development research based on xamarin platform
CN110532447A (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
CB02 Change of applicant information

Address after: 201203 Shanghai City, Pudong New Area Chinese (Shanghai) free trade zone 498 GuoShouJing Road No. 14 building block 22301-985

Applicant after: VISION MICROSYSTEMS (SHANGHAI) Co.,Ltd.

Address before: 201203 Shanghai Guo Shou Jing Road, Zhangjiang High Tech Park of Pudong New Area No. 498 Pudong Software Park building 14, block 22301-985

Applicant before: VISION MICROSYSTEMS (SHANGHAI) CO.,LTD.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Block 22301-985, Building 14, No. 498 Guo Shoujing Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, March 2012

Patentee after: Shanghai Chuangjing Information Technology Co.,Ltd.

Country or region after: China

Address before: Block 22301-985, Building 14, No. 498 Guo Shoujing Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, March 2012

Patentee before: VISION MICROSYSTEMS (SHANGHAI) Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address