CN108182147A - 基于复杂性度量的bpel过程数据流错误预测方法 - Google Patents

基于复杂性度量的bpel过程数据流错误预测方法 Download PDF

Info

Publication number
CN108182147A
CN108182147A CN201711452935.3A CN201711452935A CN108182147A CN 108182147 A CN108182147 A CN 108182147A CN 201711452935 A CN201711452935 A CN 201711452935A CN 108182147 A CN108182147 A CN 108182147A
Authority
CN
China
Prior art keywords
bpel
complexity measure
complexity
error
traffic
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
CN201711452935.3A
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.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
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 Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201711452935.3A priority Critical patent/CN108182147A/zh
Publication of CN108182147A publication Critical patent/CN108182147A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/314Parallel programming languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于复杂性度量的BPEL过程数据流错误预测方法,首先解析数据集中的BPEL过程文件,分别计算和检测得到每一个BPEL文件的各种复杂性度量指标的值和各种数据流错误;接着,去除一些复杂性度量指标,从而挑选出候选特征;最后将候选特征进行枚举组合,并作为输入特征,运用WEKA数据挖掘软件,使用其包含的常见的分类算法对数据流错误进行分类预测,根据所得的分类预测准确度结果,确定最终选择的特征。本发明能有效地分类预测BPEL过程是否存在数据流错误,对相关工作者建模和设计提供强有力的指导作用,加深对服务组合数据流错误的理解。

Description

基于复杂性度量的BPEL过程数据流错误预测方法
技术领域
本发明属于服务计算领域,具体涉及一种基于复杂性度量的BPEL过程数据流错误预测方法
背景技术
伴随着计算机和信息技术的不断创新、进步和普及,软件已经渗透到人们的生活,并成为了我们日常生活不可或缺的一部分。而由于Internet使得计算机软件所处的网络环境变得愈加复杂和多变,由原来的封闭走向开放、由静态转向动态和由可控变得更加难以控制。在此背景之下,一些先进的技术和思想随之产生,其中包括软件即服务(Software asa service,简称SaaS)和面向服务的体系结构(Service Oriented Architecture,简称SOA)。SaaS和SOA有一个共同的特点就是都围绕服务展开,并以此为基础和核心。为了适应服务计算和云计算等前沿技术的快速发展,不同种类的资源被封装成可调用的Web服务。Web服务技术(Web services)产生于SOA之前,为SOA的发展提供了重要的借鉴作用。
单一的Web服务功能不仅结构简单且功能非常有限,无法满足现有业务需求的复杂化,因此Web服务组合技术随之产生。Web服务组合是根据业务需求,将这些已有的原子Web服务通过重新组合得到新的一个服务,从而实现了服务的重新利用和增强服务潜在的实用价值。目前国内外主流服务组合技术利用Web业务过程执行语言(Web ServicesBusiness Process Execution Language,WS-BPEL简称BPEL)来实现的。由于Web服务数量的日益庞大,基于Web服务的业务过程已经成为大规模的应用程序开发的重要方法和途径。顺应着这种方向和发展趋势,BPEL因此成为构建基于Web服务业务过程的大规模编程语言,并已经发展成为了描述Web服务事实上的业界一致认可的标准。BPEL尽管已经发展了十多年,但是BPEL工作者编写的部分BPEL质量依然低于我们的期望,常常造成一些不当的问题和错误的实践,从而造成巨大的经济损失。在BPEL过程中,我们把所有的这种重复出现的不当设计产生的错误模式,称之为反模式(anti-patterns)。
尽管反模式可以有多种不同的形式或者种类,但是在业务过程中,目前最受关注的、最基础的两个方面是控制流反模式和数据流反模式。由于BPEL是基于通用的XML格式编写的业务过程语言,而且BPEL过程具有优良的块结构的特点,因此在BPEL过程中控制流相关的不良的错误不太容易发生。与之相反的是,在BPEL过程中数据流相关的错误相对更加比较容易产生一些,其主要原因有以下两点:首先,BPEL过程支持并发执行,并发的不同分支活动能够通过条件(数据相关的)link表达同步依赖;其次,是因为在BPEL过程中部分数据变量常常来自于动态且多变的外部Web服务。BPEL过程中常见的三种数据流反模式分别是输入缺失(input missing)、输出冗余(output redundancy)和输出丢失(output lost)。
现有方法大多采用模型检验或规则匹配等技术,这类方法检测数据流错误往往面临着状态空间***问题,且缺少对数据流错误的实证研究特性,不能够体现数据流错误的发生究竟与哪些错误息息相关。
发明内容
本发明的目的在于提供一种基于复杂性度量的BPEL过程数据流错误预测方法。
实现本发明目的的技术解决方案为:一种基于复杂性度量的BPEL过程数据流错误预测方法,用于分类预测BPEL过程是否存在数据流错误,以解析BPEL过程数据集得到的复杂性度量指标和数据流错误的数据为输入,以分类预测准确度和最终选择的复杂性度量指标为输出结果,特征为复杂性度量指标,分类变量为是否具有数据流错误,该预测方法具体步骤为:
步骤1,解析数据集中的BPEL过程,计算每个适用于BPEL过程的复杂性度量指标的值并检测该过程中所包含的数据流错误;
步骤2,将复杂性度量指标和是否具有数据流错误两者进行分析,筛选出候选特征;
步骤3,将候选特征进行枚举组合,并以此为输入特征,而分类变量为是否具有数据流错误,运用WEKA数据挖掘软件中分类算法对数据流错误进行分类预测,根据所得的分类预测准确度结果,确定最终选择的特征。
本发明与现有技术相比,其显著优点为:(1)本发明是一种根据复杂性度量指标的特性作为分类特征的BPEL服务组合数据流错误的分类预测方法,该方法不但能够分类预测一个BPEL过程是否具有数据流错误,而且能够分析数据流错误与哪些复杂性度量指标有关,数据流错误的发生都与哪些结构或数据流特性;(2)相较于传统方法,本发明所提方法更具服务组合的特点,不会存在路径***等相关问题,且能够取得很好的准确度,从而有效地预测一个BPEL过程中是否存在数据流错误。
附图说明
图1是本发明基于复杂性度量的BPEL过程数据流错误预测方法流程图。
图2是本发明筛选候选特征的流程图。
具体实施方式
结合图1,一种基于复杂性度量的BPEL过程数据流错误预测方法,用于分类预测BPEL过程是否存在数据流错误,以解析BPEL过程数据集得到的复杂性度量指标和数据流错误的数据为输入,以分类预测准确度和最终选择的复杂性度量指标为输出结果,其中特征为复杂性度量指标,分类变量为是否具有数据流错误,其具体步骤为:
步骤1,解析数据集中的BPEL过程,计算每个适用于BPEL过程的常用复杂性度量指标的值并检测该过程中所包含的数据流错误;具体为:
步骤1.1,由于BPEL基于XML编写的语言,具有天然的块结构特性,因此将统计到的复杂性度量指标中的不适用的度量指标去掉;
步骤1.2,计算剩下的复杂性度量指标值和运用现有的数据流错误检测方法检测得到数据流错误。
步骤2,将复杂性度量指标和是否具有数据流错误两者进行分析,筛选出候选特征;具体包括以下步骤:
步骤2.1,进行相关性分析。将所有的复杂性度量指标和数据流错误进行相关性分析,相关性分析采用的是Spearman相关性计算方法,使用统计分析工具SPSS进行相关分析计算;
步骤2.2,从所有复杂性度量指标中除去与数据流错误相关性强度为中等以下的复杂性度量指标;
步骤2.3,将剩下的复杂性度量指标根据度量指标的类别和类型进行分组;即先按照控制流和数据流分大类,再按照复杂性度量指标的类型分组;
步骤2.4,基于每组中复杂性指标与数据流错误最大相关性的原则,从每组中挑选相关性最大的一个指标加入到候选度量指标集合中,最终得到候选度量指标的集合。
步骤3,将候选特征进行枚举组合,并以此为输入特征,而分类变量为是否具有数据流错误(二分类变量),运用WEKA数据挖掘软件中分类算法对数据流错误进行分类预测,根据所得的分类预测准确度结果,确定最终选择的特征。
进一步的,其中去除中等以下相关性强度是指去除相关性强度0.5以下的复杂性度量指标。
本发明实现对BPEL过程三种常见数据流错误的分类预测,知道哪些复杂性度量指标对数据流错误的产生有着至关重要的影响。
下面结合实施例对本发明进行详细说明。
实施例
在BPEL过程数据流错误中,最常见的数据流错误是输入缺失、输出冗余和输出丢失。在介绍三个数据流错误之前,先说明trace的概念。trace为从开始结点和终止结点的一个执行路径,即它是一个活动执行的序列。在一条trace中,一个活动具有输入缺失错误当且仅当存在一个输入变量没有定义;换言之,就是在该活动变量执行之前没有活动将该变量作为输出变量。在一条trace中,一个活动具有输出冗余错误当且仅当存在一个输出变量没有使用;换言之,就是在该活动变量执行之后没有活动将该变量作为输入变量。在一条trace中,一个活动具有输出丢失错误当且仅当存在一个输出变量没有来得及使用时,另外一个活动重新定义了该变量;换言之,就是在该两个活动之间没有其它活动将该变量作为输入变量。
本发明就是对所提出的方法分类预测服务组合数据流错误的具体实现。下面结合附图对本发明做进一步说明。
本发明基于复杂性度量的BPEL过程数据流错误预测方法,其整体流程如图1所示。首先,计算得到适用于BPEL过程的复杂性度量指标的值和数据流错误;然后,分析复杂度度量指标和数据流错误的关系,筛选出候选特征;最后,根据候选特征进行枚举组合,从而进行分类预测,根据准确度的结果确定最终选择的复杂性度量指标;具体为:
第一步,计算得到适用于BPEL过程的复杂性度量指标的值和数据流错误。由于BPEL本身是基于XML编写的语言且BPEL过程具有块结构的特性,因此部分复杂性度量指标并不适用,因此需要去掉这一部分复杂性度量指标。使用DOM4J的JAR包帮助解析BPEL文件,根据统计得到的复杂性度量的定义计算得到每一个BPEL过程的对应的每个复杂性度量指标的值。同样,根据三种常见数据流错误的定义,运用现有的检测方法得到每一个BPEL过程是否具有数据流错误,本实施例采用枚举法。
第二步,分析复杂度度量指标和数据流错误的关系,筛选出候选特征。其流程如图2所示:
(1)相关性分析
首先将复杂性度量指标(Metrics)值与数据流错误进行相关性分析。使用Spearman相关性计算方法,借助SPSS统计分析软件帮助计算,其中数据流错误是一个二元值0或1,表示不存在数据流错误或存在数据流错误。
(2)去除相关性强度不强的复杂性度量指标
由(1)可知不同复杂性度量指标与是否具有数据流错误间的相关性强度数值,而相关性强度数值绝对值大于0.5为强相关,0.3到0.5为中等相关,0.1到0.3为弱相关。这里将中等相关以下的复杂性度量指标去掉,且将那些不符合正相关或负相关的复杂性度量指标去掉。
(3)分组
将剩下的复杂性度量指标进行分组。首先根据控制流相关的和数据流相关的复杂性度量指标进行大类分组;然后根据每一个大类中的复杂性指标的类型进行分组,类型包括Size类型、Density类型、Partitionability类型。
(3)挑选
在每个分组中挑选出一个复杂性度量指标作为候选特征。根据每个分组中的复杂性度量指标与是否具有数据流错误的相关性强度大小,每组挑选出一个相关性强度最大的复杂性度量指标,从而得到候选特征的复杂性度量指标集合。
第三步,根据候选特征进行枚举组合作为特征,使用常用的数据挖掘分类算法(朴素贝叶斯、支持向量机、K近邻和决策树)并借助WEKA数据挖掘软件进行分类预测.根据准确度的结果确定最终选择的特征(复杂性度量指标)。本着准确度高和特征少的原则,确定最终选择的特征组合。

Claims (4)

1.一种基于复杂性度量的BPEL过程数据流错误预测方法,用于分类预测BPEL过程是否存在数据流错误,其特征在于,以解析BPEL过程数据集得到的复杂性度量指标和数据流错误的数据为输入,以分类预测准确度和最终选择的复杂性度量指标为输出结果,特征为复杂性度量指标,分类变量为是否具有数据流错误,该预测方法具体步骤为:
步骤1,解析数据集中的BPEL过程,计算每个适用于BPEL过程的复杂性度量指标的值并检测该过程中所包含的数据流错误;
步骤2,将复杂性度量指标和是否具有数据流错误两者进行分析,筛选出候选特征;
步骤3,将候选特征进行枚举组合,并以此为输入特征,而分类变量为是否具有数据流错误,运用WEKA数据挖掘软件中分类算法对数据流错误进行分类预测,根据所得的分类预测准确度结果,确定最终选择的特征。
2.根据权利要求1所述的基于复杂性度量的BPEL过程数据流错误预测方法,其特征在于,步骤1具体包括以下步骤:
步骤1.1,由于BPEL基于XML编写的语言,具有块结构特性,因此将统计到的复杂性度量指标中的不适用的度量指标去掉;
步骤1.2,计算剩下的复杂性度量指标值和运用现有的数据流错误检测方法检测得到数据流错误。
3.根据权利要求1所述的基于复杂性度量的BPEL过程数据流错误预测方法,其特征在于,步骤2具体包括以下步骤:
步骤2.1,将所有的复杂性度量指标和数据流错误进行相关性分析,相关性分析采用Spearman相关性计算方法,使用统计分析工具SPSS进行相关分析计算;
步骤2.2,从所有复杂性度量指标中除去与数据流错误相关性强度为中等以下的复杂性度量指标;
步骤2.3,将剩下的复杂性度量指标根据度量指标的类别和类型进行分组;即先按照控制流和数据流分大类,再按照复杂性度量指标的类型分组;
步骤2.4,基于每组中复杂性指标与数据流错误最大相关性的原则,从每组中挑选相关性最大的一个指标加入到候选度量指标集合中,最终得到候选度量指标的集合。
4.根据权利要求3所述的基于复杂性度量的BPEL过程数据流错误预测方法,其特征在于,步骤2.2中,相关性强度中等以下的复杂性度量指标是指相关性强度0.5以下的复杂性度量指标。
CN201711452935.3A 2017-12-28 2017-12-28 基于复杂性度量的bpel过程数据流错误预测方法 Pending CN108182147A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711452935.3A CN108182147A (zh) 2017-12-28 2017-12-28 基于复杂性度量的bpel过程数据流错误预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711452935.3A CN108182147A (zh) 2017-12-28 2017-12-28 基于复杂性度量的bpel过程数据流错误预测方法

Publications (1)

Publication Number Publication Date
CN108182147A true CN108182147A (zh) 2018-06-19

Family

ID=62548096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711452935.3A Pending CN108182147A (zh) 2017-12-28 2017-12-28 基于复杂性度量的bpel过程数据流错误预测方法

Country Status (1)

Country Link
CN (1) CN108182147A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132590A1 (en) * 2009-12-31 2013-05-23 Telefonaktiebolaget L M Ericsson (Publ) Managing Session Data of a Composite Service Session in a Communication Network
CN104572445A (zh) * 2014-12-17 2015-04-29 南京大学 用于检测Web服务组合中BPEL流程数据竞争的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132590A1 (en) * 2009-12-31 2013-05-23 Telefonaktiebolaget L M Ericsson (Publ) Managing Session Data of a Composite Service Session in a Communication Network
CN104572445A (zh) * 2014-12-17 2015-04-29 南京大学 用于检测Web服务组合中BPEL流程数据竞争的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张成震: "BPEL服务组合数据流错误的实证研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Similar Documents

Publication Publication Date Title
CN107111625B (zh) 实现数据的高效分类和探索的方法和***
CN109697456A (zh) 业务分析方法、装置、设备及存储介质
CN104572449A (zh) 一种基于用例库的自动化测试方法
CN105677615B (zh) 一种基于weka接口的分布式机器学习方法
WO2014143279A1 (en) Bottleneck detector for executing applications
Las-Casas et al. Weighted sampling of execution traces: Capturing more needles and less hay
CN108268373A (zh) 自动化测试用例管理方法、装置、设备及存储介质
CN105159827A (zh) 一种面向gui软件的可靠性加速测试方法
CN106649344B (zh) 一种网络日志压缩方法和装置
Ahrabian et al. Data analysis as a web service: A case study using IoT sensor data
CN112087316B (zh) 基于异常数据分析的网络异常根源定位方法
CN108647137A (zh) 一种作业性能预测方法、装置、介质、设备及***
CN106156170B (zh) 舆情分析方法及装置
CN105117430A (zh) 一种基于等价类的重复任务过程发现方法
Pourbafrani et al. Remaining time prediction for processes with inter-case dynamics
Khan et al. Optimizing hadoop performance for big data analytics in smart grid
KR102411291B1 (ko) 스마트공장 데이터 품질평가 방법
Li et al. MicroSketch: Lightweight and adaptive sketch based performance issue detection and localization in microservice systems
CN110750582A (zh) 数据处理方法、装置和***
CN105138612A (zh) 数据一致性差异原因的分析和定位的方法及***
Liu et al. Efficient syntactic process difference detection using flexible feature matching
CN108182147A (zh) 基于复杂性度量的bpel过程数据流错误预测方法
Yang et al. Optimizing robustness of core-periphery structure in complex networks
CN116361974A (zh) 一种基于公路业务及数据网络的数据源重要性判别方法
CN111193631B (zh) 信息处理方法、***和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180619