16.01.2013 Views

Journal of Software - Academy Publisher

Journal of Software - Academy Publisher

Journal of Software - Academy Publisher

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware<br />

ISSN 1796-217X<br />

Volume 7, Number 12, December 2012<br />

Contents<br />

REGULAR PAPERS<br />

Fault Diagnosis Based on Improved Kernel Fisher Discriminant Analysis<br />

Zhengwei Li, Guojun Tan, and Yuan Li<br />

Intra-Transition Data Dependence<br />

Shenghui Shi, Qunxiong Zhu, Zhiqiang Geng, and Wenxing Xu<br />

Research <strong>of</strong> ArtemiS in a Ring-Plate Cycloid Reducer<br />

Bing Yang, Yan Liu, and Guixin Ye<br />

A New Access Control Model for Manufacturing Grid<br />

Zhihui Ge and Taoshen Li<br />

S<strong>of</strong>tware Design and Development <strong>of</strong> Chang’E-1 Fault Diagnosis System<br />

Ai-wu Zheng, Yu-hui Gao, Yong-ping Ma, and Jian-ping Zhou<br />

An Improved Implementation <strong>of</strong> Preconditioned Conjugate Gradient Method on GPU<br />

Yechen Gui and Guijuan Zhang<br />

Joint Polarization and Angle Estimation for Robust Multi-Target Localization in Bistatic MIMO<br />

Radar<br />

Hong Jiang, Yu Zhang, Hong-jun Liu, Xiao-hui Zhao, and Chang Liu<br />

The Central DOA Estimation Algorithm Based on Support Vector Regression for Coherently<br />

Distributed Source<br />

Yinghua Han and Jinkuan Wang<br />

Web Services Evaluation Predication Model based on Time Utility<br />

Guisheng Yin, Xiaohui Cui, Yuxin Dong, and Jianguo Zhang<br />

Speech Emotion Recognition based on Optimized Support Vector Machine<br />

Bo Yu, Haifeng Li, and Chunying Fang<br />

System Dynamics Modeling and Simulation for Competition and Cooperation <strong>of</strong> Supply Chain on<br />

Dual-Replenishment Policy<br />

Shidi Miao, Chunxian Teng, and Lu Zhang<br />

Audio Error Concealment Based on Wavelet Decomposition and Reconstruction<br />

Fei Xiao, Hexin Chen, and Yan Zhao<br />

Reputation Based Academic Evaluation in a Research Platform<br />

Kun Yu and Jianhong Chen<br />

Analyzing ChIP-seq Data based on Multiple Knowledge Sources for Histone Modification<br />

Dafeng Chen, Deyu Zhou, and Yuliang Zhuang<br />

2657<br />

2663<br />

2671<br />

2678<br />

2687<br />

2695<br />

2703<br />

2710<br />

2717<br />

2726<br />

2734<br />

2742<br />

2749<br />

2755


A New Semi-supervised Method for Lip Contour Detection<br />

Kunlun Li, Miao Wang, Ming Liu, Ruining Xin, and Pan Wang<br />

Trusted S<strong>of</strong>tware Constitution Model Based on Trust Engine<br />

Junfeng Tian, Ye Zhu, and Jianlei Feng<br />

Fuzzy Evaluation on Supply Chains’ Overall Performance Based on AHM and M(1,2,3)<br />

Jing Yang and Hua Jiang<br />

A Novel Combine Forecasting Method for Predicting News Update Time<br />

Mengmeng Wang, Xianglin Zuo, Wanli Zuo, and Ying Wang<br />

Information-based Study <strong>of</strong> E-Commerce Website Design Course<br />

Xinwei Zheng<br />

An Empirical Study on the Correlation and Coordination Degree <strong>of</strong> Linkage Development between<br />

Manufacturing and Logistics<br />

Rui Zhang and Chunhua Ju<br />

Tourism Crisis Management System Based on Ecological Mechanism<br />

Xiaohua Hu, Xuan Zhou, Weihui Dai, Zhaozong Zhan, and Xiaoyi Liu<br />

Image Fusion Method based on Non-Subsampled Contourlet Transform<br />

Hui Liu<br />

Research on Intrusion Detection Model <strong>of</strong> Heterogeneous Attributes Clustering<br />

Linquan Xie, Ying Wang, Fei Yu, Chen Xu, and Guangxue Yue<br />

Vector-Distance and Neighborhood Development for High Dimensional Data<br />

Ping Ling, Xiangsheng Rong, Xiangyang You, and Ming Xu<br />

Evaluation and Comparison on the Techniques <strong>of</strong> Vertex Chain Codes<br />

Linghua Li, Yining Liu, Yongkui Liu, and Borut Zalik<br />

Research on Web Query Translation based on Ontology<br />

Xin Wang and Ying Wang<br />

Data Modeling <strong>of</strong> Knowledge Rules: An Oracle Prototype<br />

Rajeev Kaula<br />

OPC (OLE for Process Control) based Calibration System for Embedded Controller<br />

Ming Cen, Qian Liu, and Yi Yan<br />

WS-mcv: An Efficient Model Driven Methodology for Web Services Composition<br />

Faycal Bachtarzi, Allaoua Chaoui, and Elhillali Kerkouche<br />

Object Search for the Internet <strong>of</strong> Things Using Tag-based Location Signatures<br />

Jung-sing Jwo, Ting-chia Chen, and Mengru Tu<br />

Fractional Order Ship Tracking Correlation Algorithm<br />

Mingliang Hou and Yuran Liu<br />

A Label Correcting Algorithm for Dynamic Tourist Trip Planning<br />

Jin Li and Peihua Fu<br />

2763<br />

2771<br />

2779<br />

2787<br />

2794<br />

2800<br />

2808<br />

2816<br />

2823<br />

2832<br />

2840<br />

2849<br />

2857<br />

2866<br />

2874<br />

2886<br />

2894<br />

2899


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2657<br />

Fault Diagnosis Based on Improved Kernel<br />

Fisher Discriminant Analysis<br />

Zhengwei Li<br />

School <strong>of</strong> Computer Science and Technology. China University <strong>of</strong> Mining and Technology<br />

Xuzhou, China<br />

Email:zwli@cumt.edu.cn<br />

Zhengwei Li, Guojun Tan,Yuan Li<br />

School <strong>of</strong> Information and Electrical Engineering, China University <strong>of</strong> Mining and Technology<br />

Xuzhou, China<br />

Email: {zwli,gjtan, Liyuan}@cumt.edu.cn<br />

Abstract—There are two fundamental problems <strong>of</strong> the<br />

Kernel Fisher Discriminant Analysis (KFDA) for nonlinear<br />

fault diagnosis. The first one is the classification<br />

performance <strong>of</strong> KFDA between the normal data and fault<br />

data degenerates as long as overlapping samples exist. The<br />

second one is that the computational cost <strong>of</strong> kernel matrix<br />

becomes large when the training sample number increases.<br />

Aiming at the two major problems, in this paper, an<br />

improved fault diagnosis method based on KFDA(IKFDA)<br />

is proposed. There are two aspects are improved in the<br />

method. Firstly, the variable weighting vector was<br />

incorprated into KFDA which can improve the discriminant<br />

performance. Secondly, when the training sample number<br />

becomes large, a feature vector selection scheme based on a<br />

geometrical consideration is given to reduce the<br />

computational complexity <strong>of</strong> KFDA for fault diagnosis.<br />

Finally, Gaussian mixture model (GMM) is applied for fault<br />

isolation and diagnosis on the KFDA subspace.<br />

Experimental results show that the proposed method<br />

outperforms traditional kernel principal component<br />

analysis (KPCA) and general KDA algorithms.<br />

Index Terms—kernel fisher discriminant analysis, fault<br />

diagnosis, variable weighting, feature vector selection,<br />

gaussian mixture model<br />

I. INTRODUCTION<br />

Since the fault diagnosis problem can be considered as<br />

a multi-class classification problem, pattern recognition<br />

methods with good generalization and accurate<br />

performances have been proposed in recent years. Choi et<br />

al. [1] proposed a fault detection and isolation<br />

methodology based on principal component analysis–<br />

Gaussian mixture model and discriminant analysis–<br />

Gaussian mixture model. Fisher discriminant analysis<br />

(FDA) has been proved to outperform PCA in<br />

discriminating different classes, in the aspect that PCA<br />

Project for major transformation <strong>of</strong> scientific and technological<br />

achievements from Jiangsu province (BA2008029).<br />

Corresponding author: Zhengwei Li, Email: zwli@cumt.edu.cn<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2657-2662<br />

aims at reconstruction instead <strong>of</strong> classification, while<br />

FDA seeks directions that are optimal for<br />

discrimination [2] . However, FDA is a linear method. In<br />

order to handle the nonlinear problem <strong>of</strong> process data,<br />

kernel FDA (KFDA) is proposed by Mika et al. [3] . KFDA<br />

performs a nonlinear discriminant through kernel feature<br />

space mapping before FDA method is used. Yang et al. [4]<br />

made an in-depth analysis on the KFDA algorithm, and<br />

reformulated it as a two-step procedure: kernel principal<br />

component analysis (KPCA) plus FDA. Recently, KFDA<br />

has been proved superior to PCA and FDA in fault<br />

diagnosis, which makes it a promising way for process<br />

monitoring [5,6] . The basic idea <strong>of</strong> the kernel trick is that<br />

input data are mapped into a kernel feature space by a<br />

nonlinear mapping function and then these mapped data<br />

are analyzed.<br />

However, the general KFDA method has some<br />

shortcomings for fault diagnosis. Firstly, the conventional<br />

KFDA views the same contribution <strong>of</strong> each variable to<br />

the classification and all variables are used in a same<br />

level so that the data sets are masked with irrelevant<br />

information. As a result, the classification performance <strong>of</strong><br />

KFDA for fault diagnosis degenerates when the samples<br />

<strong>of</strong> the normal data and the fault data are overlapped [7] .<br />

Focusing on the multi-classification where data are<br />

overlapped, the paper proposes a variable-weighted<br />

schema into the general KFDA. Secondly, in the training<br />

stage <strong>of</strong> KFDA, it requires to store and manipulate the<br />

kernel matrix, the size <strong>of</strong> which is the square <strong>of</strong> the<br />

sample number. When the sample number becomes large,<br />

the eigen-decomposition and the matrix inversion<br />

calculation will be time-consuming, and then reducing<br />

the calculation time is very important. In this paper, a<br />

feature vector selection scheme based on a geometrical<br />

consideration [8] is given to reduce the computational<br />

complexity <strong>of</strong> KFDA when the number <strong>of</strong> training<br />

samples becomes large.<br />

This paper is organized as follows. In Section 2,<br />

KFDA is explained. In Section 3, Improved KFDA is<br />

proposed. Fault diagnosis results <strong>of</strong> the above schemes


2658 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

are given by simulations in Section 4. Finally in Section 5,<br />

the main points are summarized.<br />

II. KFDA<br />

The basic idea <strong>of</strong> KFDA is to solve the problem <strong>of</strong><br />

linear FDA in an implicit feature space F. However, it is<br />

difficult to do so directly because the dimension h <strong>of</strong> the<br />

feature space F can be arbitrarily large or even infinite. In<br />

implementation, the implicit feature vector in F does not<br />

need to be computed explicitly, while it is just done by<br />

computing the inner product <strong>of</strong> two vectors in F with a<br />

kernel function.<br />

Let the dimensionality <strong>of</strong> original sample feature space<br />

be m and the number <strong>of</strong> sample classes be C , the total<br />

original sample { 1, 2,...,<br />

C}<br />

X X X X =<br />

, the j th (j = 1, 2,. . . ,C)<br />

class X contains j<br />

j N samples, namely<br />

j j j<br />

X j = { X1<br />

, X 2 ,..., X } . Here, m<br />

N<br />

j<br />

j<br />

R X X X<br />

j j j<br />

1 , 2 ,..., N ∈ is used<br />

to denote the N training samples(column vectors) <strong>of</strong><br />

j<br />

class j for KFDA learning. N is the total number <strong>of</strong><br />

C<br />

original training samples, and then N = ∑ N .<br />

j = 1 j<br />

By the nonlinear mapping φ , the measured inputs are<br />

extended into the hyper-dimensional feature space as<br />

follows<br />

m<br />

h<br />

φ : x ∈ R → φ(<br />

x)<br />

∈ F<br />

(1)<br />

The mapping <strong>of</strong> sample x i is simply noted<br />

as φ ( xi ) = φi<br />

, the total mapped sample set and the j th<br />

mapped class are given by<br />

) { ( ), ( ),..., ( )} X X X X φ φ φ φ =<br />

( 1 2<br />

C<br />

( X j )<br />

j j<br />

j<br />

{ φ(<br />

X1<br />

), φ(<br />

X 2 ),..., φ(<br />

X N j<br />

φ =<br />

The mean <strong>of</strong> the mapped sample class φ ( X j ) is given<br />

by m j<br />

N j<br />

= ( 1/<br />

N j ) ∑ φ ( x ) , and the global mean <strong>of</strong> the<br />

i=<br />

1`<br />

i<br />

total mapped samples is given by<br />

m = ( 1/<br />

N )<br />

C N j<br />

φ ( x ) . The within-class scatter<br />

j<br />

∑ ∑<br />

j=<br />

1 i=<br />

1`<br />

i<br />

matrix S W in F and between-class scatter matrix S B in<br />

F are defined as<br />

S<br />

W<br />

)}<br />

C N j<br />

j<br />

j T<br />

( φ ( xi<br />

− m j )( φ(<br />

xi<br />

− m j ) (2)<br />

j=<br />

1 I = 1<br />

1<br />

= ∑∑ N<br />

1<br />

S N ( m − m)(<br />

m − m)<br />

C<br />

B = ∑ N j=<br />

1<br />

j<br />

j<br />

Performing FDA in F means maximizing the between<br />

class scatter matrix S B and minimizing the within-class<br />

scatter matrix S W . This is equivalent to maximizing the<br />

following function<br />

j<br />

T<br />

(3)<br />

T<br />

| w S Bw<br />

|<br />

J ( w)<br />

= arg max<br />

(4)<br />

w<br />

T<br />

| w S w |<br />

© 2012 ACADEMY PUBLISHER<br />

W<br />

The problem <strong>of</strong> KFDA is converted into finding the<br />

leading eigenvectors <strong>of</strong> SW SB<br />

1 −<br />

. Here, the dimension <strong>of</strong><br />

SW SB<br />

1 −<br />

can be infinite, and it cannot be calculated directly.<br />

Since any solution w∈ F must lie in the span <strong>of</strong> all the<br />

samples in F, there exists coefficients<br />

{ , i 1,<br />

2,...,<br />

n}<br />

= α = α<br />

, such that<br />

i<br />

w =<br />

n<br />

∑<br />

i=<br />

1<br />

Combine with (5), we can write<br />

α φ<br />

(5)<br />

i<br />

i<br />

T<br />

T<br />

w S w = K α<br />

(6)<br />

B<br />

α B<br />

T<br />

T<br />

w S w = K α<br />

(7)<br />

W<br />

α W<br />

Here, K and B K are in the form <strong>of</strong> matrix {k(x, y)},<br />

w<br />

the kernel matrix <strong>of</strong> the samples (x, y), and k(x, y) is the<br />

kernel function. Where<br />

C C<br />

⎧ 1<br />

T<br />

⎪K<br />

B = ∑∑(<br />

qi<br />

− q j )( qi<br />

− q j )<br />

⎪ C(<br />

C −1)<br />

i=<br />

1 j=<br />

1<br />

⎨<br />

Ni<br />

Ni<br />

⎪ ⎛ 1<br />

1<br />

1<br />

q = ⎜ i ⎪ ⎜ ∑ k(<br />

x1,<br />

x j ), ∑ k(<br />

x2<br />

, x j ), ...,<br />

⎩ ⎝ N i j=<br />

1 N i j=<br />

1<br />

N i<br />

⎧<br />

⎪K<br />

⎨<br />

⎪<br />

⎩ p<br />

W<br />

j<br />

N<br />

i<br />

∑<br />

j=<br />

1<br />

i<br />

T<br />

= ∑ ∑(<br />

p j − pi<br />

)( p j − pi<br />

)<br />

C i=<br />

1 N i j=<br />

1<br />

( k(<br />

x , x ), k(<br />

x , x ),..., k(<br />

x , x ) )<br />

=<br />

1<br />

C<br />

1<br />

1<br />

j<br />

N<br />

2<br />

j<br />

N<br />

j<br />

⎞<br />

k(<br />

x x ⎟ N , j )<br />

⎟<br />

T<br />

⎠<br />

So the solution <strong>of</strong> Eq. (4) can be obtained by<br />

maximizing<br />

T<br />

(8)<br />

(9)<br />

T<br />

| α K Bα<br />

|<br />

J ( α)<br />

= arg max<br />

(10)<br />

α T<br />

| α K α |<br />

Then, the problem <strong>of</strong> KFDA is converted into finding<br />

the leading eigenvectors <strong>of</strong> KW KB<br />

1 − . Let column vectors<br />

β (i = 1,2, . . .,N) be the eigenvectors <strong>of</strong> i<br />

KW KB<br />

1 − . To a<br />

new columnvector sample x , the mapping to the<br />

new<br />

feature space is φ ( xnew)<br />

. The projection <strong>of</strong> x new onto the<br />

eigenvectors β =( i β , i1<br />

β ,…, i2<br />

β )(i = 1, 2,. . .,N) is t =<br />

iN<br />

( t 1,<br />

t 2 , . . ., t N ) T , and it is also called KFDA-transformed<br />

feature vector<br />

ti = new ∑ ij new j<br />

j = 1<br />

N<br />

( w⋅<br />

φ ( x )) = β k(<br />

x , x ), i = 1,<br />

2,...,N<br />

(11)<br />

When KFDA is used for feature extraction, a problem<br />

arises that the matrix K cannot be guaranteed to be<br />

W<br />

nonsingular. Several techniques have been proposed to<br />

handle this problem for numerical computation. In this<br />

paper, when the matrix K is singular, it is replaced with<br />

W<br />

KW + μI<br />

, where μ is a very small constant and I is an<br />

identity matrix [3,9,10].<br />

W


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2659<br />

III. IMPROVED KFDA(IKFDA)<br />

A. Variable Weighting Vector<br />

To fault identification, the variable weighting<br />

determines key variables responsible for the fault from<br />

the datasets masked with much irrelevant information by<br />

maximizing separation between the normal and each fault<br />

data sets. The variable weighting maximizes separation<br />

between the normal and each fault data. By making full<br />

use <strong>of</strong> the normal data information, the weight vector <strong>of</strong><br />

each fault can be obtained. After fault data are weighted<br />

by the corresponding weight vectors, KFDA is performed<br />

on these weighted fault data, which <strong>of</strong>fers important<br />

supplemental classification information to KFDA.<br />

Fault diagnosis is <strong>of</strong>ten characteristic <strong>of</strong> large scale and<br />

nonlinear behavior. When all variables are used in a same<br />

level, the data sets are masked with irrelevant information,<br />

which results in the classification performance<br />

degenerating. Correctly representing the corresponding<br />

variable's contribution to a special fault, the weight vector<br />

is helpful to extract discriminative features from<br />

overlapping fault data which effectively improves the<br />

multi-classification performance <strong>of</strong> KFDA.<br />

FDA is a well-known linear technique for reducing<br />

dimensions and pattern classification. It determines a set<br />

<strong>of</strong> Fisher optimal discriminant vectors that maximize the<br />

scatter between the classes while minimizing the scatter<br />

within each class. Different from traditional selection<br />

methods where the deleted variables and the selected<br />

variables are essentially weighted with discrete values: 0<br />

and 1, respectively, the variable weighting is to weight<br />

the variables with continuous non-negative values [10] .<br />

Pair-wise FDA is performed on normal data and each<br />

class <strong>of</strong> fault data to gain the Fisher optimal discriminant<br />

vector, here named the fault direction. Each fault<br />

direction associated with a special fault optimally<br />

separates the fault data from normal data. Taking into<br />

account nonlinear characteristics <strong>of</strong> most industrial<br />

processes, we investigate the nonlinear pair-wise variable<br />

weighting. The weight vector <strong>of</strong> each fault maximizes the<br />

distance between the normal and each class <strong>of</strong> fault data.<br />

The concept <strong>of</strong> kernel target alignment was proposed<br />

by Cristianini et al. to evaluate the similarity between two<br />

kernel matrices. Since kernel-based learning methods are<br />

based around kernel matrix, its properties reflect the<br />

relative positions <strong>of</strong> the points in the feature space. For<br />

the two-class (the normal class and the fault class<br />

classification problem x ∈ x0,<br />

f → { −1,<br />

1}<br />

, consider the<br />

T<br />

T<br />

kernel target matrix yy , where y = [ − f n , f n ] then the<br />

0 0<br />

kernel target alignment is given by<br />

< K<br />

A =<br />

=<br />

< K,<br />

K ><br />

Thus, Eq. (12) can be rewritten by<br />

© 2012 ACADEMY PUBLISHER<br />

T<br />

, yy > F<br />

T<br />

y Ky (12)<br />

T T<br />

F < yy , yy > F<br />

n K F<br />

T<br />

y K w y f<br />

max A(<br />

w f ) =<br />

w f n K<br />

(13)<br />

s.<br />

t.<br />

w ( i)<br />

≥ 0<br />

f<br />

w f<br />

F<br />

i = 1,..., m<br />

To obtain the weight vector w f , the width <strong>of</strong><br />

Gaussian kernel σ first requires to be determined using<br />

cross validation with pair-wise KFDA on x 0 , f by<br />

minimizing the total classification error rate, and then the<br />

optimization problem, i.e. Eq. (13), should be solved. The<br />

process is repeated until all c fault classes are analyzed<br />

and all weight vectors ..., ,... )<br />

14] .<br />

( w1 w f wc<br />

are obtained [11-<br />

Consider Gaussian kernel function, any element <strong>of</strong><br />

the kernel matrix K <strong>of</strong> x~ can be given by<br />

w f i<br />

~ 0,<br />

f ~ 0,<br />

f<br />

xi<br />

− xi<br />

K w ( i,<br />

j)<br />

=<br />

=<br />

f<br />

2<br />

2σ<br />

(14)<br />

0,<br />

f<br />

0,<br />

f<br />

diag(<br />

w f ) xi<br />

− diag(<br />

w f ) xi<br />

i, j = 1,...(n 0 + n )<br />

2<br />

f<br />

2σ<br />

f<br />

where x , 0 f<br />

or x , 0 ~ f<br />

is the ith row <strong>of</strong> x , 0 f<br />

or x , 0 ~ .<br />

Due to depending on only the kernel matrix K , the WF<br />

kernel target alignment is selected as the variable<br />

weighting criteria. Due to depending on only the kernel<br />

matrix K , the kernel target alignment is selected as the<br />

WF<br />

variable weighting criteria. Thus, the weight vector can<br />

be obtained by solving the following optimal problem.<br />

Therefore, the Rayleigh quotient is selected as the<br />

variable weighting criteria. Then the variable weighting<br />

becomes the following optimal problem:<br />

T<br />

α;<br />

( KW<br />

WK )<br />

F W α<br />

φ<br />

F<br />

max∫<br />

( w f ) =<br />

w<br />

T<br />

f<br />

α ( KW<br />

K )<br />

F W α F<br />

s.<br />

t.<br />

w ( i)<br />

≥ 0 i = 1,..., m<br />

f<br />

(15)<br />

In the above equation, Rayleigh quotient depends on<br />

not only the kernel matrix but also the optimal<br />

discriminant vector K such that KFDA should be re-<br />

W f<br />

performed to obtain the optimal discriminant vector α<br />

during the optimization procedure, which would be<br />

computationally expensive. Instead <strong>of</strong> the Rayleigh<br />

quotient in KFDA, the kernel target alignment is selected<br />

as the variable weighting criteria.<br />

B. Feature Vector Selection<br />

In this paper, a preprocessing scheme called feature<br />

vector selection (FVS) is adopted to reduce the<br />

computational complexity <strong>of</strong> KFDA whereas preserve the<br />

geometrical structure <strong>of</strong> the whole data in F.<br />

In Eq. (5), all the training samples in F , φ (i = 1,<br />

i<br />

2,…,n), are used to represent eigenvector w . In practice,<br />

the dimensionality <strong>of</strong> the subspace spanned byφi is just<br />

equal to the rank <strong>of</strong> kernel matrix K , and the rank <strong>of</strong>


2660 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

K is <strong>of</strong>ten less than n, that is rank (K ) < n. The FVS<br />

scheme is look for vectors that are sufficient to express<br />

all <strong>of</strong> the data in F as a linear combination <strong>of</strong> those<br />

selected vectors in F. Suppose a basis <strong>of</strong> the feature<br />

vectors, φ (i=1, 2, . . ., rank (K ) ; b<br />

b [ 1,<br />

n]<br />

i<br />

i ∈ ) is known,<br />

then Eq. (5) can been rewritten as follows:<br />

rank ( K )<br />

∑ α bi bi<br />

i=<br />

1<br />

w = φ<br />

(16)<br />

Since rank (K )


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2661<br />

and then, simulation results and discussion <strong>of</strong> slight and<br />

serious imbalance problems are presented.<br />

A. Tennessee Eastman (TE) Process<br />

Tennessee Eastman (TE) Industrial Challenge Problem<br />

is designed to provide a realistic industrial process by the<br />

Eastman Chemical Company. The process consists <strong>of</strong><br />

five major unit operations: a product condenser, a recycle<br />

compressor, a reactor, a product stripper, and a vapor–<br />

liquid separator. As a well-known benchmark simulation,<br />

it has been widely used to compare and evaluate the<br />

performance <strong>of</strong> various monitoring approaches.<br />

There are 41 measured variables and 12 manipulated<br />

variables in the TE process, in this paper, the selected 33<br />

monitoring variables include 22 measured variables and<br />

11 manipulated variables shown in table I. There are 22<br />

process patterns (1 normal operating condition and 21<br />

faulty conditions) in the TE process. In order to design<br />

the simulation study reasonably, in this paper, the TE<br />

process simulator is used to generate the normal and five<br />

classes <strong>of</strong> fault data, i.e. fault 4, 8, 13, 14 and 19. These<br />

five faults covering all the fault types in TE process are<br />

divided into two simulation studies.<br />

Each pattern combination includes the normal pattern<br />

and three different faults. These selected process patterns<br />

TABLE II.<br />

SELECTED PROCESS PATTERNS FOR SIMULATION<br />

Pattern Fault description Type<br />

Number <strong>of</strong><br />

training data<br />

Normal 400(300)<br />

Fault 3<br />

Reactor cooling water inlet<br />

temperature<br />

Fault 7 A,B,C feed composition<br />

Step 200(300)<br />

Random<br />

variation<br />

250(300)<br />

Fault 13 Reactor cooling water valve Sticking 300(300)<br />

© 2012 ACADEMY PUBLISHER<br />

TABLE I.<br />

MONITORED VARIABLES IN TE PROCESS<br />

for simulation study are listed in Table II. For each<br />

pattern, there are 960 observations, and all faults are<br />

introduced in the process at sample 160. The simulation<br />

data are separated into two parts: the training and testing<br />

dataset. The training and testing data amount <strong>of</strong> these two<br />

cases are also listed in Table I.<br />

B. Simulation Results and Discussion<br />

In both <strong>of</strong> the two cases, we select radial basis kernel<br />

function in KPCA and choose the width <strong>of</strong> Gaussian<br />

kernel as 500m, where m is the dimension <strong>of</strong> the inputs.<br />

KPCA based feature extraction is applied with 85%<br />

variation <strong>of</strong> eigenvalue, and the confidence limit in the<br />

Gaussian distribution is 98%.<br />

Firstly, IKFDA based first-three dimension projections<br />

<strong>of</strong> the four patterns (normal, fault 3, 7 and 14) are<br />

presented. According to the first–third dimension<br />

projection, fault 3 has overlapped with fault 7. As the fact<br />

that the rare classes have less impact on accuracy than the<br />

common classes, and the pattern determination is apt to<br />

the majority one.<br />

Fault diagnosis results are listed in Table III, we can<br />

find that 28% <strong>of</strong> fault 7 data are misclassified as the<br />

normal pattern by general KFDA. Such high rate error<br />

will endanger the process, even results in serious<br />

Number Measured variables No Measured variables No Manipulated Variables<br />

1 A feed 11<br />

Product separator<br />

temperature<br />

21 D feed flow valve<br />

2 D feed 12<br />

Product<br />

level<br />

separator<br />

22 E feed flow valve<br />

3 E feed 13<br />

Product<br />

pressure<br />

separator<br />

23 A feed flow valve<br />

4 Total feed 14<br />

Product separator<br />

underflow<br />

24 Total feed flow7 valve<br />

5 Recycle flow 15 Stripper level 25 Compressor recycle valve<br />

6 Reactor feed rate 16 Stripper pressure 26 Purge valve<br />

7 Reactor pressure 17 Stripper underflow 27<br />

Separator pot liquid flow7<br />

valve<br />

8 Reactor level 18<br />

Stripper<br />

temperature<br />

28<br />

Stripper liquid product flow<br />

valve<br />

9 Reactor temperature 19<br />

Stripper<br />

flow<br />

steam<br />

29 Stripper steam valve<br />

10 Purge rate 20 Compressor work 30 Reactor cooling water flow<br />

accidents. Considering the data amount <strong>of</strong> each pattern,<br />

normal pattern is the majority class. The average<br />

diagnosis rates <strong>of</strong> general KFDA are listed in Table III.<br />

Comparing the performance <strong>of</strong> IKFDA-GMM with<br />

general KFDA and PCA, the diagnosis rate <strong>of</strong> normal<br />

pattern reaches to 99%, but the diagnosis performances <strong>of</strong><br />

fault 7 and 14 are even a litter poorer. The diagnosis<br />

performances <strong>of</strong> all the three fault patterns are improved<br />

compared those <strong>of</strong> general KFDA and KPCA. The<br />

diagnosis rate <strong>of</strong> normal pattern descends form 99% to<br />

66%. For example, the rate <strong>of</strong> misclassifying fault 7 as<br />

normal pattern falls from 47% to 2%. It is obvious that<br />

the IKFDA is instable. Comparing to general KFDA, the


2662 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

TABLE III.<br />

FAULT DIAGNOSIS RESULTS(%)<br />

Methods Normal Fault 3 Fault 7 Fault 14<br />

KPCA 66 71 53 62<br />

KFDA 79 76 68 70<br />

IKFDA-<br />

GMM<br />

99 98 98 97<br />

performances <strong>of</strong> the proposed IKFDA approaches are<br />

better in some cases.<br />

VI. CONCLUSIONS<br />

In recent years, KFDA has been utilized directly for<br />

nonlinear process fault diagnosis, and it has been proven<br />

to outperform conventional FDA method. This paper<br />

focuses on the improvement <strong>of</strong> KFDA for fault diagnosis<br />

from two aspects, which provides effective tools for fault<br />

diagnosis <strong>of</strong> nonlinear multivariate process.<br />

Firstly, the classification performance <strong>of</strong> KFDA may<br />

degenerate as long as overlapping samples exist. The<br />

nonlinear variable weighting finds out the weight vector<br />

<strong>of</strong> each fault by maximizing the variable weighting<br />

criteria. Each weight vector maximizes separation<br />

between the normal data and each class <strong>of</strong> fault data. By<br />

weighting fault data with the corresponding weight vector,<br />

the proposed method extracts discriminative features<br />

more effectively than the traditional KFDA from<br />

overlapping fault data.<br />

Secondly, a feature vector selection scheme based on a<br />

geometrical consideration is adopted for sample vector<br />

selection before KFDA calculation. Simulations<br />

conducted on TE process have shown that, IKFDA based<br />

on feature vector selection has nearly the same fault<br />

recognition rates as KFDA method. Moreover, IKFDA<br />

based on feature vector selection method can reduce the<br />

computational complexity significantly, especially when<br />

the training sample set is very large.<br />

Finally, Gaussian mixture model (GMM) is applied for<br />

fault isolation and diagnosis on the KFDA subspace.<br />

Experimental results show that the proposed method<br />

outperforms traditional kernel principal component<br />

analysis (KPCA) and general KDA algorithms.<br />

ACKNOWLEDGMENT<br />

This work was supported by the fund project for major<br />

transformation <strong>of</strong> scientific and technological<br />

achievements from Jiangsu province(BA2008029).<br />

REFERENCES<br />

[1] Choi, S.W., Park, J.H. and Lee, I.B.. “Process monitoring<br />

using a Gaussian mixture model via principal component<br />

analysis and discriminant analysis”. Computers and<br />

Chemical Engineering, 2004, 28(8) , pp. 1377-1387.<br />

[2] Chiang, L. H., Russell, E. L., & Braatz, R. D.. “Fault<br />

diagnosis in chemical processes using Fisher discriminant<br />

analysis, discriminant partial least squares, and principal<br />

component analysis”. Chemometrics and Intelligent<br />

Laboratory Systems, vol.50, pp. 243-252, April 2000.<br />

© 2012 ACADEMY PUBLISHER<br />

[3] Mika,s., “Fisher discriminant analysis with kernels”, In<br />

Proceedings <strong>of</strong> IEEE Neural Networks for Singal<br />

Processing Workshop Madison, WI,USA,1999, pp. 41-51.<br />

[4] Yang, J., Jin, Z., Yang, J.Y., Zhang, D. and Frangi, A.F.,<br />

“Essence <strong>of</strong> kernel Fisher discriminant: KPCA plus LDA.”<br />

Pattern Recognition, 2004,37(10) , pp. 2097-2100.<br />

[5] Cho, H.W., “Nonlinear feature extraction and classification<br />

<strong>of</strong> multivariate process data in kernel feature space”.<br />

Expert Systems with Applications, 2007,32(2) , pp. 534-<br />

542.<br />

[6] Cho, H.W.. “Identification <strong>of</strong> contributing variables using<br />

kernel based discriminant modeling and reconstruction”.<br />

Expert Systems with Applications, 2007,33(2), pp. 274-285.<br />

[7] Baudat,G., & Anouar, F.. “Kernel-based methods and<br />

function approximation”. In Proceedings <strong>of</strong> International<br />

Conference on Neural Networks, Washington, DC,2001,<br />

pp. 1244-1249.<br />

[8] Cui, P. L., Li, J. H., & Wang, G. Z.. “Improved kernel<br />

principal component analysis for fault detection”. Expert<br />

Systems with Applications,2008,34(2), pp. 1210-1219.<br />

[9] Louw, N., Steel, S.J.. “A review <strong>of</strong> kernel Fisher<br />

discriminant analysis for statistical classification”. South<br />

African Statist. J. 2005(39), pp. 1-21.<br />

[10] Dong-Sheng Cao,Yi-Zeng Liang,Qing-Song Xu,<br />

“Exploring nonlinear relationships in chemical data using<br />

kernel-based methods”. Chemometrics and Intelligent<br />

Laboratory Systems 2011(101), pp. 106-115.<br />

[11] Zhi-Bo Zhu, Zhi-Huan Song. “A novel fault diagnosis<br />

system using pattern classification on kernel FDA<br />

subspace”.Expert Systems with Applications 2011(38) , pp.<br />

6895-6905.<br />

[12] Achmad Widodo, Bo-Suk Yang. “Application <strong>of</strong> nonlinear<br />

feature extraction and support vector machines for fault<br />

diagnosis <strong>of</strong> induction motors”. Expert Systems with<br />

Applications 2007(33), pp. 241-250<br />

[13] Guang Dai, Dit-YanYeung, Yun-Tao Qian. “Face<br />

recognition using a kernel fractional-step discriminant<br />

analysis algorithm”. Pattern Recognition 2007(40):229-<br />

243.<br />

[14] Zhi-Bo Zhu, Zhi-Huan Song. “Fault diagnosis based on<br />

imbalance modified kernel Fisher discriminant analysis”.<br />

Chemical Engineering Research and Design 2010(88), pp.<br />

936–951.<br />

[15] Ji-Dong Shaoa, Gang Ronga Jong Min Leeb. “Learning a<br />

data-dependent kernel function for KPCA-based nonlinear<br />

process monitoring”. Chemical Engineering Research and<br />

Design, 2009(87) pp. 1471–1480.<br />

[16] Hyun-Woo Cho. “Nonlinear feature extraction and<br />

classification <strong>of</strong> multivariate process data in kernel feature<br />

space”. Expert Systems with Applications, 2007(32), pp.<br />

534-542.<br />

[17] Cheong Hee Park, Haesun Park. “Nonlinear feature<br />

extraction based on centroids and kernel functions”.<br />

Pattern Recognition, 2004(37) pp. 801-810.<br />

[18] N. Louw, S.J. Steel. “Variable selection in kernel Fisher<br />

discriminant analysis by means <strong>of</strong> recursive feature<br />

elimination”. Computational Statistics & Data Analysis<br />

2006(51), pp. 2043-2055.<br />

Zhengwei Li, My research interests mainly include machine<br />

learning and fault diagnosis. Currently, I am an associate<br />

pr<strong>of</strong>essor at the School <strong>of</strong> Computer Science and Engineering,<br />

China University <strong>of</strong> Mining and Technology. I received my<br />

B.Sc. and M.Sc. degrees in computer science all from<br />

Department <strong>of</strong> Computer Science & Technology, China<br />

University <strong>of</strong> Mining and Technology in 1999 and 2005<br />

respectively.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2663<br />

Intra-Transition Data Dependence<br />

Shenghui Shi<br />

College <strong>of</strong> Information Science and Technology, Beijing University <strong>of</strong> Chemical Technology, Beijing, China<br />

Email: shish@mail.buct.edu.cn<br />

Qunxiong Zhu* Zhiqiang Geng Wenxing Xu<br />

College <strong>of</strong> Information Science and Technology, Beijing University <strong>of</strong> Chemical Technology, Beijing, China<br />

Email: zhuqx@mail.buct.edu.cn gengzhiqiang@mail.buct.edu.cn estellaxu@163.com<br />

Abstract—Currently, two main approaches to data<br />

dependence <strong>of</strong> EFSM(Extended Finite State Machine)<br />

haven’t refined intra-transition data dependence, instead<br />

they consider that every definition variable in a transition<br />

depends on all the use variables (including condition<br />

variables). For data dependence <strong>of</strong> a specific definition<br />

variable, not only the relevant use variables but also the<br />

irrelevant use variables (including condition variables) are<br />

considered, which obviously causes redundancy. Without a<br />

doubt, further analysis based on this brings hidden danger<br />

to the dependent analysis <strong>of</strong> the entire system and practical<br />

application. With the idea <strong>of</strong> introducing program<br />

dependence graph into to EFSM, this paper studies intratransition<br />

data dependence, and describes the data<br />

dependence between every intra-transition definition<br />

variable and the use and condition variables which influence<br />

or are influenced by it. Thus irrelevant dependence<br />

variables are removed to reduce redundancies and errors.<br />

Also, theoretical and experimental analyses are conducted.<br />

Index Terms—Extended Finite State Machine(EFSM);<br />

Dependence Analysis; Intra-Transition Data<br />

Dependence(IaTDD)<br />

I. INTRODUCTION<br />

With the gradual expansion <strong>of</strong> computer s<strong>of</strong>tware<br />

applications, the size and complexity <strong>of</strong> computer<br />

s<strong>of</strong>tware are growing rapidly, which leads to an<br />

increasing growth <strong>of</strong> the cost and difficulty <strong>of</strong> s<strong>of</strong>tware<br />

analysis, understanding, test, maintenance, evolution, and<br />

other aspects in s<strong>of</strong>tware engineering. S<strong>of</strong>tware slicing, as<br />

an "energy saving" tool for s<strong>of</strong>tware system, therefore,<br />

plays an important role. In 1979, M. Weiser first<br />

proposed the basic idea <strong>of</strong> program slicing [1] to achieve<br />

the program's reduction. After thirty years <strong>of</strong><br />

development, program slicing has been widely<br />

recognized and applied. From the point <strong>of</strong> view <strong>of</strong><br />

s<strong>of</strong>tware engineering development cycle, program slicing<br />

has penetrated into the application <strong>of</strong> requirement and<br />

design layer from coding and testing layer. In 1990s,<br />

Heimdahl et al [2,3] proposed model-based slicing, which<br />

started model slicing research <strong>of</strong> FSM (Finite State<br />

Machine). In the same period, Savage, P. and Dssouli R.<br />

proposed model slicing based on EFSM [4, 5] . In 2003,<br />

Korel [6] normalized EFSM model structure by specifying<br />

the composition <strong>of</strong> EFSM and transitions, developed<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2663-2670<br />

EFSM slicing tool, and proposed irrelevant control<br />

dependence. But EFSM model must be built on the<br />

premise that there is a termination node. Korel applied<br />

the method <strong>of</strong> program slicing, but failed to conduct indepth<br />

study <strong>of</strong> the differences between program slicing<br />

and EFSM structure. However, this method made EFSM<br />

model more clear and specific, which lays a solid<br />

theoretical basis for the present extensive study <strong>of</strong> the<br />

EFSM slicing technology. With further research and<br />

development <strong>of</strong> programming languages, the limitations<br />

for program slicing method to be used in the EFSM were<br />

gradually exposed. Scholars have devoted more attention<br />

to control dependence, and several solutions have been<br />

put forward. But there are also many limitations for the<br />

corresponding data dependence. Due to the limitations <strong>of</strong><br />

requirements <strong>of</strong> study objects and their own structure, the<br />

data dependence <strong>of</strong> EFSM has not yet been well solved.<br />

Currently, there are two main methods for the<br />

implementation <strong>of</strong> EFSM data dependence. The first one<br />

is traditional EFSM data dependence proposed by Korel [6]<br />

(hereinafter referred to as K method). This commonly<br />

used method uses the data dependent methods <strong>of</strong> program<br />

slicing, which realizes EFSM data dependence based on<br />

traversing algorithm <strong>of</strong> marking visited nodes. The other<br />

is the transitive dependence function method proposed by<br />

Chinese scholars <strong>of</strong> Miao Li and so on [7] (hereinafter<br />

referred to as M method), which analyzes the problem<br />

that data dependence <strong>of</strong> EFSM may be intransitive.<br />

The two main methods ignore the specific data<br />

dependence <strong>of</strong> intra-transition variables, and consider that<br />

any definition variable depends on all the use variables<br />

(including condition variables) in that transition. Actually,<br />

a certain definition variable is associated only with the<br />

relevant use variables. But if we randomly identify that<br />

all use variables are related to a certain definition variable,<br />

those irrelevant use variables would be certainly included<br />

in the data dependence, which would result in redundancy.<br />

This paper presents intra-transition data dependent<br />

method, and is verified by experiments to analyze the<br />

degree <strong>of</strong> redundancy reduction.<br />

The paper is organized as follows: Section Ⅱ provides<br />

an overview <strong>of</strong> intra-transition data dependence. Section<br />

Ⅲ analyzes the differences between traditional intra-<br />

transition data dependence method and the method put<br />

forward in this paper. Section Ⅳ compares the method in<br />

this paper and the traditional method by means <strong>of</strong>


2664 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

experiment, and analyses the result. Finally, future<br />

research is discussed.<br />

II. INTRA-TRANSITION DATA DEPENDENCE<br />

Intra-transition data dependence gets definition<br />

variable set and the relation set between use variable set<br />

and condition variable set.<br />

Definition 1: Data Dependence between the<br />

Variables(DDV) [8]<br />

DDV is an inner transition set composed <strong>of</strong> definition<br />

variable set and relationship between use variable set and<br />

condition variable set, which can be expressed as follows:<br />

DDV: (vdi, {Vui, Vci})<br />

Where all the variables and variable sets are in a<br />

transition, and Vd is definition variable set in action or<br />

event, vdi is a definition variable in action or event,<br />

vdi∈Vd. Vui is use variable set influencing the value <strong>of</strong> vdi<br />

in action, which can be Null. Vci is condition variable set<br />

influencing the value <strong>of</strong> vdi in condition, which can be<br />

Null. In d∈I, u∈I ,c∈I, I represents integer. (vdi, {Vui,<br />

Vci}) indicates that the value <strong>of</strong> vdi is data dependent on<br />

Vui and Vci, or rather that Vui and Vci have influences on<br />

the value <strong>of</strong> vdi. {Vu-Vui} is called vdi’s independent use<br />

variable data dependence set, {Vc-Vci} is called vdi’s<br />

independent condition variable data dependence set, { Vu-<br />

Vui } ∪ { Vc-Vci } as vdi’s independent data dependence<br />

set. This article will be deleted with the set <strong>of</strong> variables<br />

unrelated to vdi, in order to reduce redundancy.<br />

Definition 2: Intra-Transition Data Dependence<br />

(IaTDD) [8]<br />

Data dependence <strong>of</strong> intra-transition is the data<br />

dependence set composed <strong>of</strong> definition variable and the<br />

set <strong>of</strong> use variable set and condition variable set:<br />

IaTDD T: {( vd1, {Vu1, Vc1}), ( vd2, {Vu2, Vc2}),…, ( vdi,<br />

{Vui, Vci}), …}<br />

Where vdi is a definition variable in action or an input<br />

variable in event, vdi∈Vd. vd1, vd2, …, vdi, … constitute<br />

universal set <strong>of</strong> definition variables in action or event. vd1,<br />

vd2, …, vdi, …are not equal to each other. vdi≠vdj, i≠j. Vui is<br />

set <strong>of</strong> use variables influencing the value <strong>of</strong> vdi in action,<br />

which can be Null. Vci is set <strong>of</strong> condition variables<br />

influencing the value <strong>of</strong> vdi in condition, which can be<br />

Null. Vd ⊂ VT, Vu ⊂ VT, Vc ⊂ VT, VT is the variable set in<br />

transition. d∈I, u∈I ,c∈I, i∈I. IaTDD indicate all data<br />

dependence between variables in a transition.<br />

Definition variables include the input variables in the<br />

event and the input variables, definition variables and<br />

output variables in action. The specific dependence is as<br />

follows:<br />

1. If a variable is the input variable in the event <strong>of</strong><br />

transition T, its data depends on the empty set. The<br />

complete set <strong>of</strong> condition variables in the condition and<br />

use variables in the action are the irrelevant set <strong>of</strong> the data<br />

dependent variable. For example, EventName(vin1,vin2,…) ,<br />

then IaTDD(T, vini): (vini, { }). i ∈ I, I for integers. At this<br />

point, Vu∪Vc has nothing to do with the dependent<br />

variable set <strong>of</strong> the variable vini, so Vu∪Vc is removed<br />

from the dependent variable set vini to reduce redundancy.<br />

Event is like the definition <strong>of</strong> a function in computer<br />

© 2012 ACADEMY PUBLISHER<br />

program language; input variables the formal parameters<br />

<strong>of</strong> the function. Condition and action are like the body <strong>of</strong><br />

the function. But it’s likely that if the condition is true<br />

then the event and the action will be executed. In this<br />

case, the input variable data depends on the condition<br />

variable. This article focuses on the former situation. For<br />

example, the variable pin in the event card(pin) data<br />

dependence is described as IaTDD(T, pin): (pin, { }).<br />

Vu∪Vc in the condition and action sequences has nothing<br />

to do with the variable pin for the dependent variable set.<br />

2. If a variable is the input variable in the action, its<br />

data depends on the empty set or a set <strong>of</strong> condition<br />

variables. The complete set <strong>of</strong> use variables is irrelevant<br />

dependent variable set. If the condition variable does not<br />

exist in T, its data depends on the empty set. Otherwise, if<br />

the condition variable exists, it depends on the condition<br />

variable. In both cases the complete sets <strong>of</strong> use variables<br />

are irrelevant dependent variable set. For example,<br />

Input(vin1,vin2,…) , then IaTDD(T, vini): (vini,{ Vc }), i∈I I<br />

for integers. At this point, Vu has nothing to do with the<br />

variable vini for the dependent variable set, so Vu is<br />

removed from the dependent variable set vini to reduce<br />

redundancy. For example, if the condition is empty, the<br />

variable p in the input statement Input(p) data<br />

dependence is described as IaTDD(T, p): (p, { }). If the<br />

condition is not empty and attempts


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2665<br />

Vout has nothing to do with the variable vout for the<br />

dependent variable set, so Vu-Vout is removed from the<br />

dependent variable set vout to reduce redundancy. For<br />

example, if the condition is empty, the variable p in the<br />

output statement Output(p) data dependence is described<br />

as IaTDD(T, p): (p, {p}). If the condition is not empty<br />

and attempts==3, the variable p in the output statement<br />

Output(p) data dependence is described as IaTDD(T, p):<br />

(p, {p, attempts}). In both cases Vu-{p} has nothing to do<br />

with p.<br />

In dealing with condition variables, common practice<br />

is to consider condition variables as use variables. In<br />

order to facilitate follow-up studies and lay a good<br />

foundation for dynamic and conditional slicing, our<br />

research separate the condition variable from the set <strong>of</strong><br />

use variables.<br />

III. DIFFERENT INTRA-TRANSITION DATA DEPENDENT<br />

METHODS<br />

For IaTDD and traditional methods (this refers to the K<br />

and M method, hereinafter referred to as K&M method)<br />

data dependence is as follows:<br />

K&M T: {( vd1, {Vu, Vc}), ( vd2, {Vu, Vc}),…, ( vdi,<br />

{Vu, Vc}), …}<br />

IaTDD T: {( vd1, {Vu1, Vc1}), ( vd2, {Vu2, Vc2}),…,<br />

( vdi, {Vui, Vci}), …}<br />

Which ∑∪<br />

i=<br />

1,...,<br />

n<br />

vd i<br />

=Vd, vdi ∈Vd, Vd is the<br />

definition variable set <strong>of</strong> the transition T. vdi is a<br />

definition variable. Vu is the use variable set. Vc is the<br />

condition variable set. In K&M method, definition<br />

variable vdi is dependent on the complete set <strong>of</strong> use<br />

variables Vu and the complete set <strong>of</strong> condition variables,<br />

described as (vdi, {Vu, Vc}). In the IaTDD method,<br />

definition variable vdi is dependent on the use variable set<br />

Vui and condition variable set Vci that influence the<br />

changes <strong>of</strong> vdi, in which vdi can be empty, described as ( vdi,<br />

{Vui, Vci})Vui ⊂ Vu, Vci ⊂ Vc. Thus, for both methods, the<br />

use variable set and condition variable set that are<br />

dependent on the same definition variable in IaTDD is the<br />

a subset <strong>of</strong> K&M method. That is, both methods have the<br />

same number <strong>of</strong> intra-transition definition variable, but<br />

K&M method can get more dependence than IaTDD, and<br />

in fact these variables did not affect definition variables,<br />

which resulted in redundancy.<br />

∀ vdi ∈Vd, ∃ vdi(Method=”K&M”) = vdi(Method=”IaTDD”),<br />

∴Vd(Method=”K&M”) =Vd(Method=”IaTDD”).<br />

∀ (vdi, {Vu, Vc})∈K&M T, ( vdi, {Vui, Vci})∈IaTDD<br />

T, Vui is vdi related to the use variable set, which affect vdi<br />

or be affected by vdi, not including the use variables and<br />

condition variables irrelevant with the vdi, ∴Vui ⊂ Vu, Vu<br />

=Vui +(Vu -Vui), Vui ∩(Vu -Vui)=Φ. Similarly, Vci ⊂ Vc, Vc<br />

=Vci +(Vc –Vci) , Vci ∩(Vc –Vci)=Φ.<br />

Based on the above two conditions can be drawn:<br />

IaTDD T ⊂ K&M T.<br />

© 2012 ACADEMY PUBLISHER<br />

Vd1<br />

Vd2<br />

…<br />

Vdi<br />

A<br />

Vu1, Vc1<br />

Vu-Vu1, Vc-Vc1<br />

Vu2, Vc2<br />

Vu-Vu2, Vc-Vc2<br />

The relationship between definition variables and<br />

use, condition variables is shown in Figure 1. Set A=<br />

Vd={ vd1, vd2, …, vdi,…}, that is the complete set <strong>of</strong><br />

definition variables, A can be empty. Set B1=<br />

B2=…Bi=…B= Vu∪Vc, Bi indicates the set <strong>of</strong> use<br />

variables and condition variables. A is dependent on B.<br />

∀ (vdi, {Vu, Vc})∈K&M T, each definition variable is<br />

dependent on the complete set <strong>of</strong> use variables and<br />

condition variable, but it is not the case. Actually, vdi is<br />

dependent on Vu and Vc, omitting use variable and<br />

condition variable irrelevant to vdi. Thus, a new<br />

dependence is made, described as ( vdi, {Vui, Vci}),<br />

Vui ⊂ Vu, Vci ⊂ Vc. In Figure 1 set B1 deletes dependent<br />

variable set irrelevant to vd1, that is, B1 deletes { Vu -Vu1 ,<br />

Vc -Vc1 }, B2 deletes { Vu -Vu2 , Vc –Vc2 }, …, Bi deletes<br />

{ Vu -Vui , Vc –Vci }, etc. In other words, B1 equals {Vu1,<br />

Vc1}, B2 equals {Vu2, Vc2}, …, Bi equals {Vui, Vci}, etc. Reconstruct<br />

the data dependence and get Figure 2 IaTDD T.<br />

T<br />

…<br />

…<br />

Vui, Vci<br />

Vu-Vui, Vc-Vci<br />

B<br />

B1<br />

B2<br />

Figure 1 Data Dependence <strong>of</strong> Variables in Transition T<br />

Derived by K&M Method<br />

Vu-Vu1, Vc-Vc1<br />

Vu-Vu2, Vc-Vc2<br />

…<br />

Vu-Vui, Vc-Vci<br />

…<br />

…<br />

D<br />

T<br />

Vd1<br />

Vd2<br />

…<br />

Vdi<br />

…<br />

A<br />

IaTDD T<br />

Bi<br />

Vu1, Vc1<br />

Vu2, Vc2<br />

…<br />

Vui, Vci<br />

…<br />

…<br />

C<br />

K&M T<br />

Figure. 2 Comparison <strong>of</strong> Data Dependence between IaTDD and<br />

K&M Method


2666 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

∀ ( vdi, {Vu, Vc})∈K&M T, delete ( vdi, {Vu -Vui, Vc–<br />

Vci }), then get ( vdi, {Vui, Vci})∈IaTDD T, so IaTDD<br />

T ⊂ K&M T. Figure 2 shows that set A is dependent on<br />

set C, that is, each definition variable <strong>of</strong> set A depends on<br />

the definition variables associated with the use variables<br />

and condition variables <strong>of</strong> set C. Each definition variable<br />

has nothing to do with the use variables and condition<br />

variables <strong>of</strong> set D. If there’s any relations, redundancy<br />

will result.<br />

Vuj, Vcj<br />

Vui, Vci<br />

Vu-Vu1, Vc-Vc1<br />

Vu-Vu2, Vc-Vc2<br />

…<br />

Vu-Vui, Vc-Vci<br />

Vu-Vuj, Vc-Vcj<br />

…<br />

D<br />

Vu-Vui, Vc-Vci<br />

(a)<br />

(b)<br />

Vu-Vuj, Vc-Vcj<br />

(c)<br />

Vu1, Vc1<br />

Vu2, Vc2<br />

…<br />

Vui, Vci<br />

Vuj, Vcj<br />

…<br />

Figure 3 Variable Set Dependent by Definition Variable<br />

<strong>of</strong> IaTDD and K&M Method<br />

∀ ( vdi, {Vu, Vc}), ( vdj, {Vu, Vc}) ∈K&M T, ( vdi, {Vui,<br />

Vci}),( vdj, {Vuj, Vcj}) ∈IaTDD T, we get Vu =Vui +(Vu -<br />

Vui), Vui ∩(Vu -Vui)=Φ, Vu =Vuj +(Vu -Vuj), Vuj ∩(Vu -<br />

Vuj)=Φ. But Vui and (Vu -Vuj), Vuj and (Vu -Vui) may<br />

intersect, that is, repeated elements may exist. Let’s<br />

mainly see the use variables and condition variables that<br />

are dependent. ∵ ∃∀Vui∩(Vu -Vuj) ≠Φ, Vuj∩(Vu -Vui) ≠Φ,<br />

are shown in (a) and (b) <strong>of</strong> Figure 3, the illustrated<br />

variables dependent by definition variable include use<br />

variables and condition variables. ∴ ∃ (Vui∪Vuj )∩((Vu -<br />

Vui) ∪(Vu -Vuj)) ≠Φ. Therefore ∃ (Vci∪Vcj )∩((Vc –Vci)<br />

∪(Vc –Vcj)) ≠Φ, as (c) <strong>of</strong> Figure 3 shows, ∃ C∩D≠Φ,<br />

C={ Vu1, Vc1 , Vu2 , Vc2 ,…, Vui , Vci , Vuj , Vcj ,… },<br />

D={ Vu-Vu1, Vc-Vc1 , Vu-Vu2 , Vc-Vc2 ,…, Vu-Vui , Vc-Vci ,<br />

Vu-Vuj , Vc-Vcj ,… }.<br />

© 2012 ACADEMY PUBLISHER<br />

C<br />

IV EXPERIMENT AND ANALYSIS<br />

This paper compares the EFSM models commonly<br />

used in various documents to analyze the impact <strong>of</strong> intratransition<br />

data dependence.<br />

A. Experimental Model<br />

Specific experimental model data is shown in Table 1,<br />

in which #S is the number <strong>of</strong> states, #T is the number <strong>of</strong><br />

transition.<br />

TABLE 1<br />

EXPERIMENTAL MODELS<br />

EFSM Model #S #T<br />

ATM [6] 9 23<br />

Cashier [9] 12 21<br />

Cruise Control [10] 5 17<br />

Fuel Pump [10] 13 25<br />

PrintToken [9] 11 89<br />

Door Control [11] 6 12<br />

Vending Machine [9] 7 28<br />

INRES protocol [12] 8 18<br />

TCP [13] 12 57<br />

B. Experimental Data<br />

This section is about experiments on the 9 EFSM<br />

models in Table 1. Through the IaTDD method and<br />

K&M method, experiments will be done to get the<br />

number <strong>of</strong> data dependence between variables, the<br />

number <strong>of</strong> redundant variables, and comparison <strong>of</strong> the<br />

number <strong>of</strong> definition variables, data dependence relations<br />

between numbers, and number <strong>of</strong> redundancies.<br />

Comparing the results <strong>of</strong> the experiments that apply<br />

the two methods, as is shown in Table 2, "#K&M<br />

method" indicates the number <strong>of</strong> data dependence that is<br />

acquired without using IaTDD method. "#IaTDD<br />

method" indicates the number <strong>of</strong> data dependence that is<br />

acquired with IaTDD method.<br />

TABLE 2<br />

NUMBER OF DATA DEPENDENCE BETWEEN INTRA-TRANSITION<br />

VARIABLES DERIVED BY TWO METHODS<br />

EFSM Model #K&M method #IaTDD<br />

ATM 28 28<br />

Cashier 30 30<br />

Cruise Control 50 50<br />

Fuel Pump 44 44<br />

PrintToken 49 49<br />

Door Control 6 6<br />

Vending Machine 30 30<br />

INRES Protocol 14 14<br />

TCP 135 135<br />

The results <strong>of</strong> Table 2 show that the two methods get<br />

the same intra-transition data dependence between<br />

variables, but IaTDD method does not produce redundant<br />

variables, while K&M method producing a lot <strong>of</strong>


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2667<br />

redundant variables. The numbers <strong>of</strong> redundant variables<br />

<strong>of</strong> the specific nine models are shown in Figure 4. It<br />

describes the number <strong>of</strong> redundant variables contained in<br />

each transition <strong>of</strong> the models. The horizontal axis<br />

indicates the specific transition, and the vertical axis<br />

indicates the number <strong>of</strong> redundant variables contained in<br />

transition. With K&M method, Door Control model does<br />

not produce redundant variables, because the Door<br />

Control model includes at most one definition variable,<br />

therefore the data dependence is simple. But in reality,<br />

the situation is not always so rational. The other eight<br />

models, as Figure 4 shows, produce redundant variables<br />

to a different extent. Redundancy caused by K&M<br />

method is shown in Table 3.<br />

Number <strong>of</strong> Redundant<br />

Variables<br />

Number <strong>of</strong> Redundant<br />

Variables<br />

Number <strong>of</strong> Redundant<br />

Variables<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

T1<br />

T1<br />

T1<br />

T3<br />

T3<br />

T4<br />

T5<br />

T5<br />

T7<br />

T7<br />

T10<br />

ATM<br />

T13<br />

T16<br />

Transition<br />

(a)<br />

Cashier<br />

T9<br />

T11<br />

T13<br />

Transition<br />

(b)<br />

Cruise Control<br />

T7<br />

© 2012 ACADEMY PUBLISHER<br />

T9<br />

T11<br />

Transition<br />

(c)<br />

T15<br />

T13<br />

T19<br />

T17<br />

T15<br />

T22<br />

T19<br />

T17<br />

T21<br />

Number <strong>of</strong> Redundant<br />

Variables<br />

Number <strong>of</strong> Redundant<br />

Variables<br />

Number <strong>of</strong> Redundant<br />

Variables<br />

Number <strong>of</strong> Redundant<br />

Variables<br />

20<br />

15<br />

10<br />

5<br />

0<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

T1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

T4<br />

T7<br />

T10<br />

Fuel Pump<br />

T13<br />

T16<br />

Transition<br />

(d)<br />

PrinToken<br />

T19<br />

T22<br />

T25<br />

T1<br />

T9<br />

T17<br />

T25<br />

T33<br />

T41<br />

T49<br />

T57<br />

T65<br />

T73<br />

T81<br />

T89<br />

1<br />

2.5<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

T1<br />

T1<br />

T4<br />

T3<br />

T7<br />

Transition<br />

(e)<br />

Door Control<br />

T5<br />

T7<br />

Transition<br />

(f)<br />

T9<br />

Vending Machine<br />

T10<br />

T13<br />

T16<br />

T19<br />

Transition<br />

(g)<br />

T22<br />

T11<br />

T25<br />

T28


2668 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Number <strong>of</strong> Redundant<br />

Variables<br />

Number <strong>of</strong> Redundant<br />

Variables<br />

14<br />

12<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

T1<br />

T1<br />

T3<br />

T7<br />

T5<br />

T13<br />

INRES Protocol<br />

T7<br />

T19<br />

T9<br />

T11<br />

Transition<br />

(h)<br />

T25<br />

TCP<br />

T31<br />

T37<br />

Transition<br />

Figure 4 Number <strong>of</strong> Redundant Variables Derived by K&M Method<br />

(i)<br />

T13<br />

T43<br />

T15<br />

T49<br />

T17<br />

T55<br />

TABLE 3<br />

REDUNDANT VARIABLES DERIVED BY K&M METHOD<br />

EFSM Model<br />

Number <strong>of</strong><br />

Redundant<br />

Variables<br />

Number <strong>of</strong> data<br />

dependence among<br />

redundant variables<br />

ATM 16 7<br />

Cashier 17 10<br />

Cruise Control 83 31<br />

Fuel Pump 117 28<br />

PrintToken 8 8<br />

Door Control 0 0<br />

Vending Machine 7 4<br />

INRES protocol 13 7<br />

TCP 139 78<br />

290 samples <strong>of</strong> transition in the nine models are<br />

collected to undergo comparative experiments on the<br />

number <strong>of</strong> definition variables contained in each<br />

transition and the number <strong>of</strong> data dependence among<br />

redundant variables, as is shown in Figure 5.<br />

© 2012 ACADEMY PUBLISHER<br />

Number <strong>of</strong> Data Dependence<br />

among Variables in Each<br />

Transition<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

0 2 4 6 8<br />

Number <strong>of</strong> Definition Variables in<br />

Each Transition<br />

Figure 5 Comparison <strong>of</strong> Number <strong>of</strong> Definition Variables and Number <strong>of</strong><br />

Data Dependence among Variables in Each Transition<br />

It can be seen from Figure 5 that the more the<br />

number <strong>of</strong> variables contained in each transition, the<br />

more the data dependence among variables; the more<br />

complex the transition structure. Figure 6 and Figure 7<br />

show the comparative experiments on the relationship<br />

between number <strong>of</strong> variables contained in each transition<br />

and the number <strong>of</strong> redundant variables, by using the<br />

method <strong>of</strong> K&M.<br />

Number <strong>of</strong> Redundant<br />

Variables in Each<br />

Transition<br />

Number <strong>of</strong> Redundant Variables<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

0 2 4 6 8<br />

Number <strong>of</strong> Definition Variables in Each<br />

Transition<br />

Figure 6 Scatter Diagram <strong>of</strong> Number <strong>of</strong> Definition Variables and<br />

Redundant Variables in Each Transition <strong>of</strong> Traditional Method<br />

35<br />

30<br />

25<br />

20<br />

15<br />

10<br />

5<br />

0<br />

1 14 27 40 53 66 79 92 105 118 131 144 157 170 183 196 209 222 235 248 261 274 287<br />

Transition<br />

Figure 7 Histogram <strong>of</strong> Number <strong>of</strong> Definition Variables and Redundant<br />

Variables in Each Transition <strong>of</strong> K&M Method<br />

Figure 6 and 7 show that the more the number <strong>of</strong><br />

definition variables contained in each transition, the more


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2669<br />

redundant variables. In Figure 7, 105 transitions have 0<br />

definition variable, 105 have 1 definition variable, and 80<br />

have two or more definition variables. Figure 7 shows<br />

that after sorting out the experiment data, since the 210 th<br />

transition, the redundant variables increase significantly.<br />

C. Results<br />

The two methods produce the same number <strong>of</strong> intratransition<br />

variable data dependence, but K&M method<br />

produces more redundant variables. These redundant<br />

variables lead to errors in the next phase and new<br />

redundancies.<br />

However, if the intra-transition definition variable is 0<br />

or 1 or many, or the average number <strong>of</strong> data dependence<br />

is very low in each transition, for instance, within each<br />

intra-transition <strong>of</strong> the Door Control model, the average<br />

number <strong>of</strong> data dependence is 0.416667, then the use <strong>of</strong><br />

K&M method can help to get all the data dependence, in<br />

other words, there is no need to use IaTDD method. If<br />

there’re relatively few definition variables, use variables<br />

and condition variables in EFSM model, each action<br />

sequence <strong>of</strong> transition is relatively simple. Therefore, the<br />

corresponding relationship between the variables is<br />

relatively simple. We can consider not use IaTDD<br />

method on condition that the focus <strong>of</strong> a research is not<br />

data, and redundancy as well as a small amount <strong>of</strong> errors<br />

can be tolerated. But when the intra-transition definition<br />

variables reaches 2 or more, K&M method produces<br />

more and more redundant variables, then the use <strong>of</strong> the<br />

proposed method in this paper is more appropriate. It is<br />

more simplifying and is a necessary method. Also,<br />

IaTDD method can be applied during pre-EFSM stage.<br />

When an EFSM input file finishes scanning, the intratransition<br />

data dependence is created. Even if one-pass<br />

scanning is performed, the time complexity is only<br />

decided by the number <strong>of</strong> statements. It is not timeconsuming,<br />

and can be completed by positive traverse <strong>of</strong><br />

all the statements in intra-transition. Therefore, it’s a<br />

feasible method.<br />

V. SUMMARIES<br />

Due to the problem that direct application <strong>of</strong> existing<br />

data dependence methods <strong>of</strong> EFSM model can cause<br />

redundant variables, this paper compares the intratransition<br />

data dependence method and the K&M<br />

methods, proves that the new method can reduce further<br />

redundancy, and is a necessary and feasible method,<br />

providing theoretical basis for follow-up study.<br />

With the application <strong>of</strong> model slicing in different<br />

sections, the qualitative description <strong>of</strong> intra-transition<br />

data dependence is our next subject <strong>of</strong> research.<br />

ACKNOWLEDGMENT<br />

We would like to acknowledge the generous financial<br />

support <strong>of</strong> Fundamental Research Funds for the Central<br />

Universities (ZZ1136).<br />

© 2012 ACADEMY PUBLISHER<br />

REFERENCES<br />

[1] Weiser M . Program slices: formal, psychological, and<br />

practical investigations <strong>of</strong> an automatic program<br />

abstraction method [D] . Ann Arbor: University <strong>of</strong><br />

Michigan, 1979<br />

[2] Mats P E, Heimdahl, Michael W, Whalen. Reduction and<br />

slicing <strong>of</strong> hierarchical state machines [A]. In Proc. Fifth<br />

ACM SIGSOFT Symposium on the Foundations <strong>of</strong><br />

S<strong>of</strong>tware Engineering [C]. Springer Verlag, 1997.<br />

[3] Mats P E, Heimdahl, Je_rey M, Thompson, Michael W,<br />

Whalen. On the e_ectiveness <strong>of</strong> slicing hierarchical state<br />

machines: A case study [A/J]. In EUROMICRO '98:<br />

Proceedings <strong>of</strong> the 24th Conference on EUROMICRO[C].<br />

IEEE Computer Society. USA, 1998, 10435<br />

[4] Savage P, Walters S, Stephenson M. Automated Test<br />

Methodology for Operational Flight Programs [A].<br />

Proceedings <strong>of</strong> IEEE Aerospace Conference [C]. 1997, 4:<br />

293-305<br />

[5] Dssouli R, Saleh K, Aboulhamid E, En-Nouaary A,<br />

Bourhfir C. Test Development For Communication<br />

Protocols: Towards Automation [J]. Computer Networks,<br />

1999, 31: 1835–1872<br />

[6] Korel B, Singh I, Tahat L, Vaysburg B. Slicing <strong>of</strong> state<br />

based models[A]. In IEEE International Conference on<br />

S<strong>of</strong>tware Maintenance (ICSM’03)[C]. USA: IEEE<br />

Computer Society Press Sept. 2003, 34–43<br />

[7] Miao Li, Zhang Dafang, Computing Backward Slice <strong>of</strong><br />

EFSMs[J]. <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, China, 2004,15:169-178<br />

[8] Shenghui Shi, Qunxiong Zhu, Wenxing Xu. Intra-<br />

Transition and Inter-Transition Data Dependence for<br />

EFSM[C]. 2011 International Conference on Computer<br />

Application and System Modeling (ICCASM 2011)<br />

[9] Korell B. Private communication, 2009<br />

[10] Korel B, Koutsogiannakis G, Tahat L H. Model-based test<br />

prioritization heuristic methods and their evaluation [A]. In<br />

A-MOST ’07: Proceedings <strong>of</strong> the 3rd international<br />

workshop on Advances in model-based testing[C]. USA:<br />

ACM, 2007, 34–43<br />

[11] Strobl F, Wisspeintner A. Specification <strong>of</strong> an elevator<br />

control system – an aut<strong>of</strong>ocus case study[R]. Technical<br />

Report TUM-I9906, Technische Universität München,<br />

1999.<br />

[12] Bourhfir C, Dssouli R, Aboulhamid E, Rico N. Automatic<br />

executable test case generation for extended finite state<br />

machine protocols [A]. In IWTCS’97[C]. 1997, 75–90<br />

[13] Zaghal R Y, Khan J I. EFSM/SDL modeling <strong>of</strong> the original<br />

TCP standard (RFC793) and the congestion control<br />

mechanism <strong>of</strong> TCP Reno[R]. Technical Report TR2005-<br />

07-22, Internetworking and Media Communications<br />

Research Laboratories, Department <strong>of</strong> Computer Science,<br />

Kent State University, 2005.<br />

Shenghui Shi 1974-, China, Ph.D,<br />

Lecturer in Beijing University <strong>of</strong><br />

Chemical Technology. Area <strong>of</strong><br />

Research: Slicing Technology,<br />

Compiler Technology, Fault<br />

Detection, Safety Analysis.<br />

Email: shish@mail.buct.edu.cn


2670 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

© 2012 ACADEMY PUBLISHER<br />

Qunxiong Zhu 1960-, China, Ph.D,<br />

Pr<strong>of</strong>essor, Dean <strong>of</strong> College <strong>of</strong><br />

Information Science and Technology in<br />

Beijing University <strong>of</strong> Chemical<br />

Technology. Area <strong>of</strong> Research: Fault<br />

Detection, Artificial Intelligence, Data<br />

Mining, Decision-Making and Control<br />

Research Area.<br />

Email: zhuqx@mail.buct.edu.cn<br />

Zhiqiang Geng 1973-, China, Ph.D,<br />

Associate Pr<strong>of</strong>essor in Beijing University<br />

<strong>of</strong> Chemical Technology. Area <strong>of</strong><br />

Research: Artificial Intelligence, Control<br />

Research Area.<br />

Email: gengzhiqiang@mail.buct.edu.cn<br />

Wenxing Xu 1982-, China, Ph.D<br />

candidate in Beijing University <strong>of</strong><br />

Chemical Technology. Area <strong>of</strong> Research:<br />

Intelligent Computing.<br />

Email: estellaxu@163.com


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2671<br />

Research <strong>of</strong> ArtemiS in a Ring-Plate Cycloid<br />

Reducer<br />

Bing Yang 1,2<br />

1.School <strong>of</strong> Mechanical Engineering, Dalian Jiaotong University, Dalian, China<br />

2.State Key Laboratory <strong>of</strong> Mechanical Transmission, Chongqing University, Chongqing, China<br />

Email: yangbing@djtu.edu.cn<br />

Yan Liu 3,2<br />

3.School <strong>of</strong> Traffic and Transportation Engineering, Dalian Jiaotong University, Dalian, China<br />

Email: ly@djtu.edu.cn<br />

Guixin Ye<br />

Xiamen Dianzhu Environmental Protection Co, LTD., Xiamen, China<br />

Email: yeguixin2009@163.com<br />

Abstract—The noise and vibration <strong>of</strong> a ring-plate pincycloid<br />

gear reducer driven by two motors are measured<br />

respectively at different rotational speeds and different<br />

loads. The data are collected and analyzed using the HEAD<br />

acoustics multi-channel noise test and analysis system. The<br />

ArtemiS is a set <strong>of</strong> analysis system for improving product<br />

quality in all areas <strong>of</strong> sound and vibration. From the<br />

frequency spectrum analysis, we can draw the following<br />

conclusions: The vibration acceleration <strong>of</strong> input shaft <strong>of</strong> X<br />

direction increase with the rotational speed and loads goes<br />

up. The vibration acceleration <strong>of</strong> input shaft <strong>of</strong> Z direction<br />

doesn’t vary much with the rotational and loads vary. The<br />

vibration acceleration <strong>of</strong> output shaft <strong>of</strong> Z direction doesn’t<br />

vary much with the rotational and loads vary. The vibration<br />

acceleration <strong>of</strong> input shaft <strong>of</strong> X direction increase with the<br />

rotational speed and speed goes up. When the rotational<br />

speed is certain, the sound pressure level curves have<br />

basically the same variation trends. The loudness increases<br />

as the speed goes up. The loudness mainly concentrates on<br />

low frequency bands. The sharpness decreases as the speed<br />

goes up.<br />

Index Terms—ring-plate cycloid gear reducer; ArtemiS;<br />

noise<br />

I. INTRODUCTION<br />

Noise pollution, water pollution and air pollution are<br />

the world’s three major environmental pollution problems.<br />

Mechanical noise becomes one <strong>of</strong> the main noise sources<br />

with the development <strong>of</strong> the industry. The mechanical<br />

noise hazards on the human body are various. Noise can<br />

cause ear discomfort, such as tinnitus, hearing loss, sleep<br />

disturbances and other harmful effects. According to<br />

clinical statistics, if people work and live in high noise<br />

environment chronically, they are easily to get deafness.<br />

Noise can reduce efficiency. The study found that noise<br />

The work is supported by the Fundamental Research Funds <strong>of</strong> the State<br />

Key Laboratory <strong>of</strong> Mechanical Transmission, Chongqing University,<br />

China. (Project No. SKLMT-KFKT-200902)<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2671-2677<br />

can make people feel upset and they can not concentrate<br />

on their work. Noise can also cause nervous system<br />

disorders such as mental disorders, endocrine disorders or<br />

even the accident rate increased. Noisy environment<br />

make people dizziness, headache, insomnia, dreaminess,<br />

malaise, memory loss and fear, irritability, low selfesteem<br />

and even insanity. Noise can harm children's<br />

physical and mental health. According to statistics, in<br />

today's world there are more than 70 million deaf, a<br />

considerable part <strong>of</strong> which is caused by the noise.<br />

1. output shaft 2. cycloid gear<br />

3. ring-plate with pin gear 4. input shaft<br />

Figure 1. Transmission sketch <strong>of</strong> the Ring-Plate Cycloid reducer<br />

A ring-plate-type cycloid gear reducer driven by two<br />

motors provides more advantages, including low volume,<br />

light weight, a high reduction ratio, smooth transmission<br />

and so on[1-3]. The transmission sketch diagram <strong>of</strong> the<br />

ring-plate-type cycloid gear reducer is shown in Fig. 1[4].


2672 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Two input shafts are driven by two motors respectively.<br />

The ring-plates mounted on the input shaft rotate and the<br />

cycloid gear rotates, then the output shaft rotates. At<br />

present, the noise and vibration study <strong>of</strong> the ring-plate-<br />

crank ring-plate-type cycloid reducer hasn’t been studied.<br />

In this paper, the noise and vibration tests <strong>of</strong> the ringplate-type<br />

cycloid gear reducer are made and the<br />

vibration and noise characteristics <strong>of</strong> ring-plate-type<br />

cycloid gear reducer are obtained.<br />

II. TEST CONTENT<br />

A.. Test Equipments<br />

The HEAD acoustics multi-channel noise test and<br />

analysis system is selected for the measurement. The<br />

system is made <strong>of</strong> SQLabⅡdata acquisition recorder,<br />

HMS Ⅲ artificial head, PEQ ⅣDigital<br />

Equalizer,<br />

Microphones and acceleration sensors, ArtemiS s<strong>of</strong>tware<br />

and so on[6]. The SQLabⅡdata acquisition recorder is a<br />

multi-channel analog and digital I/O front end with a<br />

variety <strong>of</strong> available conditioning. The HMS Ⅲartificial<br />

head is a stand-alone, mobile measuring device that is<br />

ready to perform aurally accurate binaural recordings<br />

immediately after powering up. The programmable<br />

equalizer PEQ Ⅳ provides the highest quality<br />

reproduction <strong>of</strong> aurally-accurate recordings. The data<br />

collection and analysis process <strong>of</strong> the HEAD acoustics<br />

multi-channel noise test and analysis system is shown in<br />

Fig. 2.<br />

Figure 3. Interface <strong>of</strong> Artemis<br />

Figure 2. Data collection and analysis process<br />

type cycloid reducer need to be studied. Some studies <strong>of</strong><br />

the ring-plate type reducer and planetary gear reducer<br />

have been done[5-7]. However, the noise <strong>of</strong> the double<br />

ring-plate-type cycloid gear reducer sensor SQLab Ⅱ<br />

ArtemiS<br />

© 2012 ACADEMY PUBLISHER<br />

The ArtemiS is the abbreviation <strong>of</strong> Advanced Research<br />

Technology for Measurement and Investigation <strong>of</strong> Sound<br />

and Vibration. The ArtemiS is a recording, analysis and<br />

playback s<strong>of</strong>tware, which was developed to deal with<br />

tasks in the field <strong>of</strong> sound and vibration quickly and<br />

efficiently. Simultaneous listening, analyzing and<br />

interactive filtering is <strong>of</strong> vital importance when using<br />

ArtemiS. The ArtemiS improves and expedites your<br />

testing process. Its intuitive interface and ease <strong>of</strong> use<br />

allow for a quick test configuration and analysis. A<br />

analysis interface <strong>of</strong> ArtemiS is shown in Fig. 3.<br />

B. Test Setup and Recording<br />

For the measurement <strong>of</strong> noise, a microphone is placed<br />

vertically 1m above the reducer, a microphone is placed<br />

horizontally 1m away from the reducer.<br />

Four vibration test points were positioned in the test<br />

procedure. The location <strong>of</strong> the vibration test points is<br />

shown in Fig. 4. The detail information <strong>of</strong> test points is<br />

shown in Table I.<br />

TABLE I.<br />

TEST POINT LOCATION EXPLANATION<br />

Point name Test point location<br />

1<br />

2<br />

3<br />

On the reducer, near the input shaft(X<br />

direction)<br />

On the reducer, near the output shaft(Z<br />

direction)<br />

On the reducer, near the output shaft(X<br />

direction)<br />

4 On the reducer (Z direction)<br />

01 Noise test, 1m vertically above the reducer<br />

02<br />

PEQ Ⅳ<br />

Noise test, 1m horizontally away from the<br />

reducer


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2673<br />

Figure 4. Test point location<br />

III. TEST RESULTS AND ANALYSIS<br />

A. Modal Analysis <strong>of</strong> Main Parts<br />

The motion differential equation for the ring-plate pincycloid<br />

gear reducer system can be expressed as<br />

{ & x&(<br />

t)<br />

} + [ C]<br />

{ x&<br />

( t)<br />

} + [ K]<br />

{ x(<br />

t)<br />

} { F(<br />

) }<br />

[ M ]<br />

= t<br />

(1)<br />

Here, [M] is mass matrix; [C] is damping matrix; [K] is<br />

stiffness matrix; {x} is displacement vector; { x& } is<br />

velocity vector; { x& & } is acceleration vector; and {F} is<br />

excitation vector[8,9].<br />

{} Let<br />

] ][ x [ ϕ q =<br />

, [ϕ ]<br />

is vibration mode matrix, [q]<br />

is modal matrix, the equation (1) can be expressed as:<br />

2 ( [ K ] − w [ M ] + j [ C]<br />

) [ ϕ][<br />

q]<br />

= { F}<br />

ω (2)<br />

Thus, the vibration characteristics <strong>of</strong> the parts can be<br />

obtained through the equation (2), including the natural<br />

frequencies and the corresponding vibration modes. The<br />

three dimensional model <strong>of</strong> the cycloid gear <strong>of</strong> the<br />

reducer is established and the meshing <strong>of</strong> the cycloid gear<br />

is shown in Fig. 5.<br />

Figure 5. Meshing <strong>of</strong> cycloid gear<br />

The modality analysis is carried out on the three model<br />

by the use <strong>of</strong> ANSYS. The order <strong>of</strong> the extracted <strong>of</strong><br />

modal is 10 and the method <strong>of</strong> the extracted is block<br />

Lanczos. The first five order nature frequencies <strong>of</strong><br />

© 2012 ACADEMY PUBLISHER<br />

cycloid gear are shown in Table Ⅱ . The first order<br />

vibration model <strong>of</strong> the cycloid gear is shown Fig. 6.<br />

TABLEⅡ.<br />

NATURAL FREQUENCY OF CYCLOID GEAR<br />

order 1 2 3 4 5<br />

f[Hz] 357 515 824 1565 1826<br />

Figure 6. Vibration model <strong>of</strong> cycloid gear<br />

B.Noise Frequency Spectrum Analysis<br />

Table Ⅲ shows the sound pressure level <strong>of</strong> different<br />

work conditions. Fig. 7 shows the noise frequency<br />

spectrum diagram at 500 rotations per minute <strong>of</strong> test point<br />

01 under the loads <strong>of</strong> 50%, 70% and 80% <strong>of</strong> the full load.<br />

Fig. 8 shows the noise frequency spectrum diagram at<br />

750 rotations per minute <strong>of</strong> test point 01 under different<br />

loads. Fig. 9 shows the noise frequency spectrum diagram<br />

at 1000 rotations per minute <strong>of</strong> test point 01. Fig. 10<br />

shows the noise frequency spectrum diagram at 500<br />

rotations per minute <strong>of</strong> test point 02. Fig. 11 shows the<br />

noise frequency spectrum diagram at 750 rotations per<br />

minute <strong>of</strong> test point 02.<br />

Rotation<br />

speed<br />

TABLE Ⅲ.<br />

SOUND PRESSURE LEVEL<br />

load<br />

SPL <strong>of</strong> test<br />

point 01 /dB(A)<br />

SPL <strong>of</strong> test<br />

point 02 /dB(A)<br />

500 50% 69.1 68.0<br />

500 70% 69.9 68.9<br />

500 80% 70.4 69.8<br />

750 50% 74.7 73.0<br />

750 75% 75.6 74.5<br />

750 80% 76.0 75.0<br />

1000 50% 77.3 76.2<br />

1000 70% 78.0 76.9<br />

1000 80% 79.2 78.2


2674 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

SPL/dB(A)<br />

SPL/dB(A)<br />

SPL/dB(A)<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

50 80 125 200 315 500 800 1250 2000 3150<br />

Frequency/Hz<br />

50% load<br />

70% load<br />

80% load<br />

Figure 7. Spectrum diagram <strong>of</strong> different loads at the speed <strong>of</strong><br />

500r/min <strong>of</strong> test point 01.<br />

50 80 125 200 315 500 800 1250 2000 3150<br />

Frequency/Hz<br />

50% load<br />

70% load<br />

80% load<br />

Figure8. Spectrum diagram <strong>of</strong> different loads at the speed <strong>of</strong><br />

750r/min <strong>of</strong> test point 01.<br />

50% load<br />

70% load<br />

80% load<br />

50 80 125 200 315 500 800 1250 2000 3150<br />

Frequency/Hz<br />

Figure 9. Spectrum diagram <strong>of</strong> different loads at the speed <strong>of</strong><br />

1000r/min <strong>of</strong> test point 01.<br />

© 2012 ACADEMY PUBLISHER<br />

SPL/dB(A)<br />

SPL/dB(A)<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

50 80 125 200 315 500 800 1250 2000 3150<br />

Frequency/Hz<br />

50% load<br />

70% load<br />

80% load<br />

Figure 10. Spectrum diagram <strong>of</strong> different loads at the speed <strong>of</strong><br />

500r/min <strong>of</strong> test point 02.<br />

50 80 125 200 315 500 800 1250 2000 3150<br />

Frequency/Hz<br />

50% load<br />

70% load<br />

80% load<br />

Figure 11. Spectrum diagram <strong>of</strong> different loads at the speed <strong>of</strong><br />

750r/min <strong>of</strong> test point 02.<br />

From the above diagrams, we can know the followings.<br />

When the rotational speed is certain, the sound pressure<br />

level curves have basically the same variation trend. At<br />

the speed <strong>of</strong> 500 rotations per minute, the main noise<br />

frequency band <strong>of</strong> test point 01 is from 500 to 1250Hz.<br />

At the speed <strong>of</strong> 750 rotations per minute, the main noise<br />

frequency band <strong>of</strong> test point 01 is from 400 to 1250Hz.<br />

At the speed <strong>of</strong> 1000 rotations per minute, the main noise<br />

frequency band <strong>of</strong> test point 01 is from 400 to 1600Hz.<br />

The sound pressure level <strong>of</strong> test point 01 is a little bit<br />

bigger than that <strong>of</strong> mic02. The trend <strong>of</strong> test point 02<br />

sound pressure level is basically same as that <strong>of</strong> 01. The<br />

sound pressure level <strong>of</strong> the two test points goes up with<br />

the increase <strong>of</strong> the rotational speed.<br />

C. Vibration Frequency Spectrum Analysis<br />

Fig. 12 to 15 shows the vibration frequency spectrum<br />

diagram at 750 rotations per minute <strong>of</strong> test point 1,2,3,4<br />

under the loads <strong>of</strong> 50%, 70% and 80% <strong>of</strong> the full load.<br />

When the rotational speed is certain, the trends <strong>of</strong><br />

vibration acceleration curves are basically with the<br />

changing <strong>of</strong> load. The peak frequencies are basically the<br />

same, but the peak values vary.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2675<br />

Vibration acceleration/mg<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

40 63 100 160 250 400 630 1000 1600 2500<br />

Frequency/Hz<br />

50% load<br />

70% load<br />

80% load<br />

Figure 12. Spectrum diagram <strong>of</strong> different loads at the speed <strong>of</strong>750r/min<br />

<strong>of</strong> test point 1.<br />

Vibration acceleration/mg<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

40 63 100 160 250 400 630 1000 1600 2500<br />

Frequency/Hz<br />

50% load<br />

70% load<br />

80% load<br />

Figure 13. Spectrum diagram <strong>of</strong> different loads at the speed <strong>of</strong> 750r/min<br />

<strong>of</strong> test point 2.<br />

Vibration acceleration/mg<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

50% load<br />

70% load<br />

80% load<br />

40 63 100 160 250 400 630 1000 1600 2500<br />

Frequency/Hz<br />

Figure 14. Spectrum diagram <strong>of</strong> different loads at the speed <strong>of</strong> 750r/min<br />

<strong>of</strong> test point 3.<br />

© 2012 ACADEMY PUBLISHER<br />

Vibration acceleration/mg<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

40 63 100 160 250 400 630 1000 1600 2500<br />

Frequency/Hz<br />

50% load<br />

70% load<br />

80% load<br />

Figure 15. spectrum diagram <strong>of</strong> different loads at the speed <strong>of</strong> 750r/min<br />

<strong>of</strong> test point 4.<br />

From the above diagrams, we can know the followings.<br />

The vibration acceleration <strong>of</strong> input shaft <strong>of</strong> X direction<br />

increase with the rotational speed and loads goes up. The<br />

vibration acceleration <strong>of</strong> input shaft <strong>of</strong> Z direction doesn’t<br />

vary much with the rotational and loads vary. The<br />

vibration acceleration <strong>of</strong> output shaft <strong>of</strong> Z direction<br />

doesn’t vary much with the rotational and loads vary. The<br />

vibration acceleration <strong>of</strong> input shaft <strong>of</strong> X direction<br />

increase with the rotational speed and speed goes up.<br />

D. Sound Quality Analysis<br />

From the above analysis, we found that the sound<br />

pressure level <strong>of</strong> the ring-plate pin-cycloid gear reducer is<br />

not too high but the people around the reducer still feel<br />

uncomfortable. So, the feeling <strong>of</strong> people should be taken<br />

into consideration besides sound pressure level. That is,<br />

psychoacoustics analysis is necessary. Psychoacoustics is<br />

the scientific study <strong>of</strong> sound perception. More<br />

specifically, it is the branch <strong>of</strong> science studying the<br />

psychological and physiological responses associated<br />

with sound. There are many aspects in psychoacoustics<br />

field such as loudness, sharpness, fluctuation strength,<br />

roughness and etc..<br />

Loudness is the attribute <strong>of</strong> auditory sensation in terms<br />

<strong>of</strong> which sounds can be ordered on a scale extending<br />

from quiet to loud. Loudness analysis can lead to more<br />

precise results than magnitude estimations. For this<br />

reason the loudness level is calculated. Loudness can be<br />

expressed as[10]<br />

∫ ′ N N dz (3)<br />

= 24<br />

0<br />

Where N’ is specific loudness which can be expressed as<br />

0.23<br />

0.23<br />

⎛ E ⎡<br />

⎤<br />

TQ ⎞ ⎛<br />

⎞<br />

⎢⎜<br />

E<br />

N′<br />

= 0.08<br />

+ ⎟ ⎥<br />

⎜<br />

⎟ 0.5 0.5 -1<br />

⎢⎜<br />

⎟<br />

⎝ E 0 ⎠<br />

⎥<br />

⎣⎝<br />

E TQ ⎠ ⎦<br />

(4)


2676 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Where ETQ is the excitation at threshold in quiet and E0<br />

is the excitation that corresponds to the reference<br />

intensity I0 =10 -12 W/m 2 .<br />

Loudness(sone/Bark)<br />

Loudness(sone/Bark)<br />

Loudness(sone/Bark)<br />

4<br />

3<br />

2<br />

1<br />

0<br />

4<br />

3<br />

2<br />

1<br />

0<br />

4<br />

3<br />

2<br />

1<br />

0<br />

500 r/m<br />

750 r/m<br />

1000 r/m<br />

0 2 4 6 8 10 12 14 16 18 20 22<br />

Frequency(Bark)<br />

Figure 16. Point 01 loudness <strong>of</strong> different speeds at 50% load.<br />

500 r/m<br />

750 r/m<br />

1000 r/m<br />

0 2 4 6 8 10 12 14 16 18 20 22<br />

Frequency(Bark)<br />

Figure 17. Point 01 loudness <strong>of</strong> different speeds at 70% load.<br />

500 r/m<br />

750 r/m<br />

1000 r/m<br />

0 2 4 6 8 10 12 14 16 18 20 22<br />

Frequency(Bark)<br />

Figure 18. Point 01 loudness <strong>of</strong> different speeds at 80% load.<br />

Fig. 16 to 18 shows the loudness <strong>of</strong> test point 01 at<br />

different speeds under the loads <strong>of</strong> 50%, 70% and 80% <strong>of</strong><br />

the full load. From the diagrams, we can know the<br />

followings. The loudness <strong>of</strong> test point 01 increases as the<br />

© 2012 ACADEMY PUBLISHER<br />

speed goes up. The loudness mainly concentrates on low<br />

frequency bands. The trends <strong>of</strong> three diagrams are<br />

basically same.<br />

Sharpness is a sensation which can be considered<br />

separately, and it is possible, for example, to compare the<br />

sharpness <strong>of</strong> one sound with the sharpness <strong>of</strong> another.<br />

One <strong>of</strong> the important variables influencing the sensation<br />

<strong>of</strong> sharpness is the spectral contents. The Sharpness can<br />

be expressed as[7]<br />

24<br />

'<br />

∫ N ( z)<br />

g(<br />

z)<br />

dz<br />

0<br />

S = 0.11<br />

(5)<br />

24<br />

'<br />

N ( z)<br />

dz<br />

∫<br />

0<br />

Where S is the sharpness to be calculated and the<br />

denominator gives the total loudness N which has already<br />

been calculated.<br />

Sharpness(acum)<br />

Sharpness(acum)<br />

3.1<br />

3<br />

2.9<br />

2.8<br />

2.7<br />

2.6<br />

2.5<br />

2.4<br />

3.2<br />

3.1<br />

3<br />

2.9<br />

2.8<br />

2.7<br />

2.6<br />

2.5<br />

500 r/m<br />

750 r/m<br />

1000 r/m<br />

0 4 7 10 14 17 21 24<br />

Time(s)<br />

Figure 19. Point 01sharpness <strong>of</strong> different speeds at 50% load.<br />

500 r/m<br />

750 r/m<br />

1000 r/m<br />

0 4 7 10 14 17 21 24<br />

Time(s)<br />

Figure 20. Point 01sharpness <strong>of</strong> different speeds at 70%load.<br />

The sharpness <strong>of</strong> test point 01 at the speed <strong>of</strong> 500<br />

rotations per minute is higher than that <strong>of</strong> 750 rpm and<br />

1000 rpm, which is very different from the trends <strong>of</strong> the<br />

sound pressure level and vibration acceleration. The trend<br />

<strong>of</strong> sharpness curves <strong>of</strong> test point 01 at the speed <strong>of</strong> 750<br />

rpm is basically same as that <strong>of</strong> 1000 rpm. The sharpness<br />

<strong>of</strong> the test point 01 at the speed 500 rpm is 3.02 acum.<br />

The sharpness <strong>of</strong> the test point at the speed 750 rpm is


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2677<br />

2.78 acum. The sharpness <strong>of</strong> the test point 01 at the speed<br />

500 rpm is 2.77 acum.<br />

Sharpness(acum)<br />

3.2<br />

3.1<br />

3<br />

2.9<br />

2.8<br />

2.7<br />

2.6<br />

2.5<br />

2.4<br />

500 r/m<br />

750 r/m<br />

1000 r/m<br />

0 4 7 10 14 17 21 24<br />

Time(s)<br />

Figure 21. Point 01sharpness <strong>of</strong> different speeds at 80%load.<br />

Fig. 19 to 21 shows the sharpness <strong>of</strong> test point 01 at<br />

different speeds under the loads <strong>of</strong> 50%, 70% and 80% <strong>of</strong><br />

the full load. From the diagrams, we can know the<br />

followings. The sharpness <strong>of</strong> test point 01 decreases as<br />

the speed goes up.<br />

IV. CONCLUSION<br />

A ring-plate-type cycloid gear reducer is a new type<br />

reducer. The noise and vibration study <strong>of</strong> the reducer is<br />

very important. In this paper, the noise and vibration tests<br />

<strong>of</strong> the ring-plate-type cycloid gear reducer are made and<br />

the vibration and noise characteristics <strong>of</strong> ring-plate-type<br />

cycloid gear reducer are obtained. The three dimensional<br />

model <strong>of</strong> the cycloid gear <strong>of</strong> the ring-plate-type cycloid<br />

reducer with is established, the modality analysis are<br />

carried out on the model by the use <strong>of</strong> ANSYS. The<br />

natural frequencies and the corresponding vibration<br />

models <strong>of</strong> the cycloid gear are gained. The sound quality<br />

<strong>of</strong> the reducer is also analyzed.<br />

ACKNOWLEDGMENT<br />

This study is supported by the Fundamental Research<br />

Funds <strong>of</strong> the State Key Laboratory <strong>of</strong> Mechanical<br />

© 2012 ACADEMY PUBLISHER<br />

Transmission, Chongqing University, China.( Project No.<br />

SKLMT-KFKT-200902)<br />

REFERENCES<br />

[1] W.D. He and X. Li, “Study on double crank ring-platetype<br />

cycloid drive,” Chinese <strong>Journal</strong> <strong>of</strong> Mechanical<br />

Engineering, vol.36,pp.84-88. May 2000.<br />

[2] L.X. Li and X. Li, “Experimental study <strong>of</strong> double crank<br />

ring-plate-type pin-cycloidal gear planetary drive,”<br />

<strong>Journal</strong> <strong>of</strong> Dalian Railway Institute, vol. 26,pp.1-4.<br />

January 2005.<br />

[3] Kasap, S and K. Benkrid, “ Parallel processor design<br />

and implementation for molecular dynamics simulations<br />

on a FPGA-Based supercomputer,” <strong>Journal</strong> <strong>of</strong> Computers,,<br />

vol. 7(6),pp.1312-1328. 2012.<br />

[4] X. Li and W. D. He, “A new cycloid drive with high-load<br />

capacity and high efficiency,” ASME <strong>Journal</strong> <strong>of</strong><br />

Mechanical Design, vol.126,pp.1683-686. April 2004.<br />

[5] T.J. Lin, Y.J. Liao, et al. , “Numerical simulation and<br />

experimental study on radiation noise <strong>of</strong> double-ring gear<br />

reducer,” <strong>Journal</strong> <strong>of</strong> Vibration and Shock, vol.29 ,pp.43-<br />

47. March 2010.<br />

[6] Dyrkolbotn, G.O., K. Wold and E. Snekkenes , “ Layout<br />

dependent phenomena a new side-channel power mode,”<br />

<strong>Journal</strong> <strong>of</strong> Computers, vol.7(4),pp.827-837. 2012.<br />

[7] C.C. Zhu, D.T. Qin, et al. , “ Study on surface noise<br />

distribution <strong>of</strong> three-ring reducer,” <strong>Journal</strong> <strong>of</strong> Chongqing<br />

University(Natural Science Edition), vol.23,pp.18-21.<br />

April 2000.<br />

[8] HEAD acoustics, “ArtemiS tool packs,” Application note,<br />

in press. March 2006.<br />

[9] Xinyu D. and G. Guowei, “ Elementary application <strong>of</strong><br />

geometry face modeling under VRML complex object<br />

muster,” <strong>Journal</strong> <strong>of</strong> Computers,, vol. 6(4),pp.683-690.<br />

2011.<br />

[10] E. Zwicker and H. Fastl, “Psychoacoustics: Facts and<br />

Models,” 2nd ed., NewYork :Springer, 1999.<br />

Bing Yang was born in 1974. She received her M.S. degree in<br />

Dalian Universtity <strong>of</strong> Technology in 2003.Her current research<br />

interests include noise and vibration control, industrial<br />

engineering.<br />

Yan Liu was born in 1956. He is an pr<strong>of</strong>essor in Dalian<br />

Jiaotong University. His current research interests include noise<br />

and vibration control, vehicle engineering.<br />

.


2678 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

A New Access Control Model for Manufacturing<br />

Grid<br />

Zhihui Ge, Taoshen Li<br />

School <strong>of</strong> computer science, Electronics and Information, Guangxi University, Nanning, China, 530004<br />

Email: gezhihui@foxmail.com<br />

Abstract—In order to protect the sensitive information in<br />

collaborative manufacturing grid environment, an access<br />

control solution was proposed to satisfy the inherent<br />

dynamic natures <strong>of</strong> the Manufacturing Grid, including<br />

dynamic Business Flow and system environment. Activity is<br />

introduced to encapsulate role and permission. Activity state,<br />

activity hierarchy and activity dependence are used to<br />

provide dynamic authorization and flexible multigranularity<br />

permission management, which can get adapted<br />

to the dynamic, flexible modern business process. UNIX-like<br />

permission can guarantee default minimum<br />

read/write/delete permissions. This proposed model can<br />

meet the need <strong>of</strong> MG.<br />

Index Terms—manufacturing grid, access control, RBAC,<br />

task context, environment context<br />

I. INTRODUCTION<br />

Manufacturing grid is such kind <strong>of</strong> platform, which can<br />

integrate various resources to form a giant “virtual<br />

computer”, provided for modern enterprise. In this<br />

“virtual organization”(VO), users can share resources and<br />

cooperate with problem solving. So, manufacturing grid<br />

has not only the same features as traditional network, but<br />

also has high dynamics, accurate organization, large scale<br />

etc.<br />

As a mass customized distributed cooperation system,<br />

there are lots <strong>of</strong> data, which may come from different<br />

users, departments, enterprises, to be processed in<br />

manufacturing grid. And all the data are associated with<br />

fund, cost, product, project process and staff management<br />

etc privacy information. So how to guarantee the security<br />

<strong>of</strong> those data is very challenging. As an important<br />

component <strong>of</strong> security, access control can prevent data<br />

suffering from illegal modification and damage.<br />

Figure 1. Cooperation in VO among Enterprises<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2678-2686<br />

Figure 1 shows a typical scenario, within which<br />

multiple manufacturing enterprises cooperate with each<br />

other based on virtual organization.<br />

We assume enterprise A has found some opportunities<br />

in the market. In order to response quickly, A authorize B<br />

and C to complete the design <strong>of</strong> components and the final<br />

product integration. When the design work is completed,<br />

A delegates the manufacturing task to D. During this<br />

commercial activity, multiple enterprises associate and<br />

cooperate with each other through resources sharing and<br />

division <strong>of</strong> labor. Different services provide by various<br />

enterprises form a temporary virtual organization, once<br />

the manufacturing activity ends, the VO will naturally<br />

dissolved.<br />

During the phases <strong>of</strong> cooperation, in order to ensure<br />

the final product satisfied with the primitive requirement,<br />

The staff participated in the collaborative design work<br />

have to communicate with each other, and the manager<br />

also needs to track and control the project process,<br />

coordinates developers and resources. All the tasks<br />

mentioned above need mutual cross-domain access.<br />

However, each enterprise joined in the VO has their<br />

individual security requirements and access control<br />

policy.<br />

In this paper, a context-aware access control model is<br />

proposed, which can effectively support the<br />

interoperability with dynamic changing right polices for<br />

collaboration in manufacturing grid environment.<br />

II. RELATED WORK<br />

Researchers have done many works in the field <strong>of</strong> grid.<br />

Grid Security Infrastructure (GSI)[3] is the essential<br />

middleware for authentication in grid environment. GSI<br />

maps the global user who needs to access resources to an<br />

account on local resource servers. Because the giant<br />

amount resources and users in grid environment, the<br />

mapping table will also be huge, furthermore GSI does<br />

not have effective global/local permission management<br />

scheme. Ian Foster etc proposed the Community<br />

Authorization Service (CAS)[4]. CAS allows resource<br />

providers to delegate some <strong>of</strong> the authority for<br />

maintaining fine-grained access control policies to<br />

communities, while still maintaining ultimate control<br />

over their resources. In order to gain access to a CASmanaged<br />

community resource, a user must first acquire a<br />

capability from the CAS server. So the final permission<br />

assigned to user is an intersection <strong>of</strong> VO (Virtual<br />

Organization) and resource provider. But CAS is static


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2679<br />

delegation <strong>of</strong> authority, which can not satisfy the<br />

requirement <strong>of</strong> dynamic authorization.<br />

There are lots <strong>of</strong> research works on extension <strong>of</strong><br />

traditional RBAC in grid environment. The model<br />

proposed in Ref[5] can provide dynamic permission<br />

according to gird environment context, but drawback is<br />

the dynamic changes <strong>of</strong> task in manufacturing project are<br />

not considered.<br />

Recent years, along with the rapid development <strong>of</strong><br />

manufacturing grid, some access control models are<br />

successively proposed. In order to support interaction<br />

between global and local, dynamic and static security<br />

strategies in dynamic heterogeneous manufacturing grid,<br />

Ref[6] proposes an extension method for RBAC. The<br />

model is based on CAS, but it is too complicated and can<br />

not effectively reflect the changes <strong>of</strong> environment context<br />

so as to control view <strong>of</strong> CAD model.<br />

III. GROUP-ACTIVITY BASED ACCESS CONTROL MODEL<br />

A. Design Philosophy<br />

The access control model we designed is showed in<br />

Figure 2, which is an activity-centered, encapsulated with<br />

role and right. The work flow can easily be organized and<br />

coordinated to form a global management and dynamic<br />

authorization. The group provided autonomous<br />

management and UNIX-like permission configuration all<br />

can improve the efficiency <strong>of</strong> administrator.<br />

Figure 2. GA_RBAC Access Control Model<br />

B. Definitions<br />

Definition 1. Object and UNIX-like permission<br />

object base class: The most important part in access<br />

control system is to determine the object to be controlled.<br />

But all data and resources are dynamically increasing in<br />

manufacturing grid, and most part <strong>of</strong> them are stored in<br />

database. It’s very hard for the administrator to assign all<br />

the permisssions. So we define the following UNIX-like<br />

configuration for objects.<br />

obj_id and owner_id are object and owner identity<br />

respectively. unix_perms is 32 bit integer, which records<br />

the read/write/delete access rights. A shared object may<br />

be composed <strong>of</strong> multiple objects and organized in<br />

hierarchical structure. The products designed by different<br />

designers, who are affiliated with different enterprises,<br />

belong to different organizations. The owner_group_set<br />

is used for such situation, which can solve rights<br />

inheriting problem <strong>of</strong> sub-objects.<br />

© 2012 ACADEMY PUBLISHER<br />

Definition 2. Subject: subject is an object, which is<br />

assigned some role and participated in collaborative<br />

activities with corresponding permission. Subject initiates<br />

resource request, it is a abstract concept, which can be<br />

person, program and even group.<br />

Definition 3. Groups and Group Hierarchy (GH):<br />

one enterprise is composed <strong>of</strong> multiple departments<br />

which are associated with different roles. The<br />

organizations in VO may be enterprises and departs<br />

coming from different domains, so we give the following<br />

definition to describe this relation.<br />

gid is group identity; super_gid is parent group <strong>of</strong> gid;<br />

u_set and r_set are user set and corresponding role set <strong>of</strong><br />

group respectively.<br />

Definition 4. User: user is a staff with some role and<br />

taking part in some activity.<br />

uid is user identity, group_set is the user’s group;<br />

r_set is role set assigned to user.<br />

Definition 5. Group-User Relation (GUA): GUA<br />

indicates the many-to-one relation between user and<br />

group set.<br />

Definition 6. Role and Role Hierarchy (RH): Role is<br />

the entity who owns rights, which is related to task<br />

function, responsibility etc semantics.<br />

rid is the role identity, super_rset is the role set<br />

inherited. group_set and u_set are group and user set<br />

respectively. actset is activity set the role participated in.<br />

In manufacturing grid, role can be system role such as<br />

administrator, service provider, service caller etc, and it<br />

also can be set according to the specific task and position,<br />

such as design engineer, process engineer, design leader<br />

etc.<br />

Definition 7. Permission: permission is the permitted<br />

operations on specific object.<br />

Definition 8. Activity and Activity Hierarchy (AH):<br />

activity is the base unit <strong>of</strong> decomposed task and their<br />

hierarchy relation, which also is encapsulated with role<br />

and permission etc objects.<br />

aid is the activity identity, state is the activity state,<br />

superAct is the father activity, subActs is the child<br />

activity set, rset is the role set <strong>of</strong> participators, peSet is<br />

the record set <strong>of</strong> right.<br />

During the cooperation process <strong>of</strong> VO, some project<br />

cycle may be divided as several activities. Furthermore,<br />

activity can be divided into tasks, so the activity<br />

hierarchy structure can express this relation well.<br />

Definition 9. Subject-Role Relation (SR): SR is a<br />

kind <strong>of</strong> many-to-many relation.<br />

sid can be group id or user id, rid is role identity.<br />

Definition 10. Role-Activity Relation (RA): RA is<br />

many-to-many relation between role and activity.


2680 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

rid is role identity, aid is activity identity.<br />

Definition 11. Activity-Permission Relation (AP): AP<br />

is many-to-many relation between activity and right.<br />

Activity A can be divided into seven sub-activities<br />

and they have correlations with each other, figure 3<br />

shows the activity dependence graph among them.<br />

Figure 3. Activity Dependence Graph<br />

Definition 12: Activity State Migration (ASM) is the<br />

migration <strong>of</strong> activity state, which is used to describe the<br />

changes <strong>of</strong> activity state.<br />

all is used to guarantee some right can be available at<br />

any time, such as the right management <strong>of</strong> administrator.<br />

active and inactive indicate the activity is in its active or<br />

inactive state respectively. denied state is used to describe<br />

backtracking <strong>of</strong> activity dependence. complete indicates<br />

the activity is completed, all the rights are not available<br />

except the read right <strong>of</strong> its owner. The migration <strong>of</strong><br />

activity state is showed as figure 4.<br />

Figure 4. Activity State Migration<br />

Definition 13: Activity Dependence (AD) is the<br />

relationship <strong>of</strong> activities, which includes:<br />

(1) Mutually Exclusive Dependence: the<br />

exclusive dependence <strong>of</strong> different activities<br />

when executing. For any two activities ai and aj,<br />

aj can not enter into that state when ai has<br />

entered, vice versa. Noted as ai(state) ↔ 「<br />

aj(state) or aj(state)↔ 「 ai(state). Mutually<br />

exclusive dependence meets the conditions <strong>of</strong><br />

non-reflexivity, non-transitivity and symmetry.<br />

(2) Sequence Dependence: the precedence<br />

relationship <strong>of</strong> different activity when<br />

executing. For any two activities ai and aj,<br />

when ai enters into complete state, the active<br />

state <strong>of</strong> aj is activated. Noted as ai<br />

(complete)→aj (active).<br />

(3) Failure Dependence: the denied relation <strong>of</strong><br />

different activities when executing. For any<br />

two activities ai and aj, when ai enters into<br />

denied state, the active state <strong>of</strong> aj is activated.<br />

Noted as ai (denied)→aj (active).<br />

© 2012 ACADEMY PUBLISHER<br />

(4) Synchronous Dependence: synchronous<br />

execution <strong>of</strong> different service state. For any<br />

two activities ai and aj, when ai is implemented,<br />

aj has to be implemented at the same time, vice<br />

versa. We note this as ai (state)↔ aj (state).<br />

Synchronous relation is a kind <strong>of</strong> equivalence<br />

relation, which meets the conditions <strong>of</strong><br />

reflexivity, transitivity, symmetry.<br />

Definition 14: Activity Property (AP): we define activity<br />

A has the following properties.<br />

(1) Start Activity Set: in activity hierarchy and<br />

activity dependence, is composed <strong>of</strong> all the<br />

started sub-activities, which can be formalized as<br />

It means that the start activity set <strong>of</strong> activity A is the<br />

activity set <strong>of</strong> whose sequence dependence in-degree is<br />

zero.<br />

(2) End Activity: In order to guarantee the<br />

cooperation going successfully, we set each activity<br />

having only one ending sub-activity is the<br />

activity set <strong>of</strong> whose sequence dependence out-degree is<br />

zero.<br />

(3) Activate Activity: When some activity instance ai<br />

is running, all the conditions are satisfied, then ai is<br />

activated and all its permission set are available.<br />

deptype is the activity dependence type.<br />

(4) Prior Activity Set : For the convenient <strong>of</strong><br />

managing the activation <strong>of</strong> activity, we need to find out<br />

the prior activity set <strong>of</strong> some activity.<br />

(5) Follow-up Activity Set:We also need to find out<br />

the follow-up activity set <strong>of</strong> some activity.<br />

IV. MODEL OPERATIONS<br />

The implementation process <strong>of</strong> access control model is<br />

mainly include static permission assignment, dynamic<br />

activity management and user authorization.<br />

A. Static Permission Assignment<br />

Any implementation <strong>of</strong> access control model has to<br />

provide permission policies for the access control system.<br />

Static permission assignment is a method to achieve<br />

permission policy, which can initialize the data for access<br />

control system. In our model, the static permission<br />

assignment includes activity partition, activity permission<br />

assignment, activity role association, subject role<br />

association.<br />

The activity partition is the first step. The<br />

administrative staffs organize and partition the activities<br />

at different stages during the work flow and decide their<br />

dependence relationship. This task is related to special<br />

application. When the activity and activity dependence is<br />

worked out, permission can be assigned by RA and AP<br />

mapping, and then mapping the available roles for users<br />

and their groups according to the SR.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2681<br />

B. Activity Management and Dynamic Permission<br />

Adjustment<br />

Activity management is one key component to achieve<br />

the goal <strong>of</strong> dynamically adjust the permission <strong>of</strong> users.<br />

According to the features <strong>of</strong> access control model <strong>of</strong><br />

manufacturing grid, we design three operations to<br />

complete the activity management.<br />

(1) Startup() function is used to activate some activity<br />

and its corresponding sub-activities. In AH, when<br />

we want to activate an activity from its inactive<br />

state, we must keep searching for the startup<br />

activity set in the sub-activity set until there are no<br />

more sub-activities due to the hierarchy<br />

organization <strong>of</strong> AH. The operations can be<br />

constructed according to the definition <strong>of</strong> Start<br />

Activity Set, the pseudo code is as following:<br />

Startup(act)<br />

Step1: tmp_act=act,<br />

if tmp_act.state!=all<br />

tmp_act.state=active<br />

Step2: if tmp_act.subActSet.length=0<br />

return<br />

Step3: if tmp_act.subActSet.length!=0<br />

if tmp_act.SubActs_Dep!=null<br />

for each start_act in StartAct(tmp_act)<br />

Startup(sub_act)<br />

else<br />

for each act in tmp_act.subActSet<br />

Startup(sub_act)<br />

Figure 5. Function for Starting up an Activity<br />

(2) After some activity is completed or denied, the<br />

activities which having dependence with it have to<br />

be activated to proper state. ActivateAct() is used<br />

to dynamically adjust the state <strong>of</strong> activities. The<br />

main idea <strong>of</strong> this operation is to find a given<br />

activity ai’s FollowAct(ai,deptype) set according<br />

to the state <strong>of</strong> activity ai in AD. If activities in<br />

FollowAct(ai,deptype) set is satisfied with the<br />

dependence relation and corresponding state, then<br />

it will be activated.<br />

© 2012 ACADEMY PUBLISHER<br />

ActivateAct(ai,state)<br />

Step1: ai.state:= state<br />

Step2: if state=denied<br />

followActs:=FollowAct(ai,failure)<br />

else<br />

if state=complete<br />

followActs=FollowAct(ai,order)<br />

Step3: for each tmp_act in followActs<br />

preFailureSet:=PriorAct(tmp_act,failure<br />

)<br />

preOrderSet:=PriorAct(tmp_act,order)<br />

for each act in preFailureSet<br />

if act.state=denied continue<br />

else return<br />

for each act in preOrderSet<br />

if act.state=complete<br />

continue<br />

Figure 6. Function for Activating an Activity<br />

(3) CompleteAct() is used to mark the completion<br />

state <strong>of</strong> activity. In AD, when the complete sub<br />

activity <strong>of</strong> one activity is completed, that indicated<br />

the activity is also completed.<br />

CompleteAct(act)<br />

Step1: if act.state = all<br />

return<br />

else act.state=complete<br />

goto step2<br />

Step2: tmp_act:=act.super_act<br />

Step3: if tmp_act = null<br />

return<br />

else<br />

if EndAct(tmp_act)=act<br />

ActivateAct(act,Order)<br />

CompleteAct(tmp_acct)<br />

if EndAct(tmp_act)!=act<br />

return<br />

Figure 7. Function for Completing an Activity<br />

C. User Authorization<br />

The object <strong>of</strong> access control is to judge the requests <strong>of</strong><br />

users, and then decides whether the requested access can<br />

be implemented on the resource. So in our access control<br />

model, we introduce activity state, group and<br />

corresponding UNIX-like permission control. The<br />

request <strong>of</strong> user can be expressed as following<br />

u_id is user identity, group_set is the group <strong>of</strong> user, r is<br />

the activity role <strong>of</strong> user in current session, act_id is the<br />

activity identity <strong>of</strong> current request <strong>of</strong> user, op is the


2682 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

requested operation, obj is the requested object. We<br />

design the following strategy:<br />

(1) If the activity is in its inactive state, then all<br />

the rights are not available during all the<br />

activities.<br />

(2) If activity is in its denied state, then reset the<br />

activity into active state.<br />

(3) If activity is in active or all state, then all the<br />

rights are available.<br />

(4) If activity is in completed state, then only readonly<br />

right is available for the corresponding<br />

users.<br />

V. IMPLEMENTATION<br />

A. Framework<br />

In order to illustrate the effectiveness and security <strong>of</strong><br />

our access control model, we construct a prototype based<br />

on Globus Toolkit 4. The framework <strong>of</strong> our prototype is<br />

showed in Figure 8.<br />

Figure 8. Framework <strong>of</strong> Prototype<br />

(1) CSGService is a grid service based on Globus<br />

Toolkit 4, which is used to save the properties<br />

<strong>of</strong> resource objects.<br />

(2) CSGClient is the client which is used to submit<br />

the users requests.<br />

(3) CSGListener is the subscriber <strong>of</strong> CSG service,<br />

which is used to monitor the state changing <strong>of</strong><br />

resources in CSGService.<br />

(4) AccessControlManager is used to coordinate the<br />

interaction between CSGService and<br />

GA_RBAC.<br />

(5) GA_RBAC is our proposed group-activity based<br />

access control model, which is used to authorize<br />

the users’ requests.<br />

B. WSDL based Service Description<br />

We use WSDL (Web Service Description Language)<br />

to describe the interaction protocol between server and<br />

client.<br />

(1) Submit user’s request. The cooperation works<br />

among clients are implemented by invoking the grid<br />

© 2012 ACADEMY PUBLISHER<br />

service <strong>of</strong> server. We define the message format <strong>of</strong><br />

SubmitRequest operation as following<br />

: = AccessRequest<br />

:=<br />

:=<br />

:= Identification <strong>of</strong> current user’s activity<br />

:= add | create | modify | delete | save | load | read<br />

| write | read …<br />

:=<br />

The most important part <strong>of</strong> our prototype is the access<br />

control, so we add all the items needed by authorization<br />

in SubmitRequest. User indicates the sender <strong>of</strong> the<br />

request, in which u_id is the user’s identification, u_name<br />

is the name <strong>of</strong> user, u_ip is the IP address, time is the<br />

request sending time, groupmembership is the user’s<br />

group. ActID is the id <strong>of</strong> current activity, Op is the<br />

operation <strong>of</strong> user request. PermissionBaseObjec is the<br />

base class <strong>of</strong> operation object. The object <strong>of</strong> our<br />

prototype simulates the permissionmanagement system <strong>of</strong><br />

UNIX to simplify the configuration <strong>of</strong> permission, so we<br />

abstract the basic permissionclass <strong>of</strong> UNIX as<br />

PermissionBaseObject.<br />

(2) Submit user’s response. After the user submits<br />

request, the server will send feedback to clients according<br />

to the user’s request. The user’s request accepted, the<br />

server will update the user’s UI as the correct result is<br />

sent back to the client to assure the consistency <strong>of</strong> the<br />

client and the server. Otherwise, the server must notify<br />

the client if the user’s request is not accepted. So we<br />

define the message format <strong>of</strong> SubmitResponse as<br />

following<br />

SubmitResponse:=<br />

StatusCode indicates the completed state code <strong>of</strong><br />

operation, a Boolean value. PermissionBaseObject is the<br />

permission object, which is the XML date sent back by<br />

the server to the client.<br />

(3) Notification Mechanism. The notification<br />

mechanism is achieved by using the features <strong>of</strong> grid<br />

service that can maintain the state <strong>of</strong> objects the users<br />

operates. When the state <strong>of</strong> some resources changes in<br />

grid service, the client monitoring the resource can be<br />

notified immediately. We design an interface<br />

CSGServicePortType inherited from<br />

GetMultipleResourceProperties, NotificationProducer<br />

which are defined in WSRF specification. The WSDL file<br />

is showed in Figure 9.<br />

<br />

<br />

<br />

<br />


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2683<br />

ref="tns:ID"/> ……<br />

<br />

<br />

<br />

<br />

….<br />

……<br />

……><br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Figure 9. Part <strong>of</strong> WSDL File<br />

C. GA_RBAC Implementation<br />

(1) Permission Basic Class<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 10. Class Diagram <strong>of</strong> GA _RBAC<br />

Figure 10 is the class diagram <strong>of</strong> GA _RBAC model.<br />

In order to simplify the administrator’s work, we provide<br />

the minimal permissionset for each object, which<br />

includes read/write/delete three operations. We abstract a<br />

permissionbasic class PermissionBaseObject for<br />

permission judgment showed in Figure 11.<br />

Figure 11. PermissionBaseObject Class<br />

(2) Permission Record and PermissionChecker<br />

PermissionEntry class is composed <strong>of</strong> by two-tuples<br />

, and it overrides the equals() and hashCode()<br />

functions to judge the permission record is equal or not.<br />

The class description is showed in Figure 12.<br />

Figure 12. PermissionEntry Class<br />

UnixPermChecker is used to check the permission <strong>of</strong><br />

objects. The class description is showed in Figure 13.<br />

Figure 13. UnixPermChecker Class<br />

(3) Subject, Group and User Class<br />

In manufacturing grid, the staffs in enterprise alliances<br />

and organizations are the subjects <strong>of</strong> collaboration.<br />

Usually, each enterprise has some predefined<br />

organization structure. For example, an enterprise has


2684 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

several departments, which is composed <strong>of</strong> several<br />

groups. There are several staffs in each group, who may<br />

also belong to different groups and departments. In order<br />

to present this kind <strong>of</strong> structure and realize authorization<br />

to original organization, the subject class is abstracted<br />

and the group adopts hierarchy structure. The user and<br />

group are multiple to multiple relation. The class<br />

description is showed in Figure 14.<br />

Figure 14. Subject, Group and User Class<br />

(4) Role and Session<br />

In GA_RBAC model, one role class indicates a role,<br />

which is associated with special subject and activity. In<br />

this way, the subject can operate according to the<br />

permission in the given activity. Session is mainly used to<br />

maintain the available roles for the logged users and<br />

operate according to the user’s request. The class<br />

description is showed in Figure 15.<br />

Figure 15. Role and Session Class<br />

(5) Activity and Activity Dependence<br />

Activity and Activity Dependence are two very<br />

important parts in GA_RBAC. They are the key to realize<br />

the dynamic permission adjustment. In our prototype, we<br />

use activity diagram to present activity dependence<br />

relation. Our activity centered authority judgment<br />

procedure is showed in Figure 17.<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 16. Activity and Activity Dependence Class<br />

Figure 17. Authority Judgment Procedure Example<br />

D. Example<br />

We use the scenario showed in Figure 1 to illustrate<br />

our access model. There is a product design project<br />

CSGProject carried out by three groups: Ga, Gb and Gc.<br />

Gb and Gc are responsible for component design and<br />

integration design respectively. Project analyzer and<br />

project supervisor in Ga can provide requirement analysis<br />

and project tracking for Gb and Gc. We assume there are<br />

such users {ua1, ua2}, {ub1,ub2}, {uc1, uc2}, the activities<br />

may include requirement analysis, analysis review,<br />

system design, component A design, component B design<br />

and integration design etc stages. The whole cooperation<br />

procedure is as following.<br />

When CSGProject is started, the state <strong>of</strong> activity<br />

requirement analysis is transformed from inactive to<br />

active. At this time project analyzer can make<br />

requirement analysis and create, modify and edit the<br />

corresponding documents. When analyzer’s work is done,<br />

his activity changes to state completed, the analysis<br />

review activity and the permission <strong>of</strong> monitor are all<br />

activated as the requirement documents submitted. If the<br />

analysis review cannot pass, then the state <strong>of</strong> it should be<br />

changed to denied, and make the requirement analysis<br />

activity which has failure dependence relation with it<br />

reenter into active state. Otherwise, the review activity<br />

becomes complete state, and system design is activated.<br />

Requirement analysis and analysis review are mutual<br />

exclusive dependence, so they must be carried out by<br />

different roles and users. The cooperation design will<br />

finally succeed. The activity dependence and tasks<br />

division is showed in Figure 18.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2685<br />

Figure 18. Activity Dependence<br />

According static permission assignment rules, the<br />

related tables are as following.<br />

TABLE 1<br />

ACTIVITY OF CSGPROJECT<br />

AH Available Available<br />

CSGPro<br />

Roles<br />

Permissions<br />

Analyse Analyser Create<br />

Document,<br />

Edit<br />

Document,<br />

default<br />

Verify Verifier Note<br />

Document,<br />

default<br />

GlobalDesign Desinger Create<br />

Document,<br />

Edit<br />

Document,<br />

default<br />

PaDesign ADesigner Edit Solid,<br />

default<br />

PbDesign BDesigner Edit Solid,<br />

default<br />

Assemble Assembler Create Solid,<br />

Boolean<br />

Solid, default<br />

admin Admin Manage Role,<br />

Manager<br />

Activity,<br />

default<br />

view ProjectMember Read<br />

TABLE 2<br />

ROLES HIERARCHY<br />

Role Name Parent Role<br />

ProjectMember<br />

Analyser ProjectMember<br />

Verfier ProjectMember<br />

Designer ProjectMember<br />

PaMember ProjectMember<br />

PbMember ProjectMember<br />

Assembler ProjectMember<br />

Admin ProjectMember<br />

TABLE 3<br />

GROUP HIERARCHY<br />

Parent Group Group<br />

© 2012 ACADEMY PUBLISHER<br />

A Analyser<br />

A SubProjectLeader(SubPL)<br />

B Designer<br />

B Draftman<br />

B SubProjectLeader(SubPL)<br />

C Draftman<br />

TABLE 4<br />

USER-GROUP MAP<br />

User Name Group<br />

ua1 ua2 ub1 ub1 ub2 uc1 A.Analyser<br />

A.SubProjectLeader(SubPL)<br />

B.Designer<br />

SubPL<br />

B.Draftman<br />

C.Draftman<br />

TABLE 5<br />

SUBJECT-ROLE MAP<br />

Subject Name Role<br />

A ProjectMember<br />

B PaMember<br />

C PbMember<br />

A.Analyser Analyser<br />

A.SubPL Admin<br />

B.Designer Designer<br />

B.Draftman PAMember, Assembler<br />

C.Draftman PbMember<br />

C.Draftman Assembler<br />

VI. CONCLUSIONS<br />

In traditional manufacturing grid access control model,<br />

it is hard to deal with the cooperation between dynamic<br />

and non-dynamic businesses and can not effectively<br />

support the global control and local autonomous<br />

management etc. In this paper, we propose a groupactivity<br />

based access control model. Activity, activity<br />

hierarchy, activity state and activity dependence are<br />

introduced into our model, by this means, we can clearly<br />

describe the dependence <strong>of</strong> operations and authorize<br />

dynamically. The UNIX-like permission control make<br />

the right management is much easier.<br />

ACKNOWLEDGMENT<br />

This work is supported by Guangxi Nature Science<br />

Foundation (09-007-05S018, 2010GXNSFD013037),<br />

Guangxi Key Laboratory <strong>of</strong> Manufacturing System &<br />

Advanced Manufacturing Technology Foundation (11-<br />

031-12S02-02).<br />

REFERENCES<br />

[1] Fan Yushun. Concept and Architecture <strong>of</strong> Manufacturing<br />

Grid. Aeronautical Manufacturing Technology. 2005,l0,42-<br />

45.<br />

[2] Foster I, Kesselman C and Tuecke S. The anatomy <strong>of</strong> the<br />

grid: enabling scalable virtual organizations. International<br />

<strong>Journal</strong> <strong>of</strong> Supercomputer Applications, 2001,15 (3) : 200-<br />

222.<br />

[3] I.Foster,C. Kesselman, G. Tsudik, S. Tuecke. A security<br />

architecture for computational grids. Proceedings <strong>of</strong> the<br />

Fifth ACM Conference on Computer and Communications<br />

Security, November 1998, pp. 83–92.<br />

[4] Pearlman L, Welch V, Foster I. A community<br />

authorization service for Group collaboration. IEEE 3rd<br />

International Workshop on Policies for Distributed<br />

Systems and Networks. 2002, pp:50-59.


2686 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

[5] YAO Han-Bing HU He-Ping LU Zheng-Ding LI Rui-Xuan.<br />

Dynamic Role and Context-Based Access Control for Grid<br />

Applications. PDCAT 2005, 404 - 406.<br />

[6] CAI Hong-xia, YU Tao, FANG Ming-lun. Access control<br />

<strong>of</strong> manufacturing grid. Computer Integrated Manufacturing<br />

Systems. 2007,4(13) : 717-720.<br />

[7] Hongxia Cai, Tao Yu, Minglun Fang. Access Control<br />

Model <strong>of</strong> Manufacturing Grid. IFIP International<br />

Federation for Information Processing, 2006, p. 938-943.<br />

[8] F. Tao, L. Zhang, K. Lu & D. Zhao. Research on<br />

manufacturing grid resource service optimal-selection and<br />

composition framework. Enterprise Information Systems,<br />

2012,Vol. 6, No. 2, 237-264.<br />

[9] Dongming Zhao ; Yefa Hu ; Zude Zhou. Resource<br />

Service Composition and Its Optimal-Selection Based on<br />

Particle Swarm Optimization in Manufacturing Grid<br />

System. IEEE Transactions on Industrial Informatics,<br />

2008,Vol. 4, No. 4, 315 – 327.<br />

[10] Wenjun Xu, Zude Zhou, D. T. Pham, Quan Liu, C. Ji and<br />

Wei Meng. Quality <strong>of</strong> service in manufacturing networks:<br />

a service framework and its implementation. The<br />

International <strong>Journal</strong> <strong>of</strong> Advanced Manufacturing<br />

Technology. 2012,1-11.<br />

[11] Zhengqiu He, Lifa Wu, Huabo Li, Haiguang Lai, Zheng<br />

Hong. Semantics-based Access Control Approach for Web<br />

Service. <strong>Journal</strong> <strong>of</strong> Computers, Vol 6, No 6 (2011), 1152-<br />

1161.<br />

[12] Bailing Liu. Efficient Trust Negotiation based on Trust<br />

Evaluations and Adaptive Policies. <strong>Journal</strong> <strong>of</strong> Computers,<br />

Vol 6, No 2 (2011), 240-245.<br />

[13] Xiaoming Wang, Yanchun Lin. An Efficient Access<br />

control scheme for Outsourced Data. <strong>Journal</strong> <strong>of</strong> Computers,<br />

Vol 7, No 4 (2012), 918-922.<br />

© 2012 ACADEMY PUBLISHER<br />

Zhihui GE was born in Hebei, China, in<br />

1978. He received a B.S. degree in<br />

Computer Science from the Beijing<br />

Technology and Business University,<br />

Beijing, China, in 2001, and a M.S.<br />

degree in Computer Science from the<br />

Guangxi University, Guangxi, China, in<br />

2004 and a Ph.D. degree in Computer<br />

Science from the Central South<br />

University, Hunan, China, in 2007.<br />

He is a associate pr<strong>of</strong>essor in the Guangxi University. Nanning,<br />

Guangxi, China. His research interests are in networks and<br />

security with special emphasis on distributed system.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2687<br />

S<strong>of</strong>tware Design and Development <strong>of</strong><br />

Chang’E-1 Fault Diagnosis System<br />

Ai-Wu Zheng 1,2,3<br />

1 School <strong>of</strong> Astronautics, Beihang University, Beijing 100191, P.R. China<br />

2 Science and Technology on Aerospace Flight Dynamics Laboratory, Beijing 100094, P.R. China<br />

3 Beijing Aerospace Control Center , Beijing 100094, P.R. China<br />

Email:awzheng@163.com<br />

Yu-Hui Gao 2 , Yong-Ping Ma 2 and Jian-Ping Zhou 1<br />

1 School <strong>of</strong> Astronautics, Beihang University, Beijing 100191, P.R. China<br />

2 Beijing Aerospace Control Center , Beijing 100094, P.R. China<br />

Abstract— During a mission, detecting failure accurately<br />

and implementing countermeasures in time may decide the<br />

success <strong>of</strong> a space mission. Chang’E-1 mission is the first<br />

lunar exploration mission <strong>of</strong> China. The satellite has several<br />

different telemetry formats and bit rates. Moreover, the<br />

accuracy requirement <strong>of</strong> orbit control is high and demands<br />

real-time handling during contingency or abort operations.<br />

In addition, the time duration <strong>of</strong> the mission is very long,<br />

lasting more than a year. All these cause some difficulties in<br />

fault detection, judgment and handling in the mission.<br />

Therefore, in order to detect faults accurately and duly,<br />

determine the failure modes in time, implement<br />

countermeasures effectively, and provide warning and trend<br />

analysis, s<strong>of</strong>tware <strong>of</strong> fault diagnosis system is specifically<br />

developed for Chang’E-1 mission. The system adopts plugin<br />

s<strong>of</strong>tware structure and advanced Berkeley DB real-time<br />

database. In addition, ice middleware is exploited for<br />

message passing between processes. It is also the first time<br />

that the failure criterion <strong>of</strong> the mission is described by<br />

extensible markup language (XML), and this well solves the<br />

problem <strong>of</strong> separating failure criterion from program<br />

coding. The fault diagnosis system can not only well and<br />

truly judge failures with clear criterion, but can also<br />

provides trend warnings for failures without clear<br />

descriptions, and is very helpful for the personnel who are<br />

in charge <strong>of</strong> fault detection. The advanced technologies<br />

applied in the system make it expansible. It can also be used<br />

in other space missions.<br />

Index Terms—Chang’E-1 mission, fault diagnosis, plug-in,<br />

real-time database, middleware<br />

I. INTRODUCTION<br />

Because <strong>of</strong> the complexity <strong>of</strong> the space environment<br />

and testing limitations <strong>of</strong> a spacecraft, sometimes there<br />

will be contingency or system failure during the space<br />

missions. The four most serious accidents in manned<br />

Manuscript received August 1, 2011; revised September 15, 2011;<br />

accepted September 20, 2011.<br />

Copyright credit. Project 11173005 Supported by National Natural<br />

Science Foundation <strong>of</strong> China<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2687-2694<br />

space flight history where astronauts were killed are<br />

Apollo 4A in January 1967, Soyuz-1 in April 1967,<br />

Soyuz-11in June 1971 and Challenger in January 1986 [1] .<br />

Serious accidents are also happened in Hubble Space<br />

Telescope <strong>of</strong> the U.S. in 1990, Mars Climate Observer<br />

and Mars Polar Lander in 1999. In November 2000, the<br />

Indian satellite INSA-2B lost the function <strong>of</strong> pointing to<br />

the Earth, and the accident also caused huge losses<br />

[2] .These accidents make countries begin to attach<br />

importance to the research <strong>of</strong> spacecraft fault diagnosis<br />

techniques, in order to detect failures in time, and to avoid<br />

and reduce casualties and equipment losses as much as<br />

possible, thus save spacecraft launch and operation costs<br />

[3, 4] .<br />

Chang’E-1 mission was the first lunar exploration<br />

mission <strong>of</strong> China. The satellite has several different<br />

telemetry formats and bit rates. The orbit control requires<br />

high accuracy and demands real-time fault handling. In<br />

addition, the time duration <strong>of</strong> the mission is very long,<br />

lasting more than a year. All these cause some difficulties<br />

in fault detection, judgment and handling. According to<br />

the orbit design scheme <strong>of</strong> the mission, the satellite needs<br />

two weeks’ time from launch to finally going into the<br />

target orbit, and stays there for a year [5] .If fault diagnosis<br />

entirely relies on manual monitoring, the personnel will<br />

be exhausted, and it is still very easy to miss some<br />

failures. According to the analysis during mission<br />

preparation, there would be more than eighty kinds <strong>of</strong><br />

possible failure modes, and some failure would happen in<br />

a very concentrated time. For example, before and after<br />

the first brake maneuver near the moon, nearly twenty<br />

types <strong>of</strong> fault may occur intensively, and most <strong>of</strong> them<br />

are emergent requiring urgent disposal, or the satellite<br />

may be dangerous or it will fly out <strong>of</strong> the gravitational<br />

field <strong>of</strong> the moon.<br />

Therefore, in order to monitor satellite status and<br />

detect fault accurately and duly in Chang’E-1 mission,<br />

decide prepared failure mode in real-time, implement<br />

countermeasures effectively, and provide warning and<br />

trend analysis, s<strong>of</strong>tware <strong>of</strong> fault diagnosis system is<br />

specifically developed as an assistant to improve the


2688 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

timeliness, accuracy and efficiency <strong>of</strong> fault diagnosis, and<br />

to guarantee the success <strong>of</strong> the mission.<br />

II. SPACECRAFT FAULT DIAGNOSSIS TECHNOLOGY<br />

TABLE I<br />

A BRIEF SUMMARY OF FAULT DIAGNOSIS TECHNOLOGY<br />

Type Advantage Disadvantage<br />

Signal<br />

processingbased<br />

fault<br />

diagnosis<br />

method<br />

Rule-based<br />

expert system<br />

diagnosis<br />

method<br />

Fault tree<br />

based fault<br />

diagnosis<br />

method<br />

Neural<br />

networks<br />

based fault<br />

diagnosis<br />

method<br />

Model-based<br />

fault<br />

diagnosis<br />

method<br />

Petri netbased<br />

fault<br />

diagnosis<br />

method.<br />

Threshold model is adopted<br />

and is the basis <strong>of</strong> other<br />

diagnostic methods.<br />

1) Simple, intuitive, image<br />

and convenience;<br />

2) Rapid diagnosis;<br />

3) Require a relatively<br />

small data storage space;<br />

4) Easy to program and<br />

implement.<br />

1) Rapid diagnosis;<br />

2)Easy to dynamically<br />

modify knowledge library<br />

and maintain consistency;<br />

3) Domain-independent, as<br />

long as the corresponding<br />

fault tree given, the<br />

diagnosis can be achieved.<br />

1) Highly nonlinear;<br />

2) Highly fault tolerance;<br />

3) Associative memory.<br />

1) High accuracy;<br />

2) Can diagnose unforeseen<br />

failures, no need for<br />

experience and knowledge.<br />

Can dynamically describe<br />

the generation and<br />

propagation <strong>of</strong> fault<br />

phenomena, making it easy<br />

to diagnose from the<br />

change <strong>of</strong> the system<br />

bh i<br />

1) Covers limited failure<br />

mode;<br />

2) Misdiagnosed or diagnosis<br />

failure.<br />

1)Can not diagnose<br />

unexpected failure;<br />

2) Diagnosis results rely<br />

heavily on the information <strong>of</strong><br />

the full extent <strong>of</strong> the fault<br />

tree.<br />

1)Can not reveal potential<br />

relationships within the<br />

system, can not give a clear<br />

explanation <strong>of</strong> the diagnostic<br />

process;<br />

2) Can not diagnose failures<br />

that never appeared in the<br />

training sample, or even draw<br />

wrong diagnosis conclusion.<br />

1) The diagnosis is slow;<br />

2) Strong dependence on the<br />

accuracy <strong>of</strong> the model, any<br />

uncertainty <strong>of</strong> model can lead<br />

to false alarms.<br />

According to the domestic and foreign development<br />

history <strong>of</strong> fault diagnosis technology, a brief summary <strong>of</strong><br />

the main methods is listed in table I [6-9] :<br />

Currently fault diagnosis system has developed from<br />

fault diagnosis expert system <strong>of</strong> single subsystems (such<br />

as power system or thermal control system) to integrated<br />

spacecraft health management system integrating system<br />

status monitoring, fault diagnosis and fault repair as<br />

one [10] . Fault diagnosis method has developed from single<br />

diagnostic method (such as rule-based diagnosis method,<br />

fault tree based diagnosis method, etc.) to the<br />

combination <strong>of</strong> various methods. With the rapid<br />

development <strong>of</strong> computer technology, many new<br />

technologies is used in fault diagnosis system, such as<br />

network technology, information fusion technology,<br />

distribution theory, agent and multi-agent system<br />

technology, and excellent man-machine interface. These<br />

technologies provide strong support to the development<br />

© 2012 ACADEMY PUBLISHER<br />

1) Totally dependent on the<br />

Petri net model;<br />

2) Difficult to locate the<br />

source <strong>of</strong> the fault, problemsolving<br />

process is prone to<br />

conflict.<br />

and maintenance <strong>of</strong> fault diagnosis system.<br />

Domestic research <strong>of</strong> spacecraft fault diagnosis<br />

technology started late. In recent years, domestic<br />

aerospace experts have gradually recognized the<br />

importance and urgency <strong>of</strong> the work in this area, and have<br />

done some research theoretically. But most diagnosis<br />

systems developed are demonstration systems.<br />

Chang’E-1fault diagnosis system is the first fault<br />

diagnosis system applied to an actual mission. The<br />

system is a rule-based expert system. It successfully<br />

separated specific failure criterion from program coding<br />

by using XML-based markup language description. It<br />

also uses advanced real-time Berkeley DB database, ice<br />

middleware and plug-in s<strong>of</strong>tware architecture. The<br />

system provides successful experience <strong>of</strong> fault diagnosis<br />

for future missions.<br />

III. CHANG’E-1FAULT DIAGNOSIS SYSTEM DESIGN<br />

A. System Functional Requirements<br />

The task <strong>of</strong> Chang’E-1 fault diagnosis system is to<br />

provide technical support <strong>of</strong> centralized satellite status<br />

monitoring, fault diagnosis and emergency disposal for<br />

commanders and flight control operators. The system can<br />

improve the ground ability <strong>of</strong> centralized monitoring and<br />

real-time analysis <strong>of</strong> important satellite status, and can<br />

provide early warning and trend alarms, help the mission<br />

decisions.<br />

The function <strong>of</strong> the system requirements include:<br />

1) Telemetry monitoring, alerting and analysis.<br />

The system receives real-time telemetry data package<br />

from the monitor display network, checks the correctness<br />

<strong>of</strong> the data formats and explains telemetry frames for<br />

associated judgments. When there is a telemetry<br />

interruption or overrun, alarm messages are given and<br />

corresponding parameters are displayed.<br />

2) Real-time monitoring and alarm <strong>of</strong> satellite<br />

important parameters and events.<br />

During the telemetry monitoring, alarm and analysis,<br />

the system also receive mission control plans, station<br />

tracking forecasting, telecommand sending sequence,<br />

orbit elements and other information to determine<br />

satellite important status and mission critical events.<br />

3) Real-time fault inspection, diagnosis and alarm<br />

According to different phase <strong>of</strong> the mission, one or<br />

more failure modes that are most possible to occur are<br />

selected, and the corresponding telemetry parameters <strong>of</strong><br />

failure criteria are centralized displayed and monitored.<br />

4) Fault handling support<br />

Once a fault is conformed to occur, the system will<br />

prompt corresponding disposal measures step by step.<br />

During the fault handling, parameters involved and status<br />

changes are displayed in real-time to determine the<br />

implementation effect.<br />

5) Fault trends warning and analysis<br />

Some parameters or state change is a gradual process,<br />

such as temperature, pressure and voltage, etc., the<br />

system will monitor and analyze the trends. If the trend is<br />

close to the failure threshold, it will give early warnings.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2689<br />

B. System Flow<br />

The fault diagnosis system receive telemetry packages,<br />

control plans, station tracking forecasting, telecommand<br />

sending sequence, orbit elements and other information to<br />

determine satellite important status and mission critical<br />

Telemetry<br />

Mission control plans<br />

Station tracking phase<br />

Telemetry channel<br />

monitoring and<br />

alarm<br />

Monitoring net<br />

Data collection<br />

process<br />

Data analysis process<br />

Telemetry overrun<br />

judge and alarm<br />

Orbit determination result<br />

Telecommand sequence<br />

Real time<br />

database<br />

C. System Hardware Structure<br />

Fault diagnosis system is independent <strong>of</strong> Chang’E-1<br />

mission control system. It is connected with monitor<br />

display network as shown in Figure 2. It receives the<br />

original data and results issued from the monitor display<br />

server directly as same as monitor display terminals.<br />

Mission control system<br />

Monitor display net<br />

Monitor display terminal<br />

events. The outputs are alarms <strong>of</strong> failure or other unusual<br />

events, decision support information, all kinds <strong>of</strong> status<br />

messages, and data analysis and statistics. The system<br />

block diagram is shown in Figure 1.<br />

Telemetry parameters dictionary<br />

Telecommnad dictionary<br />

Telecommnad chain configuration<br />

Station configuration<br />

Failure criterion<br />

Important event criterion<br />

Telemetry normal range<br />

84 failure modes<br />

diagnosis and alarm<br />

Figure 1. Block diagram <strong>of</strong> fault diagnosis system<br />

Monitor display server<br />

Fault diagnosis terminal<br />

Figure 2. Network connection diagram <strong>of</strong> fault diagnosis system.<br />

Each fault diagnosis terminal is equal, fault diagnosis<br />

system can run in any one <strong>of</strong> them, and can maintain<br />

consistency <strong>of</strong> monitoring, early warning and analysis by<br />

© 2012 ACADEMY PUBLISHER<br />

Pr<strong>of</strong>iles<br />

Pr<strong>of</strong>iles<br />

Important events<br />

prediction and alarm<br />

performing information and version synchronization<br />

operations in the process <strong>of</strong> fault diagnosis.<br />

D. S<strong>of</strong>tware Hierarchy<br />

The s<strong>of</strong>tware hierarchy model <strong>of</strong> the fault diagnosis is<br />

shown as Figure 3.<br />

Man-machine interface layer<br />

Man machine interface<br />

Special plug-in layer Fault diagnosis Countermeasures Trend warning<br />

Common plug-in layer Rule analysis<br />

Logic process<br />

Special Service Layer Status inquiry Status extraction Status save<br />

Basic service layer Network processing File system Database<br />

Figure 3. Fault diagnosis system hierarchy.<br />

There are five layers in the system:<br />

1) Basic service layer<br />

Basic service layer is the foundation <strong>of</strong> the fault<br />

diagnosis system including network processing, file<br />

system and real-time database. It provides the ability <strong>of</strong><br />

obtaining various mission information, spacecraft status<br />

and configuration information from the network, files and<br />

database for special service and higher layers.<br />

2) Special service layer<br />

Special service layer provides inquiry, extraction and<br />

storage <strong>of</strong> spacecraft status, configuration information<br />

and fault rules for fault analysis and diagnosis.<br />

3) Common plug-in layer


2690 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Common plug-in layer includes rule explanation and<br />

logic process etc. Rule explanation plug-in provides<br />

explanation <strong>of</strong> labels, methods and logic operations<br />

defined in XML files, which describe failure modes.<br />

Logic process plug-in provides functions listed in table II<br />

to process logic operations <strong>of</strong> logical expressions.<br />

4) Special plug-in layer<br />

Special plug-in layer includes plug-ins <strong>of</strong> fault<br />

diagnosis, countermeasures and trend warning. They are<br />

based on common plug-in layer, and provide the ability<br />

<strong>of</strong> fault diagnosis, countermeasures and trend warning by<br />

rule explanation and logic process.<br />

5) Man-machine interface layer<br />

Man-machine interface layer provides interface for<br />

operations, configuration and management.<br />

E. XML-Based Fault Rule Design<br />

In order to determine the failure modes <strong>of</strong> the mission<br />

quickly and accurately, the spacecraft status and its<br />

change must be translated in a language that a computer<br />

can recognize. This requires the language easy to<br />

understand, easy to write and can give a clear description<br />

<strong>of</strong> failures. Because XML has the ability to self-describe<br />

data in a structured way and can be defined and used<br />

according to the needs <strong>of</strong> application, so it is selected for<br />

rule description <strong>of</strong> spacecraft fault diagnosis.<br />

First, mathematical and logic operators are defined.<br />

Criterions <strong>of</strong> failure modes and significant events are<br />

expressed in the language to generate formulas <strong>of</strong> a single<br />

or several telemetry parameters, or a trend <strong>of</strong> change, or<br />

even a combination <strong>of</strong> several judgments. The formulas<br />

generate rules and are written into files. Finally, files are<br />

stored into the rule library as fault diagnosis criterions.<br />

When data analysis process reads the rules from the files,<br />

it will parse the rules to computer.<br />

Rules are independent <strong>of</strong> program, so program needs<br />

no modification when rules change. The rules can be<br />

added or modified at any time, achieving the goal <strong>of</strong><br />

separating a specific fault from program. When the<br />

criterion <strong>of</strong> an important event or a failure mode changes,<br />

it is the corresponding rule file that only needs to be<br />

modified. The rule library requires regular maintenance<br />

to be consistent with the mission.<br />

F. Design <strong>of</strong> Formulas<br />

Rule description <strong>of</strong> status is the key problem that is<br />

needed to solve. Rule formulas can use common math<br />

and logical operators directly, or introduce external<br />

functions to extend operation capabilities.<br />

External functions are divided into several types<br />

including citing, extraction, judgment, computation and<br />

operation, etc. Citing is the type in the form <strong>of</strong><br />

“FromXXX”, which gets related status information<br />

directly from telemetry parameters, orbit forecasting and<br />

control strategies. Extraction is the type in the form <strong>of</strong><br />

“GetXXX”, which can obtain auxiliary information <strong>of</strong><br />

other parameters through appropriate treatment. For<br />

example, function “GetPrev” can obtain the previous<br />

value <strong>of</strong> a specified parameter. “GetBit” can obtain a<br />

particular bit <strong>of</strong> a specified parameter. Judgment is the<br />

type in the form <strong>of</strong> “JudgeXXX”, which determine the<br />

© 2012 ACADEMY PUBLISHER<br />

TABLE II<br />

FUNCTIONS FOR FAULT RULES<br />

Function<br />

name<br />

Function<br />

contents<br />

Parameter description<br />

FromGlobal<br />

Direct from external<br />

global parameters<br />

[parameter<br />

identification]<br />

Direct from external [telemetry library,<br />

FromTM telemetry library<br />

parameter<br />

identification]<br />

FromPlan<br />

Direct from external plan<br />

[plan identification]<br />

FromPredict<br />

Direct from external orbit<br />

forecasting<br />

[forecasting<br />

identification]<br />

GetFree<br />

Read a parameter from a<br />

user’s input.<br />

[parameter type, default<br />

value]<br />

GetBit<br />

Get bit from a byte. [parameter code, starting<br />

bit, total bits]<br />

GetPrev<br />

Get the previous value <strong>of</strong><br />

a telemetry parameter.<br />

[parameter code]<br />

GetAverage<br />

Get the average value <strong>of</strong> a<br />

parameter during a certain<br />

period.<br />

[parameter code,<br />

time(s)]<br />

GetUpdateTi<br />

me<br />

Get the updated value <strong>of</strong> a<br />

parameter.<br />

[parameter code]<br />

GetLastTrue<br />

Time<br />

Get the latest time <strong>of</strong> an<br />

event happened.<br />

[sub-event code]<br />

GetLastTrue<br />

BeginTime<br />

Get the earliest time <strong>of</strong> an<br />

event happened.<br />

[sub-event code]<br />

GetHistory<br />

Get the history value <strong>of</strong> a<br />

parameter.<br />

[parameter code,<br />

numbers]<br />

GetDecVal<br />

Get the decrease amount<br />

<strong>of</strong> parameter during a<br />

certain period.<br />

[parameter code,<br />

time(s)]<br />

GetIncVal<br />

Get the increase amount<br />

<strong>of</strong> parameter during a<br />

certain period.<br />

[parameter code,<br />

time(s)]<br />

GetAdd<br />

Get the sum <strong>of</strong> several<br />

parameters.<br />

[parameter code1,<br />

parameter code2,…]<br />

GetMulti<br />

Get the product <strong>of</strong> several<br />

parameters.<br />

[parameter code1,<br />

parameter code2,…]<br />

GetMax<br />

Get the maximum <strong>of</strong> a<br />

parameter during a certain<br />

period.<br />

[parameter code,<br />

time(s)]<br />

GetMin<br />

Get the minimum <strong>of</strong> a<br />

parameter during a certain<br />

period.<br />

[parameter code,<br />

time(s)]<br />

GetTmUpdat<br />

eTime<br />

Get the time <strong>of</strong> telemetry<br />

updating.<br />

Judge the change <strong>of</strong> a<br />

-<br />

JudgeIncreas parameter if it is in a [parameter code,<br />

e<br />

increase trend during a<br />

certain period.<br />

time(s)]<br />

JudgeExceed<br />

Judge the parameter if it<br />

has exceeded.<br />

[parameter code, lower<br />

limit, upper limit]<br />

JudgeChange<br />

Judge the parameter if it<br />

has changed.<br />

[parameter code,<br />

time(s)]<br />

Compute<br />

Compute the value <strong>of</strong> a<br />

formula.<br />

[logical formula]<br />

OperateEval<br />

uate<br />

Assign a value to a<br />

variable<br />

[function expression]<br />

OperateLog<br />

Operation log recording<br />

-<br />

trend <strong>of</strong> a parameter. For example, function<br />

“JudgeDecrease” is used to determine whether a specific<br />

parameter is in a increasing trend during a certain period.<br />

“JudgeChange” is used to determine whether a specific<br />

parameter remains unchanged during a certain period.<br />

Computation type is only one function named “Compute”,<br />

which gives the result <strong>of</strong> the logical expressions.<br />

Operation type is used to call a specified function to


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2691<br />

operate such as assign a value. Another example,<br />

“OperateLog” can perform log record operation. Some <strong>of</strong><br />

functions are listed in table II.<br />

G. Real-time Database Technology<br />

Berkeley DB real-time database, also known as an<br />

embedded database, is applied in the system. It is<br />

embedded in the application, and it is suitable for<br />

managing vast amounts <strong>of</strong> simple data up to 256TB.<br />

Because the application and database management<br />

system are running in the same process space, thus<br />

cumbersome inter-process communications can be<br />

avoided in data operations. So it is more efficient than<br />

relational database.<br />

The advantages <strong>of</strong> embedded database are:<br />

Firstly, cumbersome inter-process communication such<br />

as establishment <strong>of</strong> socket connections is avoided, so the<br />

overhead in communication cost is greatly reduced.<br />

Secondly, Simple function call instead <strong>of</strong> frequently<br />

used SQL language is used to complete all database<br />

operations. Thus it saves time to parse and process query<br />

language.<br />

In Chang’E-1 fault diagnosis system, real-time<br />

database is used to save the initial satellite status obtained<br />

from mission monitor and display network. Quick and<br />

accurate fault diagnosis needs to know real-time satellite<br />

status, as well as history satellite status for trend warning.<br />

Berkeley DB database can meet the demands.<br />

H. Middleware Technology<br />

Ice middleware was exploited for message passing and<br />

status synchronization between processes in the system.<br />

Ice middleware technology is an object-oriented<br />

middleware platform. Basically, Ice middleware provides<br />

tools, API and library support for object-oriented clientserver<br />

applications. Ice applications are suitable for use in<br />

a heterogeneous environment, where client and server can<br />

use different programming languages, different operating<br />

systems, different machine architectures and a variety <strong>of</strong><br />

network technologies. So the fault diagnosis system can<br />

use different environment from the monitor display server.<br />

IV. PAGE DESIGN AND SOFTWARE IMPLEMENTATION<br />

A. Design <strong>of</strong> Functional Modules<br />

Fault diagnosis system uses multiple processes. It is<br />

mainly composed <strong>of</strong> two processes. One <strong>of</strong> them is data<br />

collection process. It collects data from the monitor<br />

display net, explains the data frame, and stores the data<br />

into the real-time database. Another process is data<br />

analysis process. It extracts data from the real-time<br />

database for data analysis. Then it judges if a failure<br />

mode has happened based on the analysis. Finally, it<br />

gives warnings or alarms. The Real-time database<br />

provides storage and access <strong>of</strong> data. Data collection<br />

process functions as a write user <strong>of</strong> the database while the<br />

data analysis process functions as a read-only user. The<br />

relations have shown in Figure 1.<br />

At the same time, each process uses a plug-in design.<br />

Plug-in is a kind <strong>of</strong> flexible component s<strong>of</strong>tware<br />

architecture. Functional modules are implemented by<br />

© 2012 ACADEMY PUBLISHER<br />

plug-ins instead <strong>of</strong> conventional single program<br />

execution. The plug-in can be independent <strong>of</strong> program<br />

module, it can be developed solely, then loaded into the<br />

system when running, and can be deleted or replaced at<br />

any time. Thus, the extensibility and flexibility <strong>of</strong> the<br />

s<strong>of</strong>tware are improved [11] .<br />

B. Fault Diagnosis Process<br />

Receiving data from net<br />

Correctness Analysis <strong>of</strong><br />

the data, is it correct?<br />

Data frame explaining<br />

Alarm in levels<br />

yes<br />

Store the data into the database<br />

Real-time database<br />

Data access<br />

Rule parse<br />

Fault diagnosis<br />

Result display<br />

No<br />

Figure 4. Fault diagnosis process.<br />

Discard<br />

Fault diagnosis process is shown in Figure 4. On one<br />

hand, the s<strong>of</strong>tware stores the real-time online data from<br />

monitoring net into the database. On the other hand, it<br />

reads fault rules in the library, calls interpreter to parses<br />

the rules, determines the status <strong>of</strong> the satellite and fault<br />

conditions, then gives alarms. Diagnostic results are<br />

displayed in pages.<br />

C. Implementation <strong>of</strong> Fault Rules<br />

The fault rules includes three levels <strong>of</strong> description:<br />

status, event, and parameter.<br />

Parameter rule is the basic unit <strong>of</strong> representation. In<br />

parameter configuration, satellite telemetry parameters<br />

can be used directly or new parameters can be created by<br />

formula. A parameter configuration is defined as<br />

following:<br />

< Parameter Configuration><br />

< Parameter Code ="xxx" Description="xxx" Formula<br />

="xxx"/><br />

< Parameter Code ="xxx" Description="xxx" Formula<br />

="xxx"/><br />

……<br />


2692 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Event rule is expressed by logic operations <strong>of</strong> one or<br />

more parameters. The code and description <strong>of</strong> the event<br />

are needed, which is shown as follows:<br />

<br />

<br />

<br />

<br />

……<br />

<br />

<br />

<br />

<br />

……<br />

<br />

……<br />

<br />

Status rule is used for satellite status description. A<br />

status can be expressed by one or more events. The code,<br />

description and type <strong>of</strong> the status can be defined. And the<br />

level <strong>of</strong> the event can also be defined, shown as follows:<br />

<br />

< Status Code ="xxx" Description ="xxx" Type="xxx"><br />

< Event Code ="xxx" Level="xxx"/><br />

< Event Code ="xxx" Level="xxx"/><br />

……<br />

<br />

<br />

D. Fault Checking Periods<br />

Some failure modes can only occur in special periods,<br />

such as at the moment when satellite separates from the<br />

rocket, before or during orbit maneuvers etc. Some<br />

failure modes may occur throughout the mission. As for<br />

the disposal methods, the same fault occurred at different<br />

times may need different disposal. So period is<br />

introduced in fault diagnosis. The failures are checked<br />

according to the period that it may possible occur to<br />

improve the efficiency <strong>of</strong> the system. At the same time<br />

corresponding countermeasure is given according to the<br />

different period.<br />

E. Alarm Mode<br />

Alarms are notified in following ways:<br />

1) Sound alarm<br />

Give voice prompts according to the fault content, play<br />

the corresponding sound files.<br />

2) Color Alarm<br />

The color is distinguished by yellow and red, directly<br />

colored in the parameter or the corresponding button.<br />

Yellow is a warning color, suggesting that failure may<br />

occur. Red is an alarm color, suggesting that failure has<br />

occurred.<br />

3) Warning dialog box<br />

© 2012 ACADEMY PUBLISHER<br />

Pop-up a warning dialog box according to the failure<br />

contents, giving a specific cause <strong>of</strong> the failure occurred.<br />

4) Alarm log<br />

Write all abnormal information system monitored and<br />

all alarms into alarm logs. Alarm color remains for<br />

convenience for users to query.<br />

F. Pages Designs<br />

Many different pages have been designed for fault<br />

diagnosis system. One <strong>of</strong> which is the page displaying all<br />

prepared failure modes, including alarm diagnosis, alarm<br />

and monitoring, shown in figure 5.<br />

Figure 5. Judgments and alarm <strong>of</strong> prepared failure mode.<br />

The comprehensive monitoring <strong>of</strong> each failure can be<br />

inquired in detail from the page shown in Figure 6.<br />

Figure 6. Comprehensive monitoring <strong>of</strong> failure mode<br />

Figure 7 is the display <strong>of</strong> several tab pages, including<br />

real-time display <strong>of</strong> state judgments, parameter<br />

monitoring, alarm log, mission process viewer and<br />

telecommand sending monitoring.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2693<br />

Figure 7. Tab pages display<br />

G. System Testing<br />

After the completion <strong>of</strong> program design and coding <strong>of</strong><br />

Chang’E-1 Fault diagnosis system, the s<strong>of</strong>tware is tested<br />

many times in failure drillings <strong>of</strong> mission preparation.<br />

And the fault rules are modified according to the<br />

diagnosis results. For a clearly described failure mode,<br />

only 3 telemetry frames, or in another word 6 seconds,<br />

are needed to judge the failure mode (one telemetry frame<br />

is equivalent to 2 seconds when the bit rate <strong>of</strong> telemetry is<br />

512bps. The s<strong>of</strong>tware uses 3 sentence 2 decision<br />

mechanisms).<br />

However, some failures can not be quantitatively<br />

described themselves such as attitude abnormal, so it is<br />

difficult to judge whether the failure has happened, but<br />

the system still can provide trend analysis according to<br />

the changing trend <strong>of</strong> some parameters.<br />

Because the rules are independent <strong>of</strong> program, so once<br />

the rules are modified and reloaded, the system will<br />

automatically diagnose according to the new rules. This<br />

makes the system very easy to upgrade.<br />

IV. CONCULSION<br />

Chang’E-1 fault diagnosis system is a multi-process<br />

program. The data collection process collects data from<br />

the monitor display net, processes data format and then<br />

store the data into the real-time database. At the same<br />

time, several data analysis processes are designed to<br />

extract data from the database for data analysis, judge<br />

failure mode, and gives warning or alarm. Every process<br />

adopts plug-in s<strong>of</strong>tware structure. Advanced BerkeleyDB<br />

real-time database <strong>of</strong> the system not only saves huge<br />

amounts <strong>of</strong> data and results, but also provides high<br />

efficiency <strong>of</strong> data query. The system also used Ice<br />

middleware for message passing between processes.<br />

Based on the experience <strong>of</strong> the flight control <strong>of</strong> satellites,<br />

a XML language is used for rule description <strong>of</strong> failure<br />

mode. It is a solution to separate failure criteria from<br />

program. The system can not only rapid judge the failures<br />

clearly described, but also can provide trend warning for<br />

© 2012 ACADEMY PUBLISHER<br />

modes that can not be quantitatively described, help the<br />

mission operators to analyze. Chang’E-1fault diagnosis<br />

system is very helpful for fault diagnosis in the mission.<br />

The system is the first fault diagnosis system applied to<br />

an actual mission. It provides successful experience <strong>of</strong><br />

fault diagnosis for future missions.<br />

ACKNOWLEDGMENT<br />

The authors wish to thank Dr. Song-Jie HU. This work<br />

is supported in part by a grant from National Natural<br />

Science Foundation <strong>of</strong> China (Grant No. 11173005).<br />

REFERENCES<br />

[1] Zuojun Shen, “Statistical analysis <strong>of</strong> Manned space flight<br />

failure and system research <strong>of</strong> the safety requirements,”<br />

Aerospace China, No.11, pp. 21-24, 1997.<br />

[2] Newman J. Steven, “Failure-Space: a systems engineering<br />

look at 50 space system failures,” Acta Astronautica, 48<br />

(5-12), 2001, pp.517-527.<br />

[3] William S. Morris, Timothy Hill, et al, “Advanced fault<br />

management for the space station external active thermal<br />

control system,” in: 22 nd International Conference on<br />

Environmental Systems, Seattle, WA, July 13-16, 1992.<br />

[4] A.S. Aljabri, D.E. Bernard, D.L. Dvorak, G.K. Man, B.<br />

Pell, T.W. Starbird, “Infusion <strong>of</strong> autonomy technology into<br />

space missions-DS 1 lessons learned”, in: Proc. IEEE<br />

Aerospace Conference, Snowmass, CO, 1998.<br />

[5] Yang Wei-lian, Zhou Wen-yan.”Orbit Design for Lunar<br />

Exploration Satellite CE-1”, Spacecraft Engineering, 16<br />

(8), 2007, pp.16-24.<br />

[6] J. Taylor, “An algorithm for fault-tree construction,” IEEE<br />

Transactions on Reliability, 31(2), pp. 219-254, June 1982.<br />

[7] M. G. Madden, P. J. Nolan, “Monitoring and Diagnosis <strong>of</strong><br />

Multiple Incipient Faults Using Fault Tree Induction,”<br />

IEEE Proceeding on Control Theory and Applications,<br />

146(2), March 1999.<br />

[8] Long Bing, Song Lihui, Jing Wuxing, Jiang Xingwei, “A<br />

Review and Propect <strong>of</strong> Fault Diagnosis Technique <strong>of</strong><br />

Spacecrafts,” Missiles and Space Vehicles, (3), pp. 31-37,<br />

2003.<br />

[9] F. N. Pirmoradi, F. Sassani, and C. W. deSilva, “Fault<br />

Detection and Diagnosis in a Spacecraft Attitude<br />

Determination System”, Acta Astronautica, 65, pp.710-729,<br />

March. 2009.<br />

[10] Fox Jack J , et al. “Informed maintenance for next<br />

generation reusable launch systems,” Acta Astronautica, 48,<br />

pp.439~ 449, 2001.<br />

[11] Wolfinger, R., Dhungana, D., Präh<strong>of</strong>er, H., “A<br />

Component Plug-In Architecture For The .NET Platform,”<br />

in: 7th Joint Modular Languages Conference (JMLC 2006),<br />

Oxford, UK, September 13-15, 2006.<br />

BIOGRAPHY<br />

Ai-wu Zheng born in 1974. She<br />

received her M.S. degree from the<br />

National University <strong>of</strong> Defense<br />

Technology in 1999. Now she is a<br />

doctor student <strong>of</strong> School <strong>of</strong><br />

Astronautics <strong>of</strong> Beihang University<br />

majored in Spacecraft design and<br />

Engineering. Senior engineer. Her main<br />

research is mission design.


2694 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

© 2012 ACADEMY PUBLISHER<br />

Yu-hui Gao born in 1978. He received<br />

his M.S. degree from Beihang<br />

University in 2010. Engineer. His main<br />

research area is computer architecture.<br />

Yong-ping Ma born in 1964. He<br />

received his Ph.D. degree in spacecraft<br />

design from Beijing University <strong>of</strong><br />

Aeronautics and Astronautics in 2010.<br />

Researcher. His main research area is<br />

spacecraft flight control.<br />

Jian-ping Zhou received his Ph.D.<br />

degree in Solid Mechanics from the<br />

National University <strong>of</strong> Defense<br />

Technology in 1989. Ph.D. Supervisor,<br />

Pr<strong>of</strong>essor, Chief Design <strong>of</strong> China<br />

manned space flight program.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2695<br />

An Improved Implementation <strong>of</strong> Preconditioned<br />

Conjugate Gradient Method on GPU<br />

Yechen Gui<br />

Shenzhen Institute <strong>of</strong> Advanced Technology, Chinese <strong>Academy</strong> <strong>of</strong> Sciences, Shenzhen, China<br />

Email:liaoran919@yahoo.com.cn<br />

Guijuan Zhang<br />

Shenzhen Institute <strong>of</strong> Advanced Technology, Chinese <strong>Academy</strong> <strong>of</strong> Sciences, Shenzhen, China<br />

Email:gj.zhang@siat.ac.cn<br />

Abstract—An improved implementation <strong>of</strong> the<br />

Preconditioned Conjugate Gradient method on GPU using<br />

CUDA (Compute Unified Device Architecture) is proposed.<br />

It aims to solving the Poisson equation arising in liquid<br />

animation with high efficiency. We consider the features <strong>of</strong><br />

the linear system obtained from the Poisson equation and<br />

propose an optimization method to solve it. First, a novel<br />

storage format called mDIA (modified diagonal storage<br />

format) is presented to improve the efficiency <strong>of</strong> the Sparse<br />

Matrix-Vector product (SpMV) operation. Second, a<br />

parallel Jacobi iterative method is proposed when using the<br />

Incomplete Cholesky preconditioner to explore inherent<br />

parallelism. Third, CUDA streams are also introduced to<br />

overlap computations among separate streams. The<br />

proposed optimization technique is embedded into our GPU<br />

based PCG algorithm. Results on Geforce G100 show that<br />

our SpMV kernel yields an improvement <strong>of</strong> nearly 100% for<br />

large sparse matrix with more than 30, 0000 rows. Also, a<br />

speedup <strong>of</strong> more than 7 is obtained for PCG method,<br />

making the real-time physics engine possible.<br />

Index Terms—CUDA, PCG, Incomplete Cholesky<br />

preconditioner, SpMV, Poisson equation<br />

I. INTRODUCTION<br />

In the past few years, Graphics Processing Unit (GPU)<br />

has evolved into a unified powerful many-core processor.<br />

The modern GPUs are well suited for compute-intensive<br />

tasks and massively parallel computation (e.g., solving<br />

matrix problems [1] [2]). As one <strong>of</strong> the most common and<br />

important matrix problems, solving the large-scale linear<br />

system can be significantly accelerated if corresponding<br />

algorithms can be mapped well to the structure <strong>of</strong> the<br />

GPU and be accord with SIMD (Single Instruction,<br />

Multiple Data) pattern.<br />

In this paper, we focus on the problem <strong>of</strong> solving the<br />

Poisson equation. The equation arises in many<br />

applications such as computational fluid dynamics,<br />

electrostatics, magnetostatics, etc. Numerical solution <strong>of</strong><br />

the Poisson equation leads to a large sparse linear system.<br />

It is usually solved by iterative methods such as the bestknown<br />

conjugate gradient (CG) method instead <strong>of</strong> direct<br />

methods (e.g., Gaussian elimination). The CG method<br />

can be easily implemented to solve linear systems that<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2695-2702<br />

have a symmetric, definite positive (SPD) matrix [3].<br />

However, it is <strong>of</strong>ten used with a suitable preconditioner in<br />

order to achieve high convergence rates in large scale<br />

applications. A CG algorithm with a preconditioner is<br />

called preconditioned conjugate gradient algorithm (PCG)<br />

and it has been proven to be efficient and robust in a wide<br />

range <strong>of</strong> applications [4].<br />

Our goal is to solve Poisson equation efficiently by<br />

applying PCG algorithm on the Nvidia GPU architecture<br />

using CUDA [5]. Since the SpMV routine is the<br />

bottleneck <strong>of</strong> PCG algorithm that consumes nearly 80%<br />

<strong>of</strong> the total time, we present a novel storage format called<br />

mDIA storage format to optimize it. Moreover, we<br />

parallelize the traditional Jacobi iterative method to solve<br />

the lower Cholesky triangular equation when using the<br />

Incomplete Cholesky (IC) preconditioner. In addition, to<br />

effectively overlap the computation, CUDA streams are<br />

also adopted in this paper. Results show that our method<br />

obtains a speedup <strong>of</strong> 7 for PCG algorithm on Geforce<br />

G100.<br />

The paper is organized as follows. The next section<br />

introduces the background <strong>of</strong> our method. The related<br />

work on GPU based PCG methods are reviewed first, and<br />

then we give a brief introduction <strong>of</strong> our linear system<br />

generated from Poisson equation. GPU architecture and<br />

our optimization algorithm based on GPU are presented<br />

in Section 3. In this section, the optimization techniques<br />

are discussed in detail. Section 4 shows experimental<br />

results followed by conclusions in Section 5.<br />

II. BACKGROUND<br />

2.1. Related Work<br />

Jeff Bolz et.al [6] was the first to implement CG<br />

method on GPU using shader language and the speedup<br />

was about 1.5x. He also showed the feasibility <strong>of</strong> using<br />

the Compressed Row Storage Format for SpMV routine.<br />

After the advent <strong>of</strong> NVIDIA CUDA, GPU based iterative<br />

methods have been widely used to solve the sparse linear<br />

systems [7][8][9]. For example, Georgescu et.al [7]<br />

discussed how CG method could be aligned to the GPU<br />

architecture. They also discussed the problem with<br />

precision and applied different preconditioners to


2696 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

accelerate convergence. In particular, they stated that for<br />

double precision calculations, problem having condition<br />

number less than 10 may converge and give a speedup<br />

also. In 2009, Buatois et al. [10] introduced their<br />

framework CNC for solving general sparse linear systems<br />

on GPU with a Jacobi-preconditioned CG method. Their<br />

method achieved a speedup <strong>of</strong> 3.2. However, they warned<br />

that GPU is only able to provide comparable accuracy<br />

because as the iterations increase, the precision drops in<br />

comparison to CPU. They also exploited some <strong>of</strong> the<br />

techniques like register blocking to optimize their<br />

algorithm. In [11], the CG method with Incomplete<br />

Poisson preconditioning was implemented on a multi-<br />

GPU platform. It mainly focused on overlapping<br />

communication between different GPUs by interactively<br />

exchanging boundary stream and inner stream. Their<br />

results showed that the performance can grow<br />

proportionally to the problem size and showed a good<br />

scalability. In work published by A.Asgasri[9], the author<br />

parallelized a Chebyshev polynomial preconditioner to<br />

improve the performance <strong>of</strong> PCG method based on GPU.<br />

As for the CG algorithm, nearly 80% <strong>of</strong> the total time<br />

is consumed by SpMV routine. It yields only a small<br />

fraction <strong>of</strong> the machine peak performance due to its<br />

indirect and irregular memory access. Therefore, there<br />

exists a large amount <strong>of</strong> work focusing on speeding up<br />

SpMV routine. Typical methods <strong>of</strong>ten use CSR<br />

(Compressed sparse row) format, COO (the coordinate)<br />

format and the DIA (diagonal) storage formats to mitigate<br />

the irregularity [12]. In a recent study by Nathan Bell [13],<br />

a hybrid method that used the modified ELL-COO format<br />

to store the sparse matrix delivered high throughput.<br />

However, it relied on an additional sweep operation to<br />

find out the number <strong>of</strong> nonzero elements in the matrix.<br />

2.2. The Linear System Derived from the Poisson<br />

Equation<br />

The Poisson equation in liquid animation is a secondorder<br />

PDE as shown in equation (1). It is used to compute<br />

the pressure p .<br />

2 ρ<br />

∇ p = u<br />

Δt<br />

Note that in the Poisson equation (1), p is the pressure,<br />

ρ is the density and t<br />

Δ is time step. It can be further<br />

transformed into equation (2) according to finite<br />

difference method.<br />

−p −p − p + 6p<br />

−p −p −p<br />

i−1, jk , i, j−1, k i, jk , − 1 i, jk , i+ 1, jk , i, j+ 1, k i, jk , + 1<br />

2 ρ ⎛ui+ 1, jk , − ui, jk , + vi, j+ 1, k− vi, jk , + wi, jk , + 1 −wi,<br />

jk , ⎞<br />

=−Δx ⎜ ⎟<br />

Δt⎝ Δx<br />

⎠<br />

ρ<br />

=−Δx ( ui+ 1,, jk− ui,, jk+ vi, j+ 1, k− vi,, jk+ wi,, jk+ 1 −wi,,<br />

jk)<br />

Δt<br />

In equation (2), Δx is space interval, u = (u,v,w) is the<br />

velocity field. Let<br />

© 2012 ACADEMY PUBLISHER<br />

(1)<br />

(2)<br />

ρ<br />

i+ 1, jk , i, jk , ij , + 1, k i, jk , ijk , , + 1 i, jk ,<br />

b=−Δx ( u − u + v − v + w −w<br />

).<br />

Δt<br />

Equation (2) can be converted into Ap = b, and our goal<br />

is to solve the unknown vector p .<br />

It can be proved that A is a sparse, positive-definite<br />

and symmetry matrix. In addition, we also explore some<br />

other features <strong>of</strong> matrix A in order to design more<br />

efficient algorithms. See the left side <strong>of</strong> equation (2), each<br />

row <strong>of</strong> A has no more than 7 nonzero elements. In this<br />

row, the diagonal element is a nonzero integer while the<br />

other nonzero elements equal to -1. Other rows also have<br />

similar structures. All these features will be considered in<br />

our new algorithm. Details will be given in the following<br />

sections.<br />

2.3. The PCG Algorithm<br />

Consider<br />

Ax= b,<br />

(4)<br />

where x is an unknown vector, b is a known vector, A is a<br />

known SPD matrix. According to PCG algorithm,<br />

equation (4) can be written as<br />

(3)<br />

−1 −1<br />

M Ax = M b,<br />

(5)<br />

where matrix M is a preconditioner[4].<br />

Given the inputs A , b , a starting vector x , a<br />

preconditioner M, a maximum number <strong>of</strong> iterations<br />

k_max and a error tolerance err, the PCG algorithm can<br />

be described in fig. 1. In this figure, a set <strong>of</strong> α -<br />

α<br />

orthogonal search directions 0, α1, α2… αn<br />

are<br />

constructed by the conjugation <strong>of</strong> the<br />

r<br />

residues 0, r1, r2… rn<br />

respectively. Then in the k th<br />

iteration step, k x takes exactly one step <strong>of</strong> the length<br />

hk a .<br />

along the direction k If the convergence conditions<br />

err < ε and k < max_ k<br />

are met, the iterative process is<br />

x<br />

terminated. Note that in our method, we set 0 = 0<br />

.<br />

−1<br />

M r<br />

To compute k at each iteration step, we choose<br />

IC preconditioner in our method to improve the<br />

convergence rate [4]. An IC preconditioner can be<br />

T<br />

obtained by factoring a matrix A into the form LL<br />

where L is a lower Cholesky triangular matrix. L is<br />

restricted to have the same pattern <strong>of</strong> nonzero elements as<br />

A and other elements <strong>of</strong> L are thrown away. Therefore,<br />

−1<br />

T<br />

M equals LL z<br />

and k ← M rk<br />

can be converted<br />

T<br />

( LL ) z<br />

into k = rk<br />

. As a result, k z can be directly<br />

computed by forward and then backward substitutions.<br />

III. IMPLEMENTATION ON GPU<br />

3.1 GPU Architecture and CUDA


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2697<br />

The new generation <strong>of</strong> GPU adopts the unified shader<br />

architecture CUDA and promise up to 900 Gflops(single<br />

precision) <strong>of</strong> computational power.<br />

A GPU can be seen as a SIMD processer. What this<br />

means is that there are an army <strong>of</strong> processers executing<br />

the same instructions in parallel independently. Take fig.<br />

2 for example, a GPU has a scalable array <strong>of</strong><br />

multithreaded Streaming Multiprocessors (SPs). Each<br />

multiprocessor creates, manages, schedules, and executes<br />

groups <strong>of</strong> 32 parallel threads which are called warps.<br />

Individual threads composing a warp start together at the<br />

r0 ←b− Ax0<br />

−1<br />

z0 ← M r0<br />

h0 ← z0,<br />

errold ←< r0, z0<br />

><br />

errnew ← errold<br />

While (err new < ε || k<br />

xk ← xk−1+ α hk−1<br />

rk ← rk−1−αAhk−1 zk −1<br />

← M rk<br />

errold ← errnew<br />

errnew ←< rk , zk<br />

errnew<br />

β ←<br />

errold<br />

><br />

h ← z + β h<br />

k k k−1<br />

Figure 1. PCG algorithm.<br />

same program address, but have their own instruction<br />

address counter and register state. Therefore they are free<br />

to branch and execute independently.<br />

On GPU chip, each multiprocessor has a set <strong>of</strong><br />

memories associated with it. They are: on-chip shared<br />

memory, global memory, read-only constant cache, and<br />

read-only texture cache. Among these memories, global<br />

memory is the biggest in size but with highest access<br />

latency. On the other hand, Shared memory, constant<br />

cache as well as the texture cache resides on chip and can<br />

be accessed more efficiently. Note that shared memory is<br />

only visible to one block and threads <strong>of</strong> other block<br />

cannot access the data stored in it.<br />

The scalable characteristic <strong>of</strong> modern GPU provides<br />

coarse-grained and the fine-grained data parallelism.<br />

They guide the programmer to partition the problem into<br />

sub-problems that can be solved independently in parallel<br />

by blocks <strong>of</strong> threads. Moreover, each sub-problem can be<br />

divided into finer pieces that can be solved cooperatively<br />

in parallel by all threads within the block. Fig. 3 gives an<br />

example. In this figure, kernels are launched on GPU<br />

device and executed by multiple equally-shaped thread<br />

blocks.<br />

© 2012 ACADEMY PUBLISHER<br />

3.2 Overview<br />

Algorithm 1 shows our framework for PCG<br />

implementation on GPU. In this framework, we use two<br />

kernels to complete the computation involved in the for<br />

loop. They are the SpMV kernel that computes matrix-<br />

vector multiplication such as 1 ,<br />

k<br />

−1<br />

M r<br />

Ah − the preconditioning<br />

kernel that computes k .<br />

Besides the above kernels, other operations such as dot<br />

products among vectors can be done efficiently by cublas<br />

library [14] because they all belong to level-1 BLAS<br />

(Basic Linear Algebra Subprograms) functions.<br />

Figure 2. GPU architecture.<br />

Figure 3. Serial code executes on the host while parallel code executes<br />

on the device.


2698 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

In order to improve the efficiency <strong>of</strong> our GPU based<br />

PCG algorithm, we focus on two most expensive kernels<br />

here: the SpMV kernel and the preconditioning kernel. In<br />

addition, to get a higher level <strong>of</strong> concurrency, we use a<br />

technique called streams [15] to run independent kernels<br />

asynchronously so as to overlap the computation.<br />

Algorithm 1. Algorithm for our PCG method on<br />

GPU<br />

//Use cublas()<br />

to compute dot products<br />

//and then obtain err<br />

r0 ← b− Ax0<br />

−1<br />

z0 ← M r0<br />

h0 ← z0,<br />

errold ←< r0, z0<br />

><br />

errnew ← errold<br />

while (err new < ε && k<br />

//Use cublasSaxpy()<br />

xk ← xk−1 + α hk−1<br />

(2)<br />

rk ← rk−1 −αAhk−1<br />

(3)<br />

// Preconditioning<br />

kernel<br />

z ← M r<br />

−1<br />

k k<br />

// Devcie assignment<br />

err ← err<br />

old new<br />

//Use cublasdot()<br />

err ←< r , z > (4)<br />

new k k<br />

//Use cublasSaxpy()<br />

err<br />

β ←<br />

err<br />

new<br />

old<br />

k ← k + β k−1<br />

h<br />

k ++<br />

z h<br />

end while<br />

(5)<br />

3.3 SpMV Kernel<br />

Sparse Matrix-vector multiplication (SpMV) is one <strong>of</strong><br />

the most fundamental and important operations in sparse<br />

matrix computations. It is the dominant cost in many<br />

iterative methods for solving large-scale linear systems.<br />

Recently, several research groups have reported their<br />

implementation on CUDA–compatible GPUs and show<br />

that the storage pattern such as CSR, ELL, HYBRID<br />

formats can be efficiently accessed by CUDA threads.<br />

However, except for the CSR format, all other formats<br />

have to fill in zeros to keep the array strictly aligned, thus<br />

causing memory waste.<br />

Since the SpMV kernel with CSR format provides<br />

important insight for understanding our algorithm, we<br />

discuss the implementation <strong>of</strong> SpMV GPU kernels with<br />

CSR and mDIA respectively in the following subsections.<br />

3.3.1 SpMV with CSR format<br />

© 2012 ACADEMY PUBLISHER<br />

CSR format is one <strong>of</strong> the most popular sparse matrix<br />

representations. In this format, an N-by-N sparse matrix<br />

with K nonzero elements is stored as two arrays: one<br />

array val holds the K nonzero elements and the other<br />

array col holds the column indexes <strong>of</strong> these nonzero<br />

elements. What’s more, an additional array Rowptr with<br />

the length N+1 is used. The first N components <strong>of</strong><br />

Rowptr record the indexes <strong>of</strong> the first element in each<br />

row while the last one denotes the number <strong>of</strong> nonzero<br />

elements in the matrix. Fig. 4 gives an example. Unlike<br />

the ELL or DIA, CSR format doesn’t waste any memory<br />

space.<br />

Figure 4. CSR format for sparse Matrix.<br />

To parallelize the SpMV operation with CSR format, a<br />

scheme called scalar CSR kernel [13] is used. In this<br />

kernel, one thread is used to fetch one row <strong>of</strong> the matrix<br />

A and then complete the dot product for one component<br />

<strong>of</strong> the result vector. The computations <strong>of</strong> all threads are<br />

independent. The data parallelism as well as the access<br />

pattern <strong>of</strong> scalar CSR kernel is shown in Fig. 5. It gives a<br />

simplified example <strong>of</strong> the allocation <strong>of</strong> the threads, in<br />

which the array data, Col Index, and Rowptr are stored in<br />

global memory for the dot product operation.<br />

Data<br />

Col Index<br />

Rowptr<br />

⎡1 3 0 0 0 ⎤<br />

⎢<br />

9 7 0 8 2<br />

⎥<br />

⎢ ⎥<br />

Matrix = ⎢0 6 1 0 0⎥<br />

⎢ ⎥<br />

⎢1 0 3 9 0 ⎥<br />

⎢<br />

⎣0 0 0 0 2⎥<br />

⎦<br />

val = [1 3 9 7 8 2 6 1 1 3 9 2]<br />

col = [0 1 0 1 3 4 1 2 0 2 3 2]<br />

Rowptr = [0 2 6 8 11 12]<br />

Row1<br />

Thread1<br />

Row2<br />

Thread2<br />

Row3<br />

Thread3<br />

Figure 5. Scalar SpMV Kernel with CSR format.<br />

Row4<br />

Thread4<br />

Global Memory<br />

3.3.2 SpMV with mDIA format<br />

(1) Our mDIA storage format<br />

Our matrix has a regular pattern that the elements <strong>of</strong>f<br />

the main diagonal are all assigned to a constant integer -<br />

1while the nonzero diagonal elements are also integers.<br />

The number <strong>of</strong> nonzero elements per row varies from 3 to<br />

7 and this irregularity makes ELL or hybrid pattern<br />

infeasible, since they will cause large zero fill-ins.<br />

In mDIA format, the constant value is stored in the<br />

constant memory. As a result, 1D array Diag only needs<br />

to store the diagonal elements. Because all diagonal<br />

elements in our matrix are nonzero values, the row and


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2699<br />

column indexes <strong>of</strong> them can be easily obtained from Diag.<br />

Array col only needs to record column indexes <strong>of</strong> the<br />

constant value. Besides, Array Rowptr is used to tell<br />

where a new row begins in the array col, similar to array<br />

Rowptr in CSR format. Fig. 6 shows a portion <strong>of</strong> one<br />

matrix and its corresponding storage mechanism. Note<br />

that the constant -1 is stored in the constant memory.<br />

Since most <strong>of</strong> the nonzero elements are <strong>of</strong>f the main<br />

diagonal in our matrix and they are stored in the constant<br />

memory, the memory usage can be significantly reduced<br />

compared with the CSR format. Also, the constant<br />

memory, a small high-speed cache residing in the global<br />

memory on GPU, enables us to fetch data efficiently [15].<br />

⎡6 -1 0 0 0⎤<br />

⎢<br />

-1 7 0 -1 0<br />

⎥<br />

⎢ ⎥<br />

Matrix = ⎢0 -1 6 0 0⎥<br />

⎢ ⎥<br />

⎢-1 0 -1 3 -1⎥<br />

⎢<br />

⎣0 0 -1 0 2⎥<br />

⎦<br />

diag = [6 7 6 3 2]<br />

col = [1 0 3 1 0 2 4 2]<br />

Rowptr = [0 1 3 4 7 8]<br />

_device_ _constant_ val =-1<br />

Figure 6. mDIA storage format.<br />

(2) The SpMV kernel<br />

To implement the SpMV kernel with mDIA format on<br />

GPU, we assign one thread to compute one component <strong>of</strong><br />

the result vector. Take thread i for example. It computes<br />

the dot product between the i-th row <strong>of</strong> our matrix and the<br />

vector. First it fetches the diagonal nonzero element from<br />

diag[i]. Then the column indexes <strong>of</strong> the constant<br />

elements from col[Rowptr[i]] to col[Rowptr[i+1]] are<br />

read contiguously. Finally, the dot products operation is<br />

executed.<br />

Considering that the vector is reused in the<br />

computation <strong>of</strong> the dot product, we bind it to a 1D texture.<br />

This can bring potentially higher bandwidth and can be<br />

used to avoid uncoalesced loads from global memory<br />

[15]. Other array such as col are stored in the global<br />

memory. Fig. 7 presents the pseudo-code <strong>of</strong> our<br />

implementation.<br />

3.4 Preconditioning Kernel using Jacobi Method<br />

Another important kernel in our PCG algorithm is the<br />

preconditioning kernel. According to IC preconditioner,<br />

−1<br />

T<br />

zk ← M rk<br />

is converted into ( LL ) zk = rk<br />

where<br />

L is the lower Cholesky triangular matrix. Thus, zk can<br />

T<br />

be obtained by solving LLz ( k) = rk<br />

in two stages:<br />

forward substitution Ly = rk<br />

and backward<br />

substitution T<br />

Lzk = y.<br />

However, the direct method <strong>of</strong> backward and forward<br />

substitution cannot be used to solve all the components<br />

© 2012 ACADEMY PUBLISHER<br />

simultaneously on GPU because the computation <strong>of</strong> the<br />

ith component <strong>of</strong> zk relies on all its previous components.<br />

To get a higher level <strong>of</strong> parallelism, we use Jacobi<br />

method instead <strong>of</strong> direct method in this paper. Jacobi<br />

iterative method is data independent that can be well<br />

aligned to SIMD pattern and improves parallelism<br />

significantly.<br />

__Constant__ val = -1;<br />

__ global__ void SpMV(float *diag, float *col, float<br />

*Rowptr, float *x, )<br />

{<br />

int thread_id = blockDim.x * blockIdx.x + threadIdx.x;<br />

int grid_size = gridDim.x * blockDim.x;<br />

for(int row = thread_id; row < num_rows; row +=<br />

grid_size)<br />

{<br />

const int row_beg = Rowptr[row];<br />

const int row_end = Rowptr[row+1];<br />

float sum = 0;<br />

for (int jj = row_beg; jj < row_end; jj++)<br />

{<br />

sum += val*fetch_x(Col[jj], x, UsedTex);<br />

sum += diag[row] *fetch_x(row, x, UsedTex);<br />

}<br />

y[row] = sum;<br />

}<br />

}<br />

Figure 7. Pseudo-code <strong>of</strong> our SpMV kernel<br />

3.4.1 Jacobi iterative method<br />

Jacobi iterative method is a numerical solution <strong>of</strong> a<br />

system <strong>of</strong> linear equations with largest absolute values in<br />

each row and column dominated by the diagonal element.<br />

To solve our lower Cholesky triangular<br />

equation Ly = rk<br />

, we first decompose the lower<br />

Cholesky triangular matrix L into a diagonal matrix D<br />

and a lower triangle matrix R. Then the system <strong>of</strong> linear<br />

equations becomes<br />

( D + Ry ) = r,<br />

(6)<br />

and finally<br />

Therefore, y can be solved iteratively by<br />

k<br />

Dy = rk− Ry.<br />

(7)<br />

1<br />

y = D ( r − Ry ) . (8)<br />

−<br />

k+ 1<br />

k k<br />

Next, zk can be computed by solving upper Cholesky<br />

triangular equation T<br />

Lzk = yin<br />

the same way.<br />

3.4.2 Parallel Jacobi algorithm<br />

Fig. 8 (a) shows the iterative process <strong>of</strong> our parallel<br />

Jacobi algorithm. In this figure, d_old stores the result<br />

from the previous step and d_new is used to update the<br />

current computation. The constant vector d_const<br />

−1<br />

= D rk<br />

, where the diagonal matrix D is stored in the<br />

array d_diag. d_R stores the lower triangular matrix R<br />

and d_res is used to compute the residue. Note that most


2700 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

−1<br />

<strong>of</strong> the operations such as D b can be converted to<br />

level-1 BLAS operation among the vectors. These<br />

operations could be easily parallelized using CUDA. Fig.<br />

8 (b) shows the kernel named VecDiv_kernel for<br />

−1<br />

computing D b and the kernel named VectorSub_kernel<br />

for computing the substraction betweeen two vectors.<br />

while( err < tol &&k< k max)<br />

{<br />

// d_yNew ← Ryk<br />

SpMV ( d_R,d_ yOld,d_yNew<br />

) ;<br />

−1<br />

// d_yNew ← D ( Ryk)<br />

VecDiv _ ker nel ( d _ diag,d _ yNew,<br />

N ) ;<br />

−1 −1<br />

// d_yNew ← D ( Ryk) + D rk<br />

cublasSaxpy ( N,1.0,d _ const,1,d _ yNew,<br />

−1<br />

) ;<br />

// d_res ← residue<br />

VectorSub<br />

d _ yNew,d _ yold,d<br />

_ res, N ;<br />

( )<br />

( )<br />

err = cublasSasum N,d _ res,1 ;<br />

// d_yOld ← d_yNew<br />

( )<br />

cublasScopy N,d _ yNew,1,d _ yOld,1<br />

;<br />

k ++ ;<br />

}<br />

(a) The iterative process.<br />

__global__ void VectorSub_kernel(float* A, float*<br />

B, float* C,int N)<br />

{<br />

int i = blockDim.x * blockIdx.x +<br />

threadIdx.x;<br />

float a = 0.0f;<br />

if (i< N)<br />

{<br />

a = A[i] - B[i];<br />

C[i] = a;<br />

}<br />

}<br />

__global__ void VecDiv_kernel1(float* A, const<br />

float* B, float* C,int N)<br />

{<br />

int i = blockDim.x * blockIdx.x +<br />

threadIdx.x;<br />

float a = 0.0f;<br />

if (i< N)<br />

{<br />

a = __fdividef(A[i],B[i]);<br />

C[i] = a;<br />

}<br />

}<br />

(b) Two GPU kernels involved in this process.<br />

Figure 8. Parallel Jacobi iterative method.<br />

3.5 Parallelism with Streams<br />

CUDA applications can manage concurrency through<br />

streams. A stream is a sequence <strong>of</strong> commands that<br />

© 2012 ACADEMY PUBLISHER<br />

execute in order. Different streams, on the other hand,<br />

may execute their commands out <strong>of</strong> order concurrently.<br />

Fig. 7 illustrates the GPU time flow for sequential (Fig. 9<br />

(a)) and concurrent (Fig. 9 (b)) kernel executions.<br />

Kernel_1<br />

Kernel_1<br />

Kernel_2<br />

Kernel_2<br />

Figure 9. GPU Time flow with CUDA streams<br />

We adopt this optimization technique for our two<br />

independent tasks as shown in fig. 10.<br />

SetKernelStream( streams[0]);<br />

xk ← xk−1+ α hk−1<br />

;<br />

SetKernelStream( streams[1]);<br />

r ← r −αAh<br />

;<br />

k k−1 k−1<br />

Kernel_3<br />

Figure 10. The operations using CUDA streams.<br />

As a result, the computation <strong>of</strong> the two tasks can be<br />

overlapped and the GPU resources can be used more<br />

effectively.<br />

IV. RESULTS<br />

Kernel_3<br />

(a). GPU time flow (without CUDA streams)<br />

Kernel_4<br />

(b). GPU time flow (with CUDA) streams)<br />

We use Geforce G100 to test the performance <strong>of</strong> our<br />

parallel PCG algorithm. Geforce G100 has 8 CUDA<br />

cores and the peak performance for single precision is<br />

10.4 Gflops. The CPU used is AMD 7750 dual-core<br />

processers with the core frequency <strong>of</strong> 2.7GHz. The CPU<br />

implementation <strong>of</strong> PCG is single-threaded.<br />

Table 1 shows some matrices that generated from our<br />

Poisson equation. They will be used in our performance<br />

test. In this section, we start from testing the performance<br />

<strong>of</strong> our SpMV kernel and then test Jacobi iterative method<br />

for solving the lower Cholesky triangular equations,<br />

followed by CUDA stream results.<br />

TABLE.1<br />

MATRICES USED FOR EXPERIMENTS<br />

MATRIX #N #Nonzeros<br />

Matrix_1 8087 49915<br />

Matrix_2 22028 131,118<br />

Matrix_3 65043 394,877<br />

Matrix_4 140,120 876,518<br />

Matrix_5 209,908 1,325,066<br />

Matrix_6 274,949 1,755,263<br />

Matrix_7 304,207 1,962,311<br />

Kernel_4<br />

4.1.SpMV Kernel Test<br />

4.1.1 SpMV kernels performance<br />

Table 2 shows the performance <strong>of</strong> our SpMV kernel<br />

against the SpMV kernel with CSR format. In this table,<br />

GPU Time accounts for the total time consumed for the


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2701<br />

SpMV kernel in our PCG algorithm and the speedup is<br />

the ratio compared with CPU Time. On CPU, the SpMV<br />

routine is implemented using CSR format. According to<br />

the results, our SpMV kernel runs an average <strong>of</strong> one time<br />

faster than that in CSR format and it <strong>of</strong>fers an average <strong>of</strong><br />

about 10 times speedup compared with the CPU version.<br />

TABLE 2<br />

GPU/CPU SPMV KERNELS PERFORMANCE (SECONDS)<br />

matrix<br />

Timings for<br />

spMV CPU<br />

routine<br />

Timings for Speedup<br />

spMV GPU<br />

kernel<br />

(seconds)<br />

CSR mDIA CSR mDIA<br />

Matrix_1 0.48 0.09 0.05 5.4 9.0<br />

Matrix _2 1.34 0.25 0.14 5.4 9.5<br />

Matrix _3 5.50 1.00 0.57 5.5 9.6<br />

Matrix _4 15.15 2.63 1.52 5.8 10<br />

Matrix _5 29.67 5.34 2.99 5.6 9.9<br />

Matrix _6<br />

Matrix _7<br />

44.82<br />

54.69<br />

8.03<br />

9.50<br />

4.50<br />

5.41<br />

5.5<br />

5.1<br />

9.96<br />

10.8<br />

4.1.2 The performance <strong>of</strong> CG&PCG algorithm with<br />

our SpMV kernel<br />

We embed our SpMV kernel into CG&PCG method<br />

On GPU. Here, the IC preconditioner <strong>of</strong> PCG method is<br />

solved by direct method. Further improvement using<br />

Jacobi iterative method will be presented in the next<br />

subsection.<br />

We compare our results with CG&PCG methods using<br />

CSR format as shown in Table 3. It illustrates that due to<br />

our SpMV kernels, the CG algorithm outperforms by<br />

nearly 50% when the number <strong>of</strong> nonzero elements<br />

reached 1,962,311.<br />

However, when PCG method is applied, this table<br />

shows that our advantage over the CSR_based method<br />

has been less obvious; and when the dimension <strong>of</strong> matrix<br />

has reached up to 304,207, the performance improvement<br />

is only about 10%. This is due to the sequential nature <strong>of</strong><br />

the direct method as mentioned before.<br />

4.2 Jacobi Method for IC Preconditioner<br />

In this section, we adopt two variants: the direct<br />

method and the Jacobi iterative method to explore GPU<br />

performance for PCG algorithm.<br />

TABLE 3.<br />

TIME COST FOR CG AND PCG ALGORITHM IMPLEMENTED ON GPU<br />

RESPECTIVELY (SECONDS)<br />

matrix<br />

CG<br />

steps<br />

Timings for GPU<br />

based CG<br />

method(seconds)<br />

PCG<br />

steps<br />

Timings for GPU<br />

based PCG<br />

method(seconds)<br />

mDIA CSR mDIA CSR<br />

Matrix_1 84 0.64 0.68 17 0.50 0.50<br />

Matrix_2 90 0.76 0.86 21 1.15 1.17<br />

Matrix_3 123 1.40 1.80 23 2.63 2.71<br />

Matrix_4 146 2.42 3.69 25 4.8 5.09<br />

Matrix_5 192 4.44 6.70 30 7.9 8.32<br />

Matrix_6 221 6.41 9.87 34 10.98 11.87<br />

Matrix_7 234 7.25 11.53 35 11.35 12.77<br />

When solving the lower Cholesky triangular<br />

equation, Timings for the parallel Jacobi iterative method<br />

and the direct method are both accumulated at every<br />

© 2012 ACADEMY PUBLISHER<br />

iterative step and their final costs are showed in Table 4.<br />

From this table, it can be noticed that GPU performance<br />

<strong>of</strong> the Jacobi iterative method has been efficiently<br />

improved about 3 times.<br />

TALBE 4.<br />

TIME COST FOR GPU SOLVER OF JACOBI METHOD AND DIRECT METHOD<br />

WHILE APPLYING IC PRECONDITIONER<br />

matrix Timings for<br />

Timings for<br />

Jacobi solver (seconds) direct solver (seconds)<br />

Matrix_2 0.18 1.001<br />

Matrix_3 0.50 2.533<br />

Matrix_4 1.225 3.912<br />

Matrix_5 2.288 6.030<br />

Matrix_6 3.377 9.454<br />

Matrix_7 3.893 11.021<br />

4.3 The Speedup <strong>of</strong> Our GPU based PCG Algorithm<br />

Fig. 11 shows the speedup <strong>of</strong> our parallel PCG<br />

algorithm after using our SpMV kernel, Jacobi iterative<br />

method, as well as CUDA streams. It can be seen from<br />

the figure that there has been at least 16% increase for our<br />

PCG algorithm compared that with CSR formats.<br />

Furthermore, our PCG algorithm with three optimization<br />

techniques proposed obtains an average <strong>of</strong> 6 times<br />

speedup, while the CSR method only <strong>of</strong>fers an average <strong>of</strong><br />

4.<br />

Figure 11. Speedup <strong>of</strong> our GPU based PCG algorithm.<br />

V. CONCLUSIONS<br />

In this work, we propose an optimization method for<br />

GPU based PCG algorithm. It is designed to solve the<br />

Poisson equation arising in liquid animation efficiently.<br />

By utilizing optimized SpMV kernel, iterative Jacobi<br />

method and CUDA streams, our method improves the<br />

efficiency <strong>of</strong> solving large sparse linear systems<br />

significantly. Experimental results also show the<br />

effectiveness <strong>of</strong> our method.<br />

Next we will focus on seeking out the other potential<br />

bottleneck <strong>of</strong> PCG algorithm by CUDA Visual Pr<strong>of</strong>iler.<br />

Besides, studies on finding more suitable preconditioners<br />

for GPU-based PCG algorithm should be taken.<br />

ACKNOWLEDGMENT<br />

The authors wish to thank Pr<strong>of</strong>. Shengzhong Feng.<br />

This work was supported in part by the National High-<br />

Tech Research and Development Plan <strong>of</strong> China (863<br />

program) under Grant No.2009AA01A129-2, the Science


2702 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

and Technology Project <strong>of</strong> Guangdong, Province under<br />

the grant No.2010A090100028, National Natural Science,<br />

Foundation <strong>of</strong> P. R. China under the Grant<br />

No.60903116,and Knowledge, Innovation Project <strong>of</strong> the<br />

Chinese <strong>Academy</strong> <strong>of</strong> Sciences, No.KGCX2-YW-131,<br />

the Science and Technology Project <strong>of</strong> Shenzhen, under<br />

the grant No. JC200903170443A, ZD201006100023A.<br />

VI. REFERENCE<br />

[1] J.D.Hall,N.A. Carr and J.C.Hart,”Cache and Bandwidth<br />

aware matrix multiplication on the GPU,”,2003.UIUC<br />

Technical Report UIUCDCSR-2003-2328(2003)<br />

[2] N.Galopppo, N.K. Govindaraju,”LU-GPU:Efficient<br />

algorithms for solving dense linear systems on graphics<br />

hardware,” In SC’05: Proceedings <strong>of</strong> the 2005<br />

ACM/IEEEE conference on Supercomputinng, page3,<br />

Washington D.C, USA, 2005, IEEE Computer Society.<br />

ISBN1-59593-061-2<br />

[3] Kendell A. Atkinson (1988), An introduction to numerical<br />

analysis (2nd ed.), Section 8.9, John Wiley and Sons.<br />

[4] A.V. Knyazev, I. Lashuk, Steepest descent and conjugate<br />

gradient methods with variable preconditioning, SIAM J.<br />

Matrix Analysis and Applications 29(4), 1267-1280, 2007.<br />

[5] Nvidia CUDA. Website,2009,<br />

http://www.nvidia.com/cuda.<br />

[6] J. Bolz, I. Farmer, E. Grinspun, and P. Schr¨ooder,<br />

“Sparse matrix solvers on the GPU: Conjugate gradients<br />

and multigrid,” in SIGGRAPH ’03:ACM SIGGRAPH<br />

2003 Papers, 2003, pp. 917–924.<br />

[7] W.A.Wiggers, V.Bakker, A.B.J.Kokkeler and G.J.M.Smit,<br />

“Implementing the conjugate gradient algorithm on multicore<br />

systems,” In J.Nurmi,J.Takala and O.Vainio, editors,<br />

Proceedings <strong>of</strong> the International Symposium on Systemon-Chip,<br />

Tampere, pages 11-14, Piscataway,<br />

Born in Jiangxi province in China,<br />

Yechen Gui is a graduate <strong>of</strong> Xidian<br />

University, where she earned her<br />

bachelor degree in 2006, majoring in<br />

biomedical engineering. After that, she<br />

went to Southern Medical University for<br />

her postgraduate studies. During that<br />

time, she became fairly interested in<br />

parallel algorithms in medical image<br />

processing. She implemented parallel<br />

ray-casting algorithm as well as CT reconstruction algorithms<br />

on GPU using CUDA and published two articles in two<br />

different core journals.<br />

© 2012 ACADEMY PUBLISHER<br />

NJ,November 2007,IEEE,ISBN 1-4244-1367-2<br />

[8] Maringanti.A.;Athavale.V.; Patkar.S.B.; “Acceleration <strong>of</strong><br />

Conjugate Gradient Method for cirruit simulation using<br />

CUDA” In High Performance Computing (HiPC), 2009<br />

International Conference, Kochi, pp438-444<br />

[9] A.Asgasri, J.E.Tate. Implementing the Chebyshev<br />

Polynomial Preconditioner for the iterative solutions <strong>of</strong><br />

linear systems on massively parallel graphics processors<br />

http://www.ele.utoronto.ca/zeb/publications /,2009<br />

[10] L. Buatois, G. Caumon, and B. Levy, “Concurrent number<br />

cruncher: a GPU implementation <strong>of</strong> a general sparse linear<br />

solver,” Int. J. Parallel Emerg. Distrib. Syst., 24(3):205–<br />

223,2009. ISSN 1744-5760<br />

[11] Marco Ament, Gunter Knittel, Daniel Weiskopf,<br />

Wolfgang Strasser, "A Parallel Preconditioned Conjugate<br />

Gradient Solver for the Poisson Problem on a Multi-GPU<br />

Platform," pdp, pp.583-592, 2010 18th Euromicro<br />

Conference on Parallel, Distributed and Network-based<br />

Processing, 2010<br />

[12] S. Williams, L. Oliker, R. Vuduc, J. Shalf, K. Yelick, and<br />

J. Demmel, "Optimization <strong>of</strong> sparse matrix-vector<br />

multiplication on emerging multicore platforms," in<br />

Proceedings <strong>of</strong> the 2007 ACM/IEEE conference on<br />

Supercomputing, 2007, pp. 1-12.<br />

[13] Nathan Bell "Implementing Sparse Matrix-Vector<br />

Multiplication on Throughput-Oriented Processors" in<br />

"Proc. Supercomputing '09", November 2009<br />

[14] Nvidia, “CUDA Toolkit 4.0 CUBLAS Library” NVIDIA<br />

Corporation, Santa Clara, April, 2011<br />

[15] Nvidia,”CUDA Programming Guide 4.0” NVIDIA<br />

Corporation, Santa Clara, April, 2011<br />

After Yechen gained her master degree in 2009, she worked<br />

as a research assistant in Shenzhen Institute <strong>of</strong> Advanced<br />

Technology, Chinese <strong>Academy</strong> <strong>of</strong> Sciences until now. During<br />

this time, she published 4 articles in parallel algorithms on GPU<br />

in all, one <strong>of</strong> which is accepted in the conference <strong>of</strong> 2010 GPU<br />

Solutions to Multi-scale Problems in Science and Engineering<br />

(GPU-SMP'2010), others <strong>of</strong> which are all indexed by EI. Now<br />

she’s research field is towards computational fluid animations<br />

as well as parallel algorithms.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2703<br />

Joint Polarization and Angle Estimation<br />

for Robust Multi-Target Localization in Bistatic<br />

MIMO Radar<br />

Hong Jiang 1, 2 , Yu Zhang 2 , Hong-Jun Liu 1 , Xiao-Hui Zhao 2 and Chang Liu 3<br />

1 Military Simulation Technology Institute, Aviation University <strong>of</strong> Air Force, Changchun, China<br />

2 College <strong>of</strong> Communication Engineering, Jilin University, China<br />

3 Department <strong>of</strong> Electrical and Computer Engineering, Kansas State University, Manhattan, USA<br />

Email: jiangh@jlu.edu.cn<br />

Abstract—In the paper, we propose a novel algorithm using<br />

joint polarization and angle information for robust and<br />

high-resolution multi-target localization in bistatic multipleinput<br />

multiple-output (MIMO) radar system. The proposed<br />

algorithm exploits the singular value decomposition (SVD)<br />

<strong>of</strong> cross-correlation matrix <strong>of</strong> the received data from two<br />

transmitter subarrays to obtain robust performance in noise.<br />

Polarization sensitive array-based ESPRIT technologies are<br />

employed to estimate the direction <strong>of</strong> departure (DOD), the<br />

direction <strong>of</strong> arrival (DOA) and the polarization parameters.<br />

The Cramer-Rao bounds (CRBs) are given. In the method,<br />

the closely spaced targets can be well distinguished by<br />

polarization diversity. Also, the DODs, DOAs, and<br />

polarizations <strong>of</strong> multiple targets can be well paired. The<br />

simulation results demonstrate that the proposed algorithm<br />

can work well and achieve high-resolution identification and<br />

robust localization <strong>of</strong> multiple targets.<br />

Index Terms— MIMO radar, joint parameter estimation,<br />

polarization, singular value decomposition, Cramer-Rao<br />

bound<br />

I. INTRODUCTION<br />

Multiple-input multiple-output (MIMO) radar [1] and<br />

its applications in localization and direction-finding [2]-<br />

[4] has recently become a hot topic research. Specifically,<br />

the methods <strong>of</strong> target localization for bistatic MIMO<br />

radar are studied to estimate both the direction <strong>of</strong><br />

departure (DOD) and the direction <strong>of</strong> arrival (DOA) [5]-<br />

[9]. However, a situation must be paid attention that the<br />

resolution <strong>of</strong> these algorithms is greatly degraded when<br />

multiple targets are closely spaced and cannot be well<br />

distinguished from the spatial domain. Polarimetric radar<br />

reflects the tremendous advantages in target estimation,<br />

detection and tracking technology [10] [11]. The echoes<br />

with different states <strong>of</strong> polarizations <strong>of</strong> electromagnetic<br />

wave, can be independent <strong>of</strong> each other due to targets at<br />

different locations. By making full use <strong>of</strong> polarization<br />

diversity in MIMO radar, the accuracy <strong>of</strong> multi-target<br />

identification and localization can be improved.<br />

In this paper, we propose a novel algorithm jointing<br />

polarization and angle information for robust multi-target<br />

localization in bistatic MIMO radar system. We use<br />

singular value decomposition (SVD) <strong>of</strong> cross-correlation<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2703-2709<br />

matrix <strong>of</strong> the data received from two transmitter<br />

subarrays to obtain robust performance in a noise<br />

environment. Polarization sensitive array processing [12]<br />

and ESPRIT technologies are used to estimate targets for<br />

bistatic MIMO radar. By partitioning the transmitter array<br />

into two subarrays and matching the received data with<br />

the transmitted signals <strong>of</strong> two subarrays, we obtain two<br />

groups <strong>of</strong> received data from the transmitter subarrays.<br />

Then, the DOAs, DODs and polarizations <strong>of</strong> multi-targets<br />

can be effectively estimated and paired automatically.<br />

This paper is organized as follows. A signal model for<br />

polarimetric MIMO radar is presented in Section 2. A<br />

novel algorithm for robust multi-target localization by<br />

jointing DOA, DOD and polarization estimation is<br />

proposed in Section 3. The Cramer-Rao bound is derived<br />

in Section 4. Some simulations are conducted to verify<br />

the performance <strong>of</strong> the proposed method in Section 5.<br />

Finally, a conclusion is drawn in Section 6.<br />

II. SIGNAL MODEL<br />

For a bistatic MIMO radar system, as shown in Fig.1,<br />

we assume that the transmitter is composed <strong>of</strong> two<br />

uniform linear subarrays having 1 M and M sensors, and<br />

2<br />

the receiver is a polarization sensitive array with N pairs<br />

<strong>of</strong> crossed dipoles. The inter-element spacings at the<br />

transmitter array and the receiver array are d and t d , r<br />

respectively, both having no more than half wavelength.<br />

Assume that the target’s range is much larger than the<br />

apertures <strong>of</strong> the transmitter and receiver arrays. At the<br />

transmitter site, M = M1+ M elements <strong>of</strong> the transmitter,<br />

2<br />

which are orthogonal each other, simultaneously transmit<br />

waveforms from the subarray 1 and subarray 2. They<br />

have identical center frequency and bandwidth but are<br />

temporally coded. P targets appear in the far-field <strong>of</strong><br />

transmitter and receiver. For the p-th target, here<br />

p= 1, L , P , its DOD and DOA are θ and φ ,<br />

p<br />

p<br />

respectively, and two polarization phase factors γ and p<br />

η denote its polarization information, respectively.<br />

p


2704 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

For the l-th snapshot, l = 1, L , L , the observed data<br />

matrix at the receiver array is denoted as<br />

Figure 1. Bistatic MIMO radar with polarization sensitive receiver array<br />

() l<br />

( φγη , , )<br />

( )<br />

( θ )<br />

T<br />

⎡A () l t1<br />

θ ⎤ () l<br />

X = Ar B ⎢ ⎥ S+ Z<br />

⎢A⎥ M × K<br />

where<br />

⎣ t 2 ⎦<br />

S ∈ denotes the transmitted baseband coded<br />

( l )<br />

signal matrix. P P ×<br />

B ∈ denotes the reflected target<br />

signal matrix. A ( ) ∈<br />

M1× P and A ( θ ) ∈<br />

M 2 × P denote<br />

t1 θ1<br />

t 2 2<br />

the transmitter steering matrices <strong>of</strong> the subarray 1 and 2,<br />

2N×<br />

P<br />

respectively. A r ( φγη , , ) ∈ denotes the manifold<br />

( l) 2N<br />

K<br />

matrix <strong>of</strong> receiver array. ×<br />

Z ∈ denotes the noise<br />

matrix.<br />

T T T<br />

T<br />

K × 1<br />

S = ⎡<br />

⎣S1 , S2 , L , S ⎤ , where s<br />

M ⎦<br />

m ∈ is signal<br />

vector <strong>of</strong> the m-th transmit element, with length K in a<br />

repetition interval s T H . Let SS = KI<br />

for M orthogonal<br />

j2f 2<br />

transmitted waveforms. () () 1t<br />

j f t<br />

l l d l () l dp l<br />

diag { 1 e , , p e }<br />

π<br />

π<br />

B = β L β ,<br />

( l)<br />

where f is the Doppler frequency <strong>of</strong> the p-th target. β<br />

dp<br />

p<br />

is complex amplitudes proportional to the RCSs <strong>of</strong> the pth<br />

target, which is time-varying in each snapshot. tl = lTS<br />

is the slow time. A ti ( θ) = ⎡ati ( θ1) ati<br />

( θ p ) ⎤<br />

⎣<br />

L, , , where<br />

⎦<br />

Mi<br />

× 1<br />

ati<br />

( θ p ) ∈ is the p-th steering vector <strong>of</strong> the i-th<br />

transmiter subarray, i=1,2.<br />

− ( d ) − ( M1− )( d )<br />

( θ )<br />

T<br />

j2π t λ sinθp j2π 1 t λ sinθ<br />

⎡ p⎤<br />

(1)<br />

a t1p = 1, e ,... ,e<br />

(2a)<br />

⎣ ⎦<br />

− M1( d ) − ( M− )( d )<br />

( θ )<br />

T<br />

j2π t λ sinθp j2π 1 t λ sinθ<br />

⎡ p⎤<br />

a t2p = 1, e ,... ,e<br />

(2b)<br />

⎣ ⎦<br />

The manifold matrix <strong>of</strong> receiver array<br />

denotes Ar ( φγη , , ) = ⎡ r ( φ1, γ1, η1) , , r ( φp, γ p, ηp)<br />

⎤<br />

⎣<br />

a L a<br />

,<br />

⎦<br />

2N× 1<br />

where a r ( φp, γ p, η p)<br />

∈ is the p-th manifold vector<br />

<strong>of</strong> receiver array.<br />

( , , )<br />

a φ γ η = q ⊗v<br />

(3)<br />

r p p p p p<br />

where ⊗ denotes Kronecker product.<br />

p-th steering vector <strong>of</strong> arrival signal,<br />

−j2π( d λ) sinφ −j2π( N−1)( d λ) sinφ<br />

N×<br />

1<br />

q p ∈ is the<br />

r p r p<br />

q p = ⎡1,e ,... ,e<br />

⎤ (4)<br />

⎣ ⎦<br />

© 2012 ACADEMY PUBLISHER<br />

T<br />

21 ×<br />

and v ∈ is the p-th polarization vector arrival signal,<br />

p<br />

⎡−cosγ p ⎤<br />

v p = ⎢ ⎥ jη<br />

p<br />

⎢⎣ sinγ pcosφpe⎥⎦ The received signals are matched with M = M1+ M2<br />

transmitted waveforms. The matched filter matrix is<br />

( 1<br />

H<br />

K ) S . The output <strong>of</strong> the matched filter<br />

( l ) 2 N× M<br />

is Y ∈ , which<br />

() l () l H<br />

Y = ( 1 K ) X S , i.e.,<br />

can be written by<br />

( )<br />

T<br />

() l () ⎡At1 θ ⎤<br />

()<br />

() l () l<br />

l l H<br />

= K r ( φγη , , ) ⎢ ⎥ + (1/ K)<br />

= 1 | 2<br />

At<br />

2 ( θ)<br />

Y A B Z S ⎡Y Y ⎤ (6)<br />

⎢ ⎥<br />

⎣ ⎦<br />

⎣ ⎦<br />

where ( 1 )<br />

(5)<br />

() l H<br />

K Z S denotes the noise matrix after<br />

matched filter. ( l )<br />

Y 1 ∈<br />

2 N × M 1 and ( l )<br />

2 ∈<br />

2 N× M 2<br />

( l)<br />

the two sub-matrices <strong>of</strong> Y .<br />

Vectorize the sub-matrices () l<br />

Y and 1<br />

( l)<br />

2<br />

we have<br />

() l () l<br />

1 = vec 1<br />

Y denote<br />

( )<br />

Y , respectively,<br />

y Y (7)<br />

( )<br />

() l () l<br />

2 = vec 2<br />

y Y (8)<br />

Thus, the two column vectors () l 2M1N× 1<br />

y1<br />

∈<br />

( l) y2 ∈<br />

2M2N× 1 are composed <strong>of</strong> M 1 and 2<br />

( )<br />

vectors <strong>of</strong> 2N × 1 , respectively. l<br />

y and 1<br />

( l)<br />

further written as<br />

( )<br />

( l) ( l) ( l)<br />

1 = 1 θφγη , , , + 1<br />

and<br />

M column<br />

y can be<br />

y A b v (9)<br />

( )<br />

( l) ( l) ( l)<br />

y A θφγη b v (10)<br />

2 = 2 , , , + 2<br />

2M<br />

where 1N×<br />

P<br />

2<br />

A ( θφγη , , , ) ∈ and 2<br />

( )<br />

1<br />

A<br />

2<br />

2<br />

θφγη , , , ∈<br />

M N× P<br />

denote the two manifold matrix with respect to the two<br />

transmitter subarrays,<br />

( θφγη , , , ) = ( θ) ◊ ( φγη , , )<br />

A A A<br />

1 t1 r<br />

( θ ) ( φ γ η ) L ( θ ) ( φ γ η )<br />

= ⎡<br />

⎣<br />

at1 1 ⊗a r 1, 1, 1 , ,at1 p ⊗a<br />

r p, p, p ⎤<br />

⎦<br />

(11)<br />

( θφγη , , , ) = ( θ) ◊ ( φγη , , )<br />

A A A<br />

2 t2 r<br />

( θ ) ( φ γ η ) L ( θ ) ( φ γ η )<br />

= ⎡<br />

⎣<br />

at2 1 ⊗a r 1, 1, 1 , ,at2 p ⊗a<br />

r p, p, ⎤ p ⎦<br />

(12)<br />

where ◊ denotes Khatri-Rao product. After matched<br />

filtering with 1 M and M 2 transmitted waveforms which<br />

are orthogonal with each other, the two noise vectors ( l)<br />

v 1<br />

and ( l)<br />

v are uncorrelated, zero-mean complex Gaussian<br />

2<br />

j f t j2fdpt T<br />

l<br />

⎡ ⎤<br />

distributed. Here () l 2 () l d1l () l<br />

K 1 e , , P e π<br />

π<br />

b = β L β<br />

⎣ ⎦<br />

is<br />

the reflected signal vector.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2705<br />

Based on the signal model in (9) and (10), the problem<br />

<strong>of</strong> interest is to jointly estimate multiple parameters<br />

θ , φ , γ , η for the p-th target.<br />

( )<br />

P P P P<br />

III. JOINT POLARIZATION AND ANGLE ESTIMATION<br />

ALGORITHM FOR ROBUST MULTI-TARGET LOCALIZATION<br />

The cross-correlation matrix between<br />

is given by<br />

y and<br />

() l<br />

1<br />

( ) ( )<br />

H<br />

() l () l<br />

H<br />

c = E{ 1 2 } = 1 θ, φγη , , b 2 θφγη , , ,<br />

y<br />

() l<br />

2<br />

R y y A R A (13)<br />

() l<br />

where R is the covariance matrix <strong>of</strong> b . Here the cross-<br />

b<br />

correlation matrix <strong>of</strong> noise ( l)<br />

v and<br />

() l<br />

v has been<br />

() l<br />

() l<br />

canceled since v and<br />

1 v are uncorrelated.<br />

2<br />

Performing a singular value decomposition (SVD) on it,<br />

we obtain<br />

1<br />

H<br />

c = R UΣV (14)<br />

2M1N × 2M<br />

1N<br />

2 2<br />

where U ∈<br />

and<br />

2<br />

2MN × 2M<br />

N<br />

V ∈<br />

are<br />

two unitary matrices composed <strong>of</strong> left and right singular<br />

vectors corresponding to all the singular values,<br />

respectively.<br />

⎡Σ00⎤ Σ = ⎢ ⎥<br />

⎣0 0 ⎦<br />

(15)<br />

where Σ 0 = diag ( σ 1, σ 2,<br />

Lσ<br />

P ) is a diagonal matrix ,<br />

and σ1, σ2, LσPare the first P non-zero singular<br />

value <strong>of</strong> the matrix R , which are real and positive, such<br />

c<br />

that σ1 ≥L ≥ σ > 0 . Partition U into<br />

P<br />

U ⎡U U ⎤<br />

(16)<br />

⎣ s n ⎦<br />

where s U and n U are the first P columns and the last<br />

2M1N − P columns <strong>of</strong> U , respectively, then, we have<br />

the following relations:<br />

{ s}<br />

= { 1 ( , , , ) }<br />

span U span A θ φγη (17)<br />

2 M 1N×<br />

P<br />

That is to say, the columns in U s ∈ span the<br />

same signal subspace as the column vectors in<br />

A 1 ( θφγη , , , ) . Thus, there is a unique non-singular matrix<br />

T such that<br />

s<br />

1<br />

( θφγη , , , )<br />

U = A T (18)<br />

Thus U can be used to form multiple appropriate<br />

s<br />

subsets because it preserves the invariance properties <strong>of</strong><br />

A 1 ( θ , φ, γ , η)<br />

.<br />

For both transmitter array and receiver array possess<br />

shift-invariance properties <strong>of</strong> ESPRIT method, we can<br />

obtain the estimation <strong>of</strong> DOD, DOA and polarization<br />

parameters based on the matrix U . s<br />

© 2012 ACADEMY PUBLISHER<br />

A. DOD Estimation<br />

Since 1 ( θ , φγη , , )<br />

according to row, each is a 2N P<br />

A is composed <strong>of</strong> M 1 blocks<br />

× matrix. If we let A f 1<br />

and A be the two f 2<br />

2( M1 − 1)<br />

N× P sub-matrices <strong>of</strong><br />

A 1 ( θ , φγη , , ) formed with the first and last M1 − 1<br />

blocks <strong>of</strong> A 1 ( θ, φγη , , ) , respectively, then, Af2 = Af1Λ , f<br />

where Λ is a P× P diagonal matrix,<br />

f<br />

d<br />

2 t d<br />

sin 1 2 t d<br />

− j π θ − j π sinθ2 − j2π<br />

t sinθ<br />

λ λ λ P<br />

{ , ,<br />

}<br />

Λ f = diag e e Le<br />

(19)<br />

Since the Kroneker product is used in the structure <strong>of</strong> the<br />

column in s U , we divide s U into 1 M blocks according<br />

to row, each <strong>of</strong> which is a 2N× P matrix. The subspace<br />

U spanned by the column in s<br />

A and f 1 A are the same<br />

f 2<br />

except for the phase rotation caused by the diagonal<br />

matrix f Λ . Let U f 1 ∈<br />

2( M 1 − 1)<br />

N × P be a sub-matrix<br />

formed with the first M1 − 1 blocks <strong>of</strong> U , and let<br />

s<br />

U f 2 ∈<br />

2( M 1 − 1)<br />

N× Pbe<br />

a subset formed with the last 1 1 M −<br />

blocks <strong>of</strong> U s in the same way the A and f 1 A are f 2<br />

A θ, φγη , , . We have<br />

formed from ( )<br />

1<br />

U = A T (20)<br />

f1 f1<br />

U = A T = A Λ T (21)<br />

f 2 f 2 f1 f<br />

Then span{ f1} = span{ f 2} = span{<br />

f1}<br />

where<br />

U U A , and<br />

U = U T Λ T = U Ψ (22)<br />

−1<br />

f 2 f1 f f1 f<br />

Ψ = T Λ T = QΛQ (23)<br />

−1<br />

T<br />

f f f<br />

where the diagonal elements <strong>of</strong> Λ f are P eigenvalues <strong>of</strong><br />

matrix f Ψ −1<br />

, and Q= T composed <strong>of</strong> the eigenvectors<br />

corresponding to the eigenvalues <strong>of</strong> matrix f Ψ .<br />

Therefore, DOD <strong>of</strong> the p-th target can be obtained<br />

d<br />

− j2πtsinθ<br />

λ p<br />

from atp = e , p = 1, 2, L , P , i.e., from the<br />

diagonal elements <strong>of</strong> Λ f .<br />

B. DOA Estimation<br />

For the estimation <strong>of</strong> DOAs, let A q1<br />

and q2<br />

A be the<br />

A 1 θ , φ, γ , η<br />

two 2M1( N − 1)<br />

× P sub-matrices <strong>of</strong> ( )<br />

formed with the first and the last 2( N − 1)<br />

rows <strong>of</strong> each<br />

blocks <strong>of</strong> A ( θ φ γ η)<br />

, respectively. Then<br />

1 , , ,<br />

Aq2 = Aq1Λ , where q<br />

q Λ is also a P× P diagonal matrix,<br />

d<br />

2 r d<br />

sin 1 2 r d<br />

− j π φ − j π sinφ2 − j2π<br />

r sinφ<br />

λ λ λ p<br />

{ , ,<br />

}<br />

Λ q = diag e e L e<br />

(24)


2706 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Similarly, we could form two sub-matrices based on s U<br />

in the same way A and q1<br />

q2<br />

( θ φ γ η)<br />

A are formed from<br />

A 1 , , , . However, DOD and DOA for each target<br />

may not be well paired in such a way. In order to make<br />

DODs and DOAs be paired automatically, we first form a<br />

new matrix<br />

%Us = UsQ . (25)<br />

−1<br />

Substitute (18) into (25), and consider Q= T yielding<br />

( , , , ) ( , , , )<br />

%U A TQ A . (26)<br />

s = 1 θ φγη = 1 θφγη<br />

Therefore, %U has the same structure with s<br />

A 1 ( θ, φγη , , ) .<br />

Thus, we divide %U into s<br />

1 M blocks according to row,<br />

2M1( N− 1)<br />

× P<br />

each <strong>of</strong> which is a 2N× P matrix. Let U ∈<br />

be a sub-matrix formed with the first 2( N − 1)<br />

rows <strong>of</strong><br />

each blocks <strong>of</strong> %U , and s U q 2 ∈<br />

2M1( N − 1)<br />

× P be a subset<br />

formed with the last 2( N − 1)<br />

rows <strong>of</strong> each blocks <strong>of</strong> s<br />

%U<br />

in the same way A q1<br />

and A q2<br />

are formed from<br />

A 1 ( θ, φ, γ , η)<br />

, we have<br />

q1 q1 q1<br />

q1<br />

U = A TQ = A (27)<br />

U = A T = A Λ TQ = A Λ (28)<br />

q2 q2 q1 q q1 q<br />

{ q1} = { q2} = { q1}<br />

span U span U span A , and<br />

U = U Λ (29)<br />

q2 q1 q<br />

Thus, the DOA <strong>of</strong> the p-th target can be obtained from<br />

the p-th diagonal element <strong>of</strong> q Λ d<br />

− j 2π r sinφp<br />

, i.e., λ qp= e , and<br />

the DOA and DOD <strong>of</strong> the p-th target can be well paired<br />

with each other.<br />

C. Polarization Estimation<br />

For the estimation <strong>of</strong> two polarization parameters, let<br />

A and r1<br />

A be the two r 2<br />

M1N P × sub-matrices <strong>of</strong><br />

A 1 ( θ, φγη , , ) formed with the even and the odd rows <strong>of</strong><br />

A 1 ( θ, φγη , , ) , respectively. Then Ar2 = Ar1Λ , r<br />

where Λ is the diagonal matrix,<br />

r<br />

{ , , }<br />

Λ = diag r r Lr<br />

(30)<br />

r 1 2 P<br />

where r p is the ratio <strong>of</strong> the first element and the second<br />

element <strong>of</strong> the vector in (5),<br />

cos p<br />

r<br />

p<br />

sin cos e η<br />

− γ<br />

= (31)<br />

γ φ<br />

p j<br />

p p<br />

Similarly, according to (26), let U r1<br />

∈<br />

M 1 N × P be a submatrix<br />

formed with the even and the odd rows <strong>of</strong> s<br />

%U , and<br />

let U ∈<br />

M 1 N× P be a subset formed with the even and<br />

r 2<br />

© 2012 ACADEMY PUBLISHER<br />

the odd rows <strong>of</strong> U % in the same way the A and s<br />

r1<br />

r 2<br />

formed from A ( θ , φγη , , )<br />

1<br />

, we have<br />

r1 r1 r1<br />

A are<br />

U = A TQ = A (32)<br />

U = A TQ = A Λ TQ = A Λ (33)<br />

r2 r2 r1 r r1 r<br />

Then span{ } = span{ } = span{<br />

}<br />

U U A , and<br />

r1 r2 r1<br />

U = U Λ (34)<br />

r2 r1 r<br />

Therefore, polarization parameters <strong>of</strong> the p-th target can<br />

be attained from the the diagonal elements <strong>of</strong> Λ , i.e., r<br />

cos p<br />

rp<br />

j p<br />

sin pcos pe<br />

η<br />

− γ<br />

= , and the polarization parameters<br />

γ φ<br />

<strong>of</strong> the p-th target can be paired with DOD <strong>of</strong> the p-th<br />

target.<br />

The DOD and DOA <strong>of</strong> the p-th target are calculated by<br />

⎧ λ ⎫<br />

θ p = arcsin ⎨− ∠(<br />

atp)<br />

⎬<br />

⎩ 2π<br />

dt<br />

⎭<br />

⎧ λ ⎫<br />

φ p = arcsin ⎨− ∠(<br />

qp)<br />

⎬<br />

⎩ 2π<br />

dr<br />

⎭<br />

(35)<br />

(36)<br />

The two polarization parameters <strong>of</strong> the p-th target are<br />

calculated by<br />

⎛ 1 ⎞<br />

γ p = arctan ⎜<br />

⎟<br />

rpcosφ<br />

⎟<br />

⎝ p ⎠<br />

⎛ 1 ⎞<br />

η p =∠⎜− ⎜<br />

⎟<br />

rpcosφ<br />

⎟<br />

⎝ p ⎠<br />

(37)<br />

(38)<br />

The steps for the proposed algorithm are given as<br />

follows:<br />

Step1: Contrust a cross-correlation matrix c R between<br />

() l<br />

() l y and 1<br />

2<br />

y , and perform SVD on it.<br />

Step2: Form U from the left singular vector <strong>of</strong> R .<br />

s<br />

c<br />

Divide s<br />

U into blocks, form two sub-matrices U , f 1 f 2<br />

+<br />

and calculate Ψ f = U f 2 U . f1<br />

U ,<br />

Step3: Perform eigen-decomposition <strong>of</strong> f Ψ to obtain its<br />

eigenvalue matrix f Λ and eigen vector matrix Q .<br />

Step4: Form a matrix %Us = UsQ, and divide %U into s<br />

1 M<br />

blocks according to row.<br />

Step5: Form two sub-matrices U , q1<br />

q2<br />

matrices U , r1<br />

r 2<br />

%U , then calculate s<br />

q =<br />

+<br />

q2 q1<br />

on (29) and (34), respectively.<br />

U , and two sub-<br />

U respectively using different blocks <strong>of</strong><br />

+<br />

Λ U U and Λ = U 2 U based<br />

1<br />

r r r


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2707<br />

Step6: Estimate θ , φ , p p γ and p η from the diagonal<br />

p<br />

elements <strong>of</strong> f Λ , q Λ and Λ using (35)~(38).<br />

r<br />

For a bistatic MIMO radar system, the distance<br />

between the transmitter and the receiver is known. Thus<br />

we can localize a target in a 2-D plane. θ and p φ can be<br />

p<br />

used to determine the position <strong>of</strong> a target via trilateration,<br />

and γ and p η can be used in target identification and<br />

p<br />

improvement <strong>of</strong> resolution.<br />

IV. CRAMER-RAO BOUND<br />

The Cramer-Rao bound(CRB) provides a lower bound<br />

on the variance <strong>of</strong> any unbiased estimator. The CRBs <strong>of</strong><br />

the parameters <strong>of</strong> DOA, DOD and polarizations in MIMO<br />

radar are considered here. Based on a composite data <strong>of</strong><br />

() l () l<br />

y1 and y 2 , the signal model in (9) and (10) can be<br />

jointly written as<br />

( l) ( l) ( l)<br />

y = A( θφγη , , , ) b + v (39)<br />

where<br />

⎡A1( θ, φγη , , ) ⎤<br />

A(<br />

θφγη , , , ) = and<br />

⎢<br />

2(<br />

θ, φγη , , )<br />

⎥ v<br />

⎣A⎦ () l<br />

() l<br />

⎡v ⎤ 1<br />

= ⎢ () l ⎥ .<br />

⎢⎣ v2<br />

⎥⎦<br />

Here the CRB expression <strong>of</strong> JADE (Joint Angle and<br />

Delat Estimation) Approach is extended to the<br />

polarimetric MIMO Radar system, we give the CRB for<br />

the parameters <strong>of</strong> interest as<br />

2 L σ v<br />

() l H H ⊥ () l −1<br />

CRB( θφγη , , , ) = { ∑ real[<br />

Bb DAPADAB b ]} (40)<br />

2<br />

l=<br />

1<br />

⊥ H<br />

() l () l<br />

where PA= I−A(, θ ϕγη ,,) A (, θϕγη ,,) , Bb= I4 ⊗diag{<br />

b } ,<br />

and 4 I denotes an identity matrix <strong>of</strong> order 4. D denotes<br />

A<br />

the differentiation matrix, where each column is<br />

differentiated with respect to the corresponding parameter.<br />

D can be expressed as<br />

A<br />

where<br />

DA = [ A& t( θ ) ◊Ar( φγη , , ), At( θ) ◊A&<br />

r(<br />

φγη , , )]<br />

= [ A& , A& , A& , A&<br />

]<br />

θ φ γ η<br />

( ) 1( ), 1(<br />

) T<br />

T T<br />

At θ = ⎡<br />

⎣At θ A t θ ⎤ , and<br />

⎦<br />

(41)<br />

⎡∂a( )<br />

t ( θ1)<br />

∂at<br />

θ<br />

⎤<br />

p<br />

A& θ = ⎢ ⊗ar( φ1, γ1, η1), L , ⊗ar(<br />

φp, γ p, ηp)<br />

⎥<br />

⎢⎣ ∂θ1∂θp⎥⎦ ⎡ ∂a<br />

( , , )<br />

r ( φ1, γ1, η1)<br />

∂ar<br />

φp γ p η ⎤ p<br />

A& φ = ⎢at( θ1) ⊗ , L , at(<br />

θp)<br />

⊗<br />

⎥<br />

⎢⎣ ∂φ1∂φp⎥⎦ ⎡ ∂a<br />

( , , )<br />

r ( φ1, γ1, η1)<br />

∂ar<br />

φp γ p η ⎤ p<br />

A& γ = ⎢at( θ1) ⊗ , L , at(<br />

θp)<br />

⊗<br />

⎥<br />

⎢⎣ ∂γ1∂γ p ⎥⎦<br />

⎡ ∂a<br />

( , , )<br />

r ( φ1, γ1, η1)<br />

∂ar<br />

φp γ p η ⎤ p<br />

A& η = ⎢at( θ1) ⊗ , L , at(<br />

θp)<br />

⊗<br />

⎥<br />

⎢⎣ ∂η1∂ηp⎥⎦ © 2012 ACADEMY PUBLISHER<br />

V. SIMULATION RESULTS<br />

Simulations are conducted to verify the effectiveness<br />

<strong>of</strong> the proposed method in this section. The intervals<br />

between adjacent array elements <strong>of</strong> transmit and receive<br />

arrays are all half wavelength. The length <strong>of</strong> sequences is<br />

1024. The RCSs are given by () l<br />

β p = 1.<br />

The number <strong>of</strong><br />

snapshots is L=100, and the number <strong>of</strong> Monte Carlo trials<br />

is 100. The performance <strong>of</strong> the algorithm will be<br />

evaluated through root-mean-square error (RMSE).<br />

Example1: Suppose that the transmit array and the<br />

receive array consist <strong>of</strong> M 1 = 3 and M 2 = 2 elements and<br />

N = 4 pairs <strong>of</strong> crossed dipoles in the polarimetric<br />

MIMO radar, respectively. There are antennas in the first<br />

subarray and P = 3 targets. Their parameters <strong>of</strong> the DOD,<br />

the DOA and the states <strong>of</strong> polarization are<br />

° ° °<br />

θ = ( 10 ,40 , − 30 ) , ° ° °<br />

φ = ( 50 , − 20 ,20 ) , γ = ( 9π 20, π 5, π 4)<br />

and η = ( 2π 5, π 5,4π 5)<br />

. The Doppler frequencies <strong>of</strong><br />

the three targets are 100Hz, 2000Hz and 5000Hz,<br />

respectively. The estimation results <strong>of</strong> DOD, DOA and<br />

polarization parameters when SNR is 10dB are shown in<br />

Fig.2 (a),(b), respectively. The performances <strong>of</strong> RMSE<br />

and Root CRB versus SNR for the DOD, DOA and<br />

polarizations estimation are shown in Fig. 3.<br />

φ (deg)<br />

η*π(rad)<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

-10<br />

-20<br />

-30<br />

-40<br />

-40 -30 -20 -10 0 10<br />

θ(deg)<br />

20 30 40 50 60<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

(a) DOD and DOA<br />

0<br />

0 0.05 0.1 0.15 0.2 0.25<br />

γ*π(rad)<br />

0.3 0.35 0.4 0.45 0.5<br />

(b) Two polarization parameters<br />

Figure 2. The estimation results <strong>of</strong> DOD, DOA and polarizations when<br />

SNR is 10 dB


2708 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

RMSE(degree)<br />

RMSE(degree)<br />

RMSE(degree)<br />

RMSE(degree)<br />

10 -1<br />

10 -2<br />

10 -3<br />

10 -4<br />

DOD estimation<br />

Root CRB <strong>of</strong> 3 targets<br />

RMSE <strong>of</strong> 3 targets<br />

10<br />

0 5 10 15 20 25 30<br />

-5<br />

SNR(dB)<br />

10 -1<br />

10 -2<br />

10 -3<br />

DOA estimation<br />

Root CRB <strong>of</strong> 3 targets<br />

RMSE <strong>of</strong> 3 targets<br />

10<br />

0 5 10 15 20 25 30<br />

-4<br />

SNR(dB)<br />

10 -1<br />

10 -2<br />

10 -3<br />

Polarization γ estimation<br />

Root CRB <strong>of</strong> 3 targets<br />

RMSE <strong>of</strong> 3 targets<br />

10<br />

0 5 10 15 20 25 30<br />

-4<br />

SNR(dB)<br />

10 0<br />

10 -1<br />

10 -2<br />

10 -3<br />

Polarization η estimation<br />

Root CRB <strong>of</strong> 3 targets<br />

RMSE <strong>of</strong> 3 targets<br />

10<br />

0 5 10 15 20 25 30<br />

-4<br />

SNR(dB)<br />

Figure 3. The performances <strong>of</strong> RMSE and Root CRB versus SNR for<br />

the DOD, DOA and polarizations estimation<br />

© 2012 ACADEMY PUBLISHER<br />

From Fig. 2 and Fig. 3, it is shown that the proposed<br />

method could effectively estimate DOD, DOA and<br />

polarization parameters for bistatic MIMO radar. In<br />

addtion, the automatical pairing between DOD, DOA and<br />

polarization parameters can be obtained.<br />

Example 2: The number <strong>of</strong> transmitter array, receiver<br />

array and snapshot is the same as Example 1. The number<br />

<strong>of</strong> targets is 2. SNR changes from 0dB to 30dB. We<br />

consider two targets which are closely spaced,<br />

θ<br />

° °<br />

10 ,11 φ<br />

° °<br />

20 , 20 γ = π 6, π 3 and<br />

= ( ) , ( )<br />

( 0, 4)<br />

= , ( )<br />

η = π .<br />

We compare the performance <strong>of</strong> the proposed<br />

DOD/DOA/polarization parameter estimation algorithm<br />

with Chen’s method [5] <strong>of</strong> DOD/DOA estimation. The<br />

performance <strong>of</strong> RMSE with SNR for the two targets is<br />

shown in Fig. 4 .<br />

RMSE(degree)<br />

10 1<br />

10 0<br />

10 -1<br />

10 -2<br />

target 1,our method<br />

target 2,our method<br />

target 1,Chen's method<br />

target 2,Chen's method<br />

10<br />

0 5 10 15 20 25 30<br />

-3<br />

SNR(dB)<br />

Figure 4. The performance comparison <strong>of</strong> DOD/DOA estimation.<br />

The simulation shows that the proposed algorithm<br />

obviously performs better than the algorithm in previous<br />

research. Because polarization diversity is adopted in our<br />

algorithm, the multi-target resolution <strong>of</strong> DOD/DOA<br />

estimation is obviously improved.<br />

VI. CONCLUSION<br />

In the paper, we propose a robust algorithm to jointly<br />

estimate DOD, DOA and polarization parameters for<br />

multi-targets in bistatic MIMO radar system via ESPRIT<br />

algorithm, polarization sensitive array processing and<br />

SVD <strong>of</strong> cross-correlation matrix <strong>of</strong> the received data from<br />

two transmitter subarrays. The simulation results show<br />

that the proposed method can effectively estimate<br />

multiple parameters for each target, i.e. the angles <strong>of</strong><br />

departure and arrival, and two polarization parameters, in<br />

a noise environment.<br />

Also, the parameters can be paired automatically.<br />

Using polarization diversity technique, the estimation<br />

performance is improved, especially when two targets are<br />

closely spaced and cannot be well separated in spatial<br />

domain.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2709<br />

ACKNOWLEDGMENT<br />

This work is supported by the National Natural Science<br />

Funds <strong>of</strong> China (61071140 and 60901060), as well as<br />

Jilin Province Natural Science Foundations <strong>of</strong> China<br />

(201215014).<br />

The authors wish to thank the anonymous reviewers<br />

for their valuable comments and suggestions which<br />

greatly improved the manuscript.<br />

REFERENCES<br />

[1]Fishler E and Haimovich A, Blum R, “MIMO Radar: An<br />

idea whose time has come”. Proc. <strong>of</strong> the IEEE Int. Conf. on<br />

Radar, Philadelphia, PA, 2004, 71-78.<br />

[2]Bekkerman I, Tabrikian J. “Target detection and localization<br />

using MIMO radars and sonars”, IEEE Trans on Signal<br />

Processing, 54 (10), 2006, 3873-3883.<br />

[3]Lehmann, E. Fishler, A. Haimovich, etal. “Evaluation <strong>of</strong><br />

transmit diversity in MIMO radar direction finding”, IEEE<br />

Transactions on Signal Processing, 55(5), 2007, 2215-2225.<br />

[4]J. Li and P. Stoica, “MIMO Radar with Colocated antennas”,<br />

IEEE Signal Proc. Magazine, 2007, 106-114.<br />

[5]J. Chen, H. Gu, W. Su. “A new method for joint DOD and<br />

DOA estimation in bistatic MIMO radar”. Signal Processing,<br />

90, 2009, 714-718.<br />

[6]J. Chen, H. Gu, W. Su. “Angle estimation using ESPRIT in<br />

MIMO radar”, Electronics Letters, 44(24), 2008, 1422-1423.<br />

[7]C. Du<strong>of</strong>ang, C. Baixiao, Q.Guodong. “Angle estimation<br />

using ESPRIT in MIMO radar”. Electronics Letters, 44 (12),<br />

2008, 770-771.<br />

[8]H. Yan, J. Li, G. Liao. “Multitarget identification and<br />

localization using bistatic MIMO radar systems”. EURASIP<br />

<strong>Journal</strong> on Advances in Signal Processing, 2008, 283-483.<br />

[9]M. Jin, G.Liao, J. Li. “Joint DOD and DOA estimation for<br />

bistatic MIMO radar”. Signal Processing, 89 (2), 2009, 244-<br />

251.<br />

[10]M. Hurtabo, J. JunXiao and A. Nehorai. “Target estimation,<br />

detection, and tracking”, IEEE Signal Processing Magazine,<br />

2009, 42-52.<br />

[11]M.Hurtado and A. Nehorai, “Polarimetric detection <strong>of</strong><br />

targets in heavy inhomogeneous clutter,” IEEE Trans.<br />

Signal Process., 56, 2008, 1349-1361.<br />

[12]Z.W. Zhuang, Z.H. Xu, S.P. Xiao, etal. Signal Processing<br />

<strong>of</strong> Polarization Sensitive Array (in Chinese), China National<br />

Defence Industrial Press, Mar. 2005.<br />

© 2012 ACADEMY PUBLISHER<br />

Hong Jiang is an Associate Pr<strong>of</strong>essor<br />

with the College <strong>of</strong> Communication<br />

Engineering, Jilin University, China.<br />

She is a IEEE member and a senior<br />

member <strong>of</strong> the Chinese Institute <strong>of</strong><br />

Electronics (CIE). Her current research<br />

fields focus on statistical array<br />

processing, localization for radar and<br />

wireless communications. She has<br />

published over 50 papers. She received the B.S. degree in<br />

wireless communication from Tianjin University, China, in<br />

1989, the M.S. degree in Communication and Electronic System<br />

from Jilin University <strong>of</strong> Technology, China, in 1996, and the<br />

Ph.D. degree in Communication and Information System from<br />

Jilin University, China, in 2005. From 2010 to 2011, she<br />

worked as a visiting research fellow in McMaster University,<br />

Canada. Currently, she is working as a Post-Doctoral fellow in<br />

Military Simulation Technology Institute, Aviation University<br />

<strong>of</strong> Air Force, China.<br />

Yu Zhang was born in Changchun,<br />

China on June 15, 1987. She is currently<br />

a graduate student in College <strong>of</strong><br />

Communication Engineering, Jilin<br />

University, China. Her current research<br />

interest is target localization in MIMO<br />

radar and its parameter estimation.<br />

Hong-Jun Liu is a Pr<strong>of</strong>essor with Military Simulation<br />

Technology Institute, Aviation University <strong>of</strong> Air Force,<br />

Changchun, China, His research fields focus on flight simulator<br />

and its application.<br />

Xiao-Hui Zhao is a Pr<strong>of</strong>essor with College <strong>of</strong> Communication<br />

Engineering, Jilin University, China. His current research fields<br />

focus on signal processing for wireless communication.<br />

Chang Liu was born in Zhengzhou, China on Mar. 17, 1987.<br />

She received the M.S. degree in Communication and and<br />

Information System from Jilin University, China. Currently, she<br />

is a PhD student in Dept. Electrical and Computer Engineering,<br />

Kansas State University, USA. Her current research interest is<br />

localization in wireless communication networks.


2710 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

The Central DOA Estimation Algorithm Based<br />

on Support Vector Regression for Coherently<br />

Distributed Source<br />

Yinghua Han<br />

Northeastern University at Qinhuangdao, Qinhuangdao, China<br />

Email: yhhan723@126.com<br />

Jinkuan Wang<br />

Northeastern University at Qinhuangdao, Qinhuangdao, China<br />

Email: wjk@mail.neuq.edu.cn<br />

Abstract—In this paper, the problem <strong>of</strong> estimating the<br />

central direction <strong>of</strong> arrival (DOA) <strong>of</strong> coherently distributed<br />

source impinging upon a uniform linear array is considered.<br />

An efficient method based on the support vector regression<br />

is proposed. After a training phase in which several known<br />

input/output mapping are used to determine the parameters<br />

<strong>of</strong> the support vector machines, among the outputs <strong>of</strong> the<br />

array and the central DOA <strong>of</strong> unknown plane waves is<br />

approximated by means <strong>of</strong> a family <strong>of</strong> support vector<br />

machines. So they perform well in response to input signals<br />

that have not been initially included in the training set.<br />

Furthermore, particle swarm optimization (PSO) algorithm<br />

is expressed for determination <strong>of</strong> the support vector<br />

machine parameters, which is very crucial for its learning<br />

results and generalization ability. Several numeral results<br />

are provided for the validation <strong>of</strong> the proposed approach.<br />

Index Terms—coherently distributed source; the central<br />

DOA; angular spread; support vector machines; particle<br />

swarm optimization<br />

I. INTRODUCTION<br />

Sensor array processing plays a prominent role in the<br />

propagation <strong>of</strong> plane waves through a medium. The<br />

problem <strong>of</strong> finding the directions impinging on an array<br />

antenna or sensor array, namely, direction finding or<br />

DOA estimation, has been <strong>of</strong> interest for several decades.<br />

This is because the direction is a useful parameter for<br />

several systems, such as wireless communications, radar,<br />

navigation, etc. In most DOA estimation algorithms, it is<br />

commonly assumed that the received signals originate<br />

from far-field point sources and give rise to perfectly<br />

planar wavefronts which impinge on the array from<br />

discrete and fixed DOAs. However, in many practical<br />

applications, such as radar, sonar and mobile<br />

communications, the sensor array <strong>of</strong>ten receives sources<br />

which have been reflected by a number <strong>of</strong> scatters. The<br />

Manuscript received July 25, 2011; revised September 25, 2011;<br />

accepted March 28, 2012.<br />

Corresponding author: Jinkuan Wang.<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2710-2716<br />

scattered signals are received from a narrow angular<br />

region, an alternative signal model can be derived which<br />

is called distributed source model [1-4].<br />

Note that depending on the relationship between the<br />

channel coherency time and the observation period, the<br />

sources can be viewed either as coherently distributed or<br />

incoherently distributed [5]. A source is called coherently<br />

distributed if the signal components arriving from<br />

different directions are replicas <strong>of</strong> the same signal,<br />

whereas in the incoherently distributed source case, all<br />

signals coming from different directions are assumed to<br />

be uncorrelated. Indeed, if the channel coherency time is<br />

much smaller than the observation period, then the<br />

incoherently distributed model is relevant. In the opposite<br />

case, the coherently distributed model or a partially<br />

coherent model can be used.<br />

Several methods have been proposed for estimating<br />

parameters for these two types <strong>of</strong> distributed sources.<br />

Indeed, in coherently distributed source case, the rank <strong>of</strong><br />

the noise-free covariance matrix is equal to the number <strong>of</strong><br />

sources. On the other hand, for incoherently distributed<br />

sources, the rank <strong>of</strong> the noise-free covariance matrix<br />

increases as the angular spread increases. In particular,<br />

for a single-source case, the rank can reach the number <strong>of</strong><br />

array sensor [6]. However, most <strong>of</strong> the signal energy is<br />

concentrated within the first few eigenvalues <strong>of</strong> the noisefree<br />

covariance matrix. The number <strong>of</strong> these eigenvalues<br />

is referred to as the effective dimension <strong>of</strong> the signal<br />

subspace. It is generally smaller than the number <strong>of</strong><br />

sensors.<br />

Typically, the statistics <strong>of</strong> a distributed source is<br />

parameterized by its central DOA and angular spread. A<br />

number <strong>of</strong> investigators have proposed distributed source<br />

modeling, and several parameter estimation techniques<br />

have been proposed in the literature [7-12].To begin with,<br />

attempts for coherently distributed source modeling and<br />

parameter estimation have been accomplished in [7],<br />

where the central DOAs and angular spreads are<br />

estimated by algorithms based on MUSIC using a<br />

uniform linear array. However, this algorithm needs two<br />

dimensional joint searching and assumes that the multiple


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2711<br />

sources must have identical and known angular signal<br />

intensity function. In contrast to some computationally<br />

complex approaches such as the maximum likelihood [8],<br />

the dispersed signal parameter estimator (DISPARE) [9],<br />

and the covariance fitting [10] have been provided.<br />

Subsequently, a classical localization algorithm has been<br />

used to estimate both virtual parameters and deduced the<br />

required ones. The focus in [11] has been on root-MUSIC<br />

which was shown to provide better accuracy with<br />

relatively low computational complexity compared to<br />

some other point-source localization algorithm [12-13].<br />

Other robust techniques using the array geometry have<br />

recently been developed. A typical example is lowcomplexity<br />

parameter estimation with ESPRIT technique<br />

[14], which employs eigenvalue decomposition with two<br />

uniform linear arrays. The ESPRIT algorithm is still<br />

computationally extensive and time consuming especially<br />

when the number <strong>of</strong> antenna array elements is larger than<br />

the number <strong>of</strong> incident signals. An asymptotic maximum<br />

likelihood for joint estimation <strong>of</strong> the central DOA and<br />

angular spreads <strong>of</strong> multiple distributed sources is<br />

presented in [15]. Though it has best precision, the<br />

computationally load is high.<br />

Recently, many low-complexity methods are proposed<br />

to reduce the computational burden <strong>of</strong> estimators [16-18].<br />

For example, the decoupled COMET-EXIP [16] uses two<br />

successive one dimensional searches instead <strong>of</strong> a two<br />

dimensional search for parameter estimation <strong>of</strong> a single<br />

incoherently distributed source.<br />

Furthermore, methods based on the use <strong>of</strong> neural<br />

networks and radial basis function networks have also<br />

been efficiently applied for point source DOA estimation<br />

[19-20]. In these works, the outputs <strong>of</strong> the array, properly<br />

preprocessed, are used as input data for a family <strong>of</strong> neural<br />

networks trained with a subset <strong>of</strong> the possible<br />

configurations <strong>of</strong> the impinging sources.<br />

In this paper, an alternative algorithm is proposed,<br />

which is based on a support vector regression. In<br />

particular, the support vector regression approximates the<br />

unknown function that relates the received signals to the<br />

angles <strong>of</strong> incidence. The support vector regression is<br />

based on the theory <strong>of</strong> support vector machines, which<br />

are a nonlinear generalization <strong>of</strong> the generalized portrait<br />

algorithm. In the past few years, there has been a great<br />

interest in the development <strong>of</strong> support vector machines,<br />

mainly because they have yielded excellent<br />

generalization performances in applications [21-22]. And<br />

fast iterative algorithms based on the use <strong>of</strong> support<br />

vector machines and relatively simple to be implemented,<br />

have been developed [23-24].<br />

The remainder <strong>of</strong> this paper is organized as follows.<br />

Section II presents the array configuration and system<br />

model. Section III proposes a central DOA estimation<br />

algorithm for coherently distributed source based on<br />

support vector regression. Section IV shows particle<br />

swarm optimization for parameter section <strong>of</strong> support<br />

vector regression. Section V gives simulation results. And<br />

Section VI concludes the paper.<br />

II. PROBEM STATEMENT AND PRELIMINARIES<br />

© 2012 ACADEMY PUBLISHER<br />

In this work, a uniform linear array composed M<br />

elements with interelement spacing d is considered. q<br />

electromagnetic narrowband plane waves impinge on the<br />

array from directions.<br />

The complex envelope <strong>of</strong> the array output can be<br />

written as<br />

() t = ∑ i () t + () t<br />

i=<br />

1<br />

where X ( t)<br />

is the array snapshot vector, ( )<br />

q<br />

X S N (1)<br />

Si t is the<br />

vector that describes the contribution <strong>of</strong> the ith signal<br />

source to the array output, and the noise N ( t)<br />

is zeromean<br />

and spatially and temporally white and Gaussian,<br />

H 2<br />

E{ N( t) N ( t′ ) } = σ I δ tt′<br />

(2)<br />

and<br />

E N t<br />

T<br />

N t′ = 0, ∀t,<br />

t′<br />

(3)<br />

{ ( ) ( ) }<br />

2<br />

where σ is the noise variance, I denotes identity matrix<br />

and δ tt′<br />

is the Kronecker delta function with δ tt′<br />

= 1 for<br />

t = t′ and δ tt′<br />

= 0 for t ≠ t′ . We also assume that the<br />

signal is uncorrelated with the noise.<br />

In point source model, the baseband signal <strong>of</strong> the ith<br />

source is modeled as<br />

S t = s t a θ<br />

(4)<br />

i ( ) i ( ) ( i)<br />

where si ( t ) is the complex envelope <strong>of</strong> the ith source, θ i<br />

2 sin 2 ( 1) sin T<br />

is its DOA, and ( ) [1 , ] i<br />

i − j πd λ θ −j π M− d λ θ<br />

a θ = , L,<br />

is<br />

i e e<br />

the corresponding steering vector, d is the distance<br />

between two adjacent sensors, λ is the wavelength <strong>of</strong> the<br />

impinging signal.<br />

In many environments for modern radio<br />

communications, the transmitted signal is <strong>of</strong>ten<br />

obstructed by buildings, vehicles, trees, etc., and/or<br />

reflected by rough surfaces. Hence, the absence <strong>of</strong> a<br />

single Line-Of-Sight (LOS) ray will violate the classical<br />

point source assumption.<br />

Assume a single narrow point source that contributes<br />

with a large number <strong>of</strong> wavefronts originating from<br />

multi-path reflections near the source and during<br />

transmission. If we observe the baseband signals received<br />

at the antenna array, it is possible to regard the source just<br />

as a spatially distributed source as Fig.1.<br />

θ<br />

Y<br />

a distributed source<br />

… X<br />

0 1<br />

d<br />

2 M<br />

Fig.1 Distributed source model<br />

In distributed signal model, the source energy is<br />

considered to be spread over some angular volume.<br />

Hence, S i ( t)<br />

is written as<br />

Si ( t) = ∫ a( ϑ ) ς ( ϑ, ψ i,<br />

t)<br />

dϑ<br />

(5)<br />

ϑ∈Θ


2712 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

where Θ is the set <strong>of</strong> the steering vector over some<br />

ς ϑ, ψ , is a complex<br />

parameter space <strong>of</strong> interest, ( )<br />

random angular-temporal signal intensity which can be<br />

expressed as<br />

ς ( ϑ, ψi, t) = s( t)<br />

l ( ϑ;<br />

ψi)<br />

(6)<br />

under the coherently distributed source assumptions, ψi is<br />

the location parameter. Examples <strong>of</strong> the parameter vector<br />

are the mean and standard deviation <strong>of</strong> a source with<br />

Gaussian angular signal intensity.<br />

The steering vector <strong>of</strong> distributed source is defined as<br />

b ψ = a ϑ l ϑ; ψ ϑ (7)<br />

i t<br />

( i) ∫ ( ) ( i)d<br />

ϑ∈Θ<br />

As a common example <strong>of</strong> the coherently distributed<br />

source, assume that the deterministic angular signal<br />

l ϑ ; ψ has the Gaussian shape<br />

intensity ( )<br />

i<br />

( ) 2<br />

ϑ−θ 1 ⎛ ⎞<br />

i<br />

l ( ϑθ ; i , σθ<br />

) = exp⎜−<br />

⎟ (8)<br />

i<br />

2<br />

2πσ<br />

⎜ 2σ<br />

⎟<br />

θ<br />

θ<br />

i ⎝ i ⎠<br />

Here ψ i = ⎡<br />

⎣θi, σ ⎤ θi<br />

⎦<br />

, θi is the central DOA, σθ is angular<br />

i<br />

spread.<br />

Using the above definitions, the covariance matrix <strong>of</strong><br />

the output signal vector can be written as<br />

H<br />

RXX = E⎡ ⎣X( t) X ( t)<br />

⎤<br />

⎦<br />

(9)<br />

In practical situations, the true covariance matrix <strong>of</strong><br />

X t is unavailable but can be estimated. Therefore, the<br />

()<br />

sample covariance matrix with N snapshots is defined as<br />

1 H () ()<br />

N )<br />

RXX = ∑ X t X t<br />

N t =<br />

(10)<br />

III. THE CENTRAL DOA ESTIMATION BASED ON SUPPORT<br />

VECTOR REGRESSION<br />

The support vector regression is based on the theory <strong>of</strong><br />

support vector machines, which are a nonlinear<br />

generalization <strong>of</strong> the generalized portrait algorithm<br />

developed by Vapnik [25]. In particular, support vector<br />

machines have a rigorous mathematical foundation,<br />

which is based on the learning theory.<br />

Since the correlation matrix R XX is symmetric, only<br />

the upper triangular part is considered. These matrix<br />

elements are organized in an array V , given by<br />

1<br />

[ , , L, , , , L, , L, , L , L , ]<br />

V = r11 r12 r1Mr22 r23 r2M rmm rmM rMM<br />

(11)<br />

where rhk = [ R] , h, k = 1, L , M .<br />

hk<br />

The array V is then normalized in order to obtain the<br />

input data Z ,<br />

= V<br />

Z<br />

V (12)<br />

M( M+<br />

1/2 )<br />

Z ∈Σ, Σ⊂ C , and θ1θq Since<br />

θ = ⎡<br />

⎣ L ⎤<br />

⎦∈Θ,<br />

q<br />

Θ⊂ R , so a mapping G : Θ→Σ exists. The problem <strong>of</strong><br />

the central DOA estimation can be thought as the<br />

retrieval <strong>of</strong> θ , starting from the knowledge <strong>of</strong> the array<br />

Z . To this end, the unknown inverse mapping<br />

© 2012 ACADEMY PUBLISHER<br />

F : Σ →Θhas to be found. The components <strong>of</strong> F are<br />

estimated by using a regression approach, in which,<br />

starting from the knowledge <strong>of</strong> several input/output<br />

pairs ( Z ,θ ) , an approximation F % to F is constructed at<br />

the end <strong>of</strong> the training phase.<br />

By using the support vector regression, F % is defined<br />

as<br />

F% ( Z) = w, Φ Z + b<br />

(13)<br />

( )<br />

where , denotes the scalar product, Φ is a nonlinear<br />

function that performs a transformation <strong>of</strong> the input array<br />

from the space Σ to a high dimensional space, and w and<br />

b are parameters which are obtained by minimizing the<br />

regression risk, defined as<br />

L<br />

1 2<br />

Rreg = w + C% 1∑<br />

f ( Zi,<br />

θi<br />

) (14)<br />

2<br />

i=<br />

1<br />

where 1 C% is a constant and f ( Zi, θi)<br />

is the so-called<br />

ε insensitive loss function, given by<br />

⎧⎪ 0, if θi −F( Zi)<br />

≤ε<br />

f ( Zi,<br />

θi)<br />

= ⎨<br />

⎪⎩ θi −F( Zi)<br />

−ε,<br />

otherwise (15)<br />

i=1,2,<br />

L,L<br />

The (15) can be rewritten as follows, considering the<br />

regression error.<br />

⎧ 0, if θi −F( Zi)<br />

≤ε<br />

⎪<br />

f ( Zi, θi) = ⎨θi<br />

−w⋅Φ( Zi)<br />

−b≤ ε + ξi<br />

⎪ ' , otherwise (16)<br />

⎪⎩<br />

w⋅Φ ( Zi)<br />

+ b −θi ≤ ε + ξi<br />

'<br />

ξ , ξ ≥ 0 i=1,2, LL<br />

i i<br />

'<br />

where ξi, ξ i are slack variables. So the problem is<br />

equivalent to minimize<br />

L L<br />

1 2 ⎛ ' ⎞<br />

min w + C%<br />

1 ξi ξi<br />

2<br />

⎜∑ + ∑ ⎟<br />

⎝ i= 1 i=<br />

1 ⎠<br />

( )<br />

( ) b<br />

⎧θ<br />

−w⋅Φ Z −b≤ ε + ξ<br />

⎪<br />

⎨ ⋅Φ + − ≤ +<br />

⎪<br />

⎩ ≥ ≥<br />

L C<br />

+<br />

+<br />

i i<br />

w Zi<br />

θi ε<br />

'<br />

ξi<br />

ξi '<br />

0, ξi<br />

0<br />

L L<br />

' 1 2<br />

' ' '<br />

w, ξξ , = w + %<br />

1 -<br />

i ∑ ξi + ξi ∑ λξ i i + λξ i i<br />

2<br />

i= 1 i=<br />

1<br />

L<br />

∑α<br />

⎡ i ⎣<br />

θi −<br />

i=<br />

1<br />

T<br />

w ⋅Φ( Zi)<br />

−b−ε −ξ<br />

⎤ i⎦<br />

L<br />

' T<br />

∑α<br />

⎡ ( )<br />

i ⎣<br />

w ⋅Φ Zi<br />

i=<br />

1<br />

'<br />

+ b −θi −ε −ξ<br />

⎤<br />

i⎦<br />

(17)<br />

( ) ( ) ( )<br />

(18)<br />

Besides, the KKT(Karush-Kuhn-Tucker) conditions force<br />

∂L ∂L ∂L ∂L<br />

' '<br />

= 0, = 0, = 0, λξ 0, 0<br />

' i i = λξ = . Applying<br />

i i<br />

∂w∂b∂ξi ∂ξi<br />

them, we obtain an optimal solution for support vector<br />

'<br />

regression weights = ∑(<br />

αi −α ) Φ(<br />

)<br />

i i<br />

be expressed as<br />

L<br />

w Z . So (18) can<br />

i=<br />

1


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2713<br />

1<br />

L α α α α α α<br />

2<br />

L L<br />

' ' '<br />

( , ) =− ∑∑(<br />

i − i) Φ( Zi) ⋅Φ( Zj)<br />

( j − j)<br />

Subject to<br />

i= 1 j=<br />

1<br />

L L<br />

' '<br />

∑θi( αi αi) -ε∑(<br />

αi αi)<br />

+ − +<br />

i= 1 i=<br />

1<br />

( ) '<br />

L<br />

∑ αi αi<br />

i=<br />

1<br />

α α<br />

− = 0<br />

C% i L L<br />

0 ≤ i, '<br />

i ≤ 1 = 1,2, ,<br />

αi '<br />

αi<br />

(19)<br />

(20)<br />

The dual variables<br />

KKT conditions.<br />

− and b are computed by using<br />

The regression function for tracking coherently<br />

distributed source is given<br />

L<br />

F% ( Z) =<br />

'<br />

∑(<br />

α −α ) Φ( Z ) ⋅Φ ( Z)<br />

+ b<br />

i<br />

i=<br />

1<br />

L<br />

∑<br />

i=<br />

1<br />

( α α<br />

' )<br />

= − K Z ⋅ Z + b<br />

i<br />

(21)<br />

where K<br />

i ⋅ Z Z is the kernel function working on the<br />

original space Σ .<br />

Several kernel functions help the support vector<br />

regression in obtaining the optimal solution. The most<br />

frequently used such kernel functions are the polynomial,<br />

sigmoid and radial basis kernel function (RBF) as follows<br />

[26],<br />

, ( ) 1 q<br />

K x x = x⋅ x + (22)<br />

( i) [ i ]<br />

( , ) tanh ( ( ) )<br />

K xx = vx⋅ x + e (23)<br />

i i<br />

2<br />

⎧⎪ x−x ⎫<br />

i ⎪<br />

K( x, xi)<br />

= exp⎨−<br />

2 ⎬ (24)<br />

⎪⎩ γ ⎪⎭<br />

The RBF is generally applied most frequently, because<br />

it can classify multi-dimensional data, unlike a linear<br />

kernel function. Additionally, the RBF has fewer<br />

parameters to set than a polynomial kernel. RBF and<br />

other kernel functions have similar overall performance.<br />

Consequently, RBF is an effective option for kernel<br />

function. Therefore, this study applies an RBF kernel<br />

function in the support vector regression to obtain<br />

optimal solution.<br />

IV. PARTICLE SWARM OPTIMIZATION FOR PARAMETER<br />

SELECTION OF SUPPORT VECTOR REGRESSION PROBLEM<br />

STATEMENT AND PRELIMINARIES<br />

The determination and selection for the parameters <strong>of</strong><br />

the support vector machine is important in most<br />

applications.<br />

Two major RBF parameters applied in support vector<br />

machine, 1 C% and γ , must be set appropriately. Parameter<br />

C 1<br />

% represents the cost <strong>of</strong> the penalty. The choice <strong>of</strong> value<br />

for C influences on the classification outcome. If C 1<br />

% is<br />

too large, then the classification accuracy rate is very<br />

high in the training phase, but very low in the testing<br />

phase. If C 1<br />

% is too small, then the classification accuracy<br />

rate unsatisfactory, making the model useless.<br />

Parameter γ has a much greater influence on<br />

classification outcomes than C 1<br />

% , because its value affects<br />

© 2012 ACADEMY PUBLISHER<br />

the partitioning outcome in the feature space. An<br />

excessively large value for parameter C 1<br />

% results in overfitting,<br />

while a disproportionately small value leads to<br />

under-fitting.<br />

Grid search is the most common method to determine<br />

appropriate values for 1 C% and γ [27]. Values for<br />

C% and γ that lead to the highest classification<br />

parameters 1<br />

accuracy rate in this interval can be found by setting<br />

appropriate values for the upper and lower bounds (the<br />

search interval) and the jumping interval in the search.<br />

Nevertheless, this approach is a local search method, and<br />

vulnerable to local optima. Additionally, setting the<br />

search interval is a problem. Too large a search interval<br />

wastes computational resource, while too small a search<br />

interval might render a satisfactory outcome impossible.<br />

In addition to the commonly used, grid search, other<br />

techniques are employed in support vector machine to<br />

improve the possibility <strong>of</strong> a correct choice <strong>of</strong> parameter<br />

values. Pai and Hong proposed an SA-based approach to<br />

obtain parameter values for support vector machine, and<br />

applied it in real data [28]; however, this approach does<br />

not address feature selection, and therefore may exclude<br />

the optimal result.<br />

As well as the two parameters C 1<br />

% and γ , other factors,<br />

such as the quality <strong>of</strong> the feature’s dataset, may influence<br />

the classification accuracy rate. For instance, the<br />

correlations between features influence the classification<br />

result. Accidental removal <strong>of</strong> important features might<br />

lower the classification accuracy rate. Additionally, some<br />

dataset features may have no influence at all, or may<br />

contain a high level <strong>of</strong> noise. Removing such features can<br />

improve the searching speed and accuracy rate.<br />

Here the particle swarm optimization (PSO) algorithm<br />

is used to optimize the parameters <strong>of</strong> support vector<br />

machine. PSO is an emerging population-based metaheuristic<br />

that simulates social behavior such as birds<br />

flocking to a promising position to achieve precise<br />

objectives in a multidimensional space [29]. Like<br />

evolutionary algorithms, PSO performs searches using a<br />

population (called swarm) <strong>of</strong> individuals (called particles)<br />

that are updated from iteration to iteration. To discover<br />

the optimal solution, each particle changes its searching<br />

direction according to two factors, its own best previous<br />

experience and the best experience <strong>of</strong> all other members.<br />

Each particle represents a candidate position. A<br />

particle is considered as a point in a D-dimension space,<br />

and its status is characterized according to its position and<br />

velocity. The D-dimensional position for the particle i at<br />

iteration t can be represented as<br />

t t t t<br />

xi = { xi1, xi2, L , xiD}<br />

. Likewise, the velocity, i.e.,<br />

distance change, which is also a D-dimension vector, for<br />

particle i at iteration t can be described as<br />

t t t t<br />

ti = { ti1, ti2, L , tiD}<br />

.<br />

t t t t<br />

Let pi = { pi1, pi2, L, piD}<br />

represent the best<br />

solution that particle i at iteration t, and<br />

t t t t<br />

pg = { pg1, pg2, L, pgD}<br />

denote the best solution<br />

obtained from t<br />

pi in the population at iteration t. To<br />

search for the optimal solution, each particle changes its


2714 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

velocity according to the cognition and social parts as<br />

follows,<br />

t t−1 t t t t<br />

Vid = Vid + cr 11( pid − xid ) + c2r2( pgd−xid ) (25)<br />

d = 1, 2, L,<br />

D<br />

where 1 c and 2<br />

c are accelerating factors, and 1<br />

r and<br />

r2 are random numbers uniformly distributed in ( 0,1 ) .<br />

Each particle then moves to a new potential solution<br />

based on the following equation<br />

t+ 1 t<br />

X = X<br />

t<br />

+ V , d = 1,2, L , D (26)<br />

id id id<br />

The generalization ability <strong>of</strong> support vector machine<br />

algorithms depends on a set <strong>of</strong> parameters, including the<br />

penalty actor 1 C% , the estimated accuracy ε and the RBF<br />

kernel parameter γ . Defining i = ( Ci, εi, γ i)<br />

( v , v , v )<br />

i i1 i2 i3<br />

U % , the speed<br />

V =<br />

, the history optimal location<br />

( p1, p 2, p 3 )<br />

P =<br />

,the global optimal location<br />

i i i i<br />

( g , g , g )<br />

Gi = i1 i2 i3<br />

for ith particle. The update for location<br />

and speed are written as<br />

C% i = C% i + vi1<br />

(27)<br />

vik = wv 1 i1+ c1× rand( ) × ( pi1−C% i )<br />

+ c × rand × g −C%<br />

(28)<br />

( ) ( i i)<br />

2 1<br />

where w 1 is inertia factor,<br />

wmax −wmin<br />

w1( itc) = wmin + × ( itcmax − itc)<br />

(29)<br />

itc<br />

where itc is the number <strong>of</strong> iteration, itcmax is the maximal<br />

number <strong>of</strong> iteration, wmax and wmin are the maximal and<br />

minimum inertia factors, respectively. The fitness<br />

function for the proposed central DOA estimation<br />

algorithm is defined as<br />

( ) 2<br />

1<br />

1<br />

K )<br />

fits = ∑ θi −θi<br />

(30)<br />

K i=<br />

The basic process <strong>of</strong> the particle swarm optimization<br />

for parameter selection <strong>of</strong> support vector regression is<br />

given as follows,<br />

Step1,(Initialization) Randomly generate initial<br />

particles;<br />

Step2, (Fitness) Measure the fitness <strong>of</strong> each particle in<br />

the population;<br />

Step3, (Update) Compute the velocity <strong>of</strong> each particle<br />

with (28);<br />

Step4, (Construction) For each particle, move to the<br />

next position according to (26);<br />

Step5, (Termination) Stop the algorithm if termination<br />

criterion is satisfied; Return to Step 2 otherwise.<br />

V. NUMBERICAL RESULTS<br />

Several numerical simulations have been performed in<br />

order to validate the proposed approach. An array<br />

composed by 8 elements with interelement distance<br />

d = 0.5λ<br />

is considered.<br />

The kernel function used in this work is a radial kernel.<br />

© 2012 ACADEMY PUBLISHER<br />

We investigate the performances <strong>of</strong> the proposed fast<br />

DOA estimation <strong>of</strong> single coherently distributed source<br />

with Gaussian deterministic angular signal density.<br />

Moreover, in the considered simulations, following a<br />

widely used approach, an estimate <strong>of</strong> the correlation<br />

matrix R XX is simply computed by averaging the values<br />

<strong>of</strong> 50 snapshots <strong>of</strong> X . In the first example, we<br />

numerically illustrate the proposed algorithm for<br />

selecting the parameter <strong>of</strong> support vector machine.<br />

Considering a single coherently distributed source with<br />

angular spread and SNR=10dB. In order to cover the<br />

o o<br />

whole region <strong>of</strong> interest, the range is ⎣<br />

⎡−90 ,90 ⎦<br />

⎤ for the<br />

central DOA in training sample set. After the training<br />

phase, the test phase is performed by considering<br />

different values <strong>of</strong> the central DOAs <strong>of</strong> the impinging<br />

waves. The support vector machine parameters are<br />

initialized as C ∈ [ 30,500]<br />

, ε ∈ [ 0,0.02]<br />

and<br />

γ ∈ [ 0.01,2 ] . The speed range are [ − 500,500]<br />

,<br />

[ −0.02,0.02] and [ − 2, 2]<br />

, respectively. The fitness<br />

function is initialized as 0. Fig.2 illustrates the iterative<br />

process. When the number <strong>of</strong> iteration is about 35, the<br />

fitness function is convergence. The optimal location <strong>of</strong><br />

the particle is ( 230.4331,0,0.5734 ) ,which is support<br />

vector regression parameter.<br />

Fig.2 The iterative<br />

The estimated DOA values are reported in Fig.3. In the<br />

abscissa, the indexes <strong>of</strong> the samples belonging to the test<br />

set are indicated. The corresponding actual and estimated<br />

values <strong>of</strong> the incident angles are reported. As can be seen,<br />

the proposed method is able to obtain quite good results<br />

for almost all <strong>of</strong> the considered DOAs.<br />

Fig.3 The actual and estimated values <strong>of</strong> the<br />

central DOA


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2715<br />

The root-mean-squared errors (RMSEs) <strong>of</strong> the<br />

estimated central DOA by the proposed method are<br />

illustrated at different SNR in Fig. 4. As it can be seen,<br />

the proposed algorithm has a better estimation<br />

performance at low SNR.<br />

Fig.4 The RMSE <strong>of</strong> the estimated central DOA<br />

versus SNR<br />

The influence <strong>of</strong> the number <strong>of</strong> snapshots is<br />

investigated in Fig.5 for SNR=10dB.It can be observed<br />

that the proposed algorithm presents effective<br />

performance even for a small number <strong>of</strong> snapshots.<br />

Fig.5 The RMSE <strong>of</strong> the estimated central DOA<br />

versus the number <strong>of</strong> snapshots<br />

VI. CONCLUSION<br />

A method for estimating the central DOA <strong>of</strong><br />

coherently distributed source has been proposed. The<br />

developed method is based on the use <strong>of</strong> a support vector<br />

regression approach for the approximation <strong>of</strong> the<br />

unknown mapping that performs the transformation from<br />

the outputs <strong>of</strong> the smart array to the central DOA <strong>of</strong><br />

coherently distributed source, which can be used when<br />

the sample set is small. Furthermore, the reported results<br />

show that the method is able to correctly produce outputs<br />

corresponding to accurate estimations even in large<br />

angular spread. The approach is able to reach this goal in<br />

a very short time and with good generalization<br />

capabilities.<br />

ACKNOWLEDGMENT<br />

This work was supported by the National Natural<br />

Science Foundation <strong>of</strong> China under Grant No. 60904035,<br />

© 2012 ACADEMY PUBLISHER<br />

61004052 and 61104005, by Natural Science Foundation<br />

<strong>of</strong> Liaoning Province and Hebei Province under Grant<br />

No.201202073 and F2011501052, by The Central<br />

University Fundamental Research Foundation, under<br />

Grant. N110423004 and by Research Fund for the<br />

Doctoral Program <strong>of</strong> Higher Education <strong>of</strong> China under<br />

Grant No. 20110042120015.<br />

REFERENCES<br />

[1] D. Asztely and B. Ottersten, “The effects <strong>of</strong> local<br />

scattering on direction <strong>of</strong> arrival estimation with MUSIC<br />

and ESPRIT,” Proceedings <strong>of</strong> ICASSP1998, Seattle,<br />

Washington, pp. 3333-3336, 1998.<br />

[2] A. Hassanien, S. Shahbazpanahi and A. B. Gershman, “A<br />

generalized Capon estimator for localization <strong>of</strong> multiple<br />

spread sources,” IEEE Trans. Signal Processing, vol.52, pp.<br />

280-283, January 2004.<br />

[3] J. Lee, J. Joung and J. D. Kim, “A method for the<br />

direction-<strong>of</strong>-arrival estimation <strong>of</strong> incoherently distributed<br />

sources,” IEEE Trans. Vehicular Technology, vol.57, pp.<br />

2885-2893, May 2008.<br />

[4] M. Souden, S. Affes and J. Benesty, “A two-stage<br />

approach to estimate the angles <strong>of</strong> arrival and the angular<br />

spreads <strong>of</strong> locally scatters sources,” IEEE Trans. Signal<br />

Processing, vol.56, pp. 1968-1983, May 2008.<br />

[5] R. Raich, J. Goldberg and H.Messor, “Bearing estimation<br />

for a distributed source: modeling, inherent accuracy<br />

limitations and algorithm,” IEEE Trans. Signal Processing,<br />

vol.48, pp. 429-441, February 2000.<br />

[6] A. Zoubir, Y. Wang and P. Charge, “Efficient subspacebased<br />

estimator for localization <strong>of</strong> multiple incoherently<br />

distributed source,” IEEE Trans. Signal Processing, vol.56,<br />

pp. 532-542, February 2008.<br />

[7] S.Valaee, B. Champagne and P. Kabal, “Parameter<br />

localization <strong>of</strong> distributed sources,” IEEE Trans. Signal<br />

Processing, vol. 43, pp. 2144-2153, February 1995.<br />

[8] T.Trump and B. Ottersten, “Estimation <strong>of</strong> nominal<br />

direction <strong>of</strong> arrival and angular spread using an array <strong>of</strong><br />

sensors,” Signal Processing, vol.50, pp.57-69, April 1996.<br />

[9] Y.Meng, P.Stoica and K.Wong, “Estimation <strong>of</strong> the<br />

directions <strong>of</strong> arrival <strong>of</strong> spatially dispersed signals in array<br />

processing,” Inst.Elect.Eng.Proc.Radar,Sonar, Navigat.,<br />

vol.143, pp.1-9, February 1996.<br />

[10] S.Shahbazpanahi, S.Valaee and A. B. Gershman, “A<br />

covariance fitting approach to parametric localization <strong>of</strong><br />

multiple incoherently distributed source, ”IEEE Trans.<br />

Signal Processing, vol.52, pp.592-600, March 2004.<br />

[11] M. Bengtsson and B. Ottersten, “Low-complexity<br />

estimators for distributed sources,” IEEE Trans.Signal<br />

Processing, vol.48, pp.2185-2194, August 2000.<br />

[12] P.Stoica and K.C.Sharman, “Novel eigenanalysis method<br />

for direction estimation,” IEE Proc.F Radar, Signal<br />

Processing, vol.137, pp.19-26, February 1990.<br />

[13] R.Roy and T.Kailath, “ESPRIT-estimation <strong>of</strong> signal<br />

parameters via rotational invariance techniques,” IEEE<br />

Trans.Acoust.,Speech,Signal Processing, vol.37, pp.984-<br />

995, July 1989.<br />

[14] S. Shahbazpanahi, S. Valaee and M. H. Bastani,<br />

“Distributed source localization using ESPRIT algorithm,”<br />

IEEE Trans. Signal Processing, vol. 49, pp. 2169-2178,<br />

October 2001.<br />

[15] B. T. Sieskul, “ An asymptotic maximum likelihood for<br />

joint estimation <strong>of</strong> nominal angles and angular spreads <strong>of</strong><br />

multiple spatially distributed sources,” IEEE Trans.<br />

Vehicular Technology, vol.59, pp. 1534-1538, March 2010.


2716 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

[16] O.Besson, P.Stoica, “Decoupled estimation <strong>of</strong> DOA and<br />

angular spread for a spatially distributed source,” IEEE<br />

Trans. Signal Processing, vol.48, pp. 1872-1882, July<br />

2000.<br />

[17] A.Zoubir, Y.Wang, “Robust generalized Capon algorithm<br />

for estimating the angular parameters <strong>of</strong> multiple<br />

incoherently distributed sources,” IET Signal Process., pp.<br />

163-168, February 2008.<br />

[18] A. Monakov ,O. Besson, “ Direction finding for an<br />

extended target with possibly non-symmetric spatial<br />

spectrum,” IEEE Trans. Signal Processing, vol. 52, pp.<br />

283-287, January 2004.<br />

[19] A.H.EI Zooghby, C.G.Christodoulou and M.<br />

Georgiopoulos, “performance <strong>of</strong> radial-basis function<br />

network for direction arrival estimaion with antenna<br />

arrays,” IEEE Trans. Antennas Propag., vol.45, pp.1611-<br />

1617, November 1997.<br />

[20] A.H.EI Zooghby, C.G.Christodoulou and M.<br />

Georgiopoulos, “A neural network-based smart antenna for<br />

multiple source tracking,” IEEE Trans. Antennas Propag.,<br />

vol.48, pp.768-776, May 2000.<br />

[21] D. Zhu, M. Tao and L. Sun, “Fuzzy support vector<br />

machine control for 6-DOF parallel robot, ” <strong>Journal</strong> <strong>of</strong><br />

Computers, vol.6, pp.1926-1934, June 2011.<br />

[22] V. A. Sotiris, P.W. Tse and M.G. Pecht, “Anomaly<br />

detection through a Bayesian support vector machine,”<br />

IEEE Trans.Reliability, vol.59, pp.277-286, Feb. 2010.<br />

[23] C. Xie, C. Shao and D. Zhao, “Parameters optimization <strong>of</strong><br />

least squares support vector machines and its application,”<br />

<strong>Journal</strong> <strong>of</strong> Computers, vol.6, pp.1935-1941, September<br />

2011.<br />

[24] D. Geebelen, J. Suykens and J.Vandewalle, “Reducing the<br />

number <strong>of</strong> support vectors <strong>of</strong> SVM classifiers using the<br />

smoothed separable case approximation,” IEEE Trans.<br />

Neural Networks and Learning Systems, vol.23, pp.682-<br />

688, April 2012.<br />

[25] V.Vapnik and A.Lerner, “Pattern recognition using<br />

generalized portrait method,” Automation Remote Control,<br />

vol. 24, pp. 774-780, June 1963.<br />

© 2012 ACADEMY PUBLISHER<br />

[26] Y. Liao, S.C. Fang and H.L.W. Nuttle, “A neural network<br />

model with bounded-weights for pattern classification,”<br />

Computers and Operations Research, vol.31, pp.1411-<br />

1426, 2004.<br />

[27] T. Shon, Y.Kim, C. Lee and J.Moon, “A machine learning<br />

framework for network anomaly detection using SVM and<br />

GA,” In Proceedings <strong>of</strong> IEEE Workshop on Information<br />

Assurance and Security, pp. 176-183, 2005.<br />

[28] P.F. Pai and W.C.Hong, “Support vector machines with<br />

simulated annealing algorithm in electricity load<br />

forecasting,”Energy Conversion and Management, vol.46,<br />

pp.2669-2688, 2005.<br />

[29] J. Kennedy and R.C. Eberhart, “Particles swarm<br />

optimation,” Proceedings <strong>of</strong> IEEE Conference on Neural<br />

Network, vol.4, pp.1942-1948, 1995.<br />

Yinghua Han was born on July 23,<br />

1979 in Jilin Province in China. She<br />

received M.S. degree and Ph.D. degree<br />

in Navigation Guidance and Control in<br />

Northeastern University, China, in 2005<br />

and 2008, respectively. She is currently<br />

a associate pr<strong>of</strong>essor. Her research<br />

interests include array signal processing<br />

and mobile communication.<br />

Jinkuan Wang was born on April 4,<br />

1957 in Liaoning Province in China. He<br />

received the Ph.D. degree in Electronic<br />

Information and Communication<br />

Engineering in the University <strong>of</strong><br />

Electro-Communications, Japan, in<br />

1993. Since 1998, he has been with the<br />

college <strong>of</strong> information science and<br />

engineering, Northeastern University,<br />

China, where he is now a pr<strong>of</strong>essor. His<br />

current research interests are in wireless communication,<br />

multiple antenna array communication systems and adaptive<br />

signal processing.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2717<br />

Web Services Evaluation Predication Model<br />

based on Time Utility<br />

Guisheng Yin, Xiaohui Cui, Yuxin Dong, Jianguo Zhang<br />

College <strong>of</strong> Computer Science and Technology, Harbin Engineering University, Harbin, China<br />

Email: {yinguisheng, cuixiaohui}@hebru.edu.cn<br />

Abstract—Current predication models fail to consider the<br />

time utility <strong>of</strong> the web services evaluation predication and<br />

treat the different historical ratings in the same way. To<br />

solve this problem, we put forward web service evaluation<br />

predication model based on time utility. In the model, naïve<br />

quantification method and complex quantification method<br />

are proposed to achieve the distinct and proper time utility<br />

for the services evaluation predication procedure. Then, the<br />

quantification results are used to optimize the length <strong>of</strong> the<br />

predication windows. Also, feedback control strategy is<br />

involved to enhance the robust <strong>of</strong> the model when facing<br />

malicious. Experimental results shows our model would<br />

calculate the proper time utility and obtain the lower<br />

predication error compared with current predication<br />

models. Feedback control strategy is an effective method to<br />

reduce the impact <strong>of</strong> malicious ratings and guarantee the<br />

lower predication error compared with the model without<br />

the feedback control strategy.<br />

Index Terms—web services, time utility, quantification <strong>of</strong><br />

time utility, predication, feedback control<br />

I. INTRODUCTION<br />

The evaluation predication is the principal application<br />

<strong>of</strong> the web services system. It could help the users to<br />

achieve the available web services concerned with their<br />

requests. The traditional predication models, such as<br />

Quality <strong>of</strong> service (Qos) in Ref. [1,2,3,4,5], Web services<br />

Evaluation System (WES) in Ref. [4], and K Nearest<br />

Neighbor (KNN) in Ref. [7,8,9] fail to analyze the time<br />

utility <strong>of</strong> the historical ratings when evaluating web<br />

services. In reality, the recent ratings express more<br />

valuable than the ratings in the past. Therefore, it is<br />

considerable to involve the decay process <strong>of</strong> the time<br />

utility into the predication procedures <strong>of</strong> the web services<br />

evaluation. In the past decade, some researches related<br />

with the time utility have been done in other fields <strong>of</strong><br />

computer sciences. In Machine Learning, Koychev<br />

deemed the time utility <strong>of</strong> ratings would decade gradually<br />

with time, and this decay could be presented by the liner<br />

function in Ref. [11]. In Recommendation Systems, Ref.<br />

[13] and [14] assumed that core function would be the<br />

suitable description <strong>of</strong> the decay process. In Concept<br />

Drift System, several scholars applied the exponential<br />

function in Ref. [15] to describe the decay phenomenon.<br />

The above models <strong>of</strong> the decay process <strong>of</strong> the time<br />

utility are hard to directly apply to the web services<br />

evaluation predication system since there are some<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2717-2725<br />

problems to be solved. Firstly, Current models usually<br />

assumed that the time utility would decay in a static ratio<br />

even for different web services. According to the study <strong>of</strong><br />

Indre Zliobaite, the ratings are the belief <strong>of</strong> the subjects to<br />

expect the evaluated objects to accomplish a task in Ref.<br />

[16]. This belief would be distinct for different web<br />

services. It is appropriate to use various decay procedures<br />

to describe the time utility for different web services.<br />

Secondly, no existing works have ever mentioned how to<br />

incorporate the time utility to optimize the predication<br />

procedures <strong>of</strong> the web services evaluation system.<br />

Thirdly, the predication procedures heavily rely on the<br />

historical ratings, while the web services evaluation<br />

system is easy to be attacked by the malicious ratings.<br />

To solve the above problems, we propose a web<br />

services evaluation predication model based on time<br />

utility (WSEPM-TU). In this model, complex<br />

quantification method <strong>of</strong> the time utility is proposed to<br />

unfold the distinct quantification <strong>of</strong> different web services.<br />

Then we apply the quantification results to optimize the<br />

length <strong>of</strong> the predication windows, as to enhance the<br />

performance <strong>of</strong> WSEPM-TU. Finally, WSEPM-TU<br />

supplies the feedback control strategy to reduce the side<br />

impact <strong>of</strong> the malicious ratings.<br />

The remainder <strong>of</strong> the paper is organized as follows:<br />

Section II states the architecture <strong>of</strong> WSEPM-TU. Section<br />

II designs the naive quantification method and the<br />

complex quantification method <strong>of</strong> the time utility. Section<br />

IV describes the optimization method for the length <strong>of</strong> the<br />

predication windows. Section V provides the feedback<br />

control strategy <strong>of</strong> the malicious ratings. Section VI<br />

presents the experiments to analyze the performance <strong>of</strong><br />

WSEPM-TU. Section VII concludes the paper.<br />

II. ARCHITECTURE OF WSEPM-TU<br />

Web services evaluation predication system (WSEPS)<br />

is a prototype system <strong>of</strong> WSEPM-TU. WSEPS adopts the<br />

predication procedures to achieve the predication <strong>of</strong> the<br />

web services evaluation based on the quantification <strong>of</strong> the<br />

time utility. The feedback control strategy filters out the<br />

malicious ratings. Fig. 1 shows the architecture <strong>of</strong><br />

WSEPS.<br />

The detail predication procedures <strong>of</strong> WSEPS are<br />

shown as follows.<br />

(1) Through the user's interface, WSEPS wraps the<br />

predication requests <strong>of</strong> the web services into the request<br />

entities and delivers them to the predication model.


2718 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

(2) The predication model extracts the identifiers <strong>of</strong> the<br />

web services in the request entities and delivers them to<br />

the time utility model.<br />

(3) The time utility would search from the historical<br />

ratings table and calculate the current time utility <strong>of</strong><br />

different web services. Then it returns the quantification<br />

results to the predication model.<br />

(4) The predication model applies the quantification<br />

results to optimize the length <strong>of</strong> the predication windows<br />

and estimates the evaluation predication <strong>of</strong> the web<br />

services. Then it returns evaluation results to the user's<br />

interface.<br />

The detail feedback procedures <strong>of</strong> WSEPS are shown<br />

as follows.<br />

(1) Through the user's interface, WSEPS wraps the<br />

user's feedback ratings <strong>of</strong> the web services into the<br />

feedback entities and delivers them to the feedback<br />

control model.<br />

(2) The feedback control model resolves the service<br />

identifiers and the users' ratings, and investigates whether<br />

the ratings are malicious. If the ratings are malicious, the<br />

feedback control model adjusts the ratings, and stores<br />

them in the historical ratings table. If the ratings are valid,<br />

the feedback control model would store the ratings<br />

directly into the historical ratings table.<br />

In the procedures <strong>of</strong> predication and feedback, the time<br />

utility model, the predication model, the feedback control<br />

model and the adjustment <strong>of</strong> the decay ratio model are the<br />

main focus <strong>of</strong> our papers.<br />

III. QUANTIFICATION METHOD OF THE TIME UTILITY<br />

System Dynamics is a main way to analyze the<br />

complex sequential system. It adopts the quantitative and<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 1. Architecture <strong>of</strong> WSEPS<br />

qualitative methods to confirm the cause and effect <strong>of</strong><br />

different system factors and constructs the dynamic<br />

system equations. The general steps <strong>of</strong> System Dynamics<br />

are Constructing the cause and effect relationship<br />

diagram among different system factors, transforming the<br />

cause and effect relationship diagram into the system<br />

flow diagram, analyzing the characteristics <strong>of</strong> the<br />

variables in the flow diagram to achieve the difference<br />

equations, transforming the difference equations to the<br />

differential equations, solving the differential equations to<br />

obtain the primitive functions. The decay procedures <strong>of</strong><br />

the time utility can be deemed as a whole system affected<br />

by several system factors. To achieve a proper<br />

quantification method <strong>of</strong> the time utility, we use System<br />

Dynamics.<br />

A. Naive Quantification Method<br />

The naive quantification system <strong>of</strong> the time utility<br />

assumes that all the decay procedures <strong>of</strong> the time utility<br />

are identical for the web services. In the naive<br />

quantification system, the system factors include<br />

time_utility, decay_speed and decay_ratio. According to<br />

the natural decay characteristics <strong>of</strong> the time utility,<br />

increment <strong>of</strong> time_utility leads to the growth <strong>of</strong><br />

decay_speed <strong>of</strong> the time utility per unit time, and it means<br />

the causal relationship between time_utility and<br />

decay_speed is positive. In turn, the increment <strong>of</strong><br />

decay_speed leads to the decline <strong>of</strong> time_utility, and it<br />

means the causal relationship between decay_speed and<br />

time_utility is negative. Decay_ratio is a constant in this<br />

system. The cause and effect diagram <strong>of</strong> the naive<br />

quantification system is shown in Fig. 2.<br />

Figure 2. Cause and effect diagram <strong>of</strong> the naive quantification system<br />

There is a first order negative causal loop in Fig. 2. We<br />

assume that the direction into time_utility is positive and<br />

it can be inferred that decay_ratio is less than 0.<br />

According to System Dynamics, time_utility is a level<br />

variable, decay_speed is a rate variable and decay_ratio<br />

is an auxiliary variable. Fig. 3 shows the system flow<br />

diagram <strong>of</strong> the naive quantification system.<br />

Figure 3. System flow diagram <strong>of</strong> the naive quantification system<br />

If assuming J, K and L as the sequential time points<br />

and DT expresses a variance <strong>of</strong> the sequential time points ,<br />

the dynamic equations <strong>of</strong> the naive quantification system<br />

are shown as (1) and (2).<br />

time_utility.K=time_utility.J–decay_speed.JK*DT. (1)


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2719<br />

decay_speed.KL= time-utility.K * decay_ratio. (2)<br />

The equivalent differential equation <strong>of</strong> (1) and (2) is<br />

(3).<br />

dtime_utility/dt = time_utility * decay_ratio. (3)<br />

The primitive function to describe the dynamic<br />

characteristics <strong>of</strong> the naive quantification system is (4).<br />

time_utility = time_utility0 * e decay_ratio * t . (4)<br />

In our papers, time_utility0=1 for all the time utility<br />

would decay from 1. To simplify the expression <strong>of</strong><br />

different system factors, we set X(t)=time_utility and<br />

decay_radio=K. The naive quantification method <strong>of</strong> the<br />

time utility is shown as (5).<br />

Kt<br />

X () t = e . (5)<br />

The function image <strong>of</strong> (5) is a curve converging to 0,<br />

which meets hypothesis <strong>of</strong> the naive quantification<br />

system. In the web service evaluation system, it is<br />

unreasonable to use same decay procedure to describe the<br />

time utility <strong>of</strong> all the web services. A proper way is to<br />

adjust the naive quantification method to complex<br />

quantification by assigning different decay ratios to<br />

different web services, as to provide distinct<br />

quantification results.<br />

B. Complex Quantification Method<br />

The complex quantification method <strong>of</strong> the time utility<br />

takes the frequency <strong>of</strong> users' ratings to affect the decay<br />

ratio as to unfold the distinct quantification results for<br />

different web services.<br />

When adjusting the decay ratio, we involve the<br />

psychological phenomenon <strong>of</strong> the memory enhancement.<br />

Based on the experiments, relearning would enhance the<br />

belief and start a new naive decay procedure <strong>of</strong> the time<br />

utility in a lower decay ratio compared with the prior<br />

decay procedure. If the time utility <strong>of</strong> the web services is<br />

the object to remember, the whole decay procedures <strong>of</strong><br />

the time utility are the accumulation <strong>of</strong> the sequential<br />

naive decay procedures. Fig. 4 indicates a general decay<br />

procedure <strong>of</strong> the time utility for a web service.<br />

Figure 4. General decay procedure <strong>of</strong> the time utility<br />

In order to calculate the decay ratio, we select two<br />

sequential decay procedures. Assuming the last time<br />

point <strong>of</strong> adjusting decay ratio as tm, WSEPS receives the<br />

user's feedback rating and the decay ratio would change<br />

© 2012 ACADEMY PUBLISHER<br />

from Km to Kn at the time point tn . We make the curve <strong>of</strong><br />

Km and Kn share the same starting point to achieve the<br />

numeric relationship between Km and Kn as shown in<br />

Fig.5.<br />

Figure 5. Neighbor naive procedures <strong>of</strong> the time utility<br />

In Fig. 5, Xn(tn) and Xm(tn) represent the time utility<br />

curve. At the time point tn, {Xn(tn)-Xm(tn)} means the<br />

adjustment degree due to the user's feedback. {1- Xm(tn)}<br />

is the upper bound <strong>of</strong> the adjustment degree. If δ is the<br />

adjustment percentage, the relationship between the<br />

{Xn(tn)-Xm(tn)} and {1- Xm(tn)} can be depicted by (6).<br />

[1 − X ( t )] [ X ( t ) − X ( t )] = δ . (6)<br />

m n n n m n<br />

The largerδ is, the fewer effects the users’ rating are.<br />

Generally,δ is an integer more than 1. Using X(t) in (5)<br />

replace X(t) in (6), we would calculate the adjusted decay<br />

ratio relationship by (7).<br />

K = + − e − t − t . (7)<br />

−km( tn−tm) n (ln(1 ( δ 1) ) ln δ)<br />

( m n)<br />

By (7), if we knowing the initial decay ratio K0, the<br />

decay ratio <strong>of</strong> the arbitrary procedures can achieve. For a<br />

specified web service, assuming the time points sequence<br />

<strong>of</strong> the adjusted decay ratio as t={t0,t1,…} and Km indicates<br />

the decay ratio between the neighbor time points(named<br />

tm and tn), we could use (8) to calculate the complex<br />

quantification results <strong>of</strong> the time utility.<br />

X t = e t∈ t t . (8)<br />

−Km( t−tm) m() [ m, n]<br />

In WSEPS, the time utility model utilizes (8) to<br />

calculate the time utility. Meanwhile, the adjustment <strong>of</strong><br />

the decay ratio model utilizes (7) to update the records <strong>of</strong><br />

the decay ratio in the time utility table.<br />

IV. PREDICATION OF THE WEB SERVICES EVALUATION<br />

In current predication model, KNN is the most<br />

common method to fusion the ratings. However, the<br />

length <strong>of</strong> predication windows in KNN should be<br />

artificially predefined. The unreasonable length <strong>of</strong> the<br />

predication windows would affect the performance <strong>of</strong><br />

predication process. In WSEPM-TU, we make use <strong>of</strong> the<br />

quantification results <strong>of</strong> complex quantification method<br />

to optimize the length <strong>of</strong> predication windows (abbr.<br />

pre_win).<br />

In the predication system, the system factors includes:<br />

the decay_speed and the max length <strong>of</strong> the predication<br />

windows (abbr. max_win).


2720 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Using the time point (named t) as the intermediate<br />

variable, we analyze the cause and effect relationship<br />

between the decay_speed and pre_win as follows.<br />

(1) The causal relationship between t and pre_win. We<br />

assume Δt=t-tm, while tm and t indicate the starting point<br />

<strong>of</strong> the current decay procedure and current time point<br />

respectively. By the decreasing property <strong>of</strong> (8), the larger<br />

Δt is, the lower X(t) is. To guarantee the reliability <strong>of</strong> the<br />

predication, we need more historical ratings, vice versa.<br />

Therefore, pre_win∝ Δt.<br />

(2) The causal relationship between X’(t) and pre_win.<br />

By the graph <strong>of</strong> X’(t), the more Δt is, the larger X’(t) is.<br />

Therefore, Δt ∝ X’(t) .<br />

For∝ is an equivalence relation, pre_win and X’(t) is a<br />

positive causal relation under the condition <strong>of</strong><br />

pre_win∝ Δt,<br />

Δt∝ X’(t) , pre_win∝ X’(t) and<br />

X’(t)∝pre_win. Fig. 6 shows the cause and effect<br />

diagram <strong>of</strong> the predication system.<br />

Set the direction into the review window as positive,<br />

then the decay ratio is more than 0.<br />

Figure 6. Cause and effect diagram <strong>of</strong> the predication system<br />

According to the characteristics <strong>of</strong> the system factors,<br />

max_win indicates the upper bound <strong>of</strong> the predication<br />

windows, which is a constant. var_win is an auxiliary<br />

variable. Fig.7 shows the system flow diagram<br />

corresponding to Fig.6.<br />

Figure 7. System flow diagram <strong>of</strong> the predication system<br />

If assuming J, K and L as the sequential time points<br />

and DT expresses the variance <strong>of</strong> the sequential time<br />

points, the dynamic equations <strong>of</strong> the predication system<br />

are shown by (9), (10) and (11).<br />

pre_win.K=pre_win.J +decay_speed.JK*DT. (9)<br />

var_win.K = max_win – pre_win.K. (10)<br />

decay_speed.KL= var_win.K * decay_ratio. (11)<br />

Assuming pre_win |t=0 = 0, we solve (9)-(11) and gain<br />

the equivalent function as shown by (12).<br />

pre_win=max_win*(1-e -dcay_ratio * t ). (12)<br />

Unify the expressions <strong>of</strong> the arguments in (12). n:=<br />

pre_win. N := max_win. The length <strong>of</strong> the predication<br />

windows is described by (13).<br />

© 2012 ACADEMY PUBLISHER<br />

n= ⎡⎢N(1 −Xm( t)) ⎤⎥<br />

t∈[ tm, tn]<br />

. (13)<br />

In WSEPM-TU, the predication model searches the<br />

same mount historical ratings in accordance with (13).<br />

Assuming B={b1,b2,…,bn}(n


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2721<br />

ratings are range from m to n. The relative confidence<br />

interval is described by (16). In (16), a and b mean the<br />

lower and the upper bound <strong>of</strong> the confidence interval <strong>of</strong><br />

the whole ratings set.<br />

⎣⎡min{ ⎢⎣a− 0.1 × ( m − n + 1) ⎥⎦, m}, min{ ⎡⎢b+ 0.1 × ( m − n + 1) ⎤⎥,<br />

n}<br />

⎤.<br />

(16)<br />

⎦<br />

VI. EXPERIMENTS AND ANALYSIS<br />

A. Data Preparation<br />

To evaluate the performance <strong>of</strong> our model, we use the<br />

ratings <strong>of</strong> application in App Store [18]. App store is the<br />

most mature market and rating platform for s<strong>of</strong>tware. The<br />

way to bind credit card guarantees the reliability <strong>of</strong> the<br />

ratings in App Store.<br />

By Search API we capture the 100,000 ratings <strong>of</strong><br />

application in the form <strong>of</strong> json. Based on the<br />

preprocessing to the raw ratings, we choose the 5600<br />

sequential ratings <strong>of</strong> application 105, 661 and 1084 as<br />

data sets (named D1, D2 and D3 respectively) for the<br />

following experiments. The statistics <strong>of</strong> these 3 datasets<br />

are shown in table I. Me, Var, Avg and IQR mean Median,<br />

Variance, Average and Inter-quartile range respectively.<br />

TABLE I.<br />

STATISTICS OF SIMULATION DATASETS<br />

Num Me Var Avg Min Max IQR<br />

D1 5600 3.00 1.249 3.38 1 5 1<br />

D2 5600 3.00 0.932 3.41 1 5 1<br />

D3 5600 4.00 0.769 3.96 1 5 2<br />

B. Evaluation Metrics and Simulation Parameters<br />

We use Mean Absolute Error (MAE) in [19] to<br />

measure the performance <strong>of</strong> various predication models<br />

by (17). In (17), U is the length <strong>of</strong> data segment, b(n) is<br />

the predicated value and b p (n) is the standard value. The<br />

lower MAE is, the better the predication models perform.<br />

Table II presents the simulation parameters <strong>of</strong> WSEPS.<br />

U<br />

p<br />

MAE = b( n) −b(<br />

n) U . (17)<br />

∑<br />

n=<br />

1<br />

TABLE II.<br />

PARAMETERS OF WSEPS<br />

Name Meaning Value<br />

|Y| feedback sample 30<br />

K0 Initial decay ratio 1.0<br />

N max_win 10<br />

C. Experimental Procedures<br />

We adopt incremental learning to do the experiments.<br />

The procedures are shown as follows.<br />

(1) Select the top-|Y| ratings from the data sets by the<br />

ascending order <strong>of</strong> the ratings' time stamp and put the<br />

selected ratings into the historical ratings table as the<br />

initial records.<br />

© 2012 ACADEMY PUBLISHER<br />

(2) For the each rating left in the data sets, we treat<br />

them as the predication requests <strong>of</strong> the evaluation and<br />

carry out the different predication models to achieve the<br />

predicated evaluation.<br />

(3) Measure the variance by (18) and insert the<br />

feedback ratings into the historical ratings table. Continue<br />

to go to step 2 until the last record in the data sets.<br />

D. Parameters Analysis<br />

This experiment displays the impact <strong>of</strong> various settings<br />

<strong>of</strong> δ . When δ is equal to 10, 50, 100 and 300, Fig. 8, 9<br />

and 10 indicate the MAE analysis <strong>of</strong> WSEPM-TU on<br />

D1~D3. U=560.<br />

Figure 8. MAE analysis <strong>of</strong> various δ settings on D1<br />

Figure 9. MAE analysis <strong>of</strong> various δ settings on D2<br />

Figure 10. MAE analysis <strong>of</strong> various δ settings on D3<br />

In Fig. 8, the MAE values fluctuate slightly in a small<br />

range. For instance, whenδ = 300 , the maximum <strong>of</strong> the<br />

MAE values emerges at the predication periods from<br />

3921 to 4480 and the minimum <strong>of</strong> the MAE values arise<br />

in the predication periods from 5041 to 5600. In other


2722 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

predication periods, the MAE values maintain<br />

at 0.99 ± 0.1 . Meanwhile, the average <strong>of</strong> the MAE values<br />

keeps at 0.88 ± 0.1 and 0.78 ± 0.1 on D2 and D3<br />

respectively, as shown in Fig. 9 and Fig. 10.<br />

According to the experimental results, the trends <strong>of</strong><br />

fluctuations are similar under the various settings <strong>of</strong> δ<br />

and the fluctuated range is [-0.1, +0.1]. In conclusion, the<br />

performance <strong>of</strong> WSEPM-TU is not related to settings<br />

<strong>of</strong> δ . In the following experiments, we set δ =50.<br />

E. Performance <strong>of</strong> Various Predication Models<br />

By quantification methods <strong>of</strong> the time utility presented<br />

in [15] and [17], we construct a web service evaluation<br />

predication models based on the exponential function<br />

(WSEPM-E) and analyze the performance <strong>of</strong> WSEPM-E<br />

and WSEPM-TU on the data sets. WSEPM-E uses static<br />

quantification procedures and fails to consider the distinct<br />

and dynamic <strong>of</strong> the time utility.<br />

Fig. 11, Fig. 12 and Fig. 13 indicate the MAE values <strong>of</strong><br />

WSEPM-TU and WSEPM-E with different static decay<br />

ratios (WSEPM-E(0.5), WSEPM-E(1) and WSEPM-E(2))<br />

on the data sets. U=30.<br />

Figure 11. MAE Analysis <strong>of</strong> WSEMP-TU and WSEPM-E on D1<br />

Figure 12. MAE Analysis <strong>of</strong> WSEMP-TU and WSEPM-E on D2<br />

In Fig. 11, the MAE values preserve at 0.99 ± 0.1<br />

among all the predication periods. For WSEPM-E, on one<br />

hand, its MAE values would fluctuate with the<br />

predication periods and appear a rising trend. For instance,<br />

the MAE value <strong>of</strong> WSEPM-E (0.5) is 0.99002 at the<br />

predication periods from 1 to 560 and increases to<br />

2.28268 at the predication periods from 5046 to 5600. On<br />

the other hand, owing to the lack <strong>of</strong> distinct quantification<br />

procedures for various web services, WSEPM-E (0.5)<br />

uses the static decay ratios to simulate decay procedures<br />

<strong>of</strong> the time utility, which performs poorly. The analysis <strong>of</strong><br />

© 2012 ACADEMY PUBLISHER<br />

MAE on D2 and D3 would be similar as it is shown in Fig.<br />

12 and Fig. 13.<br />

Figure 13. MAE Analysis <strong>of</strong> WSEMP-TU and WSEPM-E on D3<br />

Figure 14. MAE analysis <strong>of</strong> WSEPM-TU and WSEPM-KNN on D1<br />

Figure 15. MAE analysis <strong>of</strong> WSEPM-TU and WSEPM-KNN on D2<br />

Figure 16. MAE analysis <strong>of</strong> WSEPM-TU and WSEPM-KNN on D3<br />

According to the experimental results, WSEPM-E<br />

fluctuates in a large range and performs more poorly than<br />

WSEPM-TU. In conclusion, WSEPM-TU would better


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2723<br />

simulate the time utility and perform better than the<br />

models with static quantification methods.<br />

WSEPM-KNN [7-9] uses the static length <strong>of</strong> the<br />

predication windows to predicate the web services<br />

evaluation, while WSEPM-TU uses the dynamic length<br />

<strong>of</strong> the predication windows. This experiment shows the<br />

performance <strong>of</strong> WSEPM-KNN and WSEPM-TU.<br />

Fig. 14, Fig. 15 and Fig. 16 indicate the MAE values <strong>of</strong><br />

WSEPM-KNN (n=10) and WSEPM-TU on the data sets.<br />

U=560.<br />

In Fig. 14, the MAE values <strong>of</strong> WSEPM-TU and<br />

WSEPM-KNN both fluctuate with the predication<br />

periods. For WSEPM-TU, the maximum and the<br />

minimum <strong>of</strong> the MAE values are 0.90536 and 1.11518,<br />

which appear at the predication periods from 1168 to<br />

2240 and the periods from 2800 to 3360 respectively. For<br />

WSEPM-KNN, the maximum and the minimum <strong>of</strong> the<br />

MAE values are 0.92679 and 1.9929, which appears at<br />

the predication periods from 1680 to 2240 and the periods<br />

from 2920 to 4480 respectively.<br />

Only at predication periods from 2800 to 3360, the<br />

MAE values <strong>of</strong> WSEPM-TU are 4.61% more than<br />

WSEPM-KNN. At other predication periods, WSEPM-<br />

TU gains the lower MAE values than WSEPM-KNN.<br />

Results are similar at D2 and D3, as shown in Fig. 15 and<br />

Fig. 16.<br />

According to the experimental results, WSEPM-KNN<br />

could not properly reach the users’ expectation, and<br />

consumes more computational sources than WSEPM-TU.<br />

In conclusion, WSEPM-TU utilizes the quantification<br />

results <strong>of</strong> the time utility to effectively optimize the<br />

length <strong>of</strong> the predication windows and show the better<br />

performance on various data sets.<br />

F. Feedback Control Strategy Analysis<br />

This experiment is to analyze the performance after<br />

introducing the feedback control strategy <strong>of</strong> the malicious<br />

ratings. As a comparison, we remove the feedback<br />

control strategy from WSEPM-TU and allow the<br />

malicious ratings to store in the historical ratings table<br />

directly.<br />

To express the distributed change with the impact <strong>of</strong><br />

the feedback control strategy, we utilize the box-plot to<br />

describe the statistics from D1 to D3. In the box-plot, the<br />

middle line <strong>of</strong> boxes means Median, the upper and lower<br />

bound line is the maximum and the minimum and the<br />

isolated points are the malicious data. In our experiments,<br />

each box possesses 560 ratings.<br />

Fig. 17, Fig. 18, Fig. 20, Fig. 21, Fig. 23 and Fig. 24<br />

show the distributed change <strong>of</strong> the historical ratings after<br />

running WSEPM-TU with and without the feedback<br />

control strategy. Fig. 19, Fig. 22 and Fig. 25 indicate the<br />

MAE values <strong>of</strong> WSEPM-TU with and without feedback<br />

control strategy.<br />

In Fig. 17, the overall ratings without the feedback<br />

control strategy are distributed from 3 to 4. There are 6<br />

boxes with the isolate points among all the predication<br />

periods. In Fig. 18, there are only 3 boxes with the isolate<br />

points, and it unfolds that the feedback control strategy<br />

would effectively filter out the malicious ratings.<br />

Meanwhile, the feedback control strategy has no impact<br />

© 2012 ACADEMY PUBLISHER<br />

on the valid ratings for the box shapes between Fig. 17<br />

and Fig. 18 are similar. In Fig. 19, WSEPM-TU with the<br />

feedback control strategy performs better than the model<br />

without the feedback control strategy.<br />

For the experiment results on D2, the feedback control<br />

strategy would filter out the malicious ratings and provide<br />

reliable historical ratings.<br />

For the experiment results on D3, it possesses more<br />

malicious ratings as shown in Fig. 23. After the feedback<br />

controlling, the number <strong>of</strong> the malicious ratings reduce as<br />

it is shown in Fig. 24.<br />

Figure 17. Data distribution on D1 without the feedback control<br />

Figure 18. Data distribution on D1 with the feedback control<br />

Figure 19. MAE analysis on D1 with various feedback control strategies<br />

Figure 20. Data distribution on D2 without the feedback control


2724 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Figure 21. Data distribution on D2 with the feedback control<br />

Figure 22. MAE analysis on D2 with various feedback control strategies<br />

Predication period<br />

Figure 23. Data distribution on D3 without the feedback control<br />

Figure 24. Data distribution on D3 with the feedback control<br />

Figure 25. MAE analysis on D3 with various feedback control strategies<br />

© 2012 ACADEMY PUBLISHER<br />

In Fig. 18, Fig. 21 and Fig. 24, the initial isolate points<br />

at the predication periods from 1 to 560 originate from<br />

the initial |Y| ratings. In the experiments, we directly store<br />

the initial |Y| ratings in the historical ratings table. If there<br />

are isolate points in these |Y| ratings, the malicious ratings<br />

would be drawn in the first box plot. In fact, the<br />

malicious ratings only affect the following |Y| predication<br />

periods. From the whole predication periods, the<br />

malicious ratings in the first box-plot have less impact on<br />

the predication performance <strong>of</strong> WSEPM-TU.<br />

According to the experimental results, WSEPM-TU<br />

with the feedback control strategy would filter out the<br />

malicious ratings and out-perform compared with the<br />

model without the feedback control strategy.<br />

VII. CONCLUSION<br />

This paper proposes a web services evaluation<br />

predication model based on time utility. The model uses<br />

the complex quantification method reflecting the<br />

distinction quantification results for different web<br />

services. Then, the quantification results are used to<br />

optimize the length <strong>of</strong> predication windows. Also, the<br />

feedback control strategy is involved in WSEPM-TU to<br />

filter out the malicious ratings. According to the<br />

experimental results, WSEPM-TU with the feedback<br />

control strategy would filter out the malicious ratings and<br />

out-perform compared with other predication model.<br />

WSEPM-TU adopts the memory enhancement<br />

phaenomenon to obtain the distinct quantification results.<br />

In the filed <strong>of</strong> psychology, there are more controversial<br />

model that can be used to gain the distinct quantification<br />

results. In the future, we would compare these models<br />

with complex quantification model in practical ratings<br />

datasets, and achieve the more suitable quantification<br />

model for web service predication process.<br />

ACKNOWLEDGMENT<br />

This work is sponsored by the National Natural<br />

Science Foundation <strong>of</strong> China under Grant No. 60973075,<br />

the Provincial Natural Science Foundation under Grant<br />

No.F200937 and No. F201110, the Foundation <strong>of</strong> Harbin<br />

Science and Technology Bureau under Grant No.<br />

RC2009XK010003.<br />

REFERENCES<br />

[1] WU Minghui, XIONG Xianghui, YING Jing,et al, "QoSdriven<br />

global optimization approach for large-scale web<br />

services composition," <strong>Journal</strong> <strong>of</strong> Computers. vol. 6, no. 7,<br />

pp. 1452-1460, July, 2011. "doi: 10.4304/jcp.6.7.1452-<br />

1460"<br />

[2] GUO Guangjun, "A Method for Semantic Web Service<br />

Selection Based on QoS Ontology," <strong>Journal</strong> <strong>of</strong> Computers.<br />

vol. 6, no.2, pp. 337-386, February, 2011. "doi:<br />

10.4304/jcp.6.2.377-386"<br />

[3] SHAO Ling-Shuang, ZHOU Li, ZHAO Jun-Feng, XIE<br />

Bing, MEI Hong, "An extensible management framework<br />

for web service qos," <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware. vol. 20, no. 8,<br />

pp. 2062-2073, April 2009. (in chinese)<br />

[4] M. Serhani, A. Benharref, "Enforcing Quality <strong>of</strong> Service<br />

within Web Services Communities," <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2725<br />

vol 6, no. 4, pp. 554-563, April, 2011. "DOI:<br />

10.4304/jsw.6.4.554-563"<br />

[5] E. Badidi, L. Esmahi, "A Scalable Framework for Policy -<br />

based QoS Management in SOA Environments, " <strong>Journal</strong><br />

<strong>of</strong> S<strong>of</strong>tware. vol. 6, no. 4, pp. 544-563, April, 2011. "DOI:<br />

10.4304/jsw.6.4.544-553"<br />

[6] YANG Wenjun, LI Juan-Zi, WANG Ke-Hong, "Domainadaptive<br />

service evaluation model," Chinese <strong>Journal</strong> <strong>of</strong><br />

Computers. vol. 28, no. 4, pp. 514-523, August, 2005. (in<br />

chinese)<br />

[7] QIAO Baiyou, DING Linlin, WEI Yong, WANG<br />

Xiaoyang, "A KNN query processing algorithm over highdimensional<br />

data objects in P2P systems," in Proc. <strong>of</strong> the<br />

2011 2 nd International Congress on Computer Applications<br />

and Computational Science, Heidelberg, Berlin, Springer<br />

Press, vol. 144, pp. 133-139, 2012. "DOI: 10.1007/978-3-<br />

642-28314-7_19 "<br />

[8] Wikipedia. "k-nearest neighbor algorithm," 2012-3-18;<br />

Available from:<br />

http://en.wikipedia.org/wiki/Knearest_neighbor_algorithm.<br />

[9] YE Tao, ZHU Xue-Feng, LI Xiang-Yang, SHI Bu-Hai.<br />

"S<strong>of</strong>t sensor modeling based on a modified k-nearest<br />

neighbor regression algorithm," ACTA AUTOMATICA<br />

SINICA. vol. 33, no. 9, pp. 996-999, September 2007. (in<br />

chinese)<br />

[10] LI Xiaoyong, GUI Xiaolin, "Cognitive model <strong>of</strong> dynamic<br />

trust forecasting," <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware. vol. 21, no. 1, pp.<br />

163-176, January 2008. (in chinese)<br />

[11] I. Koychev, I. Schwab, "Adaptation to Drifting User’s<br />

Interests," in Proc. <strong>of</strong> ECML 2000 Workshop: Machine<br />

Learning in New Information Age, Barcelona, Spain, IEEE<br />

Press, pp. 39-46, 2000.<br />

[12] J. Krücker, XU Sheng, V. Aradhana, K. Locklin, A. Hayet ,<br />

G. Neil, et al, "Clinical utility <strong>of</strong> real-time fusion guidance<br />

for biopsy and ablation," <strong>Journal</strong> <strong>of</strong> Vascular and<br />

Interventional Radiology, vol. 22, no. 4, pp. 515-524, April<br />

2011. "doi: 10.1016/j.jvir.2010.10.033"<br />

[13] M. Kukar, S. Ljubljana, "Drifting concepts as hidden<br />

factors in clinical studies," in Proc. <strong>of</strong> Artificial<br />

intelligence in Medicine 9th Conference on Artificial<br />

Intelligence in Medicine in Europe, AIME 2003, Protaras,<br />

Cyprus, IEEE Press, pp. 355-364, October 2003.<br />

[14] SUN Chao, JIANG Bo, "The research on model <strong>of</strong> network<br />

teaching system based on agent and recommendation<br />

technology," <strong>Journal</strong> <strong>of</strong> Zhengzhou University, vol. 40. no.<br />

3, pp. 84-87, September 2009. (in chinese)<br />

[15] YIN Guisheng, WANG Shuyin, "Dynamic trust model <strong>of</strong><br />

internet-ware based on task classification," in Proc. <strong>of</strong> 2 nd<br />

International Conference on Mechanical Engineering and<br />

Green Manufacturing, MEGM 2012, Chongqing, China,<br />

IEEE Press, March 2012. "doi:<br />

10.4028/www.scientific.net/AMM.155-156.221"<br />

[16] I. Zliobaite, "Learning under Concept Drift: an Overview,"<br />

Technical Report. 2010, Faculty <strong>of</strong> Mathematics and<br />

Informatics, Vilnius University: Vilnius, Lithuania, 2010.<br />

© 2012 ACADEMY PUBLISHER<br />

[17] H. Ebbinghaus, "Memory: A Contribution to Experimental<br />

Psychology," New York by Teachers College, Columbia U<br />

niversity, 1885. http://psy.ed.asu.edu/~classics/Ebbinghaus/<br />

index.htm.<br />

[18] Apple. 2011-05-12. Available from http://www.apple.com.<br />

cn/mac/app-store.<br />

[19] ZHANG Jinbo, LIN Zhi-qing, XIAO Bo, ZHANG Chuang,<br />

"An optimized item-based collaborative filtering<br />

recommendation algorithm," in Proc. Of Network<br />

Infrastructure and Digital Content, IC-NIDC 2009, Beijing,<br />

China, IEEE Press, pp.414-418, November 2009. "doi:<br />

10.1109/ICNIDC.2009.5360986"<br />

[20] J. Haddad, M. Maude1, R. Guillermo, R. Marta, "QoSdriven<br />

selection <strong>of</strong> web services for transactional<br />

composition," in Proc. Of the IEEE International<br />

Conference on Web Services, ICWS 2008, Beijing, China,<br />

IEEE Press, pp. 653-660, September 2008. "doi:<br />

10.1109/ICWS.2008.116"<br />

[21] KIM, Youngae, PHALAK Rasik, "A trust prediction<br />

framework in rating-based experience sharing social<br />

networks without a web <strong>of</strong> trust," Information Science, vol.<br />

191, no. 15, pp. 128-145, January 2012. "doi:<br />

10.1016/j.ins.2011.12.021"<br />

[22] ZHAO, Laiping, REN Yizhi, LI Mingchu, S. Kouichi,<br />

"Flexible service selection with user-specific QoS support<br />

in service-oriented architecture," <strong>Journal</strong> <strong>of</strong> Network and<br />

Computer Applications, vol. 35, no. 3, pp. 962-973, May<br />

2012. "doi: 10.1016/j.jnca.2011.03.013"<br />

Guisheng Yin was born in China. He received the PhD degree<br />

in automatic control from Harbin Engineering University, where<br />

he is a Full Pr<strong>of</strong>essor and Doctoral Advisor, the Acting Dean <strong>of</strong><br />

College <strong>of</strong> Computer Science and Technology and the Dean <strong>of</strong><br />

School <strong>of</strong> S<strong>of</strong>tware Engineering. He ever worked in Tokyo<br />

University before he joined the current university. His research<br />

interests include database and web services discovery.<br />

Xiaohui Cui was born in China. He got his bachelor’s degree in<br />

Harbin Engineering University in 2007. Now he is a PhD<br />

Candidate <strong>of</strong> computer application in College <strong>of</strong> Computer<br />

Science and Technology <strong>of</strong> Harbin Engineering University. His<br />

research interests include web services discovery and web<br />

services evaluation.<br />

Yuxin Dong was born in China. She received the PhD degree in<br />

Computer Application from Harbin Engineering University,<br />

where she is an associate pr<strong>of</strong>essor. Her research interests<br />

include Internetware and trust evaluation.<br />

Jianguo Zhang was born in China. His research interests<br />

include trust evaluation.


2726 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Speech Emotion Recognition based on Optimized<br />

Support Vector Machine<br />

1, 2<br />

Bo Yu<br />

1<br />

School <strong>of</strong> Computer Science and Technology/Harbin Institute <strong>of</strong> Technology, Harbin, China<br />

2<br />

S<strong>of</strong>tware College/Harbin University <strong>of</strong> Science and Technology, Harbin, China<br />

Email: hrbust_yubo1981@163.com<br />

Haifeng Li and Chunying Fang<br />

School <strong>of</strong> Computer Science and Technology/Harbin Institute <strong>of</strong> Technology, Harbin, China<br />

Email: lihaifeng@hit.edu.cn, fcy3333@163.com<br />

Abstract—Speech emotion recognition is a very important<br />

speech technology. In this paper, Mel Frequency Cepstral<br />

Coefficients (MFCC) has been used to represent speech<br />

signal as emotional features. MFCCs plus energy <strong>of</strong> an<br />

utterance are used as the input for Support Vector Machine.<br />

Support Vector Machine (SVM) has been pr<strong>of</strong>oundly<br />

successful in the area <strong>of</strong> pattern recognition. In the recent<br />

years there has been use <strong>of</strong> SVM for speech recognition.<br />

Many kinds <strong>of</strong> kernel functions are available for SVM to<br />

map an input space problem to high dimensional spaces. We<br />

lack guidelines on choosing a better kernel with optimized<br />

parameters <strong>of</strong> SVM. Some kernels are better for some<br />

questions, but worse for other questions. Which is better is<br />

unknown for speech emotion recognition, thus the thesis<br />

studies the SVM classifier and proposes methods used to<br />

select a better kernel with optimized parameters. The new<br />

method we proposed in this paper can more efficiently gain<br />

optimized parameters than common methods. In order to<br />

improve recognition accuracy rate <strong>of</strong> the speech emotion<br />

recognition system, a speech emotion recognition based on<br />

optimized support vector machine is proposed.<br />

Experimental studies are performed over the HIT<br />

Emotional Speech Database established by Speech<br />

Processing Lab in School <strong>of</strong> Computer Science and<br />

Technology at HIT. The experiment result shows that the<br />

speech emotion recognition based on optimized SVM can<br />

improve the performance <strong>of</strong> the emotion recognition system<br />

effectively.<br />

Index Terms—speech emotion recognition, MFCC optimized<br />

SVM, kernel function<br />

I. INTRODUCTION<br />

Recognizing emotional state <strong>of</strong> a person from the<br />

speech signal has been increasingly important, especially<br />

in natural human-computer interaction[1]. Speech<br />

emotion recognition can be used in wide range <strong>of</strong><br />

applications, such as remote call customer services<br />

center[2-5], speech emotion network communication<br />

system[6], improving the robustness <strong>of</strong> speech<br />

recognition[7], emotion states detection in voice mail<br />

messages[8], speech emotion recognition system in web<br />

learning[9], interactive movies[10], monitoring a driver’s<br />

emotion and ensuring save drive[11] and so on. Therefore<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2726-2733<br />

speech emotion recognition has important research value<br />

and great potential for development.<br />

Global statistical prosodic and voice quality features<br />

have been broadly used in speech emotion recognition<br />

and gained great success. Besides the global statistical<br />

prosodic and voice quality features, spectral features are<br />

also useful features for describing speech emotion signal,<br />

such as Mel Frequency Cepstral Coefficients (MFCC).<br />

MFCC <strong>of</strong> speech signal have already been successfully<br />

used for the features <strong>of</strong> speech signals for emotion<br />

recognition. Therefore, we use MFCC plus energy with<br />

their delta and acceleration as speech emotion features.<br />

Hidden Markov model (HMM) and Gaussian mixture<br />

model (GMM) using MFCC have achieved valuable<br />

results on speech emotion recognition[12]. However,<br />

there is a problem when using GMM to recognize speech<br />

emotion states. Effective training <strong>of</strong> GMM requires a<br />

great deal <strong>of</strong> data, while collecting emotional speech<br />

utterances will cost a lot and therefore the available<br />

training data is usually scant.<br />

SVM has a better classification performance on a small<br />

amount <strong>of</strong> training samples. But we are lacking in<br />

guidelines on choosing a better kernel with optimized<br />

parameters <strong>of</strong> SVM. Some kernels are better for some<br />

questions, but worse for other questions. There is no<br />

uniform pattern used to the choice <strong>of</strong> SVM with its<br />

parameters and kernel function with its parameters. The<br />

paper proposed methods about selecting optimized<br />

parameters and kernel function <strong>of</strong> SVM.<br />

The paper is organized as follows. In section 2, we<br />

give a brief description about the process <strong>of</strong> speech<br />

emotion feature extraction. Section 3 includes three<br />

works: establishing emotion recognition model based on<br />

optimized SVM, studying support vector machine<br />

classification, proposing the method for optimizing SVM.<br />

Some experimental data and results with our analysis are<br />

shown in section 4. Finally the conclusion and future<br />

work are given in section 5.<br />

II. EXPERIMENT DATA ACQUISITION AND FEATURE<br />

EXTRACTION


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2727<br />

A. Speech Emotional Database Description<br />

Referring to the domestic and foreign research, this<br />

paper divides emotion into four categories——anger,<br />

happiness, sadness, and surprise, and tries to include all<br />

kinds <strong>of</strong> feelings in them. In order to obtain experiment<br />

utterances, some non-pr<strong>of</strong>essionals have been invited to<br />

record their emotions, thus creating an emotional<br />

database. The design <strong>of</strong> the experiment is speakerindependent<br />

and gender-independent, thus students who<br />

took part in the experiment aged about 20 include 5 males<br />

and 9 females. Recorded with Cool Edit Pro 2.0, all the<br />

data are with the technology <strong>of</strong> sampling rate <strong>of</strong> 16 kHz,<br />

a single channel audio tape recorder, 16-bit quantization,<br />

and are recorded in PC with the form <strong>of</strong> Wave. Besides,<br />

we also invite another two groups <strong>of</strong> people who were not<br />

engaged in the recording to make distinguishing<br />

experiment. Each group involved several people. The first<br />

group's task was to distinguish the emotions, thus getting<br />

rid <strong>of</strong> the unqualified recording and selecting 1256<br />

sentences as emotion utterances stored for later usage in<br />

the experiment. Another group <strong>of</strong> people tries to tell the<br />

differences in the 1256 sentences, which can make a<br />

subjunctive evaluation <strong>of</strong> the emotion utterances in the<br />

experiment. Four types <strong>of</strong> emotions (anger, happiness,<br />

sadness, surprise) are respectively labeled by 1,2,3,4. Fig.<br />

1 shows the emotion class distribution <strong>of</strong> 1256 samples.<br />

The 1256 items consists <strong>of</strong> 636 sentences from the males,<br />

and 620 sentences from the females. Each <strong>of</strong> the four<br />

main emotions has 300 sentences accordingly and has<br />

even distribution.<br />

B. Speech Emotional Features Extraction<br />

Speech emotional features extraction is a process<br />

extracting a small number <strong>of</strong> parameters from the speech<br />

signal that can be later used to represent each utterance.<br />

Speech extraction techniques include temporal analysis<br />

and spectral analysis techniques. The waveform <strong>of</strong> speech<br />

signal is used for analysis in temporal. The spectral form<br />

<strong>of</strong> speech signal is used for analysis in spectral analysis.<br />

Mel Frequency Cepstral Coefficients is a spectral analysis<br />

technique. In the recent years, MFCC feature has been<br />

widely used for not only the speaker but also speech<br />

recognition.<br />

Mel Frequency Cepstral Coefficients are set <strong>of</strong> features<br />

reported to be robust in various kinds <strong>of</strong> pattern<br />

classification tasks in speech signal. It has been proven<br />

that human being perception <strong>of</strong> the frequency contents <strong>of</strong><br />

sounds for speech signals does not follow a linear scale in<br />

the psychology studies. Therefore for each tone with an<br />

actual frequency f measured in Hz, a subjective pitch is<br />

measured on a scale called the Mel scale [14]. The Mel<br />

frequency scale is in the form <strong>of</strong> a linear frequency scale<br />

below 1000 Hz while a logarithmic scale above 1000 Hz.<br />

Consequently we can take advantage <strong>of</strong> the following<br />

formula to compute the Mel for a given frequency f (Hz).<br />

f = 2595× log(1 + f / 700) . (1)<br />

Mel<br />

© 2012 ACADEMY PUBLISHER<br />

Class label<br />

4<br />

3.5<br />

3<br />

2.5<br />

2<br />

1.5<br />

Sample class distribution<br />

1<br />

0 200 400 600 800 1000 1200 1400<br />

Sample<br />

Figure 1. The distribution <strong>of</strong> four kinds <strong>of</strong> emotion.<br />

Fig. 2 shows the MFCC extraction Algorithm. An<br />

MFCC process converts linear spectrum into nonlinear<br />

Mel-spectrum.<br />

1). Pre-emphasis<br />

In our system, each <strong>of</strong> the utterances is sampled by 16<br />

kHz. Pre-emphasizing the sampled speech signals with<br />

filter is the first process in feature extraction. The purpose<br />

<strong>of</strong> pre-emphasis is to spectrally flatten the signal. The ztransform<br />

<strong>of</strong> the filter is<br />

1<br />

H( z) 1 z , 0.94 0.97<br />

−<br />

= −μ


2728 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Figure 2. MFCC extraction algorithm.<br />

N −1<br />

( ) a ( )<br />

− j2 π nk/ N<br />

0<br />

∑<br />

X k = x n e ≤ k < N<br />

n=<br />

0<br />

5). Mel scale filterbanks<br />

After the FFT processing, the frequency spectrum <strong>of</strong><br />

each frame is filtered by a group <strong>of</strong> filters, and the power<br />

<strong>of</strong> each filter band is computed. A filter bank which<br />

spaced uniformly on the Mel scale is used to simulate the<br />

subjective spectrum. Filter banks filter the magnitude<br />

spectrum into a number <strong>of</strong> bands. Low frequencies are<br />

given more weight than high frequencies using triangular<br />

overlapping windows and sum the frequency contents <strong>of</strong><br />

each band. The process reflects the selectivity <strong>of</strong> human<br />

ear [15].<br />

6). Logarithm<br />

This operation simulates the perception <strong>of</strong> loudness.<br />

We can calculate the Mel Frequency Cepstral<br />

Coefficients from the output power <strong>of</strong> the filter bank<br />

using logarithm arithmetic. The operation is mapping the<br />

logarithmic amplitudes <strong>of</strong> the spectrum obtained the Mel<br />

scale as we mention above.<br />

7). Discrete Cosine Transform<br />

Discrete Cosine Transform (DCT) can convert logpower<br />

spectrums to the time domain, for the Mel<br />

Frequency Cepstral coefficients are real numbers. After<br />

the DCT operation, we get a featured vector with 12<br />

dimensional MFCC.<br />

After computing MFCC, we calculate Logarithmic<br />

energy <strong>of</strong> each frame as one <strong>of</strong> the coefficients. Up to<br />

now we have got 13 dimensional coefficients vector<br />

consisting <strong>of</strong> 12 cepstral coefficients and one energy. To<br />

enhance the performance <strong>of</strong> the speech emotion<br />

recognition, the delta and acceleration coefficients are<br />

computed. After all the calculations, the total number <strong>of</strong><br />

MFCC <strong>of</strong> one frame is 39. In order to predict emotion<br />

label <strong>of</strong> one sentence, we calculate the mean value <strong>of</strong> all<br />

frames <strong>of</strong> one sentence. Therefore, we get 39-dimensional<br />

feature vector <strong>of</strong> one sample.<br />

III. SPEECH EMOTION RECOGNITION BASED ON<br />

OPTIMIZED SVM<br />

© 2012 ACADEMY PUBLISHER<br />

.(4)<br />

Figure 3. System model architecture.<br />

A. System Model Architecture<br />

Fig. 3 shows the speech emotion recognition system<br />

model architecture based on optimized SVM. The<br />

process <strong>of</strong> the system is as follows:<br />

STEP1: Extracting speech emotion feature from 1256<br />

utterances, the extracting features method referred section<br />

II B.<br />

STEP2: The main task in optimized process is to<br />

improve the classification accuracy rate <strong>of</strong> the SVM. The<br />

main method and Algorithm is studied in section III C.<br />

STEP3: After optimizing process, the system trains an<br />

optimized model used to classify.<br />

STEP4: The system gives a classification result (class<br />

label or recognition rate) about test samples.<br />

The principle <strong>of</strong> SVM Method is studied in next part.<br />

B. Support Vector Machine Classification Method<br />

Instead <strong>of</strong> using empirical risk minimization (ERM),<br />

which is commonly used in statistical learning, SVM is<br />

established on structural risk minimization (SRM). ERM<br />

only minimises an upper bound on the generalization<br />

error. Thus SVM generalize well. The major principle <strong>of</strong><br />

SVM is to establish a hyperplane as the decision surface<br />

maximizing the margin <strong>of</strong> separation between negative<br />

and positive samples. Thus SVM is designed for twoclass<br />

pattern classification. Multiple pattern classification<br />

problems can be solved using a combination <strong>of</strong> binary<br />

support vector machines.<br />

1). Linear classification<br />

Fig. 4 gives the idea <strong>of</strong> an optimal hyperplane for<br />

linearly classification. Triangular and square points<br />

represent the two types <strong>of</strong> training sample. H represents<br />

the hyperplane. B1 and B2 respectively go through the<br />

points which are the closest point <strong>of</strong> H, and parallel to H.<br />

The distance between B1 and B2 is called margin, which<br />

is a measurement <strong>of</strong> the expected generalization ability.<br />

There are many linear hyperplanes that separate the<br />

samples. However only one <strong>of</strong> these achieves maximum<br />

margin. An optimal hyperplane tries to achieve maximum<br />

margin between the classes. Using a large margin to


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2729<br />

B2<br />

H<br />

B1<br />

Large margin<br />

=2/||w||<br />

Figure 4. The idea <strong>of</strong> an optimal hyperplane for linearly classification.<br />

separate the classes minimizes the boundary <strong>of</strong> expected<br />

generalization error.<br />

Given a linearly Separable set <strong>of</strong> training samples (xi,<br />

yi), i =1, 2…N, where xi ∈ R d (d is the dimension <strong>of</strong><br />

sample space) is the real world data instances and yi<br />

∈{1,-1} represent the class label <strong>of</strong> xi. A hyperplane<br />

can be represented as<br />

f( x) = w⋅ x+ b=<br />

0.<br />

(1)<br />

where x represents an input vector, w represents an<br />

adjustable weight vector, and b represents a bias. Given a<br />

point x, if f(x)>0, the point belongs to class 1, if f(x) < 0<br />

the points belongs to class 2, that is f(x,w,b) =<br />

sign(w⋅ x+b). Let the f(x) normalized so that all samples<br />

meet |f(x)| ≥ 1. The closest vector to H that satisfy the<br />

requirement |f(x)| = 1 is called support vector. Triangular<br />

and square points with a circle represent the support<br />

vectors for classification. The closest vector to H meet<br />

|f(x)| = 1. Thus the margin equals to 2/||w||. It suggests<br />

that maximizing the margin <strong>of</strong> separation between classes<br />

is equal to minimizing the Euclidean norm <strong>of</strong> the weight<br />

vector w. Thus the classification problem can be<br />

transformed to a constrained optimization problem.<br />

1 2<br />

min Φ ( w) = || w||<br />

2<br />

(2)<br />

subject to yi( w⋅ xi+ b) -1 ≥ 0, i = 1,2,...... N<br />

We can use the method <strong>of</strong> Lagrange function to settle<br />

the primal problem. The corresponding Lagrange<br />

function is as follows.<br />

N 1<br />

J( w, b, ∂ ) = w⋅w−∑ ∂i{ yi( w⋅ xi+ b)<br />

−1}<br />

(3)<br />

2<br />

i=<br />

1<br />

Where ∂ i is Lagrange multiplier. Saddle points decide<br />

the solution. After a series <strong>of</strong> transformation, we can get<br />

the following dual problem.<br />

max<br />

N N N 1<br />

Q( ∂ ) = ∑∂i−∑ ∑∂∂<br />

i jyyx i j i ⋅ xj<br />

i= 1 2 i= 1 j=<br />

1<br />

n ⎧∂<br />

iyi = 0<br />

where ∑ ⎨ ,<br />

i ⎩∂≥<br />

i 0<br />

i = 1, 2,..., N<br />

© 2012 ACADEMY PUBLISHER<br />

(4)<br />

Equation 5 can be solved by standard quadratic<br />

programming method. We can get the optimum Lagrange<br />

multipliers which is denoted by *<br />

∂ i . Finally, we can<br />

compute the optimum weight vector w * .<br />

N<br />

* *<br />

= ∑ ∂i<br />

i=<br />

1<br />

i i<br />

(5)<br />

w yx<br />

To compute the optimum bias b * , we may use the w *<br />

and a positive support vector xi (yi =1).<br />

* *<br />

b =1-w ⋅ xi<br />

(6)<br />

Consequently, the optimal hyperplane, standing for a<br />

multidimensional linear decision surface in the input<br />

space, is defined by<br />

* *<br />

w ⋅ x+ b = 0 . (7)<br />

Accordingly, the decision function f(x) =<br />

sign(w * ⋅ x+b * ) can decide the label <strong>of</strong> the new sample.<br />

We will study the Optimal Hyperplane for nonseparable<br />

patterns in the next part.<br />

2). Optimal Hyperplane for nonseparable patterns<br />

The case we discuss above is hard-margin<br />

classification, that is, no sample points are allowed to be<br />

mislabeled. Actually, we cannot exclude the situation<br />

where exist some noisy points. That is, not all the points<br />

satisfy the constraints <strong>of</strong> the hyperplane. We solve this<br />

problem by introducing slack variables. The<br />

corresponding optimization problem is as follows.<br />

N<br />

1 2<br />

min Φ(w , ξ )= || w|| + c∑<br />

ξi<br />

2<br />

subject to<br />

i=<br />

1<br />

⎧yi(<br />

w⋅ xi+ b)-1+ξi≥0<br />

⎨<br />

⎩ξ<br />

i ≥ 0, i= 1,2,...... N<br />

Where ξi is a slack variable. C stands for the penalty<br />

imposed on mislabeling the point. The bigger the value <strong>of</strong><br />

C is, the less likely the SVM model mislabels the point.<br />

However, C with high value will lead to overfitting study.<br />

The parameter C controls the trade<strong>of</strong>f between<br />

complexity <strong>of</strong> the machine and the number <strong>of</strong><br />

nonseparable points. The parameter C is determined<br />

experimentally via the standard use <strong>of</strong> a training/test set<br />

[16].<br />

3). Kernel function<br />

Not all training data is linearly separable. In order to<br />

handle the situation, kernel is introduced. SVM performs<br />

a non-linear mapping from a low-dimensional space to a<br />

high-dimensional space through a kernel. As a result, the<br />

training samples are not linearly separable in a lowdimensional<br />

space while the training samples are linearly<br />

separable in the feature space.<br />

The main principle <strong>of</strong> the kernel function is to let<br />

operations be performed in the low-dimensional space<br />

instead <strong>of</strong> the potentially high dimensional feature space.<br />

Thus the inner product need not be computed in the<br />

feature space. According the Mercer's theory, there<br />

(8)


2730 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

always exists a kernel function K which satisfies the<br />

requirement below.<br />

K( x , x) =ϕ( x) ⋅ϕ ( x ) . (9)<br />

i i<br />

The vector ϕ ( x)<br />

represents the "image" induced in<br />

the feature space due to the input vector x. Therefore the<br />

inner product can be evaluated using the kernel function.<br />

In this way, we are able to reduce the scale <strong>of</strong> the<br />

problem. The dual problem is redefined as<br />

1<br />

2<br />

N N N<br />

max Q( ∂ ) = ∂i− ∂∂ i jyyk i j ( xi, xj)<br />

n<br />

∑<br />

i= 1 i= 1 j=<br />

1<br />

where ∂ iyi = 0 and ∂i≥ 0 i = 1, 2,..., N<br />

i<br />

∑ ∑ ∑<br />

.(10)<br />

We compute the optimum weight vector w * and the<br />

bias.<br />

N<br />

* *<br />

= ∂i<br />

i=<br />

1<br />

w ∑ yiϕ( xi)<br />

* *<br />

b =1-w ⋅ xi<br />

(11)<br />

Finally, a classifier based on the support vectors will<br />

be<br />

N<br />

∑<br />

i=<br />

1<br />

i i i . (12)<br />

f ( x) = sign( α yk( x, x) + b)<br />

In our system, we select the following four kernel<br />

functions as learning machines:<br />

(1) Linear function<br />

It has the simplest formula form, which is given by the<br />

inner product <strong>of</strong> two vectors in low-dimensional space<br />

plus an optional constant COEF.<br />

Kx ( , x) = x⋅ x+ COEF (13)<br />

i j i j<br />

(2) Polynomial function<br />

It is a unstable kernel. It is fit for problems in which all<br />

the training samples are normalized. Adjustable<br />

parameters are the slope γ, the constant term COEF and<br />

the polynomial degree d.<br />

d<br />

K( x, x ) = ( γx ⋅ x + COEF)<br />

, γ > 0(14)<br />

i j i j<br />

(3) Radial basis function (RBF)<br />

Its common form is a Gaussian form. The adjustable<br />

parameterγplays a major role in the performance <strong>of</strong> the<br />

kernel, and should be carefully adjusted to the specific<br />

problem.<br />

⎡<br />

2<br />

⎤<br />

i j i j<br />

Kx ( , x) = exp −γ x−x, γ> 0<br />

⎢⎣ ⎥⎦<br />

(15)<br />

(4) Sigmoid function<br />

It is also known as Multi-layer Perceptron (MLP)<br />

kernel. A SVM using a sigmoid function as kernel is<br />

equal to a two-layer perceptron neural network. The<br />

adjustable parameters in the sigmoid kernel are the slope<br />

© 2012 ACADEMY PUBLISHER<br />

γ and the intercept constant COEF. A common value for γ<br />

is 1/N, where N is the data dimension.<br />

Kx ( , x) = tanh( γx⋅ x+ COEF)<br />

. (16)<br />

i j i j<br />

C. Optimizing SVM Method<br />

In our work, we propose the method <strong>of</strong> optimzed SVM<br />

including selection <strong>of</strong> a kernel function and kernel<br />

parameters. We will compare different typical kernels<br />

with different parameters and select a better one to do the<br />

speech emotion recognition job. The system uses K-fold<br />

Cross Validation (K-CV) Algorithm to select kernel<br />

function parameters. The main idea <strong>of</strong> K-CV Algorithm<br />

with grid search in pseudo code form to decide two<br />

optimized parameters is as follows. The process <strong>of</strong><br />

deciding more than two parameters is similar.<br />

FOR(parameter1 = begin1; parameter1


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2731<br />

IV. SPEECH EMOTION RECOGNITION EXPERIMENTS AND<br />

RESULTS ANALYSIS<br />

We perform experiments on the HIT speech database<br />

referred in section II by Matlab 7.11. The objective <strong>of</strong><br />

these experiments is to find an optimized SVM to<br />

improve the speech emotion recognition accuracy rate.<br />

Firstly 1256 utterances’ emotion features are extracted.<br />

The spectral feature <strong>of</strong> each utterance is 12 MFCC and 1<br />

energy <strong>of</strong> a frame, together with their delta and<br />

acceleration. We use LibSVM v3.1 [17] as the<br />

implementation <strong>of</strong> support vector machine classification.<br />

A. Selection <strong>of</strong> Optimized Parameters<br />

We use RBF kernel with different parameters to<br />

perform a selection <strong>of</strong> optimized parameters experiments.<br />

A SVM model with RBF usually has two adjustable<br />

parameters — g (γin Gaussian function) and C (penalty<br />

parameter) . The scope <strong>of</strong> g and C is from 2 -10 to 2 10 , and<br />

the step <strong>of</strong> g and C is 1.2. 5 fold cross validation is<br />

performed for parameters selection. Fig. 5 and Fig. 6<br />

shows the 5-VC parameter selection result 3-Dimensional<br />

view and in contour [18]. Observing that parameter g and<br />

c varying in a smaller scope have higher recognition<br />

accuracy rate, we can narrow the scope <strong>of</strong> grid search and<br />

the search step. Fig. 7 shows parameter selection result in<br />

contour form with smaller search scope. Parameters C<br />

and g centers in smaller scope, but they have a high<br />

Accuracy(%)<br />

5-CV Parameter Selection Result(3-Dimensional View)<br />

Best c=4 g=0.0051543<br />

5-CV-RecognitionAccuracy=71.4172%<br />

c=(-10,10) cstep=1.2<br />

g=(-10,10) gstep=1.2<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

10<br />

log2g<br />

5<br />

0<br />

log2g<br />

-5<br />

-10<br />

-10<br />

-5<br />

0<br />

log2c<br />

Figure 6. Parameter selection result in 3-Dimensional view.<br />

© 2012 ACADEMY PUBLISHER<br />

-2<br />

-4<br />

-6<br />

-8<br />

60<br />

5-CV Parameter Selection Result(Contour)<br />

Best c=4 g=0.0051543<br />

5-CV-RecognitionAccuracy=71.4172%<br />

c=(-10,10) cstep=1.2<br />

g=(-10,10) gstep=1.2<br />

best log2C=2 best log2g=-7.6<br />

61<br />

5<br />

63<br />

62<br />

10<br />

64<br />

65<br />

69<br />

-10<br />

-4 -3 -2 -1 0 1 2 3 4 5<br />

66<br />

log2c<br />

71<br />

67<br />

68<br />

70<br />

68<br />

60 61 62 63 64 65 66<br />

Figure 5. Parameter selection result in contour form.<br />

recognition accuracy rate. If several groups <strong>of</strong> g and c<br />

correspond to the same recognition accuracy rate, the<br />

method will choose the group with smaller c. The reason<br />

for that c with high value will lead to overfitting study.<br />

Table I shows optimized c and g in different scope grid<br />

search and the search step and gives the recognition<br />

accuracy rate <strong>of</strong> 80 test utterances in corresponding<br />

parameters. From the results experiment (NO.1~4) using<br />

our methods referred in section III C, we can see that<br />

with the decrease <strong>of</strong> search scope and search step, the<br />

recognition accuracy rate <strong>of</strong> train set is improving. The<br />

recognition accuracy rate <strong>of</strong> test set is high. Through four<br />

experiments we gain the optimized parameters <strong>of</strong> C and g<br />

with the highest recognition accuracy rate <strong>of</strong> train set,<br />

that is C=2.3784 and g=0.0057191. We compare our<br />

methods with common methods having a bigger search<br />

scope and lower search step. Experiment NO 5* shows<br />

the result <strong>of</strong> common method. We can also gain the<br />

optimized parameters same to the result <strong>of</strong> NO 4.<br />

However, the total runtime <strong>of</strong> NO 5* is 38027.12s far<br />

greater than the runtime <strong>of</strong> NO.1~4 (606.93 +333.18+<br />

300.16+ 331.76 = 1572.03s). Experiments show that the<br />

new method can avoid unnecessary process <strong>of</strong> optimizing<br />

parameters, reduce sharply the time complexity <strong>of</strong><br />

optimizing parameters, and improve the speed <strong>of</strong> training<br />

and classification. The method is especially useful for<br />

training <strong>of</strong> very large samples. It also maintains the<br />

recognition accuracy rate at the same time.<br />

log2g<br />

-6.8<br />

-7<br />

-7.2<br />

-7.4<br />

-7.6<br />

-7.8<br />

-8<br />

-8.2<br />

-8.4<br />

70<br />

69<br />

71<br />

68<br />

67<br />

71<br />

71<br />

69<br />

70<br />

70<br />

5-CV Parameter Selection Result(Contour)<br />

Best c=2.3784 g=0.0057191<br />

5-CV-RecognitionAccuracy=71.8949%<br />

c=(0.5,3.4) cstep=0.15<br />

g=(-8.5,-6.7) gstep=0.15<br />

best log2C=1.25best log2g=-7.45<br />

71<br />

0.5 1 1.5 2 2.5 3<br />

71<br />

71<br />

70<br />

70<br />

69<br />

log2c<br />

Figure 7. Contour with smaller search scope.<br />

71<br />

71<br />

71<br />

70<br />

69<br />

69<br />

71<br />

71<br />

68<br />

68<br />

69<br />

70<br />

71


2732 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

B. Selection <strong>of</strong> Kernel Function<br />

Table II shows the accuracy rate <strong>of</strong> speech emotion<br />

recognition based on optimized SVM using four different<br />

kernels referred in section III B. The method <strong>of</strong> selection<br />

optimized parameters <strong>of</strong> other kernels is same to RBF. It<br />

can be seen that the RBF kernel has the best performance<br />

in recognition accuracy <strong>of</strong> train set and test set.<br />

TABLE II.<br />

RECOGNITION ACCURACY OF SPEECH EMOTION USING DIFFERENT<br />

KERNELS<br />

Optimized<br />

Kernel<br />

Parameters<br />

COEF = 0<br />

Linear<br />

C = 2.3784<br />

COEF = 0<br />

C = 0.056328<br />

Polynomial d = 3<br />

g = 0.0046453<br />

(γin function)<br />

C = 2.3784<br />

RBF<br />

g = 0.0057191<br />

COEF = 0<br />

C = 0.4278<br />

Sigmoid<br />

g = 0.00097656<br />

(γin function)<br />

V. CONCLUSIONS<br />

Recognition Accuracy<br />

Train set Test set<br />

61.305% 66.25%<br />

68.1529% 82.5%<br />

71.8949 % 88.75%<br />

48.8854% 48.75%<br />

In this paper, we propose methods about selecting<br />

optimized parameters and kernel function <strong>of</strong> SVM and<br />

establish a speech emotion model based on optimized<br />

SVM. Support machine vector is studied as emotion<br />

classification. Mel Frequency Cepstral Coefficients plus<br />

energy with their delta and acceleration as speech<br />

emotion features are utilized as the input <strong>of</strong> SVM.<br />

Experiments show that the method <strong>of</strong> selecting optimized<br />

parameters not only sharply reduces the time complexity<br />

compared with common method, but also maintains the<br />

recognition accuracy rate at the same time. Four kernels<br />

contrast experiments show that RBF kernel has better<br />

performance in speech emotion recognition than other<br />

kernels. Based on selection optimized parameters and<br />

RBF kernels, we gain an optimized SVM improving the<br />

TABLE I.<br />

OPTIMIZED PARAMETERS AND RECOGNITION ACCURACY<br />

NO. Parameter Scope Step Optimized Values<br />

1<br />

2<br />

3<br />

4<br />

5*<br />

© 2012 ACADEMY PUBLISHER<br />

C 2 -10 ~2 10 1.2 4<br />

g 2 -10 ~2 10 1.2 0.0051543<br />

C 2 -2.8 ~2 8.8 0.6 2.639<br />

g 2 -10 ~2 -4 0.6 0.0078125<br />

C 2 -0.4 ~2 4.6 0.3 2.1435<br />

g 2 -9.4 ~2 -5.8 0.3 0.0063457<br />

C 2 0.5 ~2 3.4 0.15 2.3784<br />

g 2 -8.5 ~2 -6.7 0.15 0.0057191<br />

C 2 -10 ~2 10 0.15 2.3784<br />

g 2 -10 ~2 10 0.15 0.0057191<br />

Recognition Accuracy Rate<br />

Train set Test set<br />

performance <strong>of</strong> the emotion recognition system<br />

effectively. Other methods to optimize SVM will be<br />

studied in future work.<br />

ACKNOWLEDGMENT<br />

We thank Speech Processing Lab <strong>of</strong> HIT for<br />

supporting this work. The work presented in this paper is<br />

supported by the National Natural Science Foundation <strong>of</strong><br />

China under Grant No. 61171186, 60772076 and Project<br />

(HIT.KLOF.2009015) Supported by Key Laboratory<br />

Opening Funding <strong>of</strong> MOE-Micros<strong>of</strong>t Key Laboratory <strong>of</strong><br />

Natural Language Processing and Speech. The authors<br />

are grateful for the anonymous reviewers who made<br />

constructive comments.<br />

REFERENCES<br />

Runtime(second)<br />

71.4172% 92.5% 606.93<br />

71.7357 % 95% 333.18<br />

71.7357% 90% 300.16<br />

71.8949 % 88.75% 331.76<br />

71.8949 % 88.75% 38027.12<br />

[1] R. Cowie, E. Douglas-Cowie, N. Tsapatsoulis, G. Votsis,<br />

S. Kollias and et al, “Emotion Recognition in Human-<br />

Computer Interaction,” IEEE Signal Processing Magazine.<br />

America, vol. 18, pp. 32-80, January 2001.<br />

[2] L. Devillers, C. Vaudable, and C. Chastagnol, “Real-life<br />

emotion-related states detection in call centers: a crosscorpora<br />

study,” in Proc. INTERSPEECH 2010. Chiba, pp.<br />

2350-2353, September 2010.<br />

[3] D. Morrison and R. Wang, LC, “De Silva. Ensemble<br />

methods for spoken emotion recognition in call-centers.<br />

Speech Communication,” Speech Communication.<br />

Amsterdam, vol. 49, pp. 98-112, February 2007.<br />

[4] A. Batliner, K. Fischer, R. Huber, J. Spilker and E. Noth,<br />

“How to find trouble in communication,” Speech<br />

Communication. Amsterdam, vol. 40, pp. 117-143, April<br />

2003.<br />

[5] C. M. Lee and S. S. Narayanan, “Toward detecting<br />

emotions in spoken dialogs,” IEEE Trans. Speech and<br />

Audio Processing. America, vol. 13, pp. 293-303, March<br />

2005.<br />

[6] Scherer KR, “Vocal communication <strong>of</strong> emotion: A review<br />

<strong>of</strong> research paradigms,” Speech Communication.<br />

Amsterdam, vol. 40, pp. 227-256, April 2003.<br />

[7] L. Ten Bosch, “Emotion, speech and the ASR framework,”<br />

Speech Communication. Amsterdam, vol. 40, pp. 213-225,<br />

April 2003.<br />

[8] Z. Inanoglu and R. Caneel, "Emotive alert: HMM-based<br />

emotion detection in voicemail messages," in Proc.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2733<br />

Intelligent User Interfaces. San Diego, pp. 251-253,<br />

January 2005.<br />

[9] K. Chen, GX Yue, F. Yu, Y. Shen and A.Q. Zhu,<br />

“Research on speech emotion recognition system in elearning,”<br />

Lecture Notes in Computer Science. Berlin, vol.<br />

4489, pp. 555-558, 2007.<br />

[10] R. Nakats, N. Tosa and T. Ochi, “Construction <strong>of</strong> an<br />

interactive movie system for multi-person participation,” in<br />

Proc. Multimedia Computing and Systems. Austin, pp. 228-<br />

232, 1998.<br />

[11] C. M. Jones and I. M. Jonsson. Performance analysis <strong>of</strong><br />

acoustic emotion recognition for in-car conversational<br />

interfaces,” Lecture Notes in Computer Science. Berlin, vol.<br />

4555, pp. 411-420, 2007.<br />

[12] I. Luengo, E. Navasm, I. Hernaez and J. Sanchez,<br />

"Automatic Emotion Recognition using Prosodic<br />

Parameters," in Proc. INTERSPEECH 2005. Lisbon, pp.<br />

493-496, 2005.<br />

[13] H. Hao, X. Ming-Xing and W. Wei, “GMM Supervector<br />

Based SVM with Spectral Features for Speech Emotion<br />

Recognition, in Acoustics, Speech and Signal Processing,”<br />

in Conf. ICASSP 2007. Honolulu, pp. 413-420, 2007.<br />

[14] S. S. Stevens, J. Volkmann and E. B. Newman, “A scale<br />

for the measurement <strong>of</strong> the psychological magnitude<br />

pitches,” <strong>Journal</strong> <strong>of</strong> the Acoustical Society <strong>of</strong> American,<br />

pp.185-190, August 1937.<br />

[15] N. Kamaruddin and A. Wahab, “Speech Emotion<br />

Verification System (SEVS) based on MFCC for real time<br />

applications,” in Conf. Intelligent Environments 2008.<br />

Seattle, July 2008.<br />

[16] H. Simon, Neural Networks A Comprehensive Foundation,<br />

2 nd ed., Perason Education, 1999, pp.340–372.<br />

[17] Ch. Chang, Ch. Lin, LIBSVM: a Library for Support<br />

Vector Machines, http://www.csie.ntu.edu.tw/~cjlin/libsvm,<br />

2005.<br />

[18] MATLAB Chinese forum, Thirty Neural Networks<br />

Examples Analysis in MATLAB, Publication <strong>of</strong> Beijing<br />

University <strong>of</strong> Aeronautics and Astronautics, pp.110-pp.127,<br />

2010.<br />

Bo Yu received his B.E. in Computer<br />

Science and Technology from Harbin<br />

University <strong>of</strong> Science and Technology,<br />

Harbin, Heilongjiang Province, China in<br />

2004 and received his M.E. in<br />

Technology <strong>of</strong> Computer Application<br />

from Harbin University <strong>of</strong> Science and<br />

Technology, China in 2007. He is<br />

currently working towards the PhD<br />

degree in Harbin Institute <strong>of</strong> Technology. His major fields are:<br />

© 2012 ACADEMY PUBLISHER<br />

Speech Recognition, Pattern Recognition& S<strong>of</strong>tware<br />

development.<br />

He started his teaching career in the College <strong>of</strong> S<strong>of</strong>tware in<br />

2007 in Harbin University <strong>of</strong> Science and Technology and<br />

promoted as a lecturer in 2008. He is the Deputy Secretary <strong>of</strong><br />

S<strong>of</strong>tware Engineering Department. He used to teach Computer<br />

Theory Test in C Language in 2005 in Harbin University <strong>of</strong><br />

Science and Technology and was the programmer in Hua Ze<br />

Digital Company from Oct. 2005 to Mar. 2006. He had his field<br />

work in Neus<strong>of</strong>t Group from Sep. 2007 to Jan. 2008. One <strong>of</strong> his<br />

published articles is Milti-agent Web Texts Mining Based on<br />

Galois Lattice.2010 International Forum on Information<br />

Technology and Applications (IFITA 2010). His current<br />

research Interests are Speech Emotion, Pattern Recognition &<br />

S<strong>of</strong>tware development. His previous research interests are Web<br />

text mining.<br />

Mr.Yu received Certificate <strong>of</strong> Achievement as coach for his<br />

students getting Second Prize in 2010 The Fifth Heilongjiang<br />

Province Programming Contest, Asia Provincial-National<br />

Contests in May 16, 2010.<br />

Haifeng Li Doctoral Supervisor,<br />

Director <strong>of</strong> Speech Processing Lab in<br />

School <strong>of</strong> Computer Science and<br />

Technology at HIT and IEEE member.<br />

He is the Dean <strong>of</strong> Honors School now.<br />

He got his Doctor's Degree from Electro-<br />

Magnetical Measuring<br />

Technique&Instrumentation from HIT in<br />

1997 and Doctor's Degree from<br />

Computer, Communication and<br />

Electronic Science from University <strong>of</strong> Paris VI, France in 2002.<br />

He started the teaching career in 1994 in HIT, promoted as<br />

lecturer in 1995 and pr<strong>of</strong>essor in 2003. From 1997 to 2002, he is<br />

engaged in the post-doctoral research at University <strong>of</strong> Paris VI,<br />

and presided the project <strong>of</strong> Speech Noise Reduction Research<br />

for France Telecom. In August 2004, he became the Assistant<br />

Dean <strong>of</strong> School <strong>of</strong> S<strong>of</strong>tware. His research fields are Audio<br />

Information Retrieval & Processing, Artificial Neural Networks.<br />

He undertakes many projects <strong>of</strong> National Natural Science<br />

Foundation, Provincial and Ministry Science Foundation and<br />

has published over 30 papers in journals and conferences at<br />

home and abroad.<br />

Chunying Fang was born in 1978. She is currently working<br />

toward the PhD degree at the Computer Science Department,<br />

Harbin Institute <strong>of</strong> technology (HIT), Harbin, China. Her<br />

present research interests include speech recognition.


2734 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

System Dynamics Modeling and Simulation for<br />

Competition and Cooperation <strong>of</strong> Supply Chain on<br />

Dual-Replenishment Policy<br />

Shidi Miao<br />

Department <strong>of</strong> S<strong>of</strong>tware Engineering, School <strong>of</strong> S<strong>of</strong>tware, Harbin University <strong>of</strong> Science and Technology, Harbin, China<br />

Email: msdking@hrbust.edu.cn<br />

Chunxian Teng, Lu Zhang<br />

The System Engineering Research Institute, Harbin University <strong>of</strong> Science and Technology, Harbin, China<br />

Email: tengcx@hrbust.edu.cn<br />

Abstract—The need for holistic modeling efforts that satisfy<br />

the increasing supply chain enterprise at a strategic level<br />

has been clearly recognized by industry first and by<br />

academia recently. In order to increase the pr<strong>of</strong>itability <strong>of</strong><br />

the entire chain, strategic decision-makers need<br />

comprehensive models to guide them to make efficient<br />

decision. The determination <strong>of</strong> optimal network<br />

configuration, inventory management policies, supply<br />

contracts, distribution strategies, supply chain integration<br />

and information technology are prime examples <strong>of</strong> strategic<br />

decision that affect the long-term pr<strong>of</strong>itability <strong>of</strong> the entire<br />

supply chain. With the main aim <strong>of</strong> supply chain<br />

management being to maximize the pr<strong>of</strong>its <strong>of</strong> supply chains,<br />

we depict a benchmark model which describes two supply<br />

chain competition behaviors under the fluctuation demand<br />

situations. On that basis, we design the cooperation contract<br />

between the chains for retailers’ inventory replenishment,<br />

and moreover, extend this cooperation contract to dual<br />

replenishment policy in order to heighten the pr<strong>of</strong>its <strong>of</strong><br />

supply chain and its members in development. Found by the<br />

system dynamics simulation, this chain cooperation contract<br />

makes pr<strong>of</strong>it increasing to some degree, but inventory<br />

fluctuation <strong>of</strong> the supply chain members will be aggravated<br />

and the inventory cost will be increased. Consequently, we<br />

analyze the key issue <strong>of</strong> strategic supply chain management<br />

in depth, that <strong>of</strong> regulation parameter. Finally, we<br />

demonstrate the applicability <strong>of</strong> contract model on dualreplenishment<br />

policy through the application <strong>of</strong> computer<br />

simulation.<br />

Index Terms—System dynamics, Dual-replenishment policy,<br />

Competition and Cooperation, Contract, Supply chain<br />

I. INTRODUCTION<br />

An increasingly vocal and popular sentiment holds that<br />

the nature <strong>of</strong> competition in the future will not be<br />

between companies but rather between supply chains,<br />

supply chain has become an important way to winning<br />

the future[1-4]. The rise <strong>of</strong> global manufacture and<br />

information technology booming, makes the structure <strong>of</strong><br />

the supply chain become more complex, and there are<br />

plenty <strong>of</strong> research fields involved. Inventory management<br />

is one <strong>of</strong> the research hot points for both domestic and<br />

foreign scholars. Cachon[5-7] analyzed the competition<br />

and cooperation strategy <strong>of</strong> supplier and retailer from a<br />

single chain angle. Towill[8] studied inventory<br />

competition <strong>of</strong> two symmetrical supply chain that each<br />

consists <strong>of</strong> a manufacturer and retailer, but he didn’t<br />

consider cooperation. Bernstein[9-12] studied the<br />

equilibrium state <strong>of</strong> the competing retailers in the<br />

decentralized supply chain under uncertainty demand.<br />

Zhang and Xiao[13-15] made a large contribution on<br />

supply chain network competition, but they just<br />

considered price, service, and demand.<br />

Most <strong>of</strong> these studies is from a single standpoint, which<br />

only considered the across-competition or only<br />

considered replenishment. Based on the above studies,<br />

under demand uncertainty conditions, this paper<br />

constructs model <strong>of</strong> competition between supply chains,<br />

each consists <strong>of</strong> one manufacturer and one retailer.<br />

Considering inventory level and pr<strong>of</strong>it fluctuation, we<br />

establish an cooperation contract based on inventory<br />

replenishment, and extend the contract to the dualreplenishment<br />

policy to achieve win-win situation.<br />

Finally, we furtherly indicate the effectiveness <strong>of</strong> the<br />

model by contrasting the simulation results.<br />

II. A SYSTEM DYNAMIC MODEL OF THE TWO-ECHELON<br />

SUPPLY CHAIN COMPETITION<br />

We assume that the competition model is composed by<br />

two supply chains and each chain is composed by a<br />

manufacturer and a retailer. The product which managed<br />

by the two chains are homogeneous and can be<br />

substituted completely. The competition between two<br />

supply chains is normal distribution in the consumer<br />

market. As shown in Fig 1.<br />

Project supported by the National Natural Science Foundation <strong>of</strong> China Figure1. Structure <strong>of</strong> the two-echelon supply chain competition<br />

(Grant No.70871031 ).<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2734-2741


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2735<br />

In each supply chain, when retailers place an order to<br />

the manufacturer, it always uses the periodic inspection<br />

replenishment strategy, that is to check inventory state<br />

periodically. There is no replenishment between the same<br />

node in two supply chains, and the relationship between<br />

the two nodes is fully competitive. If the existing storage<br />

is above the replenishment point, there is no supplement<br />

when checking, otherwise the retailer will replenish the<br />

stock. Fig. 3 presents the system dynamics model <strong>of</strong><br />

supply chain competition.<br />

The actual replenishment behavior is usually triggered<br />

by the retailer’s supplement signal. When retailer’s<br />

accumulative order is above or equal to its economic<br />

orders quantity , or retailer’s inventory is below or equal<br />

to its orders points, retailer’s supplement signal will be<br />

one, triggering replenishment. In this moment, retailer’s<br />

actual replenishment is minimum, and yet, replenishment<br />

quantity is zero. The DYNAMO equation <strong>of</strong> retailer<br />

replenishment signal can be shown as:<br />

⎧1, ORDERRA.K EOQR.K or INVR.K ORDERPR.K<br />

REPSIGNALR.K= ⎪<br />

≥ ≤<br />

⎨<br />

⎪⎪⎩ 0, ORDERRA.K≤EOQR.K and INVR.K ≥ORDERPR.K<br />

The DYNAMO equation <strong>of</strong> retailer’s actual<br />

replenishment quantity can be shown as:<br />

⎧0, REPSIGNALR.K 1<br />

REALREPR.KL= ⎪<br />

≠<br />

⎨<br />

⎪⎩ MIN(INVM.K,EOQR.K), REPSIGNALR.K=1<br />

In this paper, our research only relates to the stock<br />

which have been finished in two-echelon supply chain. In<br />

this stock model <strong>of</strong> manufacturer, we don’t consider<br />

other cost <strong>of</strong> raw material and pay close attention to the<br />

price <strong>of</strong> raw material which has a direct relationship with<br />

the stock <strong>of</strong> finished products. Under this competition<br />

mode, retailer’ inventory is determined by the shipment<br />

rate(SALER) and receiving rate(SHIPTOR) <strong>of</strong> the retailer,<br />

and its DYNAMO equation is shown as:<br />

(1)<br />

(2)<br />

INVR.K=INVR.J+DT*(SHIPTOR.JK-SALER.JK) (3)<br />

Two supply chains share the same market, but they<br />

have different market occupation ratio. We assume that<br />

the DYNAMO equation <strong>of</strong> demand and price is:<br />

DEMANDSC1.K=DEMAND.K-β1*PRICER1.K+ β 2*PRICER2.K<br />

DEMANDSC2.K=DEMAND.K- β1*PRICER2.K+ β 2*PRICER1.K (4)<br />

Among them the total market demand quantity is<br />

nonnegative and random variable, both distribution<br />

function and density function are continuous. The market<br />

demand <strong>of</strong> SC1(supply chain 1)and SC2(supply chain 2)<br />

are determined by the retail price <strong>of</strong> product <strong>of</strong><br />

R1(Retailer 1) and R2(Retailer 2). When the price <strong>of</strong><br />

product <strong>of</strong> R1 increases, its market demand will be<br />

decreased, we call it as crowding out effect. When the<br />

price <strong>of</strong> R2’s products rises, its rival’s market demand<br />

maybe increases, we call it as attraction effect. The<br />

parameters <strong>of</strong> β1and β2 are the measurement <strong>of</strong> this two<br />

effects respectively.<br />

© 2012 ACADEMY PUBLISHER<br />

In the model, shown as in figure 1, before the arrival <strong>of</strong><br />

marketing circling, every manufacturer and retailer will<br />

make a decision <strong>of</strong> production and order according to the<br />

expectation <strong>of</strong> sales, market demand, and the level <strong>of</strong><br />

stock <strong>of</strong> themselves. There the demand <strong>of</strong> retailers from<br />

manufacturers depends on the demand <strong>of</strong> customers.<br />

Manufacturers delivery the products to retailers, retailers<br />

receive commodities, and sell them to customers. Each<br />

manufacturer’s cost mainly involves four sections: the<br />

treatment cost <strong>of</strong> orders which manufactures have<br />

received, the purchase cost <strong>of</strong> raw material when<br />

manufacturers purchased, the production cost which<br />

manufacturers make the raw material for production and<br />

the storage cost <strong>of</strong> production and raw material. The<br />

manufacturers’ income is that it sells products to the<br />

retailer and then obtains income. Its pr<strong>of</strong>its are the<br />

difference <strong>of</strong> total income and total cost. Each retailer’s<br />

cost mainly involves three sections: the purchase cost<br />

when retailers buy products from manufacturers, the<br />

order cost when the stock is not enough, accordingly, the<br />

existing inventory cost if stocks have the rest. The<br />

retailer’s receipts equals to sales receipts, its total pr<strong>of</strong>its<br />

is the difference <strong>of</strong> total revenue and total cost. The total<br />

pr<strong>of</strong>its <strong>of</strong> entire supply chain is the sum <strong>of</strong> total pr<strong>of</strong>its <strong>of</strong><br />

manufacturers and retailers.<br />

Ⅲ. A SYSTEM DYNAMICS MODEL FOR ACROSS-CHAIN<br />

COOPERATION CONTRACT BASED ON RETAILERS’<br />

INVENTORY REPLENISHMENT<br />

The foregoing model, which is inner-chain cooperation<br />

mode, just uses the way <strong>of</strong> interior chain replenishment to<br />

meet the upstream’s demand. Owing to the single target<br />

that increases their own supply chain pr<strong>of</strong>its, the winning<br />

node <strong>of</strong> the supply chain may be out <strong>of</strong> stock. Conversely,<br />

the failure node may appeared to the rest <strong>of</strong> the stock. We<br />

will present an across-chain cooperation contract based<br />

on retailers’ inventory replenishment to coordinate the<br />

supply chains under competition. As shown in Fig 2.<br />

Figure2. Structure <strong>of</strong> across-chain cooperation<br />

we suppose that the competitive node is near in<br />

geographical position and take no account <strong>of</strong><br />

replenishment lead time and replenishment delay. The<br />

situation that a retailer is out <strong>of</strong> stock and another is<br />

surplus can trigger the across-chain cooperation contract.<br />

The surplus or not will be judged by the difference <strong>of</strong> the<br />

customer demand and retailers’ inventory. When one<br />

difference greater than zero and another is less than zero,<br />

cooperation signal will be triggered and two retailers <strong>of</strong><br />

across-chain begin to make a cooperation. According to<br />

the cooperative product price and batch, we coordinate<br />

two retailers by adding across-chain replenishment<br />

cooperation contract, which make retailers, manufacturers<br />

and total supply chain to win-win situation.


2736 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

.<br />

<br />

<br />

OPCIRATEM1<br />

PCIRATEM1<br />

PCYCLEM2<br />

MPCIRATEM1<br />

INVADJUSTM2<br />

OPCOSTM2<br />

OPCOSTM1<br />

IIRATEM1<br />

UPPCOSTM1<br />

APCOSTM1<br />

AVGRR1<br />

PRODUCT<br />

IVITYM1<br />

OPACOSTM1<br />

MPCOSTM1<br />

TINVM1<br />

INCOMING<br />

M1<br />

TINVCTIMEM1<br />

PCYCLEM1 INVADJUSTM1<br />

PRODUCT<br />

IVITYM2<br />

TINVM2<br />

PCIRATEM2<br />

MPCIRATEM2<br />

OPCIRATEM2<br />

<br />

<br />

SIRATIOM2<br />

TINVCTIMEM2<br />

<br />

© 2012 ACADEMY PUBLISHER<br />

PROFITM1<br />

INVM1<br />

ORSPERIODR1<br />

SIRATIOM1<br />

SINVM1<br />

INVM2<br />

SINVM2<br />

APCOSTM2<br />

<br />

IIRATEM2<br />

PROFITSC1<br />

COSTM1<br />

MUPRICEM1<br />

REALREPRR2<br />

AVGRR2<br />

<br />

EOQR1<br />

PROFITR1<br />

REALREPRR1<br />

<br />

MPCOSTM2<br />

UPPCOSTM2<br />

OPACOSTM2<br />

INCOMING<br />

M2<br />

STCOSTM1<br />

REPSIGNALR1<br />

TRATIOR1<br />

REPSIGNALR2<br />

ORSPERIODR2<br />

INCOMINGR1<br />

COSTSC1<br />

<br />

PTPRICER1<br />

<br />

MUPRICEM2<br />

<br />

INVSRATIOR1<br />

IIRATER1<br />

MSCRATEM1<br />

OGRATER1<br />

RLEADTIMER1<br />

INVR1<br />

<br />

PRICER1<br />

SCRATIOM1 <br />

APCOSTR1<br />

SCRATIOR1<br />

SINVR1<br />

INVGAPR1<br />

OCOSTR1<br />

OACCR1<br />

PCITRATER1<br />

TINVR1<br />

COSTR1<br />

<br />

OFRATER1<br />

ORR1<br />

ORDERPR1<br />

TINVCTIMER1<br />

STCOSTR1<br />

M1TOR1 DELRATER1<br />

<br />

INVR2<br />

M2TOR2 DELRATER2<br />

<br />

EOQR2<br />

RLEADTIMER2<br />

<br />

PTPRICER2<br />

<br />

<br />

INVSRATIOR2<br />

STCOSTM2<br />

COSTM2<br />

PROFITM2<br />

SCRATIOR2<br />

PROFITSC2<br />

INVGAPR2<br />

TRATIOR2<br />

OCOSTR2<br />

PROFITR2<br />

SINVR2<br />

MSCRATEM2<br />

SCRATIOM2<br />

COSTSC2<br />

TINVR2<br />

ORR2 INVADTIMER2<br />

OACCR2<br />

INCOMINGR2<br />

OCIRATER1<br />

RSDEVIAT<br />

IONR1<br />

CDSMOOTHR1<br />

OGRATER2 OFRATER2<br />

<br />

ORDERPR2<br />

CPERIOD1<br />

<br />

CPERIOD2<br />

Figure 3. Causal loop diagram <strong>of</strong> supply chain competition<br />

TINVCTIMER2<br />

RSDEVIAT<br />

IONR2<br />

IIRATER2<br />

COSTR2<br />

CSIRATER1<br />

<br />

<br />

<br />

CDSMOOTHR2<br />

<br />

INVADTIMER1<br />

CDSTIMER1<br />

APCOSTR2<br />

<br />

CDSTIMER2<br />

<br />

AOCOSTR1<br />

RMVALUER1<br />

STCOSTR2<br />

CDFUNCT<br />

IONR1<br />

CDFUNCT<br />

IONR2<br />

OCIRATER2<br />

<br />

<br />

<br />

<br />

RMVALUER2<br />

<br />

<br />

PRATIO1<br />

MDSC1<br />

MDSC2<br />

<br />

PCITRATER2<br />

AMDEMAND<br />

AOCOSTR2<br />

CSIRATER2<br />

PRATIO2<br />

<br />

<br />

<br />

PRICER2<br />


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2737<br />

Fig. 7 presents the model <strong>of</strong> across-chain cooperation<br />

contract. Difference(DISPERSION) is the differential <strong>of</strong><br />

retailers inventory(INVR)and customer demand function<br />

(BDEMANDF). The DYNAMO equation for<br />

cooperation signal(CSIGNAL) can be shown as:<br />

⎧⎪ CSIGNAl1.K DISPERSION1.K>0 and DISPERSION2.K100<br />

CPRICER1.K= ⎨<br />

(7)<br />

⎪⎩ TPRICER1*(1+30%) R2TOR1


2738 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

<br />

<br />

OPCIRATEM1<br />

PCIRATEM1<br />

PCYCLEM2<br />

MPCIRATEM1<br />

INVADJUSTM2<br />

OPCOSTM2<br />

OPCOSTM1<br />

IIRATEM1<br />

UPPCOSTM1<br />

APCOSTM1<br />

AVGRR1<br />

PRODUCT<br />

IVITYM1<br />

MPCOSTM1<br />

TINVM1<br />

OPACOSTM1<br />

INCOMING<br />

M1<br />

TINVCTIMEM1<br />

PCYCLEM1 INVADJUSTM1<br />

PRODUCT<br />

IVITYM2<br />

TINVM2<br />

PCIRATEM2<br />

MPCIRATEM2<br />

OPCIRATEM2<br />

<br />

<br />

SIRATIOM2<br />

TINVCTIMEM2<br />

© 2012 ACADEMY PUBLISHER<br />

<br />

PROFITM1<br />

INVM1<br />

ORSPERIODR1<br />

SIRATIOM1<br />

SINVM1<br />

COOPCOST1<br />

COOPCOST2<br />

INVM2<br />

SINVM2<br />

APCOSTM2<br />

<br />

IIRATEM2<br />

PROFITSC1<br />

COSTM1<br />

MUPRICEM1<br />

REALREPRR2<br />

AVGRR2<br />

<br />

EOQR1<br />

PROFITR1<br />

REALREPRR1<br />

<br />

MPCOSTM2<br />

UPPCOSTM2<br />

OPACOSTM2<br />

STCOSTM1<br />

REPSIGNALR1<br />

CCIRATE1<br />

<br />

CCIRATE2<br />

<br />

INCOMING<br />

M2<br />

TRATIOR1<br />

REPSIGNALR2<br />

ORSPERIODR2<br />

INCOMINGR1<br />

COSTSC1<br />

<br />

PTPRICER1<br />

<br />

MUPRICEM2<br />

<br />

INVSRATIOR1<br />

IIRATER1<br />

MSCRATEM1<br />

OGRATER1<br />

RLEADTIMER1<br />

INVR1<br />

<br />

PRICER1<br />

SCRATIOM1 <br />

APCOSTR1<br />

SCRATIOR1<br />

SINVR1<br />

INVGAPR1<br />

OCOSTR1<br />

OACCR1<br />

PCITRATER1<br />

TINVR1<br />

COSTR1<br />

<br />

OFRATER1<br />

ORR1<br />

ORDERPR1<br />

TINVCTIMER1<br />

STCOSTR1<br />

M1TOR1 DELRATER1<br />

INVR2<br />

M2TOR2 DELRATER2<br />

TINVR2<br />

<br />

<br />

EOQR2<br />

COPRICE1<br />

COPRICE2<br />

RLEADTIMER2<br />

<br />

PTPRICER2<br />

<br />

<br />

INVSRATIOR2<br />

STCOSTM2<br />

COSTM2<br />

PROFITM2<br />

SCRATIOR2<br />

PROFITSC2<br />

INVGAPR2<br />

TRATIOR2<br />

R2DR1<br />

R1DR2<br />

OCOSTR2<br />

PROFITR2<br />

SINVR2<br />

ORDERPR2<br />

ORR2 INVADTIMER2<br />

MSCRATEM2<br />

SCRATIOM2<br />

COSTSC2<br />

OACCR2<br />

INCOMINGR2<br />

OCIRATER1<br />

RSDEVIAT<br />

IONR1<br />

CDSMOOTHR1<br />

TINVCTIMER2<br />

RSDEVIAT<br />

IONR2<br />

OGRATER2 OFRATER2<br />

<br />

CPERIOD1<br />

<br />

CSIGNAl1<br />

Figure 7. Causal loop diagram <strong>of</strong> across-chain cooperation<br />

CSIGNAl2<br />

CPERIOD2<br />

IIRATER2<br />

COSTR2<br />

CSIRATER1<br />

<br />

<br />

<br />

CDSMOOTHR2<br />

<br />

INVADTIMER1<br />

CDSTIMER1<br />

APCOSTR2<br />

<br />

DISPERSION1<br />

DISPERSION2<br />

CDSTIMER2<br />

<br />

AOCOSTR1<br />

RMVALUER1<br />

STCOSTR2<br />

CDFUNCT<br />

IONR1<br />

CDFUNCT<br />

IONR2<br />

OCIRATER2<br />

<br />

<br />

<br />

<br />

RMVALUER2<br />

<br />

<br />

PRATIO1<br />

MDSC1<br />

MDSC2<br />

<br />

PCITRATER2<br />

AMDEMAND<br />

AOCOSTR2<br />

CSIRATER2<br />

PRATIO2<br />

<br />

<br />

<br />

PRICER2<br />


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2739<br />

<br />

<br />

OPCIRATEM1<br />

PCIRATEM1<br />

COOPCOS<br />

TM1<br />

MPCIRATEM1<br />

<br />

COOPCOS<br />

TM2<br />

<br />

PCYCLEM2<br />

INVADJUSTM2<br />

OPCOSTM2<br />

OPCOSTM1<br />

IIRATEM1<br />

UPPCOSTM1<br />

APCOSTM1<br />

AVGRR1<br />

PRODUCT<br />

IVITYM1<br />

CCIRATEM1<br />

CCIRATEM2<br />

OPACOSTM1<br />

MPCOSTM1<br />

TINVM1<br />

INCOMING<br />

M1<br />

TINVCTIMEM1<br />

PCYCLEM1 INVADJUSTM1<br />

PRODUCT<br />

IVITYM2<br />

TINVM2<br />

PCIRATEM2<br />

MPCIRATEM2<br />

OPCIRATEM2<br />

<br />

<br />

COPRICEM1<br />

COPRICEM2<br />

SIRATIOM2<br />

TINVCTIMEM2<br />

© 2012 ACADEMY PUBLISHER<br />

<br />

PROFITM1<br />

INVM1<br />

APCOSTM2<br />

IIRATEM2<br />

ORSPERIODR1<br />

SIRATIOM1<br />

SINVM1<br />

M2TOM1<br />

INVM2<br />

SINVM2<br />

<br />

PROFITSC1<br />

COSTM1<br />

<br />

MUPRICEM1<br />

M1TOM2<br />

REALREPRR2<br />

AVGRR2<br />

EOQR1<br />

PROFITR1<br />

REALREPRR1<br />

MPCOSTM2<br />

UPPCOSTM2<br />

OPACOSTM2<br />

STCOSTM1<br />

DISPERSIONM1<br />

CSIGNAlM1<br />

<br />

INCOMING<br />

M2<br />

REPSIGNALR1<br />

TRATIOR1<br />

REPSIGNALR2<br />

ORSPERIODR2<br />

INCOMINGR1<br />

COSTSC1<br />

<br />

PTPRICER1<br />

<br />

MUPRICEM2<br />

<br />

INVSRATIOR1<br />

IIRATER1<br />

MSCRATEM1<br />

OGRATER1<br />

RLEADTIMER1<br />

INVR1<br />

<br />

PRICER1<br />

SCRATIOM1 <br />

APCOSTR1<br />

SCRATIOR1<br />

SINVR1<br />

INVGAPR1<br />

OCOSTR1<br />

OACCR1<br />

PCITRATER1<br />

TINVR1<br />

COSTR1<br />

<br />

OFRATER1<br />

ORR1<br />

ORDERPR1<br />

TINVCTIMER1<br />

STCOSTR1<br />

M1TOR1 DELRATER1<br />

COOPCOSTR1<br />

INVR2<br />

M2TOR2 DELRATER2<br />

TINVR2<br />

<br />

<br />

<br />

EOQR2<br />

CCIRATE1<br />

COOPCOSTR2<br />

CCIRATE2<br />

DISPERSIONM2<br />

<br />

CSIGNAlM2<br />

RLEADTIMER2<br />

<br />

PTPRICER2<br />

<br />

<br />

INVSRATIOR2<br />

STCOSTM2<br />

COSTM2<br />

PROFITM2<br />

COPRICE1<br />

COPRICE2<br />

SCRATIOR2<br />

PROFITSC2<br />

INVGAPR2<br />

TRATIOR2<br />

R2DR1<br />

R1DR2<br />

OCOSTR2<br />

PROFITR2<br />

SINVR2<br />

ORDERPR2<br />

ORR2 INVADTIMER2<br />

MSCRATEM2<br />

SCRATIOM2<br />

COSTSC2<br />

OACCR2<br />

INCOMINGR2<br />

OCIRATER1<br />

RSDEVIAT<br />

IONR1<br />

CDSMOOTHR1<br />

TINVCTIMER2<br />

RSDEVIAT<br />

IONR2<br />

OGRATER2 OFRATER2<br />

<br />

CPERIOD1<br />

<br />

CSIGNAl1<br />

CSIGNAl2<br />

CPERIOD2<br />

IIRATER2<br />

COSTR2<br />

CSIRATER1<br />

<br />

<br />

<br />

CDSMOOTHR2<br />

<br />

INVADTIMER1<br />

CDSTIMER1<br />

APCOSTR2<br />

<br />

DISPERSION1<br />

DISPERSION2<br />

CDSTIMER2<br />

<br />

AOCOSTR1<br />

RMVALUER1<br />

STCOSTR2<br />

CDFUNCT<br />

IONR1<br />

CDFUNCT<br />

IONR2<br />

OCIRATER2<br />

<br />

<br />

Figure 8. Causal loop diagram <strong>of</strong> across-chain cooperation based on dual-replenishment<br />

<br />

<br />

RMVALUER2<br />

<br />

<br />

PRATIO1<br />

MDSC1<br />

MDSC2<br />

<br />

PCITRATER2<br />

AMDEMAND<br />

AOCOSTR2<br />

CSIRATER2<br />

PRATIO2<br />

<br />

<br />

<br />

PRICER2<br />


2740 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Ⅳ. A SYSTEM DYNAMICS MODEL OF ACROSS-THE-<br />

CHAIN COOPERATION CONTRACT BASED ON DUAL-<br />

REPLENISHMENT<br />

On the basis <strong>of</strong> retailers’ across-chain cooperation, we<br />

introduce across-chain cooperation contract between the<br />

manufacturers by the same, and establish the model <strong>of</strong><br />

across-chain cooperation contract <strong>of</strong> manufacturers and<br />

retailers, shown as in Fig 9, to furtherly improve the<br />

overall pr<strong>of</strong>its.<br />

Figure9. Structure <strong>of</strong> dual-replenishment cooperation<br />

Suppose that it takes the way <strong>of</strong> across-chain<br />

replenishment as the manufacturer shortage, unit prices<br />

<strong>of</strong> across-chain replenishment raw materials is according<br />

to the quantity <strong>of</strong> cooperation. When it achieves 200 or<br />

more, unit price <strong>of</strong> cooperation raw materials is 110% <strong>of</strong><br />

the original price, when it is less than 200, unit price <strong>of</strong><br />

cooperation raw materials is for 130% <strong>of</strong> the original<br />

price.<br />

For comparing with the benchmark competition model,<br />

retailers’ replenishment, and inventory dualreplenishment,<br />

we stimulate and make contrast with each<br />

other. Shown as in Fig 10, Fig 11, Fig 12, Fig 13, the<br />

pr<strong>of</strong>it <strong>of</strong> the supply chain using dual-replenishment<br />

furtherly improves. Although the cooperation cost in the<br />

total cost <strong>of</strong> manufacturers and retailers improved, and<br />

inventory cost <strong>of</strong> each node increased owing to more<br />

demands, across-chain cooperation replenishment<br />

reduces other costs, and <strong>of</strong>fsets additional cost, and the<br />

total cost will be reduced eventually.<br />

Figure 10. Contrast <strong>of</strong> SC1’s pr<strong>of</strong>it<br />

(1:single-replenishment 2: competition 3: dual- replenishment)<br />

Figure 11. Contrast <strong>of</strong> R2’s pr<strong>of</strong>it<br />

(1:single-replenishment 2: competition 3: dual- replenishment)<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 12. Contrast <strong>of</strong> M1’s inventory cost<br />

(1: dual- replenishment 2:single-replenishment 3:competition )<br />

Figure 13. Contrast <strong>of</strong> M1’s cost<br />

(1: dual- replenishment 2:single-replenishment 3:competition )<br />

Shown as in Figure 14 simulation results, the<br />

manufacturers and retailers will not accept replenishment<br />

at the same time, namely out-<strong>of</strong>-stock will not be<br />

happened simultaneously. As a node shortage, its<br />

upstream (or downstream )node would be in a state <strong>of</strong><br />

ample supply or a state <strong>of</strong> being cooperate<br />

replenishment.<br />

Figure 14. Contrast <strong>of</strong> replenishment<br />

(1: M2 delivers to M1 2: R2 delivers to R1)<br />

Across-chain cooperation make node’s pr<strong>of</strong>its and<br />

total chain’s pr<strong>of</strong>its improved, but owing to the<br />

increasing demand, inventory fluctuates more frequently,<br />

inventory costs also be increased, which is the focus <strong>of</strong><br />

further research in future.<br />

Ⅴ. CONCLUSIONS<br />

In order to enhance pr<strong>of</strong>it, we present system<br />

dynamics to construct supply chain competition model<br />

and across-chain cooperation model based on retailers’<br />

inventory replenishment, and then we extend the acrosschain<br />

cooperation model to the dual-replenishment<br />

policy on both manufacturers and retailers to enhance<br />

more pr<strong>of</strong>it. The study shows the pr<strong>of</strong>its <strong>of</strong> the total<br />

supply chains and their nodes will increase step by step


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2741<br />

when competition transforms into cooperation, single<br />

replenishment policy transforms into dual-replenishment<br />

policy. Owing to the continuous improvement <strong>of</strong> the<br />

demand, the fluctuation <strong>of</strong> inventory changes a lot and<br />

inventory cost also increases. From simulation results,<br />

we can see that replenishment may not occur at the same<br />

time is consistent with reality. The improved model can<br />

be furtherly used to analyze many supply chain policy<br />

and answer questions about the operation <strong>of</strong> supply<br />

chains, using total supply chain pr<strong>of</strong>it as the measure <strong>of</strong><br />

performance. The model can furtherly be tailored and<br />

used in a wide range <strong>of</strong> manufacture supply chains. Thus,<br />

it may be proved useful to policy-makers/regulators, and<br />

decision-makers disposing a wide spectrum <strong>of</strong> strategic<br />

supply chain management issues.<br />

REFERENCES<br />

[1] Rice J B, HOPPE R M. Supply chain vs. supply chain: the<br />

hype and the reality[J]. Supply Chain Management<br />

Review,2011.22(5):47–54.<br />

[2] Christopher M. Logistics and supply chain management:<br />

strategies for reducing cost and improving service[M].<br />

London: Financial Times Press, 1999: 5–25.<br />

[3] Barnes D. Competing supply chain are the future[N].<br />

Financial Times, 2006,11–08(8).<br />

[4] Beamon B M. Supply chain design and analysis: models<br />

and methods[J]. International <strong>Journal</strong> <strong>of</strong> Production<br />

Economics, 1998, 55(3): 281–294.<br />

[5] Cachon H. Competitive and cooperative inventory policies<br />

in a two-stage supply chain[J]. Management Science,<br />

1999, 45(7): 936–952.<br />

[6] Cachon G P. Stock wars: Inventory competition in a twoechelon<br />

supply chain with multiple retailers[J]. Operations<br />

Research, 2001,49(5):658–674.<br />

[7] Cachon G P. Supply chain coordination with contracts:<br />

Handbooks in Operations Research and Management<br />

Science: Supply Chain Management[M]. North Holland:<br />

Elsevier Publishing, 2003: 229–239.<br />

[8] Towill D R. Decoupling for supply chain competitiveness<br />

[J]. IEE Manufacturing Engineering, 2005,84(1) :36–39.<br />

[9] Bernstein F, Federgruen A. Decentralized supply chain<br />

competing retailers demand uncertainty[J]. Management<br />

Science, 2005, 51(1):18–29.<br />

© 2012 ACADEMY PUBLISHER<br />

[10] Bernstein F, Federgruen A. Dynamic inventory and<br />

pricing Models for competing retailers[J]. Naval Research<br />

Logistics, 2004, 51(2) 258–274.<br />

[11] Bernstein F, Federgruen A. Pricing and replenishment<br />

strategies in a distribution system with competing<br />

retailers[J]. Operations Research, 2003, 51(3):409–426.<br />

[12] Bernstein F, Federgruen A. Coordination mechanisms for<br />

supply chains under price and service competition.<br />

Working Paper, 2003<br />

[13] Zhang D, Dong J. A supply chain network economy:<br />

modeling and qualitative analysis [A]. In: Anna Nagurney,<br />

Innovations in financial and economic networks [M],<br />

Edward Elgar Publishing Inc, 2003.<br />

[14] Zhang D. A network economic model for supply chain<br />

versus supply chain competition[J]. Omega: The<br />

International <strong>Journal</strong> <strong>of</strong> Management Science, 2006 ,34(3),<br />

283–295.<br />

[15] Xiao T J, YANG D Q. Price and service competition <strong>of</strong><br />

supply chains with risk-averse retailers under demand<br />

uncertainty[J]. International <strong>Journal</strong> <strong>of</strong> Production<br />

Economics, 2008,114(1): 187–200.<br />

Shidi Miao(1979- )(Tel.: +8613796092201,+86045186397007)<br />

is Lecturer at Department <strong>of</strong> S<strong>of</strong>tware Engineering at School <strong>of</strong><br />

S<strong>of</strong>tware in Harbin University <strong>of</strong> Science and Technology in<br />

China. He received the master’s degree in computer application<br />

technology and is reading a doctorate in management science<br />

and engineering. His research interests are in supply<br />

management and system dynamics applications. He teaches<br />

Oracle database, ERP, Electronic Commerce and s<strong>of</strong>tware<br />

project management.<br />

Chunxian Teng(1947-)(Tel.:+86045186390845) is pr<strong>of</strong>essor at<br />

the college <strong>of</strong> management in Harbin University <strong>of</strong> Science and<br />

Technology in China. He is Ph.D. supervisor in supply<br />

management and system analysis and optimization. Currently<br />

He is the director <strong>of</strong> the System Engineering Research Institute<br />

in Harbin University <strong>of</strong> Science and Technology.<br />

Lu Zhang(1986-)(zhanglu-sunny@hotmail.com) is operator <strong>of</strong><br />

China national <strong>of</strong>fshore oil corporation hui zhou refinery.She<br />

received the master’s degree in management science and<br />

engineering.


2742 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Audio Error Concealment Based on Wavelet<br />

Decomposition and Reconstruction<br />

Fei Xiao, Hexin Chen and Yan Zhao<br />

School <strong>of</strong> Communication Engineering, Jilin University, Changchun, China<br />

Email: xia<strong>of</strong>ei200411@163.com, {chx, zhao_y}@jlu.edu.cn<br />

Abstract—The algorithm <strong>of</strong> wavelet decomposition and<br />

reconstruction are applied in the audio error concealment<br />

method in this paper. When there is lost frame <strong>of</strong> the audio<br />

signal, the correct frames which lie before and after the lost<br />

frame are wavelet decomposed firstly. Then the two sets <strong>of</strong><br />

the wavelet coefficients obtained from the wavelet<br />

decomposition are utilized to get the wavelet coefficients for<br />

the lost frame. Finally the concealment <strong>of</strong> the lost frame is<br />

completed by the wavelet coefficients reconstruction.<br />

Comparing to the performance <strong>of</strong> the traditional audio<br />

concealment algorithm, the proposed method is better for<br />

audio frame reconstruction.<br />

Index Terms—error concealment, audio, wavelet, MALLAT,<br />

CELP<br />

I. INTRODUCTION<br />

People living in the environment <strong>of</strong> a variety <strong>of</strong> sounds,<br />

language conveys information in social communication<br />

activities and the music expresses the feelings <strong>of</strong> the<br />

people. So the sound has a dual nature, one is objective<br />

reality and the other is subjective feeling <strong>of</strong> reflection.<br />

When the compressed audio signal is lost during the<br />

process <strong>of</strong> storage or transmission, the use <strong>of</strong> audio error<br />

concealment (EC) to deal with the loss <strong>of</strong> audio signal is<br />

necessary. The audio error concealment technique makes<br />

use <strong>of</strong> the short-term stable characteristics <strong>of</strong> the audio<br />

signal, combining with characteristics <strong>of</strong> human auditory<br />

system to cover up audio compression data which has<br />

some decoding errors caused by damaged storage media<br />

and transmission channel errors in order to improve the<br />

audio playback quality.<br />

So far, researchers have put forward many techniques<br />

for dealing with the lost audio, such as waveform<br />

substitution, which refers to reconstruction <strong>of</strong> missing<br />

packets by substitution <strong>of</strong> past waveform segments and<br />

concludes pattern matching and pitch detection [1][2].<br />

Another type <strong>of</strong> audio error concealment algorithm<br />

constructs audio packets at the receiver which need<br />

parameters from the encoder based on CELP to complete<br />

the process <strong>of</strong> concealment [3]. Because this method<br />

derives the encoder state from packets surrounding the<br />

loss and generate a replacement for the lost packet from<br />

Corresponding author: Yan Zhao;<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2742-2748<br />

that, so this process is complex to implement but can give<br />

good results. An error concealment algorithm focus on<br />

the reconstruction <strong>of</strong> the linear predictive coding (LPC)<br />

coefficients which represents the short-term spectral<br />

information <strong>of</strong> speech within a frame and preserving<br />

them plays a major role in the quality <strong>of</strong> the reconstructed<br />

speech [4].<br />

Based on previous studies, when the short-term<br />

stability <strong>of</strong> the audio signal is invalid or the waveform <strong>of</strong><br />

the audio signal is non-repetitive, the results <strong>of</strong> some<br />

methods are not satisfactory to reconstruct the loss <strong>of</strong> the<br />

audio signal. Therefore in this paper, an audio error<br />

concealment algorithm based on wavelet decomposition<br />

and reconstruction is proposed to improve the concealed<br />

audio quality.<br />

II. BASIC THEORY OF WAVELET DECOMPOSITION AND<br />

RECONSTRUCTION<br />

MALLAT algorithm which is based on the compactly<br />

supported wavelet <strong>of</strong> DAUBECHIES is used in the<br />

proposed method to decompose and reconstruct the audio<br />

signal.<br />

A. MALLAT Algorithm<br />

Let { V j}<br />

be a given multi-resolution analysis scale<br />

space, f ∈ V ( J J is a definite integer) is an arbitrary<br />

1 1<br />

signal, which has the following wavelet decomposition<br />

[5].<br />

where:<br />

Define:<br />

Then:<br />

f () t = A f () t = A f() t + D f () t (1)<br />

J1 J1+ 1 J1+<br />

1<br />

∞<br />

A f() t = ∑ C ϕ<br />

(2)<br />

J1+ 1 J1+ 1, m J1+ 1, m<br />

m=−∞<br />

D f() t d ψ<br />

∞<br />

= ∑ (3)<br />

J1+ 1 J1+ 1, m J1+ 1, m<br />

m=−∞<br />

H = ( H ) = ( h ), G = ( G ) = ( g ) (4)<br />

mk , k−2 m mk , k−2m C = HC , d = GC (5)<br />

J1+ 1 J1 J1+ 1 J1


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2743<br />

Similarly, there is:<br />

where<br />

C 0<br />

G<br />

H<br />

d 1<br />

C 1<br />

H H H H<br />

L<br />

C C<br />

2<br />

N−1<br />

CN<br />

G G G<br />

d d 2 3 d N<br />

Figure 1. MALLAT decomposition<br />

G<br />

H<br />

G<br />

H<br />

G<br />

H<br />

L<br />

L<br />

Figure 2. Flow chart for wavelet decomposition <strong>of</strong> the audio signal<br />

J2<br />

f () t = A f() t + ∑ D f() t (6)<br />

2<br />

1 1<br />

J j<br />

j= J +<br />

C = HC , d = GC , j= J , J + 1,..., J (7)<br />

j+ 1 j j+ 1 j 1 1 2<br />

This is the MALLAT pyramid decomposition<br />

algorithm, where Af j is called the continuous<br />

approximation <strong>of</strong> f under the resolution 2 j [5]. The<br />

discrete approximation signal C passes through the<br />

j−<br />

1<br />

filter H and obtains the discrete approximation signal j C<br />

under the resolution 2 j , and the discrete detail signal<br />

C passing through the filter G<br />

−<br />

d can be obtained by j<br />

j 1<br />

under the resolution 2 j<br />

. MALLAT wavelet<br />

decomposition is shown in Fig. 1. Obviously, the inverse<br />

process <strong>of</strong> the wavelet decomposition is valid. MALLAT<br />

reconstruction algorithm is [5]:<br />

C = H C + G d , j = J −1, J − 2,..., J (8)<br />

* *<br />

j j+ 1 j+<br />

1 2 2 1<br />

*<br />

*<br />

where H and G are the dual operators <strong>of</strong> H and G<br />

respectively [5].<br />

B. Wavelet Decomposition <strong>of</strong> the Audio Signal<br />

The wavelet decomposition method is applied to the<br />

audio signal. According to (7) <strong>of</strong> MALLAT<br />

decomposition, the smooth version (averages) <strong>of</strong> the<br />

audio signal can be got by the role <strong>of</strong> H and the detail<br />

version (details) <strong>of</strong> the audio signal can be got by the role<br />

<strong>of</strong> G . Then the smooth version is further wavelet<br />

transformed to get the smoother version and a more<br />

detailed version. Wavelet decomposition process <strong>of</strong> the<br />

audio signal is shown in Fig.2 [6].<br />

© 2012 ACADEMY PUBLISHER<br />

The compactly supported wavelet which is called<br />

DAUBECHIES is used to decompose and reconstruct the<br />

audio signal. In the finite length FIR filter,<br />

DAUBECHIES wavelet function has the greatest<br />

regularity, so the waveform <strong>of</strong> the wavelet is relatively<br />

smooth and its time-frequency localization characteristic<br />

is better [7]. Let H ( ω) be the Fourier transform <strong>of</strong> hn ( ) ,<br />

that is:<br />

j n<br />

H( ) h( n) e ω −<br />

ω = ∑ (9)<br />

After determining H ( ω ) , the scaling function hn and<br />

wavelet coefficients g can be obtained, which are<br />

n<br />

defined as [6]:<br />

n<br />

2N-1<br />

Nϕ() t = 2 ∑ hnϕ(2 t−n) (10)<br />

n=0<br />

2N-1<br />

Nψ() t = 2 ∑ gnϕ(2 t−n) (11)<br />

n<br />

n 2N−n−1 n=0<br />

g = ( − 1) h , n= 0,1, 2,..., 2N − 1 (12)<br />

Through the above operations, decomposed layers for<br />

high-frequency coefficients and the last layer <strong>of</strong> the low<br />

frequency coefficients can be obtained [6].<br />

C. Wavelet Reconstruction <strong>of</strong> the Audio Signal<br />

The reverse process <strong>of</strong> wavelet decomposition is the<br />

wavelet reconstruction <strong>of</strong> the audio signal. The<br />

decomposed high-frequency coefficients and lowfrequency<br />

coefficients can be used to reconstruct the<br />

audio signal.<br />

III. THE PROPOSED METHOD<br />

A. Overview<br />

The core idea <strong>of</strong> the proposed algorithm is the using <strong>of</strong><br />

wavelet function and MALLAT algorithm to perform<br />

wavelet decomposition <strong>of</strong> the audio signals near the lost<br />

frame. Then the wavelet coefficients <strong>of</strong> the audio signals<br />

near the lost frame are used to estimate the wavelet<br />

coefficients <strong>of</strong> the lost frame. Finally, the estimated<br />

wavelet coefficients are used for wavelet reconstruction<br />

to replace the lost signal to complete the audio signal<br />

recovery.<br />

Fig.3 shows the overall block diagram <strong>of</strong> the proposed<br />

method.<br />

The audio signal is assumed to have L frames in total.<br />

Two cases are considered in our experiments which are<br />

unilateral concealment and bilateral concealment. In the<br />

unilateral concealment, only old frames before the lost<br />

frame are used for concealing the lost frame. In the<br />

bilateral concealment, both old and future frames <strong>of</strong> the<br />

lost frame are used for error concealment.


2744 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

B. Unilateral Concealment <strong>of</strong> Wavelet Coefficients<br />

Assume the number <strong>of</strong> the lost frame is l , then the l− 1<br />

frame is decomposed by n layer wavelet decomposition<br />

and the corresponding wavelet coefficients,<br />

r<br />

g = ( a , d , d ,..., d ) can be<br />

l−1 ( l−1) n ( l−1) n ( l−1)( n−1) ( l−1)1<br />

obtained, where ( l 1) n<br />

d , d ,..., d<br />

a − is the smooth coefficient and<br />

( l−1) n ( l−1)( n−1) ( l−1)1<br />

are the detail coefficients.<br />

Similarly, the frames with number from 1 to l− 2 <strong>of</strong> the<br />

audio signal are decomposed respectively. Then the<br />

coefficients <strong>of</strong> every frame can be got and stored in the<br />

matrix C :<br />

⎡a1n d1n d1( n−1)<br />

... d11<br />

⎤<br />

⎢ ⎥<br />

a2n d2n d2( n−1)<br />

... d21<br />

C =<br />

⎢ ⎥ .<br />

⎢............................................... ⎥<br />

⎢ ⎥<br />

⎢⎣a( l−2) n d( l−2) n d( l−2)( n−1) ... d(<br />

l−2)1⎥⎦(<br />

l− 2) × ( n+<br />

1)<br />

The cross-correlation value ai, i = 1,2,..., l−2between<br />

r<br />

a( l−1) n in gl −1<br />

and ain, i = 1,2,..., l−<br />

2 obtained in C is<br />

calculated, which is further used to constitute a row<br />

r<br />

vector <strong>of</strong> A= ( a1, a2,..., al 3, al<br />

2) . To find the<br />

− − 1 × ( l−2)<br />

maximum value in A r and get the frame number m 1<br />

corresponding to the maximum, a ( m1+ 1) n is used as the<br />

wavelet coefficients <strong>of</strong> the corresponding lost frame.<br />

Same as above, the maximum values <strong>of</strong> all the detail<br />

d , d ,..., d<br />

, ,..., n, n<br />

d m2 n, d m3 n ,....., d mn , d mn+<br />

1<br />

coefficients ( l−1) n ( l−1)( n−1) ( l−<br />

1)1 are calculated,<br />

and in turn the frame numbers m2 m3 m m + 1are<br />

obtained, then ( + 1) ( + 1)( − 1) ( + 1)2 ( + 1)1<br />

are used as the substitute wavelet coefficients <strong>of</strong> the<br />

corresponding lost frame. At last the resulting<br />

r<br />

vector gl = ( a( m1+ 1) n, d( m2+ 1) n, d( m3+ 1)( n− 1) ,..., d ( m 1 1)1)<br />

n+<br />

+ is<br />

got. Using this vector as the wavelet coefficients<br />

corresponding to the lost frame <strong>of</strong> the audio signal, we<br />

can finally reconstruct the lost signal by wavelet<br />

reconstruction, thus complete the error concealment<br />

process.<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 3. Overall block diagram<br />

C. Bilateral Concealment <strong>of</strong> Wavelet Coefficients<br />

In this case, both old and future frames <strong>of</strong> the lost<br />

frame are used conceal the lost frame. For the old frames,<br />

the unilateral concealment method is used as above.<br />

While for the future frames, the following process is done.<br />

The l+ 1 frame are decomposed by n layer wavelet<br />

decomposition and the wavelet coefficients<br />

r<br />

gl+ 1 = ( a( l+ 1) n, d( l+ 1) n, d( l+ 1)( n− 1) ,..., d(<br />

l+<br />

1)1)<br />

can be obtained,<br />

and the frames with number from l + 2 to L <strong>of</strong> the audio<br />

signal are decomposed respectively, and then the<br />

coefficients <strong>of</strong> every frame can be got and stored in the<br />

matrix D :<br />

⎡a( l+ 2) n d( l+ 2) n d( l+ 2)( n− 1) ... d(<br />

l+<br />

2)1⎤<br />

⎢ ⎥<br />

⎢a( l+ 3) n d( l+ 3) n d( l+ 3)( n− 1) ... d(<br />

l+<br />

3)1 ⎥<br />

D = .<br />

⎢............................................... ⎥<br />

⎢ ⎥<br />

⎢<br />

⎣aLn dLn dL( n−1) ... d ⎥ L1<br />

⎦(<br />

L−− l 1) × ( n+<br />

1)<br />

The cross-correlation value<br />

r<br />

bj, j = l+ 2, l+ 3,..., L between a in ( l+ 1) n g and l+<br />

1<br />

a , j = l+ 2, l+ 3,..., L obtained in D is computed,<br />

jn<br />

which is used to constitute a row vector <strong>of</strong><br />

r<br />

B = ( b , b ,..., b ) . The maximum value in B r<br />

l+ 2 l+ 3 L 1 × ( L−l−1) and its corresponding frame number p1 can be<br />

determined. Then<br />

a − is used as the wavelet<br />

( p11) n<br />

coefficient <strong>of</strong> the corresponding lost frame. Similarly, the<br />

maximum values <strong>of</strong> all the detail<br />

coefficients d( l+ 1) n, d( l+ 1)( n− 1) ,..., d(<br />

l+<br />

1)1 are calculated,<br />

and in turn the frame numbers p2, p3,..., pn, p n+<br />

1 can be<br />

obtained. Then d( p2−1) n, d( p3−1)( n−1) ,....., d( p 1)2 ,<br />

n− d ( pn+<br />

1−<br />

1)1<br />

are used as the wavelet coefficients <strong>of</strong> the corresponding<br />

lost frame. At last the resulting vector<br />

r<br />

Gl = ( a( p1−1) n, d( p2−1) n, d( p3−1)( n−1) ,..., d ( p 1 1)1)<br />

can be got,<br />

n+<br />

−<br />

v v v<br />

and then G = (2* gl + Gl)/3is<br />

calculated. Using vector<br />

G v as the wavelet coefficients corresponding to the lost<br />

frame <strong>of</strong> the audio signal, and the lost signal is finally<br />

reconstructed by the process <strong>of</strong> wavelet reconstruction,<br />

thus completing the error concealment process.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2745<br />

IV. EXPERIMENTAL RESULTS<br />

In order to evaluate the performance <strong>of</strong> the proposed<br />

method, we test the proposed method in both the<br />

waveform coding system and the parameter coding<br />

system. Test audio sequences with different features are<br />

used in our experiments. The type <strong>of</strong> wavelet function<br />

used in our experiments is DAUBECHIES wavelet.<br />

A. Results in the Waveform Coding<br />

The first part gives the results <strong>of</strong> the proposed method<br />

comparing with the original audio error concealment<br />

based on pattern matching [2]. Without loss <strong>of</strong> generality,<br />

we assume a data packet is constituted <strong>of</strong> a frame signal<br />

in our experiments, so the packet loss rate is the frame<br />

error rate (FER). The recovery effect <strong>of</strong> the audio signal<br />

is measured by SNR (signal-to-noise ratio) [8].<br />

Firstly, the pure background music signal is used as the<br />

test sequence, which sampling frequency is 8kHz. Each<br />

frame has 160 sampling values and the length <strong>of</strong> each<br />

frame is 20ms. The method based on pattern matching<br />

uses 80 samples for the template. The wavelet<br />

decomposition level is 3.<br />

Table 1 gives the SNR results <strong>of</strong> the concealed audio<br />

signal under different FER (Frame Error Rate). From<br />

Table 1, we can see that the proposed method has much<br />

higher SNR than that <strong>of</strong> the pattern matching method in<br />

[2] for both bilateral concealment and unilateral<br />

concealment under all five different FERs. The results in<br />

Table 1 also show that the recovery quality <strong>of</strong> the<br />

background music using bilateral concealment is better<br />

than that <strong>of</strong> using unilateral concealment because more<br />

adjacent information has been utilized in the bilateral<br />

concealment.<br />

Fig. 4 shows the comparison curves <strong>of</strong> using different<br />

methods. It is obvious to see that the concealed audio<br />

qualities are all improved under different FER comparing<br />

to the pattern matching method in [2].<br />

Secondly, the music is used as the test sequence, which<br />

sampling frequency is 16kHz. Each frame has 640<br />

sampling values and the length <strong>of</strong> each frame is 40ms.<br />

TABLE I.<br />

SNR(DB) FOR THE PURE BACKGROUND MUSIC<br />

FER<br />

SNR(dB)<br />

(%) Bilateral Unilateral D.Goodman’s<br />

concealment concealment Method in [2]<br />

2 24.199 22.439 19.775<br />

5 19.449 18.879 10.611<br />

8 15.838 14.733 9.3641<br />

10 14.478 12.809 9.3382<br />

15 13.238 11.533 6.1407<br />

© 2012 ACADEMY PUBLISHER<br />

SNR(dB)<br />

25<br />

22<br />

19<br />

16<br />

13<br />

10<br />

The number <strong>of</strong> samples in the template is 160. The<br />

wavelet decomposition level is 3. The concealment<br />

results are shown in Table 2 and Fig.5. From Table 2 and<br />

Fig. 5, show that the recovery effect <strong>of</strong> using the<br />

proposed method is also better than that <strong>of</strong> using the<br />

pattern matching method for music under different FERs.<br />

Comparing the data in Table 2 with the data in Table 1,<br />

we can see also that the recovery results for pure<br />

background music are better than those for music due to<br />

more correlation existing in the pure background music.<br />

SNR(dB)<br />

7<br />

4<br />

19<br />

16<br />

13<br />

10<br />

7<br />

4<br />

2 5 8 10 15<br />

FER(%)<br />

Bilateral concealment Unilateral concealment D.Goodman's Method in [2]<br />

Figure 4. Comparison <strong>of</strong> different methods in SNR for pure<br />

background music<br />

TABLE II<br />

SNR(DB) FOR THE MUSIC<br />

FER<br />

(%)<br />

Bilateral<br />

concealment<br />

SNR(dB)<br />

Unilateral<br />

concealment<br />

D.Goodman’s<br />

Method in [2]<br />

1 17.243 17.183 15.854<br />

2 15.691 15.362 13.942<br />

3 15.086 14.605 13.290<br />

5 12.072 11.746 11.142<br />

10 7.9959 7.4146 7.9177<br />

1 2 3 5 10<br />

FER(%)<br />

Bilateral concealment Unilateral concealment D.Goodman Method in [2]<br />

Figure 5. Comparison <strong>of</strong> different methods in SNR for music


2746 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Finally, the speech signal with sampling frequency<br />

16kHz is used as the test sequence. Each frame has 320<br />

sampling values. The length <strong>of</strong> each frame is 20ms. The<br />

number <strong>of</strong> samples in the template is 160. The wavelet<br />

decomposition level is 3. The concealment results are<br />

shown in Table 3 and Fig.6.<br />

From Table 3 and Fig.6, we can see that the method in<br />

this paper improves the quality <strong>of</strong> the audio signal on the<br />

value <strong>of</strong> SNR comparing with the method based on<br />

pattern matching [2]. And the bilateral concealment is<br />

better than the unilateral concealment in most cases.<br />

It is obvious to see in Fig. 6 that the recovery quality<br />

<strong>of</strong> using the proposed method is much improved<br />

comparing to the pattern matching method when the FER<br />

increases. The test sequence here is the speech signal,<br />

therefore there may exist pause when communicating<br />

between two persons. The method <strong>of</strong> pattern matching is<br />

to find the matching samples before the lost frame, and<br />

the searching range is limited. If the amplitude <strong>of</strong> the<br />

speech signal is weak in the searching range, the<br />

matching results will be very poor. While the proposed<br />

method makes use <strong>of</strong> two adjacent frames, which may<br />

have strong correlation with the lost frame, to conceal the<br />

lost frame to get improved recovery results.<br />

SNR(dB)<br />

16<br />

15<br />

14<br />

13<br />

12<br />

11<br />

10<br />

9<br />

TABLE III<br />

SNR(DB) FOR THE SPEECH AS FER CHANGED<br />

FER<br />

(%) Bilateral<br />

concealment<br />

SNR(dB)<br />

Unilateral<br />

concealment<br />

D.Goodman’s<br />

Method in [2]<br />

1 15.365 15.365 15.251<br />

2 15.153 15.155 14.815<br />

3 15.058 15.066 14.730<br />

5 11.545 11.535 10.070<br />

10 10.989 10.981 9.1442<br />

1 2 3 5 10<br />

FER(%)<br />

Bilateral concealment Unilateral concealment D.Goodman's Method in [2]<br />

Figure 6. Comparison <strong>of</strong> different methods in SNR for speech signal<br />

© 2012 ACADEMY PUBLISHER<br />

B. Results in the Parameter Coding<br />

The second part <strong>of</strong> our experiments present the results<br />

<strong>of</strong> the proposed method comparing with the CELP-based<br />

audio error concealment technique [3]. The CELP-based<br />

audio error concealment techniques use a number <strong>of</strong><br />

characteristic parameters <strong>of</strong> the audio signal to recover<br />

the lost audio, so restoration <strong>of</strong> the audio waveform is<br />

biased and the recovery results measured by SNR value<br />

are not accurate. In this case, PESQ (Perceptual<br />

Estimation <strong>of</strong> Speech Quality) is <strong>of</strong>ten used to measure<br />

the recovery effect <strong>of</strong> the audio [9].<br />

Using the background sound signal for the test<br />

sequence, which sampling frequency is 16kHz and the<br />

length <strong>of</strong> each frame is 20ms. Table 4 and Fig.7 give the<br />

comparison results <strong>of</strong> the proposed method and M.<br />

Chibani’s method [3] in PESQ. From Table 4 and Fig.7,<br />

we can see that the proposed method has better<br />

concealment results than M. Chibani’s method under<br />

different FER and the bilateral concealment is better than<br />

the unilateral concealment in most cases. For the special<br />

case, when FER=1% the unilateral concealment is better<br />

than the bilateral concealment, because the lost signal is<br />

more similar to the previous samples.<br />

PESQ<br />

FER<br />

(%)<br />

4.2<br />

3.9<br />

3.6<br />

3.3<br />

3<br />

2.7<br />

2.4<br />

2.1<br />

TABLE IV<br />

PESQ UNDER DIFFERENT FER<br />

Bilateral<br />

concealment<br />

PESQ<br />

Unilateral<br />

concealment<br />

1 5 10 15 20<br />

FER(%)<br />

M.Chibani’s<br />

Method in<br />

[3]<br />

1 4.1581 4.1807 3.6821<br />

5 4.1513 3.2195 2.9083<br />

10 3.2072 3.1100 2.8060<br />

15 3.0433 2.9181 2.7699<br />

20 3.0323 2.9120 2.7664<br />

Bilateral concealment Unilateral concealment M.Chibani's Method in [3]<br />

Figure 7. Comparison <strong>of</strong> different methods in PESQ


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2747<br />

C. Results <strong>of</strong> Using Different Decomposition Level<br />

The above two parts give the experimental results <strong>of</strong><br />

audio error concealment algorithm based on wavelet<br />

decomposition and reconstruction comparing with the<br />

existing audio error concealment methods. The<br />

experiments are done with fixed wavelet decomposition<br />

level. Wavelet decomposition level, as a factor, is going<br />

to affect the recovery <strong>of</strong> the audio quality. Therefore<br />

selecting a suitable Wavelet decomposition level is<br />

important. We choose the Wavelet decomposition level<br />

n according to experimental results.<br />

Take the background sound signal for the test sequence,<br />

which sampling frequency is 16kHz and the length <strong>of</strong><br />

each frame is 20ms. When the FER is 5%, SNR values<br />

vary for different n . The specific results are shown in<br />

Table 5 and Fig.8. Experimental data in Table 5 and the<br />

curves in Fig.8 illustrate that the maximum SNR value is<br />

got when the level n is 7. However, the larger the level<br />

is, the higher the computational complexity will be.<br />

Furthermore the SNR varies very little for different<br />

decomposition level n . Therefore, the best choice <strong>of</strong> the<br />

decomposition level is 3 considering both reconstruction<br />

quality and complexity.<br />

SNR(dB)<br />

20<br />

19<br />

18<br />

17<br />

V. CONCLUSIONS<br />

In this paper, we propose an audio error concealment<br />

algorithm based on the wavelet decomposition and<br />

reconstruction. This algorithm includes two cases which<br />

TABLE V<br />

SNR(DB) WITH DIFFERENT n (FER=5%)<br />

n<br />

SNR(dB)<br />

Bilateral Unilateral<br />

concealment concealment<br />

3 19.449 18.879<br />

5 19.359 18.709<br />

7 19.491 18.887<br />

9 19.335 18.497<br />

11 19.339 18.497<br />

3 5 7 9 11<br />

n<br />

Bilateral concealment Unilateral concealment<br />

Figure 8. Comparison <strong>of</strong> using different n<br />

© 2012 ACADEMY PUBLISHER<br />

are unilateral concealment and bilateral concealment<br />

respectively.<br />

The proposed algorithm uses the information from the<br />

old frames or both the old and future frames <strong>of</strong> the lost<br />

frame to conceal the lost frame. Comparing with the<br />

traditional audio error concealment algorithms, it can get<br />

more related information about the lost frame. In addition,<br />

the proposed algorithm can be used in both the waveform<br />

coding system and the parameter coding system.<br />

Therefore it can be widely used.<br />

The experimental results show that the proposed<br />

algorithm works better to recover the lost audio signal<br />

than the traditional methods. The value <strong>of</strong> SNR and<br />

PESQ <strong>of</strong> the reconstructed audio signal are improved.<br />

Experimental results also show that the bilateral treatment<br />

in the wavelet coefficients to restore the lost audio signal<br />

is better than the unilateral treatment in most cases.<br />

However, the bilateral concealment method may bring a<br />

little delay which is not suitable for strict real-time<br />

application, such as interactive audio.<br />

In general the algorithm proposed in this paper has<br />

reached the expected recovery effect <strong>of</strong> the audio signal.<br />

ACKNOWLEDGMENT<br />

This work was supported by the project <strong>of</strong> National<br />

Natural Science Foundation <strong>of</strong> China under Grant<br />

60832002, 61171078 and in part by the Research Fund<br />

for Doctorial Program <strong>of</strong> Higher Education <strong>of</strong> China<br />

under Grant 20110061110084 and the Outstanding Youth<br />

Foundation <strong>of</strong> Jilin University under Grant 200905018.<br />

REFERENCES<br />

[1] O.J.Wasem, D.J.Goodman, C.A.Dvorak and H. G. Page,<br />

“The effect <strong>of</strong> waveform substitution on the quality <strong>of</strong><br />

PCM packet communications”. IEEE Transactions on<br />

Acoustics, Speech, and Signal Processing, vol.36, no. 3, pp.<br />

342-348, Mar. 1988.<br />

[2] D. Goodman, G.Lockhart and W.C.WONG, “Waveform<br />

Substitution Techniques for Recovering Missing Speech<br />

Segments in Packet Voice Communications”, IEEE<br />

Transactions on Acoustics, Speech, and Signal Processing,<br />

vol.34, pp.1440, Dec. 1986.<br />

[3] Mohanmd Chibani, Roch Lefebver, Philippe Gourrnay,<br />

“Fast Recovery for a CELP-Like Speech Codec After a<br />

Frame Erasure”, IEEE Transactions on Audio, Speech, and<br />

Language Processing, vol.15, no.8, pp.2485-2495, 2007<br />

[4] Farshad, Lahouti, K.Khandani, “S<strong>of</strong>t Reconstruction <strong>of</strong><br />

Speech in the Presence <strong>of</strong> Noise and Packet Loss”, IEEE<br />

Transactions on Audio, Speech and Language Processing,<br />

vol.15, pp.44, Jan. 2007.<br />

[5] Dongmei He, Wen Gao, “Complexity Scalability Audio<br />

Coding Algorithm Based on Wavelet Packet<br />

Decomposition”, IEEE International Conference on Signal<br />

Processings, pp.659, 2000.<br />

[6] Pramila Srinivasan, Leah H.Jamieson, “High-Quality<br />

Audio Compression Using an Adaptive Wavelet Packet<br />

Decomposition and Psychoacoustic Modeling”, IEEE<br />

Transaction On Signal Processing, vol.46, pp.1085,<br />

Apr.1998.<br />

[7] Fang Chen, Wei Li, Xiaoqiang Li., “Audio quality-based<br />

authentication using wavelet packet decomposition and<br />

best tree selection”, International Conference on


2748 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Intelligent Information Hiding and Multimedia Signal<br />

Processing, pp.1265, August.2008.<br />

[8] Nurgun Erdol, Claude Castelluccia and Ali Zilouchian,<br />

“Recovery <strong>of</strong> Missing Speech Packets Using the Short-<br />

Time Energy and Zero-Crossing Measurements”, IEEE<br />

Transactions on Speech and Audio Processing, vol.1,<br />

pp.295, Jul.1993.<br />

[9] Antony W. Rix, John G.beerends, Michanel P. Hollier, et<br />

al., “Perceptual evaluation <strong>of</strong> speech quality(PESQ)-a new<br />

method for speech quality assessment <strong>of</strong> telephone<br />

networks and codecs”, IEEE International Conference on<br />

Acoustics, Speech and Signal Processing, pp.749-752, May<br />

2001.<br />

Fei Xiao was born in Ha’erbin, China,<br />

in 1985. She received the B.S. degree<br />

from Jilin University in 2008. She is<br />

now pursuing her M.S degree in<br />

School <strong>of</strong> Communication<br />

Engineering, Jilin University, China.<br />

Her research interests include audio<br />

signal processing, error concealment<br />

and digital video processing.<br />

Hexin Chen was born in Jilin,<br />

China, in 1949. He received the M.S.<br />

and Ph.D. degrees in<br />

communication and electronic in<br />

1982 and 1990 from Jilin University<br />

<strong>of</strong> Technology, respectively.<br />

He has been a visiting scholar in the<br />

University <strong>of</strong> Alberta from 1987 to<br />

1988. From Feb.1993 to Aug.1993,<br />

he was a visiting pr<strong>of</strong>essor in<br />

Tampere University <strong>of</strong> Technology<br />

in Finland. He currently is a pr<strong>of</strong>essor <strong>of</strong> communication<br />

engineering. His research interests include image and video<br />

coding, multidimensional signal processing, image and video<br />

retrieval and audio and video synchronization.<br />

© 2012 ACADEMY PUBLISHER<br />

Yan Zhao was born in Jilin, China,<br />

in 1971. She received the B.S. degree<br />

in communication engineering in<br />

1993 from Changchun Institute <strong>of</strong><br />

Posts and Telecommunications, the<br />

M.S. degree in communication and<br />

electronic in 1999 from Jilin<br />

University <strong>of</strong> Technology, and the<br />

Ph.D. degree in communication and<br />

information system in 2003 from Jilin<br />

University.<br />

She has been a postdoc researcher in the Digital Media<br />

Institute <strong>of</strong> Tampere University <strong>of</strong> Technology in Finland from<br />

Mar.2003 to Dec.2003. From Mar. 2008 to Aug.2008, she was a<br />

visiting pr<strong>of</strong>essor in the Institute <strong>of</strong> Communications and Radio-<br />

Frequency Engineering in the Vienna University <strong>of</strong> Technology.<br />

She currently is an associate pr<strong>of</strong>essor <strong>of</strong> communication<br />

engineering. Her research interests include image and video<br />

coding, multimedia signal processing and err-or concealment<br />

for audio and video transmitted over unreliable networks.<br />

Dr. Zhao is a member <strong>of</strong> IEEE.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2749<br />

Reputation Based Academic Evaluation in a<br />

Research Platform<br />

Kun Yu<br />

Department <strong>of</strong> Computer Engineering, Huaiyin Institute <strong>of</strong> Technology, Huaian, Jiangsu, China<br />

Email: varguard@yeah.net<br />

Jianhong Chen<br />

Department <strong>of</strong> Computer Engineering, Huaiyin Institute <strong>of</strong> Technology, Huaian, Jiangsu, China<br />

Email: chenjianhong@hyit.edu.cn<br />

Abstract—Researchers have to face with huge<br />

information in their daily works. It is hard for them to<br />

screening for valuable information from huge volume<br />

<strong>of</strong> data. Reputation <strong>of</strong> literatures, publications, or<br />

scholars can help the researches to relieve their puzzle<br />

and advance their research ability. In this paper, the<br />

problem <strong>of</strong> screening is presented in a realized<br />

research platform. Reputation is modeled by<br />

synthesizing four elements: literature, author, source<br />

and reader. The perceptible interactions, such as<br />

reference, comment and P2P communication is<br />

considered to be the relationships between each pair<br />

<strong>of</strong> elements and help improve the accuracy <strong>of</strong><br />

reputation. The reputation we build is similar to<br />

impact factor and PageRank, but it is more complex<br />

and is expected to be more robust in realistic<br />

environments, which has been proved by simulations.<br />

An iterative algorithm is introduced to evaluate<br />

reputation in a distributed mode. Simulations prove<br />

the practicality and effectiveness <strong>of</strong> the scheme we<br />

have proposed.<br />

Index Terms—academic evaluating; reputation model;<br />

impact factor<br />

I. INTRODUCTION<br />

Recently researchers can benefit from remarkable<br />

development <strong>of</strong> computer science and communication<br />

technology, and must face with new problem brought<br />

about by information explosion. It involves in the rapid<br />

increase <strong>of</strong> papers, web pages and other new media.<br />

Science research becomes more convenient but and more<br />

difficult. How to find the most appropriate information is<br />

becoming a key factor for the success <strong>of</strong> research[1].<br />

Traditionally, face-to-face interactions are the most<br />

common and believable way to gain knowledge and clues<br />

for next step <strong>of</strong> research. Direct talk plays the role <strong>of</strong><br />

content sifter. But the speed <strong>of</strong> knowledge propagation is<br />

slow and limits the efficiency <strong>of</strong> research output. New<br />

computer and communication technologies, such as BBS,<br />

Email, instant communication and WWW, facilitate<br />

knowledge acquisition in modern studies. A main way to<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2749-2754<br />

gain new knowledge in academic research is through<br />

reading scientific documents, which can be easily got<br />

from online databases. In the meantime, researchers can<br />

exchange their ideas through Email, BBS or other internet<br />

tools. It may demonstrate great advantage over traditional<br />

methods if researchers can easily get the information they<br />

indeed need.<br />

Reputation or rank is usually efficient to help them to<br />

choice the most suitable content. Among the applications<br />

<strong>of</strong> this kind, impact factor[2] and PageRank[3] are maybe<br />

the most famous two, which have been used widely. Not<br />

by chance, both them use a similar algorithm that regards<br />

the relationship between two elements as a<br />

recommendation which finally contributes to reputation<br />

<strong>of</strong> the receptor. In impact factor algorithm, references<br />

play this role and in PageRank, hyperlinks do so.<br />

However, in both reputation models, recommendations is<br />

only belong to single class, that is to say, each<br />

recommendation has only its weight, but without any<br />

difference in importance. For example in impact factor,<br />

the citation <strong>of</strong> a paper brings a weighted recommendation<br />

to the paper that only depend on the IF <strong>of</strong> the journal the<br />

paper is published on. As we will see in next section, it is<br />

not always true when more factors are taken into<br />

considered. In those cases, the recommendation is not<br />

only about the importance <strong>of</strong> the referrer, but the class <strong>of</strong><br />

the recommendation. The multi-dimensional reputation<br />

makes it possible to introduce more clues to evaluate<br />

reputation more exactly.<br />

In this paper, we developed a cooperative research<br />

platform, CRP. The platform helps researchers and<br />

learners to meet their need with the least effort. The<br />

system includes a research forum and a P2P<br />

communication tool. Literature indexes and user<br />

comments are the main part <strong>of</strong> the research forum. And<br />

P2P tool can facilitate the exchange <strong>of</strong> ideas and reviews<br />

about a paper or a research work. So there are many clues<br />

<strong>of</strong> the relationship <strong>of</strong> any two elements, such as comment,<br />

access times and friend list in P2P tool. Friend list is extra<br />

important because it implies the evaluation directly to<br />

someone else without the shortage <strong>of</strong> the bias <strong>of</strong> review<br />

articles, and includes some factors that does not directly


2750 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

affect academic value, but are about interest similarity,<br />

reliability, participation degree, and incentive mechanism.<br />

Searching is a key function <strong>of</strong> the platform, including<br />

paper search and user search. It combines keyword search<br />

with reputation to sort information by quality. A user can<br />

also searches for men who are suitable for his research<br />

field or his unsolved problem. Reciprocity and<br />

trustworthiness are also considered. The reputation is<br />

used to filter the users who cannot be trusted enough. The<br />

users with similar interests can be located based on their<br />

behaviors and the relationship network. In fact, searching<br />

provides an incentive method: the user with higher<br />

reputation will have more chance to take part in<br />

interaction and have more chance to be helped, so he is<br />

willing to contribute more to the system.<br />

II. BACKGROUND<br />

The Reputation is a metric <strong>of</strong> entity quality, which can<br />

only be evaluated by others who once interacted with this<br />

entity, directly or indirectly. The indirect interact is called<br />

recommendation. In academic research, the most<br />

representative reputation is SCI[2]. However, in calculate<br />

SCI, only periodicals and references are considered<br />

which can't distinguish different literatures <strong>of</strong> a same<br />

journal[4]. The distribution <strong>of</strong> IF isn’t even, so paper in<br />

some fields cannot have high IF that cumber the<br />

comparison between different domains[5]. In the past few<br />

years, several new measures has been put forward which<br />

provide the readers more choices than SCI to evaluate a<br />

paper [6].<br />

Usually, academic reputation are not judged based on<br />

single quantitative variable but through synthesizing<br />

multiple subjective indexes. The Index Copernicus<br />

Scientists[7] besides providing scientists with global<br />

scientists networking and international research<br />

collaboration, present a multi-parameter career<br />

assessment system which analyses the researcher<br />

individual pr<strong>of</strong>ile. <strong>Journal</strong> to Field Impact Score (JFIS) [8]<br />

developed an alternative system for the journal impact<br />

evaluation. Its source to compute index includes<br />

literatures, technical reports, notes and reviews. With<br />

extended data source, Castelnuovo focused on the<br />

reputation <strong>of</strong> simple researcher, which is called Single<br />

Researcher Impact Factor[9].<br />

PageRank [3,10] is a more efficient reputation<br />

evaluation algorithm which is initially used to web page<br />

ranking. Compared to impact factor which only takes<br />

citation times into considered, PageRank extends impact<br />

factor by introducing weighted links to improve the<br />

validity <strong>of</strong> the information recommendation[11]. Google<br />

Scholar is special application <strong>of</strong> PageRank in the<br />

academic field with a broader range <strong>of</strong> open data sources:<br />

books, technical reports etc. Popular journals such as<br />

review journals with little prestige could have a very high<br />

IF and a very low weighted PageRank. EngerTrust[12]<br />

models reputation by the concept <strong>of</strong> recommendation<br />

which is similar to hyperlink and citation. EngerTrust<br />

also weighs recommendation based on recommending<br />

credibility like the weighted citation analysis. Recently<br />

© 2012 ACADEMY PUBLISHER<br />

some new methods towards the reputation or trust model<br />

have proposed too[13][14].<br />

Recommender system[15] is a useful tool to help user<br />

to research or learn. Among those systems, reputation<br />

based method is a promising one which usually combines<br />

user reputation, bias, behavior model and relationship<br />

among different users to efficiently filter information and<br />

present the result satisfied the user’s demand.<br />

Recommendation is a strong incentive for users because<br />

better result can only be presented to the users <strong>of</strong> better<br />

reputation.<br />

Our scheme is a modified version <strong>of</strong> PageRank and<br />

EngerTrust and takes users, papers, comments and private<br />

relationship into reputation computation. All the data<br />

above can be easily obtained in the platform by<br />

systematic means. This paper will examine how to<br />

integrate multiply clues <strong>of</strong> different qualities into a<br />

complete reputation metric and discuss the feasible<br />

reputation evaluation algorithm. The detail <strong>of</strong> the<br />

academic platform is described firstly in next section.<br />

III. BASIC ACADEMIC RESEARCH PLATFORM<br />

The platform includes an academic forum and P2P<br />

user network. This forum is thought exchange platform<br />

for the researchers to study literatures. In this forum, each<br />

literature is a basic item and other researchers post replies<br />

to feed back personal assessments. In fact, the<br />

researchers’ explicit feedbacks can serve as a kind <strong>of</strong><br />

literature reputation, which can evaluate more accurate by<br />

combining impact factor <strong>of</strong> the source <strong>of</strong> the literature<br />

with the author's reputation, comments, comment<br />

reputation and so on.<br />

Fig. 1 Platform Structure<br />

This forum is a public platform for the researchers to<br />

exchange their ideas. Forum database stores literatures<br />

that have been formal published in journals or conference<br />

proceedings. Then other users can search for them and<br />

get the detail information about them from the web page<br />

<strong>of</strong> the platform. Users can also post comments <strong>of</strong><br />

personal opinions about articles or about the comments<br />

posted by other users. When a user posts a comment, he<br />

is enforced to mark the commented in the same time.<br />

Marks can be regard as the weight <strong>of</strong> recommendation.<br />

A user can use the P2P tool to directly communicate to<br />

another user if the later is willing to interact with him.<br />

This is a kind <strong>of</strong> private exchange that can only be seen<br />

by participators. However, it is very important for<br />

reputation evaluation because the user can evaluate the<br />

partner not only by the explicit reputation, but also by the


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2751<br />

personal judgment about the partner through reading the<br />

articles the partner has published and interaction history<br />

with him. So the judgment is usually more pertinent than<br />

calculated reputation.<br />

Reputation module is the core <strong>of</strong> the system which<br />

computes the reputation by interacting with multiple<br />

datasets and s<strong>of</strong>tware modules and stores the results in<br />

the reputation database, as shown in Fig. 2.<br />

Fig. 2 Modules and structure <strong>of</strong> the academic platform<br />

A search engine is employed to provide users with<br />

literature filter. The user needs to input key words and<br />

restrictive conditions firstly. The system works out<br />

literature list sorted by reputation then. When the user<br />

select one or more items to read, the system records the<br />

hits and the executor <strong>of</strong> each hit on background. Search<br />

and peer user selection use reputation data in reputation<br />

database. Search, comment and P2P communication<br />

apply network and user interaction module to transfer<br />

data and show the result on the screen.<br />

In order to improve the accuracy <strong>of</strong> reputation<br />

evaluation and relieve the cheat and malicious behaviors,<br />

user identification divided into two classes: the<br />

authorized and the unauthorized. The user <strong>of</strong> the<br />

authorized is the author <strong>of</strong> a formal published paper and<br />

has passed the email check: Firstly, the checker sends an<br />

authentication message to the email address which is the<br />

corresponding address <strong>of</strong> the paper; if the checker<br />

receives a reply from the address later, he labels the user<br />

authorized user. Otherwise, the user is a unauthorized one.<br />

IV. REPUTATION COMPUTATION ALGORITHM<br />

© 2012 ACADEMY PUBLISHER<br />

Fig.3 Reputation model<br />

The literature, user or comment each has its own<br />

reputation, but each is related to others and its reputation<br />

is depended on the others’ reputations, as shown in Fig.3,<br />

which is quite different to PageRank. The later has only<br />

one kind <strong>of</strong> element, web page. So the basic strategy is to<br />

compute local reputation firstly and to integrate them<br />

then. Iterate the process until each element reaches a<br />

Fig.4 Construction <strong>of</strong> recommendation relation graph<br />

stable status. P2P network is partly independent system,<br />

but it also contributes to reputation computing. Although<br />

users can gain their reputations only depending on<br />

relationships in P2P network, the reputations can also be<br />

introduced into reputations in the forum,.<br />

The above model is too complex, so in order to<br />

effectively calculation user reputation, it needs some<br />

simplification. Referring to PageRank and EngerTrust<br />

reputation model, literature review or the citation can be<br />

regarded as recommendation relationship which weight is<br />

decided based on the presenter's reputation and the total<br />

number <strong>of</strong> recommendation, as shown in figure 4.<br />

A. Literature Reputation Model<br />

Literature reputation Rp shall consider at least three<br />

factors: authors, citations and comments. The formula (1)<br />

shows the reputation evaluation <strong>of</strong> literature i:<br />

Rp(i)=λ1Rs(s(i))+λ2Ra(a(i)) +λ3Rc(i)+ (1-λ1-λ21-λ3)Rr(i) (1)<br />

Here, d is a decay factor which is usually set to 0.85.<br />

Rs is the initial reputation <strong>of</strong> the journal or proceeding the<br />

article published on. Usually it is in proportion to its<br />

impact factor. If it has not impact factor, its initial<br />

reputation is 0.<br />

Ra is the reputation <strong>of</strong> the first author, defined in<br />

formula (3). Rc(i) is the score from comments about it, as<br />

show in formula (4).<br />

Rr denotes citation value <strong>of</strong> the article.<br />

Rr (i)=<br />

R ( j)<br />

∑<br />

j∈ref ( i)<br />

p<br />

(2)<br />

ref ( j)<br />

|ref(j)| donates the number <strong>of</strong> the citations <strong>of</strong><br />

literature j.<br />

B. User Reputation Model<br />

User reputation reflects the user’s academic authority<br />

and the academic value <strong>of</strong> his articles and reviews. User<br />

reputation has two sources: the forum and P2P network.<br />

There are two kind <strong>of</strong> user reputation: reputation <strong>of</strong><br />

author and common reader. Fig.4 shows that the relation<br />

between two users is built on comments or articles.<br />

Therefore, we can calculate the two kinds <strong>of</strong> reputation<br />

by formula (3):


2752 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

∑ ∑ (3)<br />

p<br />

λ4 Rp() i + (1 − λ4)<br />

Rc( j) + Ra ( u)<br />

Ra(u)=<br />

2<br />

Here, i is a paper issued by the author u, j is a comment<br />

p<br />

about u. Ra( u ) is the reputation gained from P2P<br />

network. We simply assume the reputation from forum is<br />

same important as that from P2P network.<br />

C. Comment Reputation Model<br />

Comment reputation <strong>of</strong> a comment k includes two<br />

parts: commentator reputation and the comments on this<br />

comment by other readers.<br />

Ra( a( k)) Val( p( k), a( k))<br />

Rc( k)<br />

= λ5<br />

comments( a( k))<br />

(4)<br />

R () i Val( k,) i<br />

c<br />

+ (1 − λ )<br />

)<br />

5 ∑<br />

i∈sub( k)<br />

5 comments( i)<br />

|comments(a(k))| denotes the total number the user<br />

a(k) has posted, Val(p(k),a(k)) is the score a(k) marks on<br />

p(k) and |comments(i)| is the total number <strong>of</strong> the<br />

comments posted by user i.<br />

The comments form a tree structure that a father<br />

comment can be made up <strong>of</strong> a few child comments and<br />

each child may have a few children <strong>of</strong> him. The<br />

reputation formula is a recursive function: the end node in<br />

the comment tree is firstly evaluated by only Ra, his<br />

father then combines Ra and the reputations <strong>of</strong> child<br />

comments gained just now. The variables in the formulas<br />

above list in table 1.<br />

D. Reputation Computing in P2P Network<br />

In P2P user network, each user has several friends<br />

and all the friend relationships construct a friend<br />

network. Each edge in the network has a weight equal to<br />

the reputation <strong>of</strong> the partner, so PageRank likely<br />

algorithm can be used here. But different to PageRank,<br />

friend relationship is bidirectional, which needs to<br />

transform into two directed relationships with different<br />

directions, as shown in Fig.5. Assume that a is a friend<br />

p<br />

<strong>of</strong> b, the reputation <strong>of</strong> a is denoted by Ra( a ) . out(a)<br />

denotes the number <strong>of</strong> friends <strong>of</strong> a. So when the link<br />

between a and b is divided into two directed connects,<br />

p<br />

the connect from a to b has a weight <strong>of</strong> R ( a ) /out(a).<br />

Reputation can be computed by an iterative algorithm.<br />

In the algorithm, the basic formula <strong>of</strong> u’s reputation is:<br />

p<br />

p Ra() v<br />

Ra( u)<br />

= ∑ (5)<br />

v∈friend( u)<br />

out() v<br />

In the iteration, u is assigned an initial reputation equal<br />

to Ra(u), the reputation <strong>of</strong> u computed by forum module.<br />

a<br />

p<br />

R ( a)/ out( a)<br />

a<br />

p<br />

R ( b)/ out( b)<br />

Fig.5 transformation <strong>of</strong> friend relationship<br />

© 2012 ACADEMY PUBLISHER<br />

a<br />

The evaluation algorithm is detailed below:<br />

p<br />

∀u∈ S Ra ( u) 0 = Ra( u)<br />

//S is a user set where a user has at least one friend.<br />

p p<br />

while( Ra ( u) i − Ra ( u) i−1><br />

ε ){<br />

for each ∀u∈ S<br />

p<br />

p Ra() v<br />

Ra ( u)<br />

i = ∑<br />

v∈friend( u)<br />

out() v<br />

}<br />

Because all nodes have at least one friend, they have<br />

at least a directed connect to other users. So, there is no<br />

dangling problem in the network.<br />

E. Dangling Problem<br />

Similar to the problem <strong>of</strong> dangling page in Pagerank,<br />

when a user hasn’t any paper citing other papers and no<br />

comment, he is called dangling user. Simultaneously, the<br />

dangling paper is the paper without any citation. A<br />

comment always has an out link so it hasn’t the dangling<br />

problem. Dangling entities can disturb the reputation<br />

evaluation <strong>of</strong> other entities.<br />

Two methods can solve the problem to ensure the<br />

reputation computation convergent: (1) add a virtual link<br />

from the entity to all other available entities, the user can<br />

link to literatures and comments, the literature can link to<br />

literatures; (2) ignore all converse links pointed to the<br />

entity firstly in computation until he add a new link to<br />

another entity, for example, he posts a comment.<br />

In fact, it is unimaginable that a paper without any<br />

citation is high in quality. So deleting the paper directly<br />

has little effect to the accuracy <strong>of</strong> reputation evaluation.<br />

F. Globe Reputation Algorithm and Convergence<br />

Evidently, reputation variables in (1)~(4) is not<br />

independent, so reputation computing is an iterative<br />

process and must be convergent. The adopted algorithm<br />

refers to the idea <strong>of</strong> recommendation networks. The<br />

evaluation algorithm is detailed in Fig. 6.<br />

10 Procedure Evaluation<br />

20 Begin<br />

30 For each user u and literature i, Ra(u)=1 and Rp(i)=1<br />

40 calculate initial reputation Rp(i) by formula (1), (2)<br />

and (5)<br />

50 store reputations <strong>of</strong> all entities t in R(t)<br />

60 recalculate user reputation Ra(u) with formula (3)<br />

70 recalculate literature reputation Rp(i) with formula (1)<br />

80 recalculate comment reputation Rc(k) with formula (4)<br />

90 store reputations <strong>of</strong> all entities t in R’(t)<br />

100 if max Rt ( ) − R'( t) > ε goto 50<br />

∀t<br />

110 end<br />

Fig. 6 The iterative reputation evaluation algorithm<br />

G. Trade<strong>of</strong>f Scheme<br />

The simulation below proves the convergence <strong>of</strong> the<br />

algorithm, but within large computing complexity. A<br />

trade<strong>of</strong>f scheme proposes that the reputation computing<br />

steps, such as step 60, 70, 80, can only trigger when a<br />

new event happened. The event may be a submission <strong>of</strong><br />

literature, comment or a register <strong>of</strong> user or periodical.<br />

When it happens, the corresponding formula will be


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2753<br />

called for one time but will not trigger the iterative<br />

process. It means that only the reputation <strong>of</strong> the entity the<br />

new entity directly links to changes and the change don’t<br />

diffuse to other entities.<br />

The reputation renew is local that mitigate greatly the<br />

computing cost. On the other hand, the trade<strong>of</strong>f scheme<br />

cannot guarantee the accuracy <strong>of</strong> reputation that the speed<br />

<strong>of</strong> convergence to globe reputation is subject to events<br />

relative to this entity. To speed the convergence, the<br />

globe iterative algorithm may run periodically.<br />

V. INITIAL REPUTATION<br />

Formula(1) can be used to compute initial literature<br />

reputation, here Rs(j) is the reputation <strong>of</strong> journal or<br />

proceeding j can be gained by literature databases. By<br />

now we choose most well-known databases include SCI<br />

journals, EI source, the list <strong>of</strong> Chinese core journals <strong>of</strong><br />

PKU. The normalized computing is as (5):<br />

factor( j)<br />

⎧1-0.5 j ∈SCI<br />

⎪<br />

Rs( j) = ⎨0.3<br />

j∈EI<br />

(6)<br />

⎪0.1 j ∈ core journal list <strong>of</strong> PUK<br />

⎩<br />

Then, with the initial literature reputation above, initial<br />

user reputation can be computed by (3).<br />

An authenticated user has an initial reputation<br />

corresponding to the reputation <strong>of</strong> journal where he has<br />

published a paper. The unauthenticated user is assigned a<br />

reputation <strong>of</strong> 0.01.<br />

⎧Rs(<br />

j) u is authorized and j is the journal<br />

Ra( u)<br />

= ⎨ (7)<br />

⎩0.01<br />

u is unauthorized<br />

VI. SIMULATIONS AND PERFORMANCE ANALYSIS<br />

Simulations abstract literature indexes randomly from<br />

SCI and EI database to construct the test base database,<br />

which is selected from 1995 to now, mainly from the<br />

field <strong>of</strong> computer science. The first authors <strong>of</strong> the papers<br />

in the base dataset are added into test user set. The<br />

dataset contains approximately 33, 500 articles, with 510,<br />

000 citations. There are about 15, 000 authors. Two<br />

authors are considered identical if their full names match.<br />

There were a few citations from an article to another<br />

article published outside the paper set that were removed.<br />

In the same while, the test produces a number <strong>of</strong> users<br />

who are not the authors, and only issue comments but not<br />

publish new literatures. The proportion <strong>of</strong> the users who<br />

are not authors to authors is 2. There are some comments<br />

randomly issued for each literature, includes direct<br />

comments upon the literature and indirect comments that<br />

are comments to other comments. The numbers <strong>of</strong> direct<br />

and indirect comments follow the Poisson distribution <strong>of</strong><br />

P(1). Commentators are chosen randomly from all users.<br />

Here, λ1=0.2, λ2=0.3, λ3=0.2, λ4=0.8, λ5=0.5. Comment<br />

mark level is an integer selected from 0 to 5.<br />

© 2012 ACADEMY PUBLISHER<br />

We first experiment to check the convergence <strong>of</strong> globe<br />

iterative algorithm. The experimental papers are selected<br />

randomly from base dataset. The number <strong>of</strong> documents in<br />

base dataset is called dataset scale.<br />

At first, we specify a series <strong>of</strong> dataset scales from 400<br />

to 33, 500 and the globe algorithm to calculate the<br />

reputation. The end condition is ε


2754 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Fig. 8 The availability <strong>of</strong> local algorithm<br />

Fig. 8 shows that after the test started, the accuracy <strong>of</strong><br />

the local reputation evaluation kept on improving. s is the<br />

update speed <strong>of</strong> reputation in fact. When s arises, the<br />

evaluation precision increases. But the improvement<br />

cannot continue when the deviation is below a degree.<br />

That means the local algorithm cannot gain better<br />

performance if other methods aren’t adopted. A feasible<br />

way is to collect all information and compute the<br />

reputations <strong>of</strong> all entities periodically, for example at<br />

weekend or after ten o’clock at night every Monday.<br />

VI. CONCLUSION<br />

We present a new reputation evaluation mechanism<br />

that can be used to evaluate reputation <strong>of</strong> literatures and<br />

researchers. The basic idea is that there are some<br />

relationships among literatures, its author, periodicals and<br />

readers. The relationship can be regard as<br />

recommendation for each other that is in some ways<br />

similar to hyperlink in Google. Therefore, we build a<br />

similar reputation model here and propose a PageRanklike<br />

algorithm. By simulations, we prove that the<br />

mechanism is feasible and convergent. We also discuss<br />

the strategies to apply the algorithm to gain better<br />

performance. A trade<strong>of</strong>f scheme is proposed to replace<br />

the globe reputation by a local one. The outstanding<br />

advantage <strong>of</strong> local scheme is its simplicity and<br />

decentralization. Therefore, it is easy to deploy in a huge<br />

forum system.<br />

There are some issues remained unsolved. One issue is<br />

if the reputation model and the evaluation method can<br />

exactly indicate the academic values <strong>of</strong> literatures or<br />

researchers. What is the standard? In despite <strong>of</strong> impact<br />

factor is widely accepted, but whether it is the most<br />

scientific one is in doubt. Another problem is how to<br />

decide the values <strong>of</strong> the parameters, such as λ1~λ5. Here<br />

the values are specified subjectively. Lastly, because the<br />

comment is a key factor <strong>of</strong> reputation model, how to<br />

promote users to issue their reviews is the next work in<br />

the future.<br />

REFERENCES<br />

[1] Alfarez Abdul-Rahman, Stephen Hailes. Supporting Trust<br />

in Virtual Communities. Proceedings Hawaii International<br />

Conference on System Sciences, 2000, 4 -7.<br />

© 2012 ACADEMY PUBLISHER<br />

[2] Kaltenborn K-F, Kuhn K. The journal impact factor as a<br />

parameter for the evaluation <strong>of</strong> researchers and research,<br />

Rev Esp Enferm Dig. 2004, 96:460-476.<br />

[3] L.Page, S.Brin, R.Motwani, and T.Winograd. The<br />

Pagerank Citation Ranking: Bringing Order to the Web,<br />

Technical report, Stanford Digital Library Technologies<br />

Project, 1998.<br />

[4] Brumback RA. Worshiping False Idols: The Impact Factor<br />

Dilemma: Correcting the Record, <strong>Journal</strong> <strong>of</strong> Child<br />

Neurology, 2008, 23:1092-1094.<br />

[5] Huth EJ. Authors, editors, policy makers, and the impact<br />

factor. Croatian Medical <strong>Journal</strong>, 2001;42(1):14-17.<br />

[6] Sevinc A. Manipulating impact factor: an unethical issue<br />

or an Editor's choice? Swiss Med Wkly, 2004, 134(27-28),<br />

410.<br />

[7] Graczynski MR. Personal impact factor: the need for speed.<br />

Med Sci Monit, 2008, 14(10): ED1-ED2.<br />

[8] Soualmia LF, Darmoni SJ, Le Duff F, Douyere M,<br />

Thelwall M. Web impact factor: a bibliometric criterion<br />

applied to medical informatics societies' web sites. Stud<br />

Health Technol Inform, 2002;90:178-183.<br />

[9] Burke, R. Hybrid Recommender Systems: Survey and<br />

Experiments. User Modeling and User-Adapted<br />

Interaction,2002,12 (4),331-370.<br />

[10] N. Ma, J. Guan, and Y. Zhao. Bringing pagerank to the<br />

citation analysis. Inf. Process. Manage. 2008, 44(2):800-<br />

810.<br />

[11] Srivastava, J., Cooley, R., Deshpande, M,Tan, P. Web<br />

Usage Mining: Discovery and Applications <strong>of</strong> Usage<br />

Patterns from Web Data. SIGKDD Explorations ,2000,<br />

1(2),12-23.<br />

[12] S.D.Kamvar, M.T.Schlosser, and H.G.-Mollina. The Eigen<br />

Trust Algorithm for Reputation Management in P2P<br />

Networks, The Twelfth International World Wide Web<br />

Conference, 2003.<br />

[13] Min Peng, ZhengQuan Xu, ShaoMing Pan, Rui Li,<br />

Tengyue Mao. AgentTMS: A MAS Trust Model based on<br />

Agent Social Relationship, <strong>Journal</strong> <strong>of</strong> Computers, 2012,<br />

7(6), 1535-1542.<br />

[14] Hui Chen. The Impact Mechanism <strong>of</strong> Consumer-generated<br />

Comments <strong>of</strong> Shopping Sites on Consumer Trust, <strong>Journal</strong><br />

<strong>of</strong> Computers, 2011, 6(8), 1677-1682.<br />

[15] G Adomavicius , A Tuzhilin1. Toward the next generation<br />

<strong>of</strong> recommender systems : A survey <strong>of</strong> the state <strong>of</strong> the art<br />

and possible extensions, IEEE Trans on Knowledge and<br />

Data Engineering, 17(6),734 - 749,2005.<br />

Kun Yu Born in Huaian, Jiangsu, China,<br />

1972. He Received the Ph.D. degree in<br />

computer science and technology from<br />

southeast University, China in 2010.<br />

Currently, he is a teacher at Huiyin<br />

Institute <strong>of</strong> Technology, China. His<br />

research interests include computer<br />

network and protocol analysis.<br />

Jianhong Chen Born in Huaian,<br />

Jiangsu, China, 1972. He received his<br />

Ph.D. degree in Computer Science<br />

and Technology from Shanghai Jiao<br />

Tong University in 2011. Currently,<br />

he is a teacher at Huiyin Institute <strong>of</strong><br />

Technology, China. His research<br />

interests include public key<br />

cryptosystem and network security.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2755<br />

Analyzing ChIP-seq Data based on Multiple<br />

Knowledge Sources for Histone Modification<br />

Dafeng Chen<br />

School <strong>of</strong> Information Science, Nanjing Audit University, Nanjing 211815, China<br />

Email: windking@nau.edu.cn<br />

Deyu Zhou<br />

School <strong>of</strong> Computer Science and Engineering, Southeast University, Nanjing 210029, China<br />

Email: zhoudeyu@gmail.com<br />

Yuliang Zhuang<br />

School <strong>of</strong> Information Science, Nanjing Audit University, Nanjing 211815, China<br />

Email: Zhuangyl@nau.edu.cn<br />

Abstract—ChIP-seq is able to capture the genomic pr<strong>of</strong>iles<br />

for histone modification by combining chromatin<br />

immunoprecipitation (ChIP) with next generation<br />

sequencing. However, enriched regions generated from peak<br />

finding algorithms are evaluated only based on the limited<br />

knowledge acquired from manually examining the relevant<br />

biological literature. This paper proposes a novel<br />

framework <strong>of</strong> incorporating multiple knowledge sources,<br />

consisting <strong>of</strong> information extracted from biological<br />

literature, Gene Ontology, and microarray data, in order to<br />

precisely analyze ChIP-seq data for histone modification.<br />

The information is combined in a unified probabilistic<br />

model to rerank the enriched regions generated from peak<br />

finding algorithms. Through filtering the reranked enriched<br />

regions using some predefined threshold, more reliable and<br />

precise results could be generated. The combination <strong>of</strong> the<br />

multiple knowledge sources with the peaking finding<br />

algorithm produces a new paradigm for ChIP-seq data<br />

analysis.<br />

Index Terms—ChIP-seq, histone modification, reranking,<br />

information extraction<br />

I. INTRODUCTION<br />

Histones, acting as spools around which DNA binds, is<br />

the chief protein components <strong>of</strong> chromatin. Histones are<br />

subject to lots <strong>of</strong> posttranslational modifications, such as<br />

lysine acetylation, lysine and arginine methylation, serine<br />

and threonine phosphorylation, and lysine ubiquitination<br />

and sumoylation [1]. Histone modifications may alter the<br />

electrostatic charge <strong>of</strong> the histone resulting in a structural<br />

change in histones or their binding to DNA. Histone<br />

modifications may be the binding sites for protein<br />

recognition modules which recognize acetylated lysines<br />

or methylated lysine, respectively. Overall, histone<br />

modifications affect chromosome function in may ways.<br />

Thus, posttranslational modifications <strong>of</strong> histones create a<br />

mechanism for the regulation <strong>of</strong> a variety <strong>of</strong> normal and<br />

disease-related processes.<br />

ChIP-seq [2], which combines chromatin immunoprecipitation<br />

(ChIP) with next generation sequencing, is able<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2755-2762<br />

to capture the genomic pr<strong>of</strong>iles for histone modification<br />

and transcription factor (TF). It is characterized by high<br />

resolution, cost effectiveness and no complication.A large<br />

amount <strong>of</strong> data have recently been generated using the<br />

ChIP-Seq technique, therefore calling for new analysis<br />

algorithms.<br />

To discover the exact locations <strong>of</strong> TF binding sites<br />

from ChIP-seq data, a number <strong>of</strong> algorithms, such as<br />

CisGenome [3], MACS [4], PeakSeq [5], QuEST [6], sPP<br />

[7], Useq [8] and SISSRs [9], have been proposed. TF<br />

binding is mainly governed by sequence specificity.<br />

Therefore TF binding sites are typically correlated with<br />

very localized ChIP-seq signals in the genome. On the<br />

contrary, many modification marks consist <strong>of</strong> broad<br />

domains, which are believed to stabilize the chromatin<br />

state. Moreover, the signals for histone modifications,<br />

histone variants and histone-modifying enzymes are<br />

usually diffuse and lack <strong>of</strong> well-defined peaks, spanning<br />

from several nucleosomes to large domains<br />

encompassing multiple genes. As such, peak-finding<br />

algorithms employed to find TF binding sites with strong<br />

local enrichment are unsuitable for discovering these<br />

generally weak signals from DNA modification marks.<br />

To the best <strong>of</strong> our knowledge, only few methods, e.g.<br />

ChIPDiff [10] and SICER [11], have been published<br />

focusing on analyzing ChIP-seq data specifically for<br />

histone modification. ChIPDiff attempts to identify<br />

differential histone modification sites by computationally<br />

comparing two ChIP-seq libraries generated from<br />

different cell types. Instead <strong>of</strong> partitioning the genome<br />

into bins and computing the fold-change <strong>of</strong> the number <strong>of</strong><br />

ChIP fragments in each bin, ChIPDiff modeled the cor<br />

relation as a hidden Markov model (HMM) where<br />

transmission probabilities were automatically trained in<br />

an unsupervised manner. By inferring the states <strong>of</strong><br />

histone modification changes using the trained HMM<br />

parameters, the correlation between consecutive bins is<br />

taken into account. Nevertheless, ChIPDiff fails to<br />

compare more than two ChIP-seq libraries. Instead <strong>of</strong>


2756 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

comparing two ChIP-seq libraries, SICER partition the<br />

genome into non-overlapping windows with fixed size.<br />

Islands (potential ChIP-enriched domains) are identified<br />

as clusters <strong>of</strong> eligible windows separated by gaps <strong>of</strong> a<br />

size less than a predetermined threshold. Then, a<br />

clustering method is employed to score each island.<br />

After discovering enriched regions using a peak<br />

finding algorithm, validation <strong>of</strong> the results is typically<br />

performed based on some limited knowledge acquired<br />

from biomedical literature, such as experimentally<br />

validated genes relating with the histone modification. It<br />

is also possible to validate the correctness <strong>of</strong> the<br />

discovered enriched regions through QPCR (real-time<br />

Quantitative Polymerase Chain Reaction detecting system)<br />

experiments; but this is too costly and labor intensive and<br />

is therefore seldom adopted in practice. Thus, the<br />

prevailing approach <strong>of</strong> validating the discovered enriched<br />

regions is the former method which uses limited<br />

knowledge acquired from biomedical literature. However,<br />

it suffers from the following drawbacks:<br />

• Amount <strong>of</strong> knowledge for validation. Most<br />

knowledge for validation are obtained by handcurated<br />

the relevant experimental results described<br />

in biomedical literature, which is laborious, time<br />

consuming, and error-prone. Moreover, it has been<br />

demonstrated that biomedical literature is growing<br />

at a double-exponential pace, it thus becomes<br />

extremely hard for biologists to be updated with<br />

the most up to-date knowledge from biomedical<br />

literature.<br />

• Source <strong>of</strong> knowledge for validation. Existing<br />

approaches mainly use knowledge extracted from<br />

biomedical literature for validation. It is worth to<br />

exploit knowledge from other sources, such as results<br />

from microarray data analysis, or knowledge<br />

inferred from Gene Ontology.<br />

• Handling <strong>of</strong> contradictory knowledge. It is<br />

possible that the results discovered by peak<br />

finding algorithms are contradictory to the<br />

knowledge obtained from biomedical literature.<br />

There lack <strong>of</strong> effective methods in handling such a<br />

situation.<br />

This paper explores an efficient way to improve the<br />

precision <strong>of</strong> genomic-wide chromatin modification<br />

pr<strong>of</strong>iles. A framework <strong>of</strong> incorporating information<br />

extraction into a probabilistic model for reranking<br />

discovered enriched regions (candidate histone<br />

modification sites) is comprehensively investigated. To<br />

improve the histone modification sites discovery results,<br />

the external knowledge sources, such as information<br />

extracted from biomedical literature, microarray data, and<br />

Gene Ontology, are employed to re-score enriched<br />

regions. The rationale be hind this is that biomedical<br />

literature, microarray data, and Gene Ontology are<br />

reliable resources for describing the gene expression level<br />

in some specific cell lines, while the histone<br />

modifications are major epigenetic factors regulating<br />

gene expression. Therefore, there is some casual<br />

relationship between histone modifications and the<br />

© 2012 ACADEMY PUBLISHER<br />

knowledge sources which can be used to improve the<br />

accuracy <strong>of</strong> discovered histone modification sites.<br />

II. RELATED WORK<br />

This section presents the existing work in two areas,<br />

information extraction for genes regulated by histone<br />

modification, and reranking based on multiple knowledge<br />

sources.<br />

A. Information Extraction for Genes Regulated by<br />

Histone Modification<br />

Large amount <strong>of</strong> experimental and computational<br />

biomedical data, specifically in the areas <strong>of</strong> genomics and<br />

proteomics have been generated along with new<br />

discoveries, which are accompanied by an exponential<br />

increase in the number <strong>of</strong> biomedical publications<br />

describing these discoveries. In the meantime, there has<br />

been great interest with scientific communities in<br />

literature mining tools to sort through this abundance <strong>of</strong><br />

literature and find the nuggets <strong>of</strong> information such as<br />

protein-protein interactions, gene regulation and so on,<br />

which are most relevant and useful for specific analysis<br />

tasks.<br />

To mine information from the biomedical literature,<br />

two steps are crucial. One is named entity recognition<br />

(NER) which recognizes names <strong>of</strong> biomedical entities,<br />

such as gene, proteins, cells and diseases. The other is<br />

information extraction. In general, current approaches for<br />

biomedical information extraction can be divided into<br />

three categories, computational linguistics-based methods,<br />

rule-based methods and machine learning and statistical<br />

methods.<br />

Corinna [12] developed an approach for identifying<br />

histone modifications in biomedical literature with<br />

Conditional Random Fields (CRFs) and for resolving the<br />

recognized histone modification term variants by term<br />

standardization.<br />

Many systems [13–17], examples including EDGAR<br />

[18], BioRAT [19], GeneWays [20] etc.,have been<br />

developed to extract protein-protein interaction from text.<br />

To the best <strong>of</strong> our knowledge, there are no existing<br />

approaches focusing on mining the gene information<br />

regulated by histone modification.<br />

B. Reranking based on Multiple Knowledge Sources<br />

Recently, reranking algorithms have been quite<br />

popular for data mining and natural language processing.<br />

The idea behind reranking is that some information which<br />

is crucial for generating ranking scores is not<br />

incorporated in the ranking algorithm used. Therefore,<br />

there is a need for a reranking algorithm to rerank results<br />

by incorporating these information.<br />

For example, documents can be represented in the<br />

vector space model used in information retrieval. In<br />

traditional information retrieval, given a query q,<br />

retrieved documents are presented in a decreasing order<br />

<strong>of</strong> the ranking scores with respect to the content<br />

information. In addition to content, documents are<br />

interconnected to each other through an explicit or latent<br />

link. Thus, many recent methods take into account link-


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2757<br />

based information. However, one <strong>of</strong> the issues is that<br />

those ranking algorithms typically treat the content and<br />

link information separately, and each document is<br />

assigned a score independent <strong>of</strong> other documents for the<br />

same query. Reranking algorithm leverage the<br />

interconnection between documents/entities to improve<br />

the ranking <strong>of</strong> retrieved results [21].<br />

Reranking approaches in the natural language<br />

processing domain attempt to improve upon an existing<br />

probabilistic parser by reranking the output <strong>of</strong> the parser.<br />

Reranking has benefited applications such as name-entity<br />

extraction [22], semantic parsing [23] and semantic<br />

labeling [24]. Most reranking approaches are based on<br />

discriminative models while base parers are mostly based<br />

on generative models. The reason behind is that<br />

generative probability models such as hidden Markov<br />

models (HMMs) or hidden vector state (HVS) models<br />

provide a principled way <strong>of</strong> treating missing information<br />

and dealing with variable length sentences. On the other<br />

hand, discriminative methods such as support vector<br />

machines (SVMs) enable us to construct flexible decision<br />

boundaries and <strong>of</strong>ten result in performance superior to<br />

that <strong>of</strong> generative models. The combination <strong>of</strong> generative<br />

and discriminative models could leverage the advantages<br />

<strong>of</strong> both approaches.<br />

III. PROPOSED FRAMEWORK<br />

The overall process <strong>of</strong> the proposed framework is<br />

shown in Figure 1 which takes the form <strong>of</strong> the three main<br />

processes. Firstly, millions <strong>of</strong> short reads generated from<br />

the deep sequencing platform are mapped to reference<br />

genome. After peak finding, enriched regions are<br />

discovered. Secondly, information extraction based on a<br />

statistical model aims to extract information about genes<br />

which are regulated by histone modification. Information<br />

about the environment for these regulations will also be<br />

extracted. The extracted information will be combined<br />

with the external knowledge sources such as gene<br />

ontology and results mined from microarray data to form<br />

inputs to a probabilistic model, which is then employed<br />

for re-ranking the discovered enriched regions.<br />

© 2012 ACADEMY PUBLISHER<br />

A. Information Extraction based the Conditional HVS<br />

model<br />

In order to extract genes regulated by histone<br />

modification, they need to be first identified through<br />

named entity recognition. After that, the genes regulated<br />

by histone modification can be extracted through relation<br />

extraction. For the first step, CRFs or SVMs can be<br />

employed to recognize genes regulated by histone<br />

modifications. For the second step, we are particularly<br />

interested in relation extraction from biomedical literature<br />

based on the Hidden Vector State (HVS) model. The<br />

HVS model was originally proposed in [25] and has been<br />

successfully applied in biomedical domain for proteinprotein<br />

interactions extraction [26, 27].<br />

Given a model and an observed word sequence W<br />

=(W1 … WT ), semantic parsing can be viewed as a<br />

pattern recognition problem and the most likely semantic<br />

representation can be found through statistical decoding.<br />

If assuming that the hidden data take the form <strong>of</strong> a<br />

semantic parse tree C then the model should be a pushdown<br />

automata which can generate the pair <br />

through some canonical sequence <strong>of</strong> moves D = (d1 …<br />

dT ). That is<br />

When considering a constrained form <strong>of</strong> automata<br />

where the stack is finite depth and is built by<br />

repeatedly popping 0 to n labels <strong>of</strong>f the stack, pushing<br />

exactly one new label onto the stack and then generating<br />

the next word, it defines the HVS model in which<br />

conventional grammar rules are replaced by three<br />

probability tables. Given a word sequence W, concept<br />

vector sequence C and a sequence <strong>of</strong> stack pop operations<br />

N, the joint probability <strong>of</strong> P (W,C,N) can be decomposed<br />

as<br />

where Ct, the vector state at word position t, is a vector<br />

<strong>of</strong> Dt semantic concept labels (tags), i.e. Ct=[ Ct[1], Ct


2758 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

[2], .. Ct [Dt]] where Ct[1] is the preterminal concept label<br />

and Ct [Dt] is the root concept label (SS in Fig. 2), nt is<br />

the vector stack shift operation at word position t and take<br />

values in the range 0, . . . , Dt-1 and Ct[1] = Cwt is the new<br />

preterminal semantic tag assigned to word wt at word<br />

position t.<br />

An example parse tree is illustrated in Figure 2 which<br />

shows the sequence <strong>of</strong> HVS stack states corresponding to<br />

the given parse tree. State transitions are factored into<br />

separate stack pop and push operations constrained to<br />

give a tractable search space. The result is a model which<br />

is complex enough to capture hierarchical structure but<br />

which can be trained automatically from only lightly<br />

annotated data.<br />

The HVS model computes a hierarchical parse tree for<br />

each word string W, and then extracts semantic concepts<br />

C from this tree. Each semantic concept consists <strong>of</strong> a<br />

name-value pair where the name is a dotted list <strong>of</strong><br />

primitive semantic concept labels. For example, the top<br />

part <strong>of</strong> Figure 2 shows a typical semantic parse tree and<br />

the semantic concepts extracted from this parse would be<br />

in Equation 3<br />

HistoneM = H3 acetylation<br />

HistoneM.HistoneM = H3K4me3<br />

HistoneM.HistoneM.REL.GENE = IL17<br />

HistoneM.HistoneM.REL.GENE = IL17f (3)<br />

The HVS model parameters are estimated using an EM<br />

algorithm and then used to compute parse trees at runtime<br />

using Viterbi decoding. In training, each word string<br />

W is marked with the set <strong>of</strong> semantic concepts C that it<br />

contains. For example, if the sentence shown in Figure 2<br />

was in the training set, then it would be marked with the<br />

four semantic concepts given in equation 3. For each<br />

word wk <strong>of</strong> each training sentence W, EM training uses<br />

the forward-backward algorithm to compute the<br />

probability <strong>of</strong> the model being in stack state c when wk is<br />

processed. Without any constraints, the set <strong>of</strong> possible<br />

stack states would be intractably large. However, in the<br />

HVS model this problem can be avoided by pruning out<br />

all states which are inconsistent with the semantic<br />

© 2012 ACADEMY PUBLISHER<br />

concepts associated with W. The details <strong>of</strong> how this is<br />

done are given in [25].<br />

The original HVS model takes a form <strong>of</strong> a generative<br />

model which makes it difficult to incorporate background<br />

knowledge or non-local features. We propose to represent<br />

the model as a conditionally trained graphical model<br />

similar to the CRFs. The HVS model can be viewed as a<br />

graphical model. Assuming the vector state stack depth is<br />

limited to be 4, that is, there are at most 4 semantic tags<br />

(states) relating to each word position. Ct is the vector<br />

state corresponding to the word Wt. St is the stack shift<br />

operation which consists <strong>of</strong> popping Nt semantic tags<br />

from the previous vector state Ct-1 and pushing one preterminal<br />

semantic tag to the stack and thus producing Ct.<br />

Given a word sequence W, concept vector sequence C<br />

and a sequence <strong>of</strong> stack pop operations N, the conditional<br />

HVS model takes the form<br />

where Θ = is the<br />

parameter vector <strong>of</strong> the conditional HVS model. fk, gk, hk<br />

are arbitrary feature functions over their respective<br />

arguments, and λk, µk, νk are the corresponding learned<br />

weights for each feature function.<br />

Inference for the conditional HVS models can be<br />

performed efficiently with dynamic programming.<br />

Parameter estimation can be performed with standard<br />

optimization procedures such as iterative scaling,<br />

conjugate gradient descent, or limited memory quasi-<br />

Newton method(L-BFGS).<br />

B. Reranking based on a Probabilistic Model<br />

To rerank the enriched regions generated from a peak<br />

finding algorithm, we need to first select some essential


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2759<br />

features based on the multiple knowledge sources.<br />

Suppose the enriched region R and its related gene G, its<br />

information extracted from text IT , results mined from<br />

microarray data IM, and information inferred from Gene<br />

Ontology IO are defined as follows:<br />

• Information extracted from Text IT , for the pair <<br />

Histone Modification, G>, is defined as the<br />

probabilistic score that is generated from the<br />

conditional HVS model.<br />

• Results mined from Microarray, IM is defined as<br />

the expression level results obtained from<br />

microarray data for G.<br />

• Information inferred from Gene Ontology IO<br />

describes the trust level <strong>of</strong> inference that this gene<br />

is regulated by the histone modification. IO is<br />

defined as the score <strong>of</strong> inference based on gene<br />

ontology.<br />

Overall, it can be observed that the higher the value <strong>of</strong><br />

IT , IM, and IO, the strong confidence <strong>of</strong> the correctness <strong>of</strong><br />

the enriched region.<br />

We use the above parameters IT , IM and IO to<br />

calculate Score, the overall score <strong>of</strong> the enriched region R.<br />

Based on these scores, enriched regions generated from<br />

peak finding are reranked. It should be noted that up to<br />

this point, the relationship between Score and the above<br />

parameters is not apparent and it could be linear or nonlinear.<br />

We thus investigate several ways to describe this<br />

relationship by constructing three models including a loglinear<br />

regression model, neural networks, and support<br />

vector machines.<br />

1. Log-linear Regression Model<br />

For the log-linear regression model, Score is defined as<br />

which is a combination <strong>of</strong> the above three defined<br />

parameters. To estimate the coefficients β = (βt, βm, βo,<br />

β0), the method <strong>of</strong> least squares is applied and the<br />

coefficients β are selected to minimize the residual sum<br />

<strong>of</strong> squares<br />

where M is the number <strong>of</strong> training data and log Score′is<br />

the true value <strong>of</strong> Score.<br />

2. Neural Networks<br />

The central idea <strong>of</strong> neural networks is to extract linear<br />

combinations <strong>of</strong> the inputs as derived features, and then<br />

model the target as a nonlinear function <strong>of</strong> these<br />

features.The model based on neural networks has the<br />

form<br />

where X = (IT , IM, IO) and ωm,m = 1, 2, . . . ,M is unit<br />

3-vectors <strong>of</strong> unknown parameters.<br />

3. Support Vector Machines<br />

Support vector machines produce nonelinear<br />

boundaries by constructing a linear boundary in a large,<br />

transformed version <strong>of</strong> the feature space.<br />

© 2012 ACADEMY PUBLISHER<br />

The model based on support vector machines has the<br />

form:<br />

where hm(X),m = 1, . . . ,M are basis functions and X =<br />

(IT , IM, IO).<br />

IV. EXPERIMENTAL RESULTS<br />

The proposed framework <strong>of</strong> analyzing ChIP-seq data<br />

based on multiple knowledge sources for histone<br />

modification are evaluated in two parts, information<br />

extraction and re-ranking based on multiple knowledge<br />

sources.<br />

The information extraction system works as follows.At<br />

the beginning, abstracts are retrieved from MED-LINE<br />

and split into sentences. Gene names, other biological<br />

terms are then identified based on a pre-constructed<br />

biological term dictionary. And histone modifications are<br />

identified using a classification model. After that, each<br />

sentence is parsed by the semantic parser employing the<br />

conditional HVS model. Finally, information about genes<br />

related to histone modification is extracted from the<br />

tagged sentences using a set <strong>of</strong> manually-defined simple<br />

rules. An example <strong>of</strong> the procedure is illustrated in Figure<br />

3.<br />

To investigate the performance <strong>of</strong> the information<br />

extraction system, abstracts from PubMed and<br />

PubMedCentral are selected. Based on the search<br />

keyword “h3k4me3”, 211 abstracts are retrieved. In the<br />

similar way, 731 abstracts are retrieved from PubMed<br />

based on the search keyword “histone h3 lysine 4<br />

methylation”. Abstracts about “h3k9ac” and “h3k27me3”<br />

are also retrieved in the similar way. These abstracts are<br />

split intosentences. The sentences with at least one gene<br />

or protein name and histone modification are kept and<br />

other sentences are filtered out. All the kept sentences are<br />

collected as the input for the information extraction<br />

system. After the parsing process described in Section 3,<br />

a list <strong>of</strong> histone modification-gene name pairs are<br />

generated. An example <strong>of</strong> the histone modification and<br />

gene name pair is given in Figure 3. To evaluate the<br />

precision <strong>of</strong> the extracted pair <strong>of</strong> histone modification and<br />

gene, some annotators qualified to PhD level worked on<br />

the abstracts and the extracted pair. Evaluation results<br />

show that the information extraction system achieved as<br />

high as 73.2% on precision, in which extracted pairs can<br />

be further annotated by some experienced researchers to<br />

ensure there correctness with little efforts.<br />

To investigate the performance <strong>of</strong> the proposed<br />

framework, we worked on the ChIP-seq data for histone<br />

modification “H3K4Me3”, “H3K9Ac”,and “H3K27Me3”<br />

in three cell lines, EB, MK and HUVEC. The data were<br />

generate from Dr. Willem Ouwehand’s research group in<br />

the Department <strong>of</strong> Haematology <strong>of</strong> the University <strong>of</strong><br />

Cambridge. The short reads are mapped to the reference<br />

genome using the Maq program. After mapping, the<br />

enriched regions are generated based on some peaking<br />

finding programs. Here, SISSRs [9] is employed. Part <strong>of</strong>


2760 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

the enriched regions and their related genes for “H3K9Ac” in EB cell line are listed in Table 1.<br />

TABLE 1<br />

AN EXAMPLE OF ENRICHED REGIONS AND THEIR RELATED GENES GENERATED FROM THE PEAK FINDING ALGORITHM<br />

For the enriched regions ranked and selected by the<br />

peak finding algorithm, there are several possible changes<br />

<strong>of</strong> the score as shown in Table 2. As the purpose <strong>of</strong><br />

analyzing ChIP-seq is to do some novel discovery,<br />

regions with type II or IV with final re-ranking medium<br />

score are paid more attention. In the following, two<br />

examples are given to illustrate how the regions with type<br />

II and IV are discovered. They also show the feasibility<br />

<strong>of</strong> our proposed framework.<br />

For the regions with type II, a region at position from<br />

87046200 to 87062199 on chromosome 16 is assigned a<br />

score <strong>of</strong> 1178 based on the number <strong>of</strong> short reads mapped<br />

to the regions. The ChIP-seq data are generated for<br />

H3K9Ac in EB cell line. The gene related to the region is<br />

ENSG00000179588 (ZFPM1). However, we can not find<br />

the pair <strong>of</strong> H3K9Ac and ZFPM1 in the list <strong>of</strong> pairs<br />

generated from the information extraction system. Based<br />

on the search keyword “ZFPM1” and “Histone”, no<br />

results are even retrieved from the PubMed. Moreover,<br />

no information from microarray data or gene ontology are<br />

found to support the high score region. Based on our<br />

proposed framework, the region’s score is decreased and<br />

more attention will be paid to the region and the related<br />

gene.<br />

For the regions with type IV, a detailed example is<br />

shown in Figure 4. Firstly, thousands <strong>of</strong> enriched regions<br />

are discovered from ChIP-seq data based on a peak<br />

© 2012 ACADEMY PUBLISHER<br />

finding algorithm. Among the output regions, one region<br />

is initially not considered as an enriched region because<br />

<strong>of</strong> its low score generated from the peak finding<br />

algorithm. However if we check the related gene against<br />

other biologists’ findings based on the microarray data,<br />

experimental results described in biomedical literature,<br />

and the Gene Ontology, the region would be enriched by<br />

H3K27em3. Especially, based on the sentence The results<br />

from these studies showed that H3K27me3 is associated<br />

primarily with the INK4A, and not the ARF, locus in the<br />

explanted fibroblasts, the pair <strong>of</strong> H3K27me3 and INK4A<br />

is extracted based on the information extraction system<br />

mentioned above. Generating such an error may be<br />

ascribed to the peak finding algorithm’s inability <strong>of</strong><br />

processing diffuse data. By employing the reranking<br />

model, the region is assigned a new score which will be<br />

considered as an enriched region. From this example, we<br />

speculate that employing the reranking model based on<br />

the multiple knowledge sources can improve the recall<br />

and reliability <strong>of</strong> the enriched region detection results.<br />

V. CONCLUSION<br />

In this paper, we have presented a novel framework <strong>of</strong><br />

incorporating multiple knowledge sources in order to<br />

precisely analyze ChIP-seq data for histone modification.<br />

Information extracted from text, Gene Ontology, and<br />

knowledge mined from microarray data are combined in


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2761<br />

a unified probabilistic model to rerank the enriched<br />

regions detected from peak finding algorithms. By<br />

filtering the reranked enriched regions, more reliable and<br />

precise results are generated. A case study has been<br />

presented to illustrate its feasibility. In future work we<br />

VI. ACKNOWLEDGEMENT<br />

We would like to thank Augusto Rendon and Peter<br />

Smethurst for constructive suggestions on the proposed<br />

framework and Sylvia Nünberg for providing the ChIP-<br />

seq data.This article is supported by social science fund<br />

project in Jiangsu ,whose ID is 12DDB011.<br />

REFERENCES<br />

[1] Alejandro Vaquero, Alejandra Loyola, and Danny<br />

Reinberg. The constantly changing face <strong>of</strong> chromatin.<br />

Sci.Aging Knowl. Environ, 2003, 2003.<br />

[2] Elaine R Mardis. Chip-seq: welcome to the new frontier.<br />

Nature Methods, (4):613 – 614, 2007.<br />

[3] Hongkai Ji, Hui Jiang, Wenxiu Ma, David S Johnson,<br />

Richard M Myers, and Wing H Wong. An integrated<br />

s<strong>of</strong>tware system for analyzing chip-chip and chip-seq data.<br />

Nature Biotechnology, 26:1293–1300, 2008.<br />

[4] Yong Zhang, Tao Liu, Clifford Meyer, Jerome Eeckhoute,<br />

David Johnson, Bradley Bernstein, Chad Nussbaum,<br />

© 2012 ACADEMY PUBLISHER<br />

TABLE 2<br />

ENRICHED REGIONS BEFORE AND AFTER RE-RANKING<br />

will continue on the development <strong>of</strong> the gene expression<br />

data clustering component and the gene ontology<br />

inference component and conduct a large scale <strong>of</strong><br />

experiments to evaluate the system performance.<br />

Richard Myers, Myles Brown, Wei Li, and X Shirley Liu.<br />

Model-based analysis <strong>of</strong> chip-seq (macs).Genome Biology,<br />

9(9):R137, 2008.<br />

[5] Joel Rozowsky, Ghia Euskirchen, Raymond K Auerbach,<br />

Zhengdong D Zhang, Theodore Gibson, Robert Bjornson,<br />

Nicholas Carriero, Michael Snyder, and Mark B Gerstein.<br />

Peakseq enables systematic scoring <strong>of</strong> chip-seq<br />

experiments relative to controls. Nature Biotechnology,<br />

(27):66 – 75, 2009.<br />

[6] Anton Valouev, David S Johnson, and Andreas Sundquist.<br />

Genome-wide analysis <strong>of</strong> transcription factor binding sites<br />

based on chip-seq data. Nature Methods, 5:829–834, 2008.<br />

[7] Peter V Kharchenko, Michael Y Tolstorukov, and Peter J<br />

Park. Design and anlysis <strong>of</strong> chip-seq experiments for dnabinding<br />

proteins. Nature Biotechnology, 26:1351-1359,<br />

2008.<br />

[8] Samir J Courdy David A Nix and Kenneth M Boucher.<br />

Empirical methods for controlling false positives and<br />

estimating confidence in chip-seq peaks. BMC<br />

Bioinformatics, 9(523), 2008.<br />

[9] Artem Barski Kairong Cui Raja Jothi, Suresh Cuddapah<br />

and Keji Zhao. Genome-wide identification <strong>of</strong> in


2762 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

vivoprotein-dna binding sites from chip-seq data. Nucleic<br />

Acids Research, 36:5221–5231, 2008.<br />

[10] Han Xu, Chia-Lin Wei, Feng Lin, and Wing-Kin Sung. An<br />

hmm approach to genome-wide identification <strong>of</strong><br />

differential histone modification sites from chip-seq data.<br />

Bioinformatics, 24(20):2344–2349, October 2008.<br />

[11] Chongzhi Zang, Dustin E. Schones, Chen Zeng, Kairong<br />

Cui, Keji Zhao, andWeiqun Peng. A clustering approach<br />

for identification <strong>of</strong> enriched domains from histone<br />

modification chip-seq data. Bioinformatics, 25(15):1952–<br />

1958, August 2009.<br />

[12] Corinna Kolarik, Roman Klinger, and Martin H<strong>of</strong>mann-<br />

Apitius. Identification <strong>of</strong> histone modifications in<br />

biomedical text for supporting epigenomic research. BMC<br />

Bioinformatics, 10:S28, 2009.<br />

[13] L. Wong. PIES, a protein interaction extraction system. In<br />

Proceedings <strong>of</strong> the Pacific Symposium on Biocomputing.,<br />

pages 520–531, Hawaii, U.S.A, 2001.<br />

[14] Christian Blaschke and Alfonso Valencia. The Frame-<br />

Based Module <strong>of</strong> the SUISEKI Information Extraction<br />

system. IEEE Intelligent Systems, 17(2):14–20, 2002.<br />

[15] I. Donaldson, J. Martin, B. de Bruijn, and C. Wolting.<br />

PreBIND and Textomy–mining the biomedical literature<br />

for protein-protein interactions using a support vector<br />

machine. BMC Bioinformatics, 4(11), 2003.<br />

[16] Jung-Hsien Chiang, Hsu-Chun Yu, and Huai-Jen Hsu.GIS:<br />

a biomedical text-mining system for gene information<br />

discovery. Bioinformatics, 20(1):120–121, 2004.<br />

[17] Syed Toufeeq Ahmed, Deepthi Chidambaram, Hasan<br />

Davulcu, and Chitta Baral. IntEx: A Syntactic Role Driven<br />

Protein-Protein Interaction Extractor for BioMedical Text.<br />

In Proceedings <strong>of</strong> the ACL-ISMB Workshop on Linking<br />

Biological Literature, Ontologies and Database 2005,<br />

pages 54–61, 2005.<br />

[18] TC Rindflesch, L Tanabe, JN.Weinstein, and L. Hunter.<br />

EDGAR: extraction <strong>of</strong> drugs, genes and relations from the<br />

biomedical literature. In Proceedings <strong>of</strong> Pacific<br />

Symposium Biocomputing, pages 517–28, 2000.<br />

[19] David P. A. Corney, Bernard F. Buxton, William B.<br />

Langdon, and David T. Jones. BioRAT: extracting<br />

biological information from full-length papers. Bioinformatics,<br />

20(17):3206–3213, 2004.<br />

[20] Rzhetsky A, Iossifov I, Koike T, Krauthammer M, KraP,<br />

Morris M, Yu H, Dubouĺę PA, Weng W, Wilbur<br />

WJ,Hatzivassiloglou V, and Friedman C. GeneWays: a<br />

system for extracting, analyzing, visualizing, and integrat<br />

ing molecular pathway data. <strong>Journal</strong> <strong>of</strong> Biomedical<br />

Informatic, 37(1):43–53, February 2004.<br />

[21] Hongbo Deng, Michael R. Lyu, and Irwin King. Effective<br />

latent space graph-based re-ranking model with global<br />

consistency. In Proceedings <strong>of</strong> the Second ACM<br />

International Conference on Web Search and Data Mining,<br />

pages 212–221, Barcelona, Spain, 2009.<br />

[22] M. Collins. Ranking algorithms for named-entity<br />

extraction: Boosting and the voted perceptron. In<br />

Proceedings <strong>of</strong> the Annual meeting <strong>of</strong> the Association for<br />

Computational Linguistics (ACL) 2002, pages 489–496,<br />

2002.<br />

[23] Ruifang Ge and Raymond J. Mooney. Discriminative<br />

reranking for semantic parsing. In Proceedings <strong>of</strong> the<br />

conference <strong>of</strong> the International Committee on<br />

Computational Linguistics and the Association for<br />

Computational Linguistics (COLING/ACL) 2006, pages<br />

263–270, 2006.<br />

[24] Kristina Toutanova, Aria Haghighi, and Christopher D.<br />

Manning. Joint learning improves semantic role labeling.<br />

© 2012 ACADEMY PUBLISHER<br />

In Proceedings <strong>of</strong> the Annual meeting <strong>of</strong> the Association<br />

for Computational Linguistics (ACL) 2005, pages 589 –<br />

596, 2005.<br />

[25] Y. He and S. Young. Semantic processing using the hidden<br />

vector state model. Computer Speech and<br />

Language,19(1):85–106, 2005.<br />

[26] Deyu Zhou, Yulan He, and Chee Keong Kwoh. Extracting<br />

Protein-Protein Interactions from the Literature using the<br />

Hidden Vector State Model. International <strong>Journal</strong> <strong>of</strong><br />

Bioinformatics Research and Applications, 4:64–80, 2008.<br />

[27] Xiao peng hua and Shifei Ding.Incremental Learning<br />

Algorithm for Support Vector Data Description. <strong>Journal</strong> <strong>of</strong><br />

S<strong>of</strong>tware, Vol 6, No 7 (2011), 1166-1173, Jul 2011<br />

[28] Deyu Zhou and Yulan He. Discriminative Training <strong>of</strong><br />

theHidden Vector State Model for Semantic Parsing. IEEE<br />

Transaction on Knowledge and Data Engineering, page In<br />

Press, 2008.<br />

[29] Xixiang Zhang,Guangxue Yue, Xiajie Zheng and Fei<br />

Yu.Assigning Method for Decision Power Based on<br />

Linguisitc 2-tuple Judgment Matrices.<strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware,<br />

Vol 6, No 3 (2011), 508-515, Mar 2011.<br />

[30] S. M. Masud Karim.Data Exchange: Algorithm for<br />

Computing Maybe Answers for Relational Algebra<br />

Queries.<strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, Vol 6, No 1 (2011), 3-9, Jan<br />

2011<br />

Dafeng Chen , Male, was born in 1977,<br />

received the master degree <strong>of</strong><br />

Engineering from Southeast University,<br />

China. He is a lecturer in Institute <strong>of</strong><br />

Information Science and Technology,<br />

Nanjing Audit University since<br />

December 2000. As a primary principal<br />

or researcher, he has finished 3 national<br />

or ministry projects successively. He has<br />

wide research interests, mainly including computer audit,<br />

measuring and testing techniques, and Intelligent Control.<br />

Deyu Zhou, Male,received the BS<br />

degree in mathematics and ME degree in<br />

computer science from Nanjing<br />

University, China, in 2000 and 2003,<br />

respectively. In 2009, he got the PhD<br />

degree in School <strong>of</strong> System Engineering,<br />

University <strong>of</strong> Reading, United Kingdom.<br />

Currently, he worked at School <strong>of</strong><br />

Computer Science and Engineering,<br />

Southeast University. His interests are statistical methods for<br />

mining knowledge from biomedical data. includes the<br />

biography here.<br />

management etc.<br />

Yuliang Zhuang, Male, Pr<strong>of</strong>essor,<br />

Ph.D., Supervisor <strong>of</strong> Ph.D. Candidates.<br />

As a primary principal or researcher ,a<br />

lot <strong>of</strong> national or ministry projects<br />

have been finished successively. He<br />

has wide research interests and<br />

engages in the study <strong>of</strong> management<br />

information systems, electronic<br />

commerce, logistics and supply chain


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2763<br />

A New Semi-supervised Method for Lip Contour<br />

Detection<br />

Kunlun Li, Miao Wang, Ming Liu, Ruining Xin, Pan Wang<br />

College <strong>of</strong> Electronic and Information Engineering, Hebei University, Baoding, 071002,China<br />

E-mail: likunlun@hbu.edu.cn, hbhdwm800@sina.com<br />

Abstract—Lip contour detection is regarded as an essential<br />

issue in many applications such as personal identification,<br />

facial expressions classification, and man-machine<br />

interaction. Moreover, semi-supervised learning is utilized<br />

to automatically exploit unlabeled data in addition to<br />

labeled data to improve the performance <strong>of</strong> certain machine<br />

learning approaches. In this paper, three contour<br />

preprocessing approaches for eliminate lip image noise, i.e.,<br />

Average filtering, Bilateral filtering, and Edge preserving<br />

smoothing techniques are compared. Furthermore, a hybrid<br />

approach combing level set theory and semi-supervised<br />

Fisher transformation for lip contour detection is proposed.<br />

Experiment results show that the proposed semi-supervised<br />

strategy for lip contour detection is effective.<br />

Index Terms—Semi-supervised learning, level set, lip<br />

contour diction, semi-supervised FDA<br />

I. INTRODUCTION<br />

Lip contour detection is a challenging and an important<br />

issue in computer vision due to the variation <strong>of</strong> human’s<br />

expressions and environmental conditions. It has got<br />

numerous applications in computer vision such as audiovideo<br />

speech and speaker recognition and so on.<br />

Lip contour detection is an active research topic. The<br />

related methods can be classified into three categories.<br />

The first category is threshold based method [1, 2], which<br />

enjoys a central position in applications <strong>of</strong> image<br />

segmentation because <strong>of</strong> its intuitive properties. The<br />

second is edge and line oriented approaches [3-5], in<br />

which lines or boundaries are defined by contrast in<br />

luminance, color or texture to be detected. The third is<br />

hybrid approaches [6], which aim at consistency between<br />

regions and region boundaries.<br />

In our previous relevant research, we have proposed an<br />

improved level set method for lip contour detection [xx].<br />

It can optimize the gradient information and enhance the<br />

accuracy <strong>of</strong> the lip contour detection by combining<br />

YCbCr color space and Fisher transformation [30]. In<br />

literature [31], we improved the Fisher transformation<br />

with semi-supervised learning, and combed level set<br />

theory with the improved the Fisher transformation.<br />

As is well known, Fisher transformation requires large<br />

number <strong>of</strong> artificial tag data. Therefore, we propose a<br />

Manuscript received December 11, 2010; revised June 1, 2011;<br />

accepted July 1, 2011.<br />

Corresponding author: Kunlun Li, likunlun@hbu.edu.cn<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2763-2770<br />

hybrid approach combing the improved level set method<br />

and semi-supervised Fisher transformation method for lip<br />

contour detection in this paper [30, 31]. It comprehensive<br />

utilizes the marked and unmarked image pixel<br />

information, and obtains good contour extraction results<br />

in the cases with fewer tag information.<br />

The rest <strong>of</strong> the paper is organized as follows. In<br />

Section 2, we discuss the preprocessing techniques which<br />

aim at improving the results <strong>of</strong> lip contour detection. We<br />

compare the three categories lip contour detection method<br />

in Section 3 and propose a new method combines with<br />

the semi-supervised learning method in Section 4. Last,<br />

we present some experiment results in Section 5 and give<br />

the solution in Section 6.<br />

II. PREPROCESSING<br />

In this section, we describe the Average filtering,<br />

Bilateral filtering and Edge preserving smoothing<br />

techniques to eliminate noise.<br />

A. Average Filtering<br />

The average filter aims at smooth image data, thus<br />

eliminating noise. This filter performs spatial filtering on<br />

each individual pixel in an image in a square or<br />

rectangular window surrounding each pixel.<br />

B. Bilateral Filtering<br />

In Bilateral filtering method[7, 8], the original values<br />

<strong>of</strong> every point in the image are replaced by the average<br />

values <strong>of</strong> the adjacent and gray similar pixel values. The<br />

simplest commonly used bilateral filter is moving<br />

unchanged Gaussian filter. The Space near degree<br />

function and gray scale similar function are the Euclid<br />

distance Gaussian function in parameters space.<br />

c(<br />

ξ,<br />

t)<br />

= e<br />

2<br />

−(<br />

1/<br />

2(<br />

) || ξ −x||<br />

/ σ d )<br />

2<br />

−(<br />

1/<br />

2)(||<br />

f ( ξ ) − f(<br />

x)<br />

|| / σ r )<br />

(1)<br />

s(<br />

ξ,<br />

t)<br />

= e<br />

(2)<br />

Where c( ξ, t)<br />

is the space near degree between the<br />

point ξ and the geometric center x, s( ξ, t)<br />

is the gray<br />

scale similarity between the point ξ and the geometric<br />

center x.<br />

The average filter and bilateral filtering are very<br />

common for removing noise from images. Even the noise<br />

reduction can be achieved by these methods, some


2764 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

valuable information is lost and the details <strong>of</strong> object<br />

boundaries are deformed. In order to solve such kind <strong>of</strong><br />

problems, we use the edge preserving smoothing for<br />

image preprocessing.<br />

(a) (b)<br />

Figure 2. (a) Input image (b) Result <strong>of</strong> bilateral filtering<br />

C. Edge Preserving Smoothing<br />

The Edge preserving smoothing [9] is an adaptive<br />

mean filter where the amount <strong>of</strong> blurring for each pixel is<br />

determined after gathering local information in a<br />

specified n × n neighborhood. It uses a simple and<br />

effective edge preserving smoothing filter, which<br />

performs low computation time.<br />

The Edge preserving smoothing filter is applied<br />

independently to every image pixel using different<br />

coefficients. To calculate the coefficients <strong>of</strong> the<br />

convolution mask for every pixel, Manhattan color<br />

distances di, i=1,…,8 are extracted between the central<br />

pixel and the eight neighboring pixels in a 3× 3 window,<br />

which are normalized in the range [0, 1]. That is:<br />

| Rac − Rai | + | Gac − Gai | + | Bac −Bai|<br />

di= ,0 ≤ di≤1<br />

3× 255<br />

(3)<br />

Where R ac , ac G , Bac is the RGB value <strong>of</strong> the central<br />

pixel. To compute the coefficients for the filter’s<br />

convolution mask, the following equation is used:<br />

p<br />

c i = ( 1 − d i ) , where P ≥1<br />

. (4)<br />

As p gets larger, coefficients with small color distance<br />

from the central pixel increase their relative value<br />

difference from coefficients with large color distance, so<br />

the blurring effect decreases. We select p=1,3,5,10, for<br />

experiments and a fixed value p=5 is used for all <strong>of</strong> our<br />

experiments. The central pixel <strong>of</strong> the convolution mask is<br />

set to zero to remove impulsive noise.<br />

(a) (b)<br />

(c) (d)<br />

(e) (f)<br />

Figure 3 (a) original image (b) the resulted image when the edge<br />

preserving smooth method applied fifth (p=5) (c) the resulted image<br />

when the edge preserving method applied tenth (p=10) (d) ~ (f) are the<br />

RGB pix value <strong>of</strong> (a), (b) and (c) respectively.<br />

© 2012 ACADEMY PUBLISHER<br />

The preprocessing methods aimed at reducing texture<br />

and noise while preserving and enhancing lip contour<br />

detection. We compared the average filter, bilateral<br />

filtering and edge preserving smoothing and we finally<br />

use the edge preserving smoothing method for<br />

preprocessing.<br />

III. SOME APPROACHES FOR CONTOUR DETECTION<br />

The contour detection methods can be mainly<br />

classified in three categories: threshold based methods,<br />

edge and line oriented approaches and hybrid approaches.<br />

In this paper we compare the three kinds <strong>of</strong> methods, and<br />

present a hybrid approach combing the improved level set<br />

and semi-supervised FDA algorithm for lip contour<br />

detection.<br />

A. Threshold based Method<br />

Image threshold segmentation is widely used in image<br />

segmentation. The images are considered as the<br />

combination <strong>of</strong> the target area and background region.<br />

We select a more reasonable closed value to determine<br />

each pixel <strong>of</strong> the image belongs to target or background<br />

region, thus producing corresponding binary image.<br />

(a) (b)<br />

(c)<br />

Figure 4 (a) gray image (b) iteration threshold binary image (c) Ostu<br />

threshold method<br />

Through the experiments we can see that the results <strong>of</strong><br />

the threshold method is affected for the difference<br />

between grayscale information <strong>of</strong> lip color and that <strong>of</strong><br />

skin color is small.<br />

B. Edge and Line Features Oriented Approachs<br />

1. Local contour detector<br />

Differential methods<br />

The earliest linear filtering approaches such as the<br />

Sobel, Prewitt, Robert and Canny [10-13] detectors are<br />

based on measures <strong>of</strong> matching between the pixel value<br />

on the neighborhood <strong>of</strong> each pixel, and an edge temple.<br />

These methods are belonging to differential methods. The<br />

most significant limitation <strong>of</strong> these methods is that they<br />

could not distinguish between texture edges and region<br />

boundaries and object contour.<br />

Morphological edge detectors<br />

Mathematical morphology theory is introduced by<br />

Matheron for analyzing geometric structure <strong>of</strong> metallic<br />

and geologic samples. It was first used to image analysis<br />

by Serra [14]. Based on this theory, mathematical<br />

morphology based on set operations, is provided an<br />

approach to the development <strong>of</strong> nonlinear signal


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2765<br />

(a) (b) (c)<br />

(d) (e) (f)<br />

Figure 5 (a)gray image (b)Sobel (c)Log (d)Canny (e)Prewitt (f)Robert<br />

processing operators that incorporate shape information<br />

<strong>of</strong> a signal [15]. In mathematical morphological<br />

operations, there are always two sets involved: The shape<br />

<strong>of</strong> a signal is determined by the values that the signal<br />

takes on. The shape information <strong>of</strong> the signal is extracted<br />

by using a structuring element to operate on the signal.<br />

There are two basic morphological operators: erosion<br />

and dilation. These operators are usually applied in<br />

tandem. Opening and closing are two derived operations<br />

defined in terms <strong>of</strong> erosion and dilation. Erosion <strong>of</strong> a<br />

grey-level image F by another structuring element B,<br />

denoted F Θ B, is defined as follows:<br />

F Θ B(m, n)=min{F(m+s, n+t)-B(s,t)}, where P ≥1<br />

.<br />

(5)<br />

Erosion is a “shrinking” operator in the values <strong>of</strong><br />

F Θ B, and it is always less than or equal to the values <strong>of</strong><br />

F. Dilation <strong>of</strong> a grey-level image F by another structuring<br />

element B, denoted F ⊕ B, is defined as follows:<br />

F ⊕ B (m , n) max{ F(m+s , n+t)+B (s, t )} (6)<br />

Dilation is an “expansion” operator in the values <strong>of</strong><br />

F ⊕ B, and it always larger than or equal to the values <strong>of</strong><br />

F.<br />

By the erosion and dilation operators defined above,<br />

we can detect the edge <strong>of</strong> image F, denoted by Ee(F),<br />

defined as the difference set <strong>of</strong> the original image F and<br />

the erosion result <strong>of</strong> F. This is also known as erosion<br />

residue edge detector:<br />

Ee(F)=F-(F Θ B) (7)<br />

The edge <strong>of</strong> image F, denoted by Ed(F) , is defined as<br />

the difference set <strong>of</strong> the dilation result <strong>of</strong> F and the<br />

original image F. This is also known as dilation residue<br />

edge detector:<br />

Ed(F)=( F ⊕ B)-F (8)<br />

(a) (b)<br />

(c) (d)<br />

Figure6 (a) gray image (b) dilation (c) erosion (e) morphological edge<br />

detection<br />

© 2012 ACADEMY PUBLISHER<br />

The traditional morphological algorithms only consider<br />

<strong>of</strong> intensity information <strong>of</strong> the edge and ignore the<br />

direction <strong>of</strong> the edge. Such methods have some problems<br />

due to the edge character information is not<br />

comprehensive. The problems are: (1) the detected edges<br />

are wider and have lower resolution ratio, (2) if we use<br />

the morphological gradient threshold method to detect the<br />

edge singly, it will lose part <strong>of</strong> low intensity edge.<br />

Statistical approaches<br />

In this category <strong>of</strong> method, we take the EM algorithm<br />

and FDA algorithm for example.<br />

(1) Expectation-maximization algorithm<br />

Suppose we have a number <strong>of</strong> samples drawn from a<br />

distribution which can be approximated by a mixture <strong>of</strong><br />

Gaussian distributions and we wish to estimate the<br />

parameters <strong>of</strong> each Gaussian and assign each datum to a<br />

particular one. The Expectation Maximization provides a<br />

framework.<br />

Expectation-maximization [16], as expected, works in<br />

two alternating steps. Expectation refers to computing<br />

the probability that each datum is a member <strong>of</strong> each class;<br />

maximization refers to altering the parameters <strong>of</strong> each<br />

class to maximize those probabilities. Eventually it<br />

converges, though not necessarily correctly. The<br />

Expectation step is defined by the following equation:<br />

1<br />

2<br />

− ( xi<br />

−μ<br />

j )<br />

2<br />

2σ<br />

p(<br />

x = xi<br />

| μ = μ j ) e<br />

E[Zij<br />

] =<br />

=<br />

k<br />

k 1<br />

2<br />

− ( xi<br />

−μ<br />

n )<br />

2<br />

∑ p(<br />

x = xi<br />

| μ = μ<br />

2<br />

n )<br />

σ ∑e<br />

n=<br />

1<br />

n=<br />

1<br />

(9)<br />

This equation states that the expectations or weight for<br />

pixel z with respect to partition j equals the probability<br />

that x is pixel xi given that µ is partition µi divided by the<br />

sum over all partitions k <strong>of</strong> the same previously described<br />

probability. This leads to the lower expression for the<br />

weights. The sigma squared seen in the second expression<br />

represents the covariance <strong>of</strong> the pixel data. Once the E<br />

step has been performed and every pixel has a weight or<br />

expectation for each partition, the M step or<br />

maximization step begins. This step is defined by the<br />

following equation:<br />

1<br />

μ j ←<br />

m<br />

m<br />

∑<br />

i=<br />

1<br />

E[<br />

Z<br />

ij<br />

] x<br />

i<br />

(10)<br />

This equation states that the partition value j is<br />

changed to the weighted average <strong>of</strong> the pixel values<br />

where the weights are the weights from the E step for this<br />

particular partition.<br />

Although EM algorithm is an effective method in<br />

decision-supporting system, it has the disadvantage <strong>of</strong><br />

this algorithm is slow convergence. It is not suitable in<br />

this experiment for the differences between grayscale<br />

information <strong>of</strong> lip color and that <strong>of</strong> skin color is small.<br />

The experiment results are shown in Figure 7.


2766 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

Figure7 the EM algorithm results<br />

(2) Fisher linear discriminate analysis (LDA)<br />

Fisher linear discriminate analysis (LDA) is a<br />

traditional statistical technique. It has been widely used<br />

and proven to be successful in many real-world<br />

applications. Here we use the Fisher linear discriminate<br />

analysis to enhance the gradient information <strong>of</strong> the lip<br />

contour and then we can obtain the lip contour clearly<br />

[17].<br />

Here, the G and B components <strong>of</strong> RGB color space are<br />

set to a vector x which is used to distinguish the lip color<br />

and skin color. In the training process, we manually<br />

extract patches <strong>of</strong> 50 people's lips and skin regions as the<br />

training samples. By utilizing Fisher transformation to the<br />

T<br />

vector x = ( G,<br />

B)<br />

, we obtain a function that can be used<br />

to discriminate the two classes. This function is<br />

calculated by using the within-class scatter matrix and<br />

defined as:<br />

Fisher( x)<br />

= W ⋅ x<br />

The projection vector is calculated by:<br />

−1<br />

W = SW<br />

m − m )<br />

T<br />

( 1 2<br />

The within-class scatter matrix Sw, is defined:<br />

= S + S<br />

SW 1 2<br />

T<br />

S 1 = ∑( x − m1)(<br />

x − m1)<br />

S )<br />

(11)<br />

(12)<br />

(13)<br />

(14)<br />

T<br />

2 = ∑ ( x − m2<br />

)( x − m2<br />

(15)<br />

The sample mean vector <strong>of</strong> each class, m k , is defined<br />

as:<br />

1<br />

m x ( k = 1,<br />

2)<br />

k = ∑ nk<br />

x∈<br />

xk<br />

(16)<br />

Where x k is the set <strong>of</strong> the vectors in th<br />

k class and<br />

nk is the number <strong>of</strong> the vectors in the class.<br />

© 2012 ACADEMY PUBLISHER<br />

k<br />

(a) (b) (c)<br />

Figure 8 (a) original image (b) gray image (c) the result <strong>of</strong> FDA<br />

algorithm<br />

Figure 8 shows the results before and after Fisher<br />

transformation. The approach optimizes the gradient<br />

information enhances the accuracy <strong>of</strong> the lip contour<br />

detection by combining <strong>of</strong> YCbCr color space and Fisher<br />

transformation. But this method requires a lot <strong>of</strong> artificial<br />

tag data; which needs a lot <strong>of</strong> time to mark.<br />

2. Global algorithms<br />

Most <strong>of</strong> the edge features reviewed in this section is<br />

based on local method, and a more serious limitation <strong>of</strong><br />

the aforementioned local method is that the decision <strong>of</strong><br />

whether a pixel belongs to a contour or not is only based<br />

on a small neighborhood <strong>of</strong> each point. On the other hand,<br />

it is easy to produce images in which local patterns are<br />

visually similar to an edge do not belong to object<br />

contours and vice-versa. So we take into account global<br />

information for the contour detection.<br />

Global methods include the level set method and snake<br />

model method, the level set is easy to track the<br />

topological structure change <strong>of</strong> the objects, it is a<br />

powerful object modeling tool that changing with time.<br />

Level set based method was proposed by Osher and<br />

Sethian, it is an effective calculation tool to deal with<br />

closed time-evolution movement interface geometric<br />

topology change [29].<br />

Given a closed curve C, the whole plane is divided into<br />

the exterior and internal domain <strong>of</strong> the curve. Define a<br />

distance function Φ ( x , y,<br />

t)<br />

= ± d in the plane, and d<br />

represents the shortest distance between the point ( x , y)<br />

to the curve C. The positive and negative sign <strong>of</strong> the<br />

function represent the point in internal domain or external<br />

domain <strong>of</strong> the curve and t represents time. Curve C can<br />

be represented by the zero level set <strong>of</strong> the distance<br />

functionΦ(x,y,t), that is<br />

C ( t)<br />

= {( x,<br />

y)<br />

: Φ(<br />

x,<br />

y,<br />

t)<br />

= 0}<br />

.<br />

In the evolution process, the curve points always<br />

satisfy the following equation:<br />

Φ( x,<br />

y,<br />

t)<br />

= 0<br />

(17)<br />

Derivate both sides <strong>of</strong> the equation (17) <strong>of</strong> t, we can<br />

get:<br />

∂φ<br />

∂φ<br />

dx ∂φ<br />

dy<br />

+ + = 0<br />

∂t<br />

∂x<br />

dt ∂y<br />

dt<br />

(18)<br />

Suppose the velocity <strong>of</strong> all the points on the curve is F,<br />

the level set method limits the movement at various<br />

points on the curve is along the curve normal direction,<br />

that is, the gradient direction <strong>of</strong> the points on the curve,<br />

therefore the evolution <strong>of</strong> the entire curve can be<br />

expressed as:<br />

∂φ<br />

− F | ∇φ<br />

| = 0<br />

∂<br />

t (19)


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2767<br />

φ ( x, y,<br />

t)<br />

= φ0<br />

( x,<br />

y)<br />

(20)<br />

Equation (19) is called the level set evolution equation,<br />

∇ φ indicates gradient norm <strong>of</strong> the level set function,<br />

and F is the velocity function along the normal direction,<br />

which is the direction <strong>of</strong> the gradient <strong>of</strong> curve at various<br />

points. Equation (20) is the surface equation.<br />

Level set method is an effective tool for describing the<br />

curve with curvature related speed evolvement [8]. It has<br />

been widely used in image segment and computer visual.<br />

It is based on the change <strong>of</strong> the image gradient. When the<br />

object contour is not clear or the gradient information <strong>of</strong><br />

the image is too weak, the final detection result would be<br />

far from the expected. The experiment results is in Figure<br />

9.<br />

5<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

40<br />

45<br />

50<br />

Final contour, 200 iterations<br />

10 20 30 40 50 60 70 80 90 100<br />

10<br />

20<br />

30<br />

40<br />

50<br />

60<br />

Final contour, 200 iterations<br />

20 40 60 80 100 120<br />

10<br />

20<br />

30<br />

40<br />

50<br />

60<br />

70<br />

80<br />

90<br />

200 iterations<br />

20 40 60 80 100 120 140 160 180<br />

(a) (b) (c)<br />

Figure9. The results <strong>of</strong> the traditional level set method<br />

The level set method described in this Section is based<br />

on the change <strong>of</strong> the image gradient. As Figure 9 shows<br />

the contour detection may not be accurate if the object<br />

contour is not obvious or the gradient information is too<br />

weak.<br />

IV. HYBRID APPROACHES<br />

Through the analysis and experiments above, we can<br />

see that the three methods have their advantages or<br />

shortcomings respectively. The semi-supervised FDA can<br />

learn from both labeled and unlabeled data and enhance<br />

the gradient information <strong>of</strong> the lip contour. It can improve<br />

the level set method and solve the limitation <strong>of</strong> the<br />

traditional level set method. So in this paper, we present a<br />

new hybrid approach combined with semi-supervised<br />

FDA method and level set method.<br />

A. Semi-supervised Fisher<br />

FDA is a classical supervised learning method. In the<br />

context <strong>of</strong> pattern classification, FDA seeks for the best<br />

projection subspace such that the ratio <strong>of</strong> the betweenclass<br />

scatter to the within-class scatter is maximized. But<br />

the labeled data <strong>of</strong>ten consume much time and are<br />

expensive to obtain, as they require the efforts <strong>of</strong> human<br />

annotators. Contrarily, in many cases, it is far easier to<br />

obtain large numbers <strong>of</strong> unlabeled data. Effectively<br />

combining unlabeled data with labeled data is therefore<br />

the central task in machine learning.<br />

We introduce some prior knowledge on Semisupervised<br />

learning. We know that unlabeled examples<br />

can improve the performance <strong>of</strong> the learned hypothesis.<br />

Semi-supervised learning [18,19] deals with methods for<br />

automatically exploiting unlabeled data in addition to<br />

labeled data to improve learning performance, where no<br />

human intervention is assumed.<br />

In semi-supervised learning, a labeled training data set<br />

L={(x1,y1), ( x2, y2), … ,( x|L| y|L|)} and an unlabeled<br />

© 2012 ACADEMY PUBLISHER<br />

training data set U={x1’, x2’,…x|U|’}are presented to the<br />

learning algorithm to construct a function f: X→Y for<br />

predicting the labels <strong>of</strong> unseen instances, where X and Y<br />

are respectively the input space and out space, xi , xj’ ∈X<br />

(i=1,2, … ,|L|, j=1,2, … ,|U|)are d-dimensional feature<br />

vectors drawn from X, and yi ∈ Y is the label <strong>of</strong> xi,<br />

Usually |L| 〈〈 |U|.<br />

It is regarded that semi-supervised learning originated<br />

from [20]. In fact, some straight forward use <strong>of</strong> unlabeled<br />

examples appeared even earlier [18-21]. Due to the<br />

difficulties in incorporating unlabeled data directly into<br />

conventional supervised learning methods and the lack <strong>of</strong><br />

a clear understanding <strong>of</strong> the value <strong>of</strong> unlabeled data in the<br />

learning process, the study <strong>of</strong> semi-supervised learning<br />

attracted attention only after the middle <strong>of</strong> 1990s. As the<br />

demand for automatic exploitation <strong>of</strong> unlabeled data<br />

increases and the value <strong>of</strong> unlabeled data was disclosed<br />

by some early analyses [23, 24], semi-supervised learning<br />

has become a hot topic.<br />

In this paper, we improve the traditional FDA [28] by<br />

using Semi-supervised learning strategy. The following is<br />

the algorithm steps <strong>of</strong> the algorithm:<br />

a) Find a orthogonal basis <strong>of</strong> the subspace R ( X k ) :<br />

Perform singular value decomposition <strong>of</strong> X k as<br />

X k = ∑ T<br />

U V .U= [ 1 u , … r u , u r+<br />

1 , … , u m ]is the<br />

orthogonal matrix, where r is the rank <strong>of</strong> X k .The vector<br />

set { u 1,…<br />

u r } forms a orthogonal basis <strong>of</strong> R( X k ).The<br />

matrix P=[ 1 u ,…u r ] gives a vector space projection from<br />

m<br />

R to subspace R( X k ).<br />

b) Map data points into subspace R ( X l ):<br />

T<br />

xi → zi<br />

= P xi<br />

, i = 1,<br />

…,<br />

l,<br />

l + 1,<br />

…,<br />

n (21)<br />

c) Construct the scatter matrixes: Construct the<br />

between-class scatter matrix Sb and total scatter matrix<br />

S t as<br />

T<br />

T T<br />

S = Z BZ = PX BX P (22)<br />

b<br />

l<br />

l<br />

T<br />

l<br />

T<br />

S t Z<br />

= lCZ<br />

= PX lCX<br />

P<br />

(23)<br />

d) Eigen-problem: when k=n, we use regularization to<br />

ensure the nonsingularity <strong>of</strong> S t : St = St<br />

+ δI<br />

r ,where<br />

δ ( δ >0)is the regularization parameter and Ir is the<br />

r × r identity matrix. Compute the eigenvectors with<br />

respect to the nonzero eigen-values for generalized<br />

eigenvector problem:<br />

Sbbi = λ iS<br />

tbi<br />

, i = 1,<br />

2,<br />

…c<br />

−1<br />

(24)<br />

We obtain the transformation matrix<br />

B=[ b 1, …, bc−1<br />

].<br />

e) Construct the adjacency graph: Construct the pnearest<br />

neighbor graph matrix W as in (23)to model the<br />

relationship between nearby data points and calculate the<br />

graph Laplacian matrix L=D-W.<br />

l<br />

l<br />

T<br />

l


2768 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

f) Eigen-problem: Compute the eigenvectors with<br />

respect to the nonzero eigenvalues for the generalized<br />

eigenvector problem:<br />

T T<br />

S bai<br />

= λ(<br />

aSt<br />

+ ( 1−<br />

α)<br />

PXLX P ) ai<br />

, i = 1,<br />

…,<br />

c -1<br />

(25)<br />

There are at most c-1 nonzero eighvalues for the<br />

eigenvector problem. We obtain the transformation<br />

matrix A=( a 1, …, ac−1<br />

).<br />

g) Embedding: The data point can be embedded into c-<br />

1 dimensional subspace by:<br />

T T T<br />

T<br />

x → y = A z = A P x = ( PA)<br />

x (26)<br />

B. Hybrid Approaches<br />

For the Fisher transform requires a lot <strong>of</strong> time to labor<br />

the artificial tag data,we propose the semi-supervised<br />

FDA learning based on an improved level set method. It<br />

effectively solves the problems. The use <strong>of</strong> a large<br />

number <strong>of</strong> unlabeled data improves the lip contour<br />

extraction efficiency.<br />

The following is the step <strong>of</strong> this new method:<br />

(1) Apply the Edge preserving smoothing method to<br />

reduce texture and noise while preserving and enhancing<br />

lip contour detection.<br />

(2) Utilizes the semi-supervised FDA method to<br />

enhance the gradient information <strong>of</strong> the lip contour which<br />

using label data and unlabeled data. We take the manual<br />

labeling lip color points and skin color points as the<br />

labeled data, table 1 is the data sample. The pairwise<br />

constraints between the data are generated by the manual<br />

tagging data according to their corresponding class labels,<br />

the untagged data are generated directly from the<br />

remaining unlabeled samples without restriction. After<br />

sample training, we use the semi-supervised clustering<br />

method to distinguish lip color and color. Figure 11<br />

shows the image clustering results.<br />

(3) Use Gauss filter and morphology corrosion<br />

expansion method to remove noise and discrete points.<br />

(4) Apply the level set method on the results <strong>of</strong> the<br />

semi-supervised FDA algorithm and get the segmentation<br />

result.<br />

TABLE I.<br />

SOME MANUAL TAGGED DATA<br />

Lip color pixel point Skin color pixel point<br />

G B label G B label<br />

34 33 0 79 87 1<br />

33 37 0 72 78 1<br />

90 109 0 91 97 1<br />

Figure 10. (a) Original image (b) the result <strong>of</strong> 20 constrain numbers (c)<br />

the result <strong>of</strong> 50 constrain numbers 50 (d) remove noise and discrete<br />

points.(e) segmentation result<br />

© 2012 ACADEMY PUBLISHER<br />

V. EXPERIMENT<br />

For testing the performances <strong>of</strong> our approach, we built<br />

a color lip image database. The database contains the data<br />

<strong>of</strong> 100 images. The data set included the lighting, facial<br />

expressions and attitude changes.<br />

Figure 11. Some <strong>of</strong> the accuracy results <strong>of</strong> the lip contour detection<br />

Figure 12 depicts such poor detection results.<br />

Figure 11 shows some <strong>of</strong> the better results. From<br />

failure cases <strong>of</strong> our method we observed that there are<br />

leakages between upper lip, nose and around the edge <strong>of</strong><br />

the lip. Figure 12 depicts such poor detection results.<br />

(a) (b) (c) (d)<br />

Figure 13. Detection results <strong>of</strong> the traditional ASM method<br />

We compared the improved approach with the<br />

traditional Active Shape Models. Figure 13 shows the<br />

detection results by using traditional ASM. The<br />

traditional ASM needs a large set <strong>of</strong> training set to<br />

include all types <strong>of</strong> lips, the accuracy and speed depend<br />

on the initialization <strong>of</strong> the model parameters. It will<br />

increase the contour matching scope and impact detection<br />

speed if the initialization is not accurate. It is also <strong>of</strong>ten<br />

trapped in local optimizing problem, while the improved<br />

level set method avoids the problem <strong>of</strong> easily falling into<br />

local optimizing.<br />

VI. CONCLUSION<br />

In this paper, we contrast three contour preprocessing<br />

methods for eliminating lip image noise, i.e., average<br />

filtering, bilateral filtering, and edge preserving<br />

smoothing technique. Moreover, the two approaches for<br />

lip contour detection, i.e. the threshold based method and<br />

the edge and line oriented approaches are also compared.<br />

Table 1 lists the comparison <strong>of</strong> the three category contour<br />

detection approaches. Basing on the experiment results<br />

and analysis <strong>of</strong> the advantage and disadvantage <strong>of</strong> these


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2769<br />

Contour detection<br />

method<br />

Threshold based method<br />

Edge and line oriented<br />

approach<br />

Hybrid approaches<br />

TABLE II.<br />

THE COMPARITION OF THE THREE CATEGORY CONTOUR DETECTION APPROACHES<br />

Example Advantages Dis-advantages<br />

Ostu threshold method Simple and easy to implement<br />

Differential methods Fast and conceptually simple<br />

Statistical approaches<br />

EM: a good way in decision-supporting system<br />

FDA: conceptually simple<br />

Semi-supervissed FDA: automatically exploiting<br />

unlabeled data in addition to labeled data to improve<br />

learning performance<br />

Global algorithm Higher performance<br />

Level set method+<br />

Semi-supervised FDA<br />

approaches, we propose a hybrid approach combines with<br />

level set method and semi-supervised Fisher<br />

transformation method for lip contour detection. We<br />

apply the semi-supervised idea for the lip contour<br />

detection and improve the accuracy <strong>of</strong> detecting the lip<br />

contours. The proposed method can efficiently reduce the<br />

time complexity and human annotators’ efforts. The<br />

experimental results demonstrate that the proposed<br />

method can improve the accuracy <strong>of</strong> detecting the lip<br />

contours.<br />

ACKNOWLEDGMENT<br />

This work is supported by the National Natural<br />

Science Foundation <strong>of</strong> China under Grant No. 61073121<br />

and the Natural Science Foundation <strong>of</strong> Hebei Province<br />

under Grant No. F2009000215.<br />

REFERENCES<br />

[1] Fu K S, Mui J K :A survey in image segmentation. Pattern<br />

recognitions, 13:3-6,(2006).<br />

[2] Murthy C A, Pal S K: Histogram thresholding by<br />

minimizing gray-level fuzziness Information Sciences,<br />

60:107-135(2002).<br />

[3] P.T.Jackway: Morphological scale-spaces,<br />

Adv.Imag.Elec.Phys.119 123-189(2001).<br />

[4] T.McInerney, D.Terzopoulos:Deformable models in<br />

medical image analysis: a survey, Med. Image Anal.1(2)<br />

91-108(1996).<br />

[5] X. Cufi, X.Munoz, J. Freixenet, J.Marti: A review <strong>of</strong><br />

image segmentation techniques integrating region and<br />

boundary information, Adv. Imaging Electron. Phys.120 1-<br />

39(2002).<br />

[6] D. ziou, S. Tabbone, Edge detection techniques-an<br />

overview, Int. J.Pattern Recognit, Image Anal.88 (1994)<br />

297-345.<br />

[7] G.Papari, N.Petkov, P. Campisi, Artistic edge and corner<br />

enhancing smoothing, EEE TIP 29(10) (2007) 2449-2462.<br />

[8] C.Tomasi, R.Manduchi, Bilateral filtering for gray and<br />

color images: Proceedings <strong>of</strong> the Sixth International<br />

Conference on Computer Vision, Narosa Publishing<br />

House,Bombay, p.839(1998).<br />

© 2012 ACADEMY PUBLISHER<br />

Good performance<br />

more sensitive to the noise <strong>of</strong><br />

the input images<br />

Fail in capturing mid-level<br />

and high-level visual cues.<br />

EM: slow convergence<br />

FDA: the labeled data <strong>of</strong>ten<br />

consume much time and are<br />

expensive to obtain<br />

Computation-<br />

ally more demanding<br />

[9] Nikos Nikolaou, Nikos Papamarkos: Color Reduction for<br />

Complex Document Images Vol. 19, 14–26 (2009)<br />

[10] K.Anil, Jain, Fundamentals <strong>of</strong> Digital Image Processing.<br />

Prentice-Hall, Englewood Cliffs (1989).<br />

[11] L Ganesan, P.Bhattacharyya, Edge detection in untextured<br />

and textured images-a common computational<br />

framework,IEEE SMC 27(5)823-834 (1997).<br />

[12] J.F.Canny, A computational approach to edge detection,<br />

IEEE T-PAMI 8(6)679-698(1986).<br />

[13] J.F.Canny, A variational approach to edge detection,<br />

in:M.A. Gennsereth (Ed.),Proceedings <strong>of</strong> the Mational<br />

Conference on Artificial Intelligence,AAAI Press,<br />

Washington,D.C,1983,PP.54-58,(August).<br />

[14] C. Chu and J. K. Aggarwal: The integration <strong>of</strong> image<br />

segmentation maps using region and edge<br />

information,IEEE Trans. Pattern Anal. Machine Intell., vol.<br />

15, pp. 1241–1252, 1993.<br />

[15] J. Haddon and J. Boyce, “Image segmentation by unifying<br />

region and boundary information,” IEEE Trans. Pattern<br />

Anal. Machine Intell., vol.12, pp. 929–948, 1990.<br />

[16] Arthur Dempster, Nan Laird, and Donald<br />

Rubin.:Maximum likelihood from incomplete data via the<br />

EM algorithm, <strong>Journal</strong> <strong>of</strong> the Royal Statistical Society,<br />

Series B, 39(1):1–38, 1977<br />

[17] Wang Rui, Gao Wen, Ma Jiyong, "An Approach to Robust<br />

and Fast Locating <strong>of</strong> Lip Motion". Chinese <strong>Journal</strong> <strong>of</strong><br />

Computers, pp.866-871, 2001.<br />

[18] X. Zhu. Semi-supervised learning literature survey.<br />

Technical Report 1530, Department <strong>of</strong> Computer Sciences,<br />

University <strong>of</strong> Wisconsin at Madison, Madison, WI, 2006.<br />

[19] O. Chapelle, B. Sch¨olkopf, and A. Zien, editors. Semi-<br />

Supervised Learning. MIT Press, Cambridge,MA, 2006.<br />

[20] B. Shahshahani and D. Landgrebe. The effect <strong>of</strong> unlabeled<br />

samples in reducing the small sample size problem and<br />

mitigating the hughes phenomenon. IEEE Transactions on<br />

Geoscience and Remote Sensing, 32(5):1087–1095, 1994.<br />

[21] W. Hosmer. A comparison <strong>of</strong> iterative maximum<br />

likelihood estimates <strong>of</strong> the parameters <strong>of</strong> a mixture <strong>of</strong> two<br />

normal distributions under three different types <strong>of</strong> sample.<br />

Biometrics, 29(4):761–770, 1973.<br />

[22] R. P. Lippmann. Pattern classification using neural<br />

networks. IEEE Communications, 27(11):47–64, 1989.<br />

[23] D. J. Miller and H. S. Uyar. A mixture <strong>of</strong> experts classifier<br />

with learning based on both labelled and unlabelled data.<br />

In M. Mozer, M. I. Jordan, and T. Petsche, editors,


2770 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Advances in Neural Information Processing Systems 9,<br />

pages 571–577. MIT Press, Cambridge, MA,1997.<br />

[24] T. Zhang and F. J. Oles. A probability analysis on the<br />

value <strong>of</strong> unlabeled data for classification problems. In<br />

Proceedings <strong>of</strong> 17th International Conference on Machine<br />

Learning, pages 1191–1198, Stanford, CA, 2000.<br />

[25] Luo J, Chen H, Tang Y. Analysis <strong>of</strong> graph-based semisupervised<br />

regression. In: Proceedings <strong>of</strong> the 5th<br />

International Conference on Fuzzy Systems and<br />

Knowledge Discovery. Ji nan, China: IEEE, 2008. 111-115.<br />

[26] Gong Y C, Chen C L, Tian Y J. Graph-based<br />

semisupervised learning with redundant views. In:<br />

Proceedings <strong>of</strong> the 19th International Conference on<br />

Pattern Recognition. Tampa,USA: IEEE, 2008. 1-4.<br />

[27] Cai D, He X F, Han J W. Semi-supervised discriminant<br />

analysis. In:Proceedings <strong>of</strong> the 11th IEEE International<br />

[28] YANG Wu-Yi1;, LIANG Wei, XIN Le, ZHANG Shu-Wu.:<br />

Subspace Semi-supervised Fisher Discriminant Analysis,<br />

Kunlun Li born in 1962, received his Ph.D in<br />

school <strong>of</strong> computer and information<br />

technology from Beijin Jiaotong University.<br />

Currently he is a pr<strong>of</strong>essor in College <strong>of</strong><br />

Electronic and Information Engineering,<br />

Hebei University. His main research interests<br />

include pattern recognition and artificial<br />

intelligent, machine learning and data mining,<br />

information security, biological information<br />

and image processing.<br />

© 2012 ACADEMY PUBLISHER<br />

Miao Wang was born in 1986, received her<br />

B.E. degree in College <strong>of</strong> Electronic and<br />

Information Engineering, Hebei University.<br />

Currently she is a M.E. candidate in College<br />

<strong>of</strong> Electronics and information Engineering,<br />

Hebei University. Her main research<br />

interests include pattern recognition and<br />

image processing.<br />

ACTA AUTOMATICA SINICA, Vol. 35, No. 12,<br />

December, 2009.<br />

[29] Yang Meng, Wang Guoping, Dong Shihai, "Curves<br />

Evolving Based on Level Set Method". <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware,<br />

pp.1858-1864, 2002.<br />

[30] Kunlun Li, Miao Wang, Ming Liu, Aimin Zhao,: Improved<br />

Level Set Method for Lip Contour Detection. In:<br />

Proceedings <strong>of</strong> the 17th International Conference on Image<br />

Processing. Hang Kong: IEEE, 673-676. (2010)<br />

[31] Kunlun Li, Ruining Xin, Miao Wang, Hui Bai. Research <strong>of</strong><br />

Lip Contour Extraction in Face Recognition. 2011<br />

International Conference on Electronic Engineering,<br />

Communication and Management. In: Lecture Notes in<br />

Electrical Engineering, Volume 140(2), 333-339.(2011)<br />

Liu Ming received the B.S. and the M.S. degree in applied<br />

mathematics and computer science from Hebei University,<br />

Baoding, China, in 1991 and 2000, and the Ph.D. degree in<br />

signal and information processing from Beijing Jiaotong<br />

University in 2009. He is currently a Associate Pr<strong>of</strong>essor in the<br />

College <strong>of</strong> Electronic and information Engineering, Hebei<br />

University. His main research interests include biometrics and<br />

computer vision.<br />

Ruining Xin was born in 1986, received her B.E. degree in<br />

Hebei University. Currently she is a M.E. candidate in College<br />

<strong>of</strong> Electronics and information Engineering, Hebei University.<br />

Her main research interests include pattern recognition and<br />

image processing.<br />

Pan Wang was born in 1988, received her B.E. degree in Hebei<br />

University. Currently she is a M.E. candidate in College <strong>of</strong><br />

Electronics and information Engineering, Hebei University. Her<br />

main research interests include pattern recognition and image<br />

processing.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2771<br />

Trusted S<strong>of</strong>tware Constitution Model Based on<br />

Trust Engine<br />

Junfeng Tian<br />

College <strong>of</strong> Mathematics and Computer Science <strong>of</strong> HeBei University, Baoding, China<br />

Email: tjf@hbu.edu.cn<br />

Ye Zhu and Jianlei Feng<br />

Shijiazhuang Posts and Telecommunications Technical College, Shijiazhuang, China<br />

College <strong>of</strong> Mathematics and Computer Science <strong>of</strong> HeBei University, Baoding, China<br />

Email: zhuye626@163.com, snuboy_2008@126.com<br />

Abstract—The guaranty <strong>of</strong> trustiness wasn’t considered<br />

enough in traditional s<strong>of</strong>tware development methods, the<br />

s<strong>of</strong>tware developed in that methods lack effective measures<br />

for ensuring its trustiness. Combining agent technique with<br />

the support <strong>of</strong> trusted computing provided by TPM, a<br />

trusted s<strong>of</strong>tware constitution model based on Trust Engine<br />

(TSCMTE) is demonstrated in this paper, Trust Engine<br />

extends the “chain <strong>of</strong> trust” <strong>of</strong> TCG into application, and<br />

cooperates with TPM to perform integrity measurement for<br />

s<strong>of</strong>tware entity to ensure the static trustiness, then through<br />

verifying whether the dynamic behavior <strong>of</strong> s<strong>of</strong>tware satisfies<br />

the trustiness constraints at runtime, Trust Engine<br />

guarantees the dynamic trustiness <strong>of</strong> s<strong>of</strong>tware behavior. For<br />

the purpose <strong>of</strong> improving the accuracy <strong>of</strong> trustiness<br />

constraints, a strategy <strong>of</strong> determining the weights <strong>of</strong><br />

characteristic attributes based on information entropy is<br />

proposed. Simulation experiments illustrate that the<br />

trustiness <strong>of</strong> s<strong>of</strong>tware developed by the TSCMTE is<br />

improved effectively without performance degradation.<br />

Index Terms—Trusted S<strong>of</strong>tware Constitution, Trust Engine,<br />

Trust Control and Evaluation, Trust View, S<strong>of</strong>tware<br />

Behavior Trace<br />

I. INTRODUCTION<br />

The increase in s<strong>of</strong>tware size and the complexity <strong>of</strong><br />

external environment have resulted in the increasingly<br />

descending <strong>of</strong> s<strong>of</strong>tware quality. Once s<strong>of</strong>tware failures<br />

and malfunctions occur, especially when s<strong>of</strong>tware is<br />

attacked maliciously, it will bring tremendous loss to<br />

people’s work and life. Trusted s<strong>of</strong>tware will not result in<br />

malfunction or failure largely even if caused by malicious<br />

attacks, or system errors [1]. How to ensure the trustiness<br />

<strong>of</strong> s<strong>of</strong>tware will be an inexorable trend <strong>of</strong> s<strong>of</strong>tware’s<br />

development and application.<br />

Trusted s<strong>of</strong>tware constitution technology is an<br />

important guarantee <strong>of</strong> s<strong>of</strong>tware’s correct execution,<br />

which ensures that s<strong>of</strong>tware is always works in the<br />

intended way and goes towards the intended direction [2].<br />

Based upon the theory and technology <strong>of</strong> traditional<br />

s<strong>of</strong>tware, this paper presents a trusted s<strong>of</strong>tware<br />

constitution model based on Trust Engine (TSCMTE).<br />

The remainder <strong>of</strong> this paper is organized as follows:<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2771-2778<br />

Section 2 covers the previous related works on the<br />

research <strong>of</strong> s<strong>of</strong>tware’s trustiness. Section 3 introduces the<br />

framework <strong>of</strong> TSCMTE, and Section 4 presents the<br />

s<strong>of</strong>tware behavior and trustiness evaluation in detail.<br />

Section 5 states the simulation experiments and results.<br />

Finally, Section 6 draws conclusion and outlines future<br />

extension <strong>of</strong> this work.<br />

II. RELATED WORKS<br />

In recent years, the trustiness <strong>of</strong> s<strong>of</strong>tware has drawn<br />

more and more people’s attentions and large quantities <strong>of</strong><br />

research achievements have mounted in the field <strong>of</strong> the<br />

s<strong>of</strong>tware’s trustiness [3].<br />

Formal methods [4] ensure the s<strong>of</strong>tware’s trustiness in<br />

a rigorous way. Cleaning S<strong>of</strong>tware Engineering [5] places<br />

the process <strong>of</strong> s<strong>of</strong>tware’s development in the control <strong>of</strong><br />

statistic value, which can be used to develop s<strong>of</strong>tware<br />

with high reliability certification. Aspect-oriented<br />

programming methods (AOP) [6] can be used to separate<br />

the monitoring and controlling for developing s<strong>of</strong>tware<br />

with trustiness, which records the process <strong>of</strong> s<strong>of</strong>tware’s<br />

execution to guarantee trustiness. Qu Yanwen et al. [7]<br />

described the trustiness <strong>of</strong> s<strong>of</strong>tware by S<strong>of</strong>tware Behavior,<br />

which is defined by the expectations <strong>of</strong> s<strong>of</strong>tware’s correct<br />

execution, and the trustiness can be classified into several<br />

classes. Lin Huimin et al. [8] carried out the formal<br />

research on s<strong>of</strong>tware with high trustiness, through<br />

converting the problem that "whether the s<strong>of</strong>tware has the<br />

intended characteristics" into a mathematical problem<br />

that "whether the s<strong>of</strong>tware behavior S satisfies s<strong>of</strong>tware<br />

character F", to ensure that the behavior <strong>of</strong> s<strong>of</strong>tware is<br />

always consistent with the intended. Wang Huaimin et al.<br />

[9] proposed the trustworthiness classification<br />

specification <strong>of</strong> s<strong>of</strong>tware, mainly included the definitions<br />

<strong>of</strong> the trustiness classes, measurements <strong>of</strong> trusted<br />

evidence and so on. Liu Jing [10] discussed how to<br />

integrate the UTP and UML together to form a unified<br />

modeling system, which not only makes the MDA<br />

technology to be used to constitute trusted s<strong>of</strong>tware, but<br />

also adopts the formal specification <strong>of</strong> s<strong>of</strong>tware and<br />

techniques <strong>of</strong> model checking in the s<strong>of</strong>tware’s


2772 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

development process to ensure s<strong>of</strong>tware’s trustiness<br />

fundamentally.<br />

Through a brief review <strong>of</strong> the above researches on<br />

s<strong>of</strong>tware’s trustiness, it can be concluded that the<br />

achievement on s<strong>of</strong>tware’s trustiness have initiated us<br />

into the causes <strong>of</strong> untrusted s<strong>of</strong>tware, and some<br />

countermeasures have been adopted. However, in the<br />

field <strong>of</strong> s<strong>of</strong>tware’s trustiness, the researches on the<br />

constitution <strong>of</strong> trusted s<strong>of</strong>tware continue to be scarce. To<br />

bridge this gap, this paper demonstrates a trusted s<strong>of</strong>tware<br />

constitution model based on Trust Engine (TSCMTE),<br />

and aims to:<br />

1. show the framework <strong>of</strong> TSCMTE by combining<br />

agent technique with the support <strong>of</strong> trusted computing<br />

provided by TPM.<br />

2. introduce s<strong>of</strong>tware behavior and trustiness<br />

evaluation in detail, including the guaranty for the static<br />

integrity <strong>of</strong> s<strong>of</strong>tware with Trust Engine, the definition,<br />

representation and extraction <strong>of</strong> S<strong>of</strong>tware Intended<br />

Behavior Trace.<br />

3. propose a strategy <strong>of</strong> determining the weights <strong>of</strong><br />

characteristic attributes based on information entropy to<br />

improve the accuracy <strong>of</strong> constraints.<br />

III. THE TRUSTED SOFTWARE CONSTITUTION MODEL<br />

BASED ON TRUST ENGINE<br />

The basic idea <strong>of</strong> TSCMTE is not only guaranteeing<br />

the static integrity <strong>of</strong> s<strong>of</strong>tware, but also constraining the<br />

dynamic behavior in the process <strong>of</strong> s<strong>of</strong>tware execution<br />

effectively. The trustiness <strong>of</strong> s<strong>of</strong>tware is mainly<br />

manifested in the trustiness <strong>of</strong> static integrity and<br />

dynamic behavior <strong>of</strong> s<strong>of</strong>tware. On the basis <strong>of</strong> ensuring<br />

the static trustiness <strong>of</strong> s<strong>of</strong>tware, the TSCMTE is driven<br />

by s<strong>of</strong>tware dynamic behavior, through monitoring the<br />

dynamic behavior in the process <strong>of</strong> s<strong>of</strong>tware execution, it<br />

can be verified whether the dynamic behavior is always<br />

consistent with the intended behavior, then the dynamic<br />

behavior <strong>of</strong> s<strong>of</strong>tware will be adjusted and controlled<br />

possibly to ensure the dynamic trustiness <strong>of</strong> s<strong>of</strong>tware.<br />

A. Framework <strong>of</strong> TSCMTE<br />

The s<strong>of</strong>tware based on traditional theories faces two<br />

typical security threats: first, the static integrity <strong>of</strong><br />

s<strong>of</strong>tware is broken probably, suffering from virus, which<br />

caused dynamic behavior to be changed; second, s<strong>of</strong>tware<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 1. Framework <strong>of</strong> TSCMTE.<br />

is illegally injected or interrupted by other processes in<br />

the process <strong>of</strong> execution, such as buffer overflow attack,<br />

which can change the dynamic behavior <strong>of</strong> s<strong>of</strong>tware<br />

possibly without breaking the static integrity.<br />

Therefore, in order to identify the above-mentioned<br />

security threats and ensure s<strong>of</strong>tware’s trustiness,<br />

combining agent technique with the support <strong>of</strong> trusted<br />

computing provided by TPM, the framework <strong>of</strong><br />

TSCMTE is proposed, as shown in Fig. 1.<br />

The reasons why the TSCMTE is proposed are listed<br />

as follows:<br />

1. Trusted computer based on TPM is <strong>of</strong> temporary<br />

trustiness in the initial phase [11]. When s<strong>of</strong>tware is<br />

running, the trustiness <strong>of</strong> dynamic behavior <strong>of</strong> s<strong>of</strong>tware<br />

can’t be guaranteed if the static integrity has been broken.<br />

2. It is effective for ensuring the dynamic trustiness to<br />

monitor and constrain the dynamic behavior <strong>of</strong> s<strong>of</strong>tware.<br />

Inject the capability <strong>of</strong> monitoring in an appropriate way,<br />

and then the entity agent [12] can autonomously monitor<br />

the dynamic behavior and extract the related information<br />

with its context.<br />

The TSCMTE is made up <strong>of</strong> Application S<strong>of</strong>tware,<br />

Trust Engine, TPM and Operation System.<br />

1. Application S<strong>of</strong>tware: the source <strong>of</strong> s<strong>of</strong>tware’s<br />

dynamic behavior.<br />

2. Trust Engine: extends the “chain <strong>of</strong> trust” <strong>of</strong> TCG<br />

into application, and cooperates with TPM to perform<br />

integrity measurement for s<strong>of</strong>tware entity to ensure the<br />

static trustiness, and based on agent technique, through<br />

monitoring and extracting the dynamic behavior <strong>of</strong><br />

s<strong>of</strong>tware, it can verify whether the dynamic behavior<br />

satisfies the trustiness constraints, then adjust and control<br />

the s<strong>of</strong>tware behavior to ensure the dynamic trustiness. It<br />

is composed <strong>of</strong> Trust Monitor, Context, Trust Control and<br />

Evaluation, Trust View and Trusted Communication<br />

Agent Interface.<br />

(1) Trust Monitor: it can monitor the process <strong>of</strong><br />

s<strong>of</strong>tware execution to extract related information.<br />

(2) Context: it refers to the necessary conditions for<br />

the operation and interaction <strong>of</strong> s<strong>of</strong>tware, which<br />

includes the time, environmental factors and other<br />

related information. Whether the behavior is<br />

trusted or not is closely related to the specific<br />

context.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2773<br />

(3) Trust Control and Evaluation: it’s responsible for<br />

trustiness evaluation, and then it can adjust the<br />

dynamic behavior and take appropriate measures<br />

to control anomalous behavior according to the<br />

result <strong>of</strong> evaluation.<br />

(4) Trust View: it’s defined to represent the<br />

characteristics <strong>of</strong> s<strong>of</strong>tware behavior<br />

(5) Trusted Communication Agent Interface (TCAI):<br />

it’s a security bus actually which is <strong>of</strong> trustiness,<br />

privacy and integrity [13] and responsible for<br />

communication with other modules. That is, it can<br />

guarantee the security <strong>of</strong> identity, the transmission<br />

<strong>of</strong> message invisible to other processes and can’t<br />

be modified unauthorizedly, etc.<br />

Trust Engine as the core <strong>of</strong> TSCMTE interacts with<br />

other modules to ensure the trustiness <strong>of</strong> s<strong>of</strong>tware.<br />

3. TPM: trusted computer based on TPM can be <strong>of</strong><br />

temporary trustiness in the initial phase.<br />

The TSCMTE focuses on the logical framework and<br />

the design <strong>of</strong> Trust Engine.<br />

B. Trust Engine<br />

For the openness <strong>of</strong> operational environment, there is<br />

the security threat to the static integrity <strong>of</strong> s<strong>of</strong>tware<br />

inevitably. Combining “chain <strong>of</strong> trust” <strong>of</strong> TCG with the<br />

support <strong>of</strong> trusted computing provided by TPM [14], the<br />

TCG sets up a root <strong>of</strong> trust in computer system and builds<br />

a chain <strong>of</strong> trust, which starts from root <strong>of</strong> trust to<br />

hardware platform, and operating system. Trust Engine in<br />

TSCMTE provides effective measurements to constrain<br />

the static integrity <strong>of</strong> S<strong>of</strong>tware Module, and then passes<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 2. Chain <strong>of</strong> trust <strong>of</strong> TCG with Trust Engine.<br />

Figure 3. Framework <strong>of</strong> Trust Control and Evaluation.<br />

trust. Therefore, trust can be extended into the whole<br />

computer system. The chain <strong>of</strong> trust <strong>of</strong> TCG with Trust<br />

Engine is shown in Fig. 2.<br />

When Application S<strong>of</strong>tware is loading, Trust Engine<br />

interacts with TPM firstly to check the static integrity,<br />

and then trust can be extended from the root <strong>of</strong> trust into<br />

Application S<strong>of</strong>tware. After that, the dynamic behavior <strong>of</strong><br />

Application S<strong>of</strong>tware in the process <strong>of</strong> execution can be<br />

monitored and extracted to ensure the dynamic trustiness.<br />

C. Trust Control and Evaluation<br />

Application S<strong>of</strong>tware is the source <strong>of</strong> S<strong>of</strong>tware<br />

Behavior. The dynamic behavior <strong>of</strong> s<strong>of</strong>tware monitored<br />

by Trust Monitor needs to be verified the consistency<br />

with the intended behavior. Therefore, the intended<br />

behavior as a benchmark <strong>of</strong> evaluation is the essential<br />

prerequisite <strong>of</strong> dynamic trustiness constraints. The<br />

Context extracted during s<strong>of</strong>tware execution can<br />

guarantee objectivity and credibility <strong>of</strong> s<strong>of</strong>tware behavior.<br />

The Trust Control and Evaluation proposed is made up<br />

<strong>of</strong> Trusted Network Interface, Event Channel, Evaluation<br />

and Trust Control. Its framework is shown as in Fig. 3:<br />

1. Trusted Network Interface: the s<strong>of</strong>tware based on<br />

network interacts with other entities through the Trusted<br />

Network Interface.<br />

2. Event Channel: receive the related information<br />

which extracted through monitoring the process <strong>of</strong><br />

s<strong>of</strong>tware execution.<br />

3. Evaluation: verify whether the dynamic behavior<br />

satisfies the trustiness constraints.


2774 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

4. Trust Control: according to the evaluation result,<br />

adjust dynamic behavior and take appropriate measures to<br />

control anomalous behavior.<br />

IV. SOFTWARE BEHAVIOR AND TRUSTINESS EVALUATION<br />

A. Related Definitions<br />

The definition <strong>of</strong> trustiness is given by TCG according<br />

to the behavior <strong>of</strong> the entity: An entity can be trusted if it<br />

always behaves in the expected manner for the intended<br />

purpose [15]. Therefore, as an entity, the trustiness <strong>of</strong><br />

s<strong>of</strong>tware depends on whether its behavior is trusted or not.<br />

The related definitions are listed as below:<br />

Definition 1. S<strong>of</strong>tware Behavior: S<strong>of</strong>tware behavior<br />

refers to any changes, influences or any operations made<br />

to the other independent entities when the s<strong>of</strong>tware works<br />

as an independent entity [7], that is, s<strong>of</strong>tware is able to<br />

perform its function by consuming computer resources.<br />

Definition 2. Trustiness <strong>of</strong> S<strong>of</strong>tware Behavior: If the<br />

dynamic behavior in the process <strong>of</strong> s<strong>of</strong>tware execution is<br />

always consistent with the intended behavior, it can be<br />

considered as trusted.<br />

Definition 3. S<strong>of</strong>tware Intended Behavior Trace: it is<br />

the representation <strong>of</strong> intended behavior <strong>of</strong> s<strong>of</strong>tware,<br />

which is composed <strong>of</strong> S<strong>of</strong>tware Intended Operation Trace<br />

and S<strong>of</strong>tware Intended Function Trace.<br />

Definition 4. S<strong>of</strong>tware Intended Operation Trace:<br />

represents the intended routes on which some significant<br />

positions are selected orderly as monitor points. It can be<br />

denoted by ordered vectors.<br />

Definition 5. S<strong>of</strong>tware Intended Function Trace:<br />

describes the intended functions performed on monitor<br />

points. It is constituted by a series <strong>of</strong> functions with<br />

related information and also denoted by ordered vectors.<br />

B. S<strong>of</strong>tware Intended Operation Trace<br />

Definition 6. Check Point: It’s a significant point<br />

which was set up as a monitor on the route <strong>of</strong> s<strong>of</strong>tware<br />

execution. It contains two types: Ordinary Check Point<br />

and Branch Check Point. Ordinary Check Point records<br />

function with its related information, and Branch Check<br />

Point records transfer condition and other related<br />

information.<br />

The ordered vector <strong>of</strong> Check Points can guarantee the<br />

dynamic trustiness <strong>of</strong> s<strong>of</strong>tware operation trace from the<br />

aspect <strong>of</strong> intended routes. However, where to set up the<br />

Check Points on the route <strong>of</strong> s<strong>of</strong>tware execution is a<br />

significant problem that should be solved. It is to consider<br />

that: 1. from the routes coverage <strong>of</strong> s<strong>of</strong>tware execution,<br />

setting up as more Check Points as possible will improve<br />

the accuracy <strong>of</strong> the constraints <strong>of</strong> s<strong>of</strong>tware’s dynamic<br />

operation trace; 2. from the efficiency <strong>of</strong> s<strong>of</strong>tware<br />

execution, setting up more Check Points means extracting<br />

and storing more related information, which will reduce<br />

the efficiency <strong>of</strong> s<strong>of</strong>tware execution. Therefore, how to<br />

make balance between accuracy and efficiency should be<br />

analyzed. In addition, the granularity <strong>of</strong> setting up Check<br />

Points determines the degree <strong>of</strong> s<strong>of</strong>tware’s dynamic<br />

trustiness. According to the rules as follows, Check<br />

Points can be set up on the routes <strong>of</strong> s<strong>of</strong>tware execution:<br />

© 2012 ACADEMY PUBLISHER<br />

Rule 1: Set up Ordinary Check Points at significant<br />

system calls. In order to perform certain function, most<br />

s<strong>of</strong>tware needs to interact with kernel through system<br />

calls. System call sequences can reflect s<strong>of</strong>tware behavior<br />

to a certain degree [16]. Therefore, it can evaluate the<br />

trustiness <strong>of</strong> s<strong>of</strong>tware’s dynamic behavior.<br />

Rule 2: Set up Branch Check Points at each conditional<br />

branch, and set up Ordinary Check Points at the body <strong>of</strong><br />

each branch separately. Due to the non-determinism<br />

caused by branches, s<strong>of</strong>tware is easy to be attacked at<br />

each conditional branch and executes the unexpected<br />

branch path which is difficult to be detected. Therefore, it<br />

is necessary to set up Branch Check Points for ensuring<br />

the trustiness <strong>of</strong> dynamic behavior.<br />

Rule 3: Set up Ordinary Check Points in the end <strong>of</strong><br />

basic function. The results <strong>of</strong> s<strong>of</strong>tware execution can<br />

evaluate whether the independent S<strong>of</strong>tware Module<br />

performed intended operation.<br />

C. S<strong>of</strong>tware Intended Function Trace<br />

Definition 7. Scene: It’s a vector <strong>of</strong> n-tuples which<br />

records the background and function during s<strong>of</strong>tware<br />

execution. Ordinary Check Point contains certain<br />

function with function name, function arguments, CPU<br />

load, memory usage, result <strong>of</strong> s<strong>of</strong>tware execution and so<br />

on; Branch Check Point concludes CPU load, memory<br />

usage, branch data, transfer condition and so on.<br />

Definition 8. Time Interval: It is an interval that<br />

s<strong>of</strong>tware consumes between adjacent Check Points in the<br />

process <strong>of</strong> execution, which can ensure the dynamic<br />

trustiness <strong>of</strong> s<strong>of</strong>tware behavior between adjacent Check<br />

Points.<br />

The vectors which records Scene and Time Interval<br />

can guarantee the dynamic trustiness <strong>of</strong> S<strong>of</strong>tware<br />

Operation Trace from the aspect <strong>of</strong> intended function.<br />

However, for different Check Points, the same attribute,<br />

due to the difference <strong>of</strong> values, contributes to ensuring<br />

the dynamic trustiness <strong>of</strong> S<strong>of</strong>tware Intended Function<br />

Trace differently.<br />

Information entropy is the measure <strong>of</strong> uncertainty <strong>of</strong> a<br />

random variable [17]. For the purpose <strong>of</strong> improving<br />

accuracy <strong>of</strong> the constraints <strong>of</strong> dynamic trustiness, a<br />

strategy <strong>of</strong> determining the weights <strong>of</strong> characteristic<br />

attributes based on information entropy is proposed.<br />

Suppose that there is a set <strong>of</strong> n-samples, denoted by<br />

E={e1, e2, ……, en}, which is obtained at certain Ordinary<br />

Check Point during s<strong>of</strong>tware execution. Each sample ej is<br />

represented by the vector <strong>of</strong> characteristic attributes<br />

ej=. So, the matrix E={ e(i,j) }, 1≤i≤n, 1≤j≤6<br />

is the source <strong>of</strong> determining the weights <strong>of</strong> characteristic<br />

attributes based on information entropy. The strategy<br />

mainly contains 5 steps as follows:<br />

1. The probability pij when the value <strong>of</strong> attribute j is<br />

e(i,j):<br />

e(<br />

i,<br />

j)<br />

pij<br />

=<br />

i = 1,<br />

2,<br />

L,<br />

n (1)<br />

n<br />

e(<br />

i,<br />

j)<br />

∑<br />

i=<br />

1


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2775<br />

Where e ( i,<br />

j)<br />

is the frequency when the value <strong>of</strong><br />

n<br />

∑<br />

i=<br />

1<br />

attribute j is e(i,j) , so that e(<br />

i,<br />

j)<br />

= n<br />

2. The information entropy <strong>of</strong> attribute j is:<br />

n<br />

⎧1<br />

ej = −k∑<br />

pij<br />

ln pij<br />

⎪<br />

k = ⎨ 1<br />

i=<br />

1<br />

⎪<br />

⎩ln<br />

n<br />

a<br />

na<br />

= 1<br />

na<br />

≥ 2<br />

Where na is the count <strong>of</strong> different values <strong>of</strong> attribute<br />

j, lnna is the max value <strong>of</strong> information entropy, so 0≤ej≤1<br />

3. Let<br />

gj = 1 − ej<br />

(3)<br />

4. The sum <strong>of</strong> information entropy <strong>of</strong> E={ e(i,j) } is:<br />

6<br />

∑ ej<br />

j=<br />

1<br />

(2)<br />

E' =<br />

(4)<br />

5. The weight <strong>of</strong> attribute j after normalized is:<br />

6<br />

gj<br />

ω j = j = 1,<br />

2,<br />

L,<br />

6 0 ≤ ω j ≤ 1,<br />

6 − E'<br />

∑ ω j = 1 (5)<br />

j=<br />

1<br />

However, the strategy has its limitation which didn’t<br />

consider the relations among characteristic attributes, and<br />

an intensive study will be made in the future.<br />

D. Extraction <strong>of</strong> S<strong>of</strong>tware Intended Behavior<br />

Extracting the intended behavior <strong>of</strong> s<strong>of</strong>tware is crucial<br />

to the generation <strong>of</strong> Trust View. The methods <strong>of</strong><br />

extraction generally contains: static extraction and<br />

dynamic extraction. Static extraction doesn’t need to<br />

execute s<strong>of</strong>tware. It is able to obtain the control flow <strong>of</strong><br />

s<strong>of</strong>tware by analyzing the source code, but can’t extract<br />

background information [18]. Dynamic extraction can<br />

obtain the execution model through monitoring the<br />

dynamic behavior. The model is incomplete because its<br />

generation relays on the input and operation [19], but it<br />

contains the context, execution time and related<br />

information <strong>of</strong> s<strong>of</strong>tware execution.<br />

The TSCMTE makes full use <strong>of</strong> static extraction and<br />

dynamic extraction. Firstly, static extraction was done to<br />

select some significant points as Check Points on the<br />

intended routes <strong>of</strong> s<strong>of</strong>tware, and then the intended<br />

operation trace <strong>of</strong> s<strong>of</strong>tware was gotten. Secondly, when<br />

the s<strong>of</strong>tware is in the process <strong>of</strong> execution, dynamic<br />

extraction was done to extract the Scene, Time Interval<br />

with other related information by weaving the sensors on<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 4. Generation process.<br />

the position <strong>of</strong> Check Points. Specifically, sensor is<br />

essentially a program for extracting function with related<br />

information, which is triggered automatically. Then the<br />

intended function trace during s<strong>of</strong>tware execution was<br />

obtained.<br />

Both the intended operation trace and intended<br />

function trace mutually complete each other, and then<br />

constitute the s<strong>of</strong>tware intended behavior trace accurately.<br />

The generation process <strong>of</strong> s<strong>of</strong>tware intended behavior<br />

trace is shown in Fig. 4.<br />

E. Representation <strong>of</strong> S<strong>of</strong>tware Intended Behavior<br />

The existing representations <strong>of</strong> dynamic behavior <strong>of</strong><br />

s<strong>of</strong>tware, such as Petri nets [20], automata theory [21],<br />

didn’t take the relationships between the behavior and<br />

trustiness <strong>of</strong> s<strong>of</strong>tware into account. Qu Yanwen [7]<br />

proposed the behavior tree, which is a representation <strong>of</strong><br />

behavior trace <strong>of</strong> s<strong>of</strong>tware. Actually, the behavior tree is<br />

an effective representation <strong>of</strong> S<strong>of</strong>tware Intended Behavior.<br />

The TSCMTE adopts Trust View to represent S<strong>of</strong>tware<br />

Intended Behavior which can be described as<br />

TrustView(V, E, T, v0, Ve):<br />

V is the set <strong>of</strong> check points, can be expressed as V( Id,<br />

Type, Scene), where Id is the unique identity; Type<br />

describes the type <strong>of</strong> check points: 0 represents ordinary<br />

check points, and 1 represents branch check points; Scene<br />

characterizes the function and related information <strong>of</strong><br />

current check point. If Type=0, it can be denoted by<br />

Scene; if<br />

Type=1, it can be denoted by Scene.<br />

E is a set <strong>of</strong> edges connecting check points associated<br />

with transitions. It is the subset <strong>of</strong> the 2-dimensional<br />

space V×V. Its element ei is a directed edge and be<br />

described as ei=.<br />

T is the set <strong>of</strong> time intervals. For any edge ei= ∈ E,<br />

the weight <strong>of</strong> ei represents the transferred interval<br />

between vi and vj.<br />

v0 is the initial check point, v0∈ V.<br />

Ve is the set <strong>of</strong> the final check points, ve∈ V.<br />

F. Trustiness Evaluation<br />

Based on the research on s<strong>of</strong>tware behavior, a strategy<br />

<strong>of</strong> trustiness evaluation is proposed, the process is given<br />

in Fig. 5.


2776 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

The evaluation <strong>of</strong> s<strong>of</strong>tware intended operation trace is<br />

to verify whether the practical identification <strong>of</strong> check<br />

point consistent with the intended. However, for the<br />

evaluation <strong>of</strong> s<strong>of</strong>tware intended function trace, we adopt<br />

the above-mentioned strategy <strong>of</strong> determining the weights<br />

<strong>of</strong> characteristic attributes based on information entropy.<br />

After get the weights <strong>of</strong> all attributes, we sum up all<br />

sample pattern with different weighting factor to perform<br />

evaluation. The values <strong>of</strong> every attribute are described by<br />

abstract value range [22]. If the value <strong>of</strong> j belongs to the<br />

intended range, then cj=1, else cj=0. The value <strong>of</strong><br />

evaluation C is:<br />

6<br />

∑<br />

j = 1<br />

C = ω (6)<br />

jc j<br />

A trusted threshold T is defined. If C


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2777<br />

TABLE I.<br />

WEIGHTS OF CHARACTERISTIC ATTRIBUTES AND DETECTION RESULTS<br />

Characteristic Attributes Function Argument CPU Memory Result TimeInterval Detection Results<br />

Without<br />

weights<br />

With<br />

weights<br />

Trusted threshold T is 0.4:√ represents consistence with the intended; × represents deviation from the intended.<br />

The performance <strong>of</strong> the TSCMTE mainly comes from<br />

verifying whether the dynamic behavior trace extracted<br />

during s<strong>of</strong>tware execution is in accordance with the<br />

intended. From the investigation, it is found that regular<br />

s<strong>of</strong>tware has a considerably lower system call density.<br />

Take gzip for example, when the model was enabled, the<br />

CPU load increased about 15% and the memory usage<br />

grew by about 10%. Therefore, the TSCMTE has an<br />

acceptable performance. Meanwhile, it also greatly<br />

improves the trustiness <strong>of</strong> s<strong>of</strong>tware.<br />

In addition, this model has been adopted in the<br />

information management system <strong>of</strong> Department <strong>of</strong><br />

Science and Technology <strong>of</strong> Hebei Province, China, the<br />

effective trustiness and acceptable performance have<br />

been proved completely.<br />

VI. CONCLUSION<br />

In this paper, a trusted s<strong>of</strong>tware constitution model<br />

based on Trust Engine (TSCMTE) is proposed. S<strong>of</strong>tware<br />

Intended Behavior Trace was introduced to describe the<br />

intended behavior <strong>of</strong> s<strong>of</strong>tware, which consists <strong>of</strong> Intended<br />

Operation Trace and Intended Function Trace. The<br />

former is the intended routes which can be denoted by<br />

vectors <strong>of</strong> ordered Check Points; the latter describes the<br />

intended functions, which is constituted by a series <strong>of</strong><br />

functions with related information. Time Interval can<br />

ensure the trustiness <strong>of</strong> s<strong>of</strong>tware behavior between<br />

adjacent Check Points. For the purpose <strong>of</strong> ensuring<br />

s<strong>of</strong>tware’s trustiness, the TSCMTE carries out constraints<br />

<strong>of</strong> s<strong>of</strong>tware’s static integrity and dynamic behavior<br />

completely. Furthermore, in order to improve the<br />

accuracy <strong>of</strong> constraints, a strategy <strong>of</strong> determining the<br />

weights <strong>of</strong> characteristic attributes based on information<br />

entropy is proposed. The simulation experiments and<br />

practical application show that the trustiness <strong>of</strong> s<strong>of</strong>tware<br />

developed by the TSCMTE is improved greatly without<br />

performance degradation. However, the TSCMTE has its<br />

own limitations, an intensive research will be made on<br />

the trustiness evaluation and the temporal and spatial<br />

correlations among characteristic attributes for<br />

determining weights in the future.<br />

© 2012 ACADEMY PUBLISHER<br />

Weights 0.166 0.166 0.166 0.166 0.166 0.166 ——<br />

Attack × × √ √ √ √ False Negative(0.33)<br />

Normal √ × √ × √ × False Positive(0.498)<br />

Weights 0.37 0.23 0.13 0.05 0.2 0.02 ——<br />

Attack × × √ √ √ √ Attack(0.6)<br />

Normal √ × √ × √ × Normal(0.3)<br />

ACKNOWLEDGEMENT<br />

This work is supported by the National Natural<br />

Science Foundation <strong>of</strong> China (Grant No.60873203), the<br />

Foundation <strong>of</strong> Key Laboratory <strong>of</strong> Aerospace Information<br />

Security and Trusted Computing Ministry <strong>of</strong> Education<br />

(Grant No.AISTC2009_03), Hebei National Funds for<br />

Distinguished Young Scientists (Grant No.F2010000317),<br />

the National Science Foundation <strong>of</strong> Hebei Province<br />

(Grant No.F2010000319).<br />

REFERENCES<br />

[1] Chen Huowang, Wang Ji, Dong Wei, “High Confidence<br />

S<strong>of</strong>tware Engineering Technologies,” Acta Electronica<br />

Sinica, vol. 31, no. 12A, pp. 1933–1937, 2003.<br />

[2] Li Renjie, Zhang Zhuxi, Jiang Haiyan, Wang Huaimin,<br />

“Research and implementation <strong>of</strong> trusted s<strong>of</strong>tware<br />

constitution based on monitoring,” Application Research <strong>of</strong><br />

Computers, vol. 26, no. 12, pp. 4585–4588, Dec. 2009.<br />

[3] Mei Hong, Liu Xizhe, “S<strong>of</strong>tware techniques evolved by the<br />

Internet: Current situation and future trend,” Chinese Sci<br />

Bull, vol. 55, no. 13, pp. 1214–1220, 2010.<br />

[4] Edmund M Clarke, Jeannette M Wing, “Formal methods:<br />

State <strong>of</strong> the art and future directions,” ACM Computing<br />

Surveys, vol. 28, pp. 626–643, 1996.<br />

[5] S. J. Prowell, C. J. Trammell, R. C. Linger, J. H. Poore,<br />

Cleanroom S<strong>of</strong>tware Engineering: Technology and<br />

Process, Boston: Addison-Wesley Pr<strong>of</strong>essional, 1999.<br />

[6] VO Safonov, Using aspect-oriented programming for<br />

trustworthy s<strong>of</strong>tware development, Wiley Interscience, Jun.<br />

2008.<br />

[7] Qu Yanwen, S<strong>of</strong>tware Behavior, Beijing: Electronic<br />

Industry Press, Oct. 2004.<br />

[8] Liu Huimin, Zhang Wenhui, “Model Checking: Theories,<br />

Techniques and Applications,” Chinese <strong>Journal</strong> <strong>of</strong><br />

Electronics, vol. 30, no. 12A, pp. 1907–1912, Dec. 2002.<br />

[9] Wang Huaimin, Liu Xudong, Xie Bing, S<strong>of</strong>tware<br />

Trustworthiness Classification Specification, TRUSTIE-<br />

STC V2.0, May 2009.<br />

[10] Liu Jing, He Jifeng, Miao Huaikou, “A strategy for model<br />

construction and integration in MDA,” <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware,<br />

vol. 17, no. 6, pp. 1141–1422, Jun. 2006.<br />

[11] Li Xiaoyong, Shen Changxiang, “Research to a dynamic<br />

application transitive trust model,” J.Huazhong Univ. <strong>of</strong><br />

Sci. & Tech (Nature Science Edition), vol. 33, pp. 310–312,<br />

Dec. 2005.


2778 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

[12] Liu Dayou, Yang Kun, Chen Jianzhong, “Agents: Present<br />

Status and Trends,” <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, vol. 11, no. 3, pp.<br />

315–321, Nov. 2000.<br />

[13] David Challener, Kent Yoder, Ryan Catherman, A<br />

Practical Guide to Trusted Computing, Upper Saddle<br />

River, NJ: IBM Press, 2009.<br />

[14] Shen Changxiang, Zhang Huanguo, Wang Huaimin,<br />

“Research on trusted computing and its development,”<br />

SCIENCE CHINA Information Sciences, vol. 53, pp. 405–<br />

433, Mar. 2010.<br />

[15] Trusted Computing Group, TCG Specification Architecture<br />

Overview, Https://www.trustedcomputinggroup.org/groups<br />

/TCG_1_ 0_Architecture_Overview.pdf.<br />

[16] Yao Lihong, Zi Xiaochao, Huang Hao, Mao Bing, Xie Li,<br />

“Research <strong>of</strong> System Call Based Intrusion Detection,” Acta<br />

Electronica Sinica, vol. 31, no. 8, pp. 1134–1137, Aug.<br />

2003.<br />

[17] Cover T M. and Thomas J A, Elements <strong>of</strong> Information<br />

Theory, New York: Wiley, 1991.<br />

[18] M. Christodorescu, S. Jha, “Static analysis <strong>of</strong> executables<br />

to detect malicious patterns,” In Proceedings <strong>of</strong> the 12th<br />

USENIX Security Symposium ( Security’03), pp. 169–186,<br />

Aug. 2003.<br />

[19] L. Wendehals, “Improving Design Pattern Instance<br />

Recognition by Dynamic Analysis,” In Proc. <strong>of</strong> the ICSE<br />

2003 Workshop on Dynamic Analysis (WODA), pp. 29–32,<br />

May 2003.<br />

[20] Luo Junzhou, Shen Jun, Gu Guanqun, “From Petri Nets to<br />

Formal Description Techniques and Protocol Engineering,”<br />

<strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, vol. 11, no. 5, pp. 606–615, Nov.<br />

2000.<br />

[21] S Helke, F Kammiller, “Representing hierarchical<br />

automata in interactive theorem provers,” Proc <strong>of</strong> the 14th<br />

© 2012 ACADEMY PUBLISHER<br />

International Conference on Theorem Proving in Higher<br />

Order Logics, London: Springer-Verlag, pp. 233–248,<br />

2001.<br />

[22] Xiao Qing, Gong Yunzhan, Yang Zhaohong, Jin Dahai,<br />

Wang Yawen, “Path Sensitive Static Defect Detecting<br />

Method,” <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, vol. 21, no. 2, pp. 209–217,<br />

Feb. 2010.<br />

Junfeng Tian, born in Baoding, China,<br />

1965, received Ph.D degree <strong>of</strong><br />

computer science from University <strong>of</strong><br />

Science and Technology <strong>of</strong> China in<br />

2004.<br />

He is a pr<strong>of</strong>essor <strong>of</strong> Computer<br />

Science at Hebei University. In the past<br />

few years, he has published many<br />

technical papers in refereed journals<br />

and conference proceedings. His research interests include<br />

network security, trust computing and distributed computing.<br />

Ye Zhu, born in Shijiazhuang, China, 1985, received Master<br />

degree <strong>of</strong> computer science from Hebei University in 2011.<br />

He works in Shijiazhuang Posts and Telecommunications<br />

Technical College. His research interests include network<br />

security, trust computing.<br />

Jianlei Feng, born in Cangzhou, China, 1984, received Master<br />

degree <strong>of</strong> computer science from Hebei University in 2011.<br />

He studied in the College <strong>of</strong> Mathematics and Computer<br />

Science <strong>of</strong> HeBei University His research interests include<br />

network security, trust computing.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2779<br />

Fuzzy Evaluation on Supply Chains’ Overall<br />

Performance Based on AHM and M(1,2,3)<br />

Jing Yang<br />

School <strong>of</strong> Kexin, Hebei University <strong>of</strong> Engineering, Handan, China<br />

hdjianghua@126.com<br />

Hua Jiang<br />

School <strong>of</strong> Economics and Management, Hebei University <strong>of</strong> Engineering, Handan, China<br />

hdjianghua@126.com<br />

Abstract—To effectively measure supply chain performance<br />

is one <strong>of</strong> the most important aspects for supply chain<br />

management, which can help decision makers analyze the<br />

historical performance and current status, and can help<br />

them set future performance targets. We firstly base on the<br />

Supply Chain Operations Reference-model (SCOR-model)<br />

to construct an index system for evaluating the supply<br />

chains’ overall performance, and then use Analytic<br />

Hierarchical Model (AHM) to determine the weight <strong>of</strong> every<br />

index in the system. In order to effectively evaluate the<br />

supply chains’ overall performance, we define the<br />

distinguishable weight to eliminate the redundant index<br />

data and extract valid values to compute object membership.<br />

Lastly, we use an example to illustrate the effectiveness <strong>of</strong><br />

the proposed approach, whose results show that the<br />

combined model could effectively evaluate supply chains’<br />

overall performance and identify improvement aspects.<br />

Index Terms—supply chains, overall performance, fuzzy<br />

evaluation, analytic hierarchical model, M(1,2,3) model<br />

I. INTRODUCTION<br />

Today’s fierce market conditions drive the enterprise to<br />

effectively assess the overall performance <strong>of</strong> the supply<br />

chain, and to determine the aspects that need improvement<br />

in order to gain a competitive advantage. In recent<br />

decades, enterprises have been improving their internal<br />

performances by using practices such as JIT, Kanban,<br />

Kaizen, and TQM. Meanwhile new methods in Supply<br />

Chain Management have forced enterprises to enhance not<br />

only their internal performances but also their supply<br />

chain performance. Many companies have not been<br />

successful to maximize the potential <strong>of</strong> their supply chain,<br />

because they <strong>of</strong>ten fail to develop the performance metrics<br />

needed to fully integrate their supply chain [1]. Lee and<br />

Billington [2] observed that the discrete sites in a supply<br />

chain do not maximize efficiency if each pursues goals<br />

independently. In recent years, more and more researchers<br />

and practitioners pay much attention to supply chain<br />

performance measurement.<br />

In order to assess the supply chain performance, many<br />

scholars have, from different perspectives, proposed<br />

corresponding evaluation index systems which can be<br />

generally classified into three kinds: the evaluation index<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2779-2786<br />

system based on Supply Chain Operations Reference<br />

model (SCOR-model), the evaluation system based on<br />

Supply Chain Balanced Scorecard and ROF (Resources,<br />

Output, Flexibility) system proposed by Beamon [3]. Of<br />

the three evaluation systems, SCOR-model is the most<br />

influential and most widespread applied which can<br />

measure and improve enterprises’ internal and external<br />

business processes, making the implementation <strong>of</strong><br />

Strategic Enterprise Management (SEM) possible [4].<br />

Bullinger et al [5], according to the SCOR framework,<br />

carried out a "bottom-up" performance evaluation <strong>of</strong><br />

supply chains. Kee-hung Lai et al [6], based on the<br />

SCOR-model and various established measures, proposed<br />

a measurement model and a measurement instrument for<br />

supply chain performance in transporttion logistics.<br />

Robert S. Kaplan et al [7] proposed the Balanced<br />

Scorecard (BSC) evaluation system. BSC is not only an<br />

evaluation system but also a manifestation <strong>of</strong> management<br />

thinking. Since the BSC was proposed, with its simplicity<br />

and easy-to-operate advantage, it has been recognized in a<br />

wide range. Kleijnen J.P.C et al [8] and Ma Shi-hua [9]<br />

applied the basic principles <strong>of</strong> BSC in supply chain<br />

performance evaluation, and established a supply chain<br />

balanced scorecard evaluation system according to the<br />

characteristics <strong>of</strong> supply chains. Beamon [3], starting with<br />

the strategic objectives <strong>of</strong> supply chains, determined a few<br />

key factors influencing strategic objectives to establish an<br />

index system framework <strong>of</strong> supply chain performance<br />

evaluation.<br />

In addition to the above mentioned supply chain<br />

performance evaluation index systems, more scholars<br />

from other perspectives put forward corresponding<br />

evaluation index systems, but these systems are not from<br />

the perspective <strong>of</strong> the overall supply chain, and proposed<br />

indexes are numerous and complex, even containing<br />

redundant data. Although many scholars have pointed out<br />

the evaluation indexes in theoretical level, few are in<br />

operational level.<br />

As the process <strong>of</strong> supply chain operations contains a lot<br />

<strong>of</strong> vague information which is difficult to use<br />

conventional methods to measure and quantify; In<br />

addition, the characteristics <strong>of</strong> the supply chain itself<br />

require its decision-making issues seeking an integrated,


2780 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

coordinated balance and overall optimization, which<br />

makes supply chain performance evaluation with a<br />

number <strong>of</strong> qualitative indicators. These bring a certain<br />

degree <strong>of</strong> difficulty to performance evaluation <strong>of</strong> supply<br />

chains. Currently main methods in the supply chain<br />

performance evaluation include Analytic Hierarchy<br />

Process (AHP), fuzzy decision-making evaluation method,<br />

Data Envelopment Analysis and so on.<br />

AHP, proposed by T. L. Saaty in the early 70s last<br />

century, is a flexible and practical method <strong>of</strong> multi-criteria<br />

decision-making. As supply chain performance evaluation<br />

is a typical multi-objective decision making issue, AHP<br />

has been widely used in the area. F.T.S. Chan [10] took<br />

the electronic industry as an example to demonstrate the<br />

priority <strong>of</strong> AHP technique in performance measurement in<br />

a supply Chain. R. BHAGWAT [11] used AHP<br />

methodology as aid in making SCM evaluation decisions.<br />

The application <strong>of</strong> AHP in supply chain performance<br />

evaluation brings a set <strong>of</strong> systematic analysis for the<br />

problem, providing a more convincing basis <strong>of</strong> scientific<br />

management and decision-making. However, AHP also<br />

has its limitations, so many scholars had tried a variety <strong>of</strong><br />

improved and perfected ways to overcome the<br />

shortcomings <strong>of</strong> AHP. F.T.S. Chan and Qi H.J. [12]<br />

proposed a novel channel-spanning performance<br />

measurement method from a system perspective and<br />

introduced fuzzy set theory to address the real situation in<br />

the judgement and evaluation processes <strong>of</strong> supply chains.<br />

Rajat Bhagwat [13] proposed a new mathematical model<br />

to optimize the overall performance measurement <strong>of</strong> SCM<br />

for Small- and Medium-sized Enterprises (SMEs).<br />

Besides above evaluation methods, there are also many<br />

other attempts. Qinghua Zhu et al [14], taking 341<br />

Chinese manufacturers as samples, applied confirmatory<br />

factor analysis to test and compare two measurement<br />

models <strong>of</strong> green supply chain management (GSCM)<br />

practices implementation.<br />

Although there have been many researches on the<br />

performance measurement <strong>of</strong> supply chains, few are on<br />

the overall performance evaluation <strong>of</strong> supply chains. So, it<br />

is <strong>of</strong> important practical and theoretical significance to<br />

evaluate the overall performance <strong>of</strong> supply chains. The<br />

objective <strong>of</strong> this paper is to apply Analytic Hierarchical<br />

Model (AHM) and a new membership transformation<br />

method M(1,2,3) to evaluate the supply chains’ overall<br />

performance. The contributions <strong>of</strong> this study include: i)<br />

constructing an index system for assessing the overall<br />

performance <strong>of</strong> supply chain; ii) using AHM to determine<br />

the index weights in the system; iii) building an evaluation<br />

model by M(1,2,3) for evaluating the supply chains’<br />

overall performance.<br />

The rest <strong>of</strong> the paper is organized as follows. Section 2<br />

introduces the models <strong>of</strong> AHM and M(1,2,3) and<br />

establishes the framework <strong>of</strong> applying the models to<br />

evaluate the performance measurement <strong>of</strong> supply chains.<br />

Section 3, according to the SCOR-model proposed by<br />

Supply Chain Council (SCC), constructs an evaluation<br />

index system <strong>of</strong> the overall performance <strong>of</strong> supply chains.<br />

Section 4 determines the weight <strong>of</strong> every index by<br />

applying Analytic Hierarchical Model. Section 5 applies<br />

© 2012 ACADEMY PUBLISHER<br />

the M(1,2,3) model in the fuzzy evaluation on supply<br />

chains’ overall performance. The last section concludes<br />

our discussion by summarizing our findings and<br />

implications for future research.<br />

II. THE MODELS<br />

This section introduces the AHM and M(1,2,3) model.<br />

AHM is a multi-criteria decision-making tool which can<br />

be used to evaluate alternative programs or to determine<br />

the weights <strong>of</strong> evaluation indexes. M(1,2,3) model is a<br />

more accurate evaluation model. We also construct the<br />

framework <strong>of</strong> applying AHM and M(1,2,3) to evaluate the<br />

overall performance <strong>of</strong> supply chains which is the<br />

guideline <strong>of</strong> next sections.<br />

A. Analytic Hierarchical Model<br />

AHM is different from AHP [15]. There is no<br />

eigenvalues calculation or consistency test in AHM, <strong>of</strong>ten<br />

called Ball Game model. The concrete contents are as<br />

follows [16]:<br />

Assume that there are N elements, u 1, u2,<br />

L , un<br />

,<br />

which respectively represent n ball teams. There are two<br />

teams in one game, so there will be<br />

1<br />

n ( n − 1)<br />

games<br />

2<br />

totally. Every game gains one score, μ ij and μ ji<br />

representing the corresponding scores <strong>of</strong> u i and<br />

u j ( i ≠ j)<br />

in the same game. The score denotes the<br />

criterion, short for C. Under C criterion, we can sort<br />

u 1, u2,<br />

L , un<br />

according to their gained scores.<br />

μ ij and μ ji should satisfy the following conditions:<br />

⎧μij<br />

≥ 0 , μ ji ≥ 0<br />

⎪<br />

⎨μij<br />

+ μ ji = 1 i ≠ j<br />

(1)<br />

⎪<br />

⎩μii<br />

= 0 (A teamcan't<br />

match withitself)<br />

In the practical problems, μ ij can take all real values<br />

from 0 to 1. We call μ ij as Relative Measurement <strong>of</strong><br />

u and ( i j)<br />

i<br />

u j ≠ and call = ( μij<br />

) n×<br />

n<br />

μ as pair-wise<br />

comparison matrix.<br />

If μ ij > μ ji , it means u i is stronger than u j ,<br />

denoted by u i > u j . So, after the game, if the score <strong>of</strong><br />

u i is larger than that <strong>of</strong> u j , u i is the winner. If<br />

( ij ) n×<br />

n<br />

μ satisfies: If u i > u j , u j > uk<br />

, then u i > uk<br />

,<br />

meaning that comparison matrix satisfies the consistency.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2781<br />

The final score <strong>of</strong> u i is : = ∑<br />

=<br />

n<br />

fi<br />

μ ij , obviously,<br />

j 1<br />

n 1<br />

1<br />

∑ fi<br />

= n(<br />

n − 1)<br />

. There are n ( n − 1)<br />

games totally,<br />

i=<br />

1 2<br />

2<br />

1<br />

so the total score should be n ( n − 1)<br />

. Supposing:<br />

2<br />

C C C<br />

( , , L,<br />

)<br />

⎧ ω =<br />

⎪<br />

ω ω ω<br />

⎨<br />

n<br />

C 2<br />

⎪ωu<br />

= μ<br />

i ∑ ij<br />

⎪⎩ nn ( −1)<br />

j=<br />

1<br />

C u1 u2 un<br />

where ω C is called the Relative Weight Vector.<br />

Usually, it is not easy to directly get the comparison<br />

μ in AHM, but we can deduce it from the<br />

matrix ( ij ) n×<br />

n<br />

comparison Matrix ( aij<br />

) n×<br />

n<br />

( aij<br />

) n n<br />

T<br />

(2)<br />

in AHP. When<br />

× satisfies the consistency, we can sort<br />

u L u according to the relative components <strong>of</strong><br />

u , ,<br />

1, 2<br />

ω .<br />

C<br />

n<br />

B. M(1,2,3) Model<br />

Assume that there are m indexes which affect the<br />

evaluation object Q , where the importance weights<br />

λ j ( Q)<br />

<strong>of</strong> j ( j = 1 ~ m ) index about object Q is given<br />

and satisfiesP :<br />

( ) 1<br />

0 ≤ Q ≤<br />

λ , ( ) = 1<br />

j<br />

m<br />

∑ j<br />

j=<br />

1<br />

Q λ (3)<br />

Every index is classified into p classes. CBKB<br />

represents the K th class and CBKB is prior to CBK+1B. If the<br />

membership μ (Q)<br />

<strong>of</strong> j th index belonging to CBKB is<br />

jK<br />

given, where K = 1 ~ P and j = 1 ~ m , and μ (Q)<br />

satisfies:<br />

0 ≤ μ ( Q)<br />

≤ 1 , μ jK ( Q)<br />

= 1 (4)<br />

jK<br />

P<br />

∑<br />

K = 1<br />

1) The distinguishable weight<br />

Let α (Q)<br />

represent the normalized and quantized<br />

j<br />

value describing j th index contributes to classification.<br />

And it can be described quantitatively by the entropy<br />

H j (Q)<br />

. Therefore, α (Q)<br />

is a function <strong>of</strong> (Q)<br />

:<br />

j<br />

p<br />

H j ( Q)<br />

= − ∑ μ jk ( Q)<br />

⋅ logμ<br />

jk ( Q)<br />

k=<br />

1<br />

H j<br />

jK<br />

(5)<br />

1<br />

( Q)<br />

= 1 − H ( Q)<br />

(6)<br />

log p<br />

v j<br />

j<br />

m<br />

α j ( Q)<br />

= ν j ( Q)<br />

∑ν<br />

t ( Q)<br />

( j = 1 ~ m)<br />

(7)<br />

t=<br />

1<br />

© 2012 ACADEMY PUBLISHER<br />

Definition 1: If μ (Q)<br />

( k = 1 ~ p,<br />

j = 1 ~ m)<br />

is the<br />

jk<br />

membership <strong>of</strong> j th index belonging to C k and<br />

satisfies Eq. (4); by (5) (6) (7), α (Q)<br />

is called<br />

distinguishable weight <strong>of</strong> j th index corresponding to Q .<br />

Obviously, α (Q)<br />

satisfies<br />

j<br />

0 ≤ α ( Q)<br />

≤ 1 , j ( ) = 1 Q α (8)<br />

j<br />

m<br />

∑<br />

j=<br />

1<br />

2) The effective value<br />

Definition 2: If μ (Q)<br />

( k = 1 ~ p,<br />

j = 1 ~ m)<br />

is the<br />

jk<br />

membership <strong>of</strong> j th index belonging to C k and<br />

satisfies Eq. (8), and α (Q)<br />

is the distinguishable<br />

weight <strong>of</strong> j th index corresponding to Q , then<br />

j<br />

α ( ) ⋅ μ ( Q)<br />

( k = 1 ~ p)<br />

(9)<br />

j<br />

Q jk<br />

is called effective distinguishable value <strong>of</strong> K th class<br />

membership <strong>of</strong> j th index, or K th class effective value<br />

for short.<br />

3) The comparable value<br />

Definition 3: If α j ( Q) ⋅ μ jk ( Q)<br />

is K th class effective<br />

value <strong>of</strong> j th index, and β j (Q)<br />

is importance weight <strong>of</strong><br />

j th index related to object Q , then<br />

β ( ) ⋅ α ( Q)<br />

⋅ μ ( Q)<br />

( k = 1 ~ p)<br />

(10)<br />

j Q j jk<br />

is called comparable effective value <strong>of</strong> K th class<br />

membership <strong>of</strong> j th index, or K th class comparable<br />

value for short.<br />

Definition 4: If β j ( Q) ⋅ α j ( Q)<br />

⋅ μ jk ( Q)<br />

is K th class<br />

comparable value <strong>of</strong> j th index <strong>of</strong> Q , where ( j = 1 ~ m)<br />

,<br />

then<br />

M<br />

k<br />

m<br />

=<br />

j=<br />

1<br />

( Q)<br />

∑ β ( Q)<br />

⋅α<br />

( Q)<br />

⋅ μ ( Q)<br />

( k = 1 ~ p)<br />

(11)<br />

j<br />

j<br />

is named K th class comparable sum <strong>of</strong> object Q .<br />

Definition 5: If M k (Q)<br />

is K th class comparable<br />

sum <strong>of</strong> object Q , and μ k (Q)<br />

is the membership <strong>of</strong><br />

object Q belonging to C K , then<br />

Δ p<br />

k<br />

t=<br />

1<br />

μ ( Q)<br />

= M ( Q)<br />

∑ M ( Q)<br />

( k = 1 ~ p)<br />

(12)<br />

k<br />

t<br />

Obviously, given by Eq. (13), membership degree<br />

μ (Q)<br />

satisfies:<br />

k<br />

jk<br />

p<br />

0 ≤ μ k ( Q)<br />

≤ 1,<br />

∑ k =<br />

k=<br />

Q μ ( ) 1 (13)<br />

1<br />

The above membership transformation method can be<br />

summarized as “effective, comparison and composition”,<br />

M 1,<br />

2,<br />

3 model [17].<br />

which is denoted as ( )<br />

j


2782 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

C. The Framework <strong>of</strong> Applying AHM and M(1,2,3) to<br />

Evaluate Supply Chains’ Overall Performance<br />

According to the calculation processes <strong>of</strong> the AHM<br />

and M(1,2,3), we can construct the framework <strong>of</strong><br />

applying the two models to evaluate the overall<br />

performance <strong>of</strong> supply chains, as Fig.1 shows. The first<br />

step is to construct an evaluation index system <strong>of</strong> supply<br />

chains’ overall performance; the second step is to apply<br />

AHM to determine the weight <strong>of</strong> every index; the third<br />

step is to establish the fuzzy evaluation matrix <strong>of</strong> supply<br />

chains’ overall; the fourth step is to calculate the<br />

evaluation results by M(1,2,3) model; the fifth step is to<br />

analyze the results and propose improvement<br />

measurements in the last step.<br />

Constructing an evaluation index system <strong>of</strong> supply chains’ overall<br />

Applying AHM to determine the weight <strong>of</strong> every index<br />

Establishing the fuzzy evaluation matrix <strong>of</strong> supply chains’ overall<br />

Calculating the evaluation results by M(1,2,3) model<br />

Results analysis<br />

Proposing improvement measurements<br />

Figure 1. The framework <strong>of</strong> applying AHM and M(1,2,3) to evaluate<br />

supply chains’ overall performance.<br />

III. THE EVALUATION INDEX SYSTEM OF SUPPLY CHAINS’<br />

OVERALL PERFORMANCE<br />

We, according to the SCOR-model, establish an<br />

evaluation index system <strong>of</strong> supply chains’ total<br />

performance, as Table I shows [18].<br />

IV. APPLYING AHM TO DETERMINE THE WEIGHT OF<br />

EVERY INDEX IN THE EVALUATION INDEX SYSTEM OF<br />

SUPPLY CHAINS’ OVERALL PERFORMANCE<br />

This section applies AHM to determine the weight <strong>of</strong><br />

every index in the evaluation index system <strong>of</strong> supply<br />

chains’ total performance.<br />

A. 1-9 Proportional Scaling Method<br />

u , ,<br />

, 2<br />

N elements, 1 u L un<br />

, compare importance<br />

TABLE I.<br />

THE EVALUATION INDEX SYSTEM OF SUPPLY CHAINS’ OVERALL<br />

PERFORMANCE<br />

The<br />

goal<br />

Evaluation on supply chains’ total performance G<br />

Criteria layer Index layer<br />

C1 :<br />

Reliability<br />

C2:<br />

Responsiveness<br />

C3:<br />

Flexibility<br />

C4:<br />

Cost<br />

C5:<br />

Assets<br />

F11: Delivery performance<br />

F12: Order fill rate<br />

F13: On time delivery<br />

F21: Order lead-time<br />

F22: Planning cycle time<br />

F23: Information transmission rate<br />

F31: Supply chain responsiveness time<br />

F32: Production flexibility<br />

F33: Delivery flexibility<br />

F41: Supply chain total costs<br />

F42: Value-added employee productivity<br />

F43: Quality warranty costs<br />

F51: Cash turn age<br />

F52: Inventory days<br />

F53: Asset turns<br />

pairwise, so there will be<br />

n(<br />

n −1)<br />

2<br />

times. The<br />

importance ratio <strong>of</strong> u i and u j is a ij . The problem is<br />

how to get a ij . AHP uses 1-9 proportional scaling<br />

method to determine a ij .<br />

B. Constructing Pairwise Comparison Judgment Matrix in<br />

AHP<br />

In this paper, we compare the criterions layer based on<br />

the goal: improving the overall performance <strong>of</strong> supply<br />

chains and will get a 5 x 5 comparison matrix; we<br />

compare the factors layer based on corresponding<br />

criterion and will get five 3 x 3 comparison matrices. The<br />

comparison matrices are as follows:<br />

G Reliability C1 Responsiveness C2 Flexibility C3 Cost C4 Assets C5<br />

Reliability C1 1 2 2 3 5<br />

Responsiveness C2 1/2 1 1 2 3<br />

© 2012 ACADEMY PUBLISHER<br />

Flexibility C3 1/2 1 1 2 3<br />

Cost C4 1/3 1/2 1/2 1 2<br />

Assets C5 1/5 1/3 1/3 1/2 1


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2783<br />

Reliability C1 F11 F12 F13 Responsiveness C2 F21 F22 F23<br />

Delivery performance F11 1 2 2 Order lead-time F21 1 2 3<br />

Order fill rate F12 1/2 1 1 Planning cycle time F22 1/2 1 2<br />

On time delivery F13 1/2 1 1<br />

Information transmission<br />

rate F23<br />

1/3 1/2 1<br />

Flexibility C3 F31 F32 F33 Costs C4 F41 F42 F43<br />

Supply chain<br />

responsiveness time F31<br />

Production flexibility F32 1/2 1 2<br />

Delivery flexibility F33 1/4 1/2 1<br />

C. The Pairwise Comparison Judgment Matrix in AHM<br />

after Converting from AHP<br />

Using the models mentioned in Section II, we can<br />

aij<br />

n×<br />

in AHP<br />

convert the comparison judgment matrix ( ) n<br />

1 2 4 Supply chain total costs F41 1 2 2<br />

Value-added employee<br />

productivity F42<br />

Quality warranty costs<br />

F43<br />

Assets C5 F51 F52 F53<br />

Cash turn age F51 1 3 5<br />

Inventory days F52 1/3 1 2<br />

Asset turns F53 1/5 1/2 1<br />

1/2 1 1<br />

1/2 1 1<br />

into the comparison judgment matrix ( ij ) n×<br />

n<br />

as follows:<br />

G Reliability C1 Responsiveness C2 Flexibility C3 Cost C4 Assets C5<br />

Reliability C1 0 0.8 0.8 0.857 0.909<br />

Responsiveness C2 0.2 0 0.5 0.8 0.857<br />

Flexibility C3 0.2 0.5 0 0.8 0.857<br />

Cost C4 0.143 0.2 0.2 0 0.8<br />

Assets C5 0.091 0.143 0.143 0.2 0<br />

Reliability C1 F11 F12 F13 Responsiveness C2 F21 F22 F23<br />

Delivery performance F11 0 0.8 0.8 Order lead-time F21 0 0.8 0.857<br />

Order fill rate F12 0.2 0 0.5 Planning cycle time F22 0.2 0 0.8<br />

On time delivery F13 0.2 0.5 0<br />

Information transmission<br />

rate F23<br />

0.143 0.2 0<br />

Flexibility C3 F31 F32 F33 Costs C4 F41 F42 F43<br />

Supply chain responsiveness<br />

time F31<br />

Production flexibility F32 0.2 0 0.8<br />

0 0.8 0.889 Supply chain total costs F41 0 0.8 0.8<br />

Value-added employee<br />

productivity F42<br />

0.2 0 0.5<br />

Delivery flexibility F33 0.111 0.2 0 Quality warranty costs F43 0.2 0.5 0<br />

© 2012 ACADEMY PUBLISHER<br />

Assets C5 F51 F52 F53<br />

Cash turn age F51 0 0.857 0.909<br />

Inventory days F52 0.143 0 0.8<br />

Asset turns F53 0.091 0.2 0<br />

μ in AHM,


2784 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

From the above conversion results, we can see that all<br />

the conversed comparison judgment matrices in AHM<br />

satisfy the consistency.<br />

D. Calculating the Relative Weights in AHM under the<br />

Single Criterion<br />

Using the single criterion C, we can calculate the<br />

relative weight by the formula <strong>of</strong> each factor which is as<br />

follows:<br />

T<br />

C C C<br />

C u u un<br />

⎟ n<br />

ω = ⎜<br />

⎛ω<br />

, ω , L , ω ⎞ ,<br />

C 2<br />

ω = ∑ μij<br />

⎝ 1 2 ⎠ ui n(<br />

n −1)<br />

j=<br />

1<br />

The detailed values <strong>of</strong> the factor relative weight are as<br />

follows:<br />

T<br />

ω ⎜<br />

⎛<br />

⎟<br />

⎞<br />

G = ω , ω , ω , ω , ω<br />

⎝ C1<br />

C2<br />

C3<br />

C4<br />

C5<br />

⎠<br />

= ( ) T<br />

0.337 , 0.236,<br />

0.236,<br />

0.133,<br />

0.058<br />

T<br />

⎜<br />

⎛ F<br />

= 11 F12<br />

F13<br />

⎟<br />

⎞<br />

C ω , ω , ω<br />

1 ⎝ C1<br />

C1<br />

C1<br />

⎠<br />

ω = ( ) T<br />

0.534 , 0.233,<br />

0.233<br />

T<br />

⎜<br />

⎛ F<br />

= 21 F22<br />

F23<br />

⎟<br />

⎞<br />

C ω , ω , ω<br />

2 ⎝ C2<br />

C2<br />

C2<br />

⎠<br />

ω = ( ) T<br />

0.552 , 0.334,<br />

0.114<br />

T<br />

⎜<br />

⎛ F<br />

= 31 F32<br />

F33<br />

⎟<br />

⎞<br />

C ω , ω , ω<br />

3 ⎝ C3<br />

C3<br />

C3<br />

⎠<br />

ω = ( ) T<br />

0.562,<br />

0.334,<br />

0.104<br />

T<br />

⎜<br />

⎛ F<br />

= 41 F42<br />

F43<br />

⎟<br />

⎞<br />

C ω , ω , ω<br />

4 ⎝ C4<br />

C4<br />

C4<br />

⎠<br />

ω = ( ) T<br />

0.534 , 0.233,<br />

0.233<br />

T<br />

⎜<br />

⎛ F<br />

= 51 F52<br />

F53<br />

⎟<br />

⎞<br />

C ω , ω , ω<br />

5 ⎝ C5<br />

C5<br />

C5<br />

⎠<br />

ω = ( ) T<br />

0.588 , 0.314,<br />

0.098<br />

E. Calculating the Synthetic Weight <strong>of</strong> Each Factor to the<br />

Goal<br />

According to the relative weights under the single<br />

criterion in every layer gained in the above subsection,<br />

we can calculate the synthetic weights <strong>of</strong> factors in the<br />

bottom layer to the goal which are as follows:<br />

The<br />

Goal<br />

performance S<br />

Fuzzy evaluation on supply chains’ total<br />

ω<br />

Fij<br />

G<br />

F<br />

F<br />

F11<br />

G<br />

F<br />

F12<br />

G<br />

F<br />

F<br />

G<br />

F<br />

F<br />

G<br />

33<br />

43 51 52 53<br />

ωG<br />

, ω 41<br />

G , ω 42<br />

G , ωG<br />

, ωG<br />

, ωG<br />

, ωG<br />

)<br />

= ( 0.180,0.079,0.079,0.<br />

130,0.079, 0.027,0.133,<br />

0.079 ,<br />

T<br />

0.025,0.071,0.031,<br />

0.031, 0.034 ,0.018, 0.006)<br />

F<br />

F<br />

G<br />

F<br />

F<br />

G<br />

T<br />

F<br />

G<br />

F32<br />

G<br />

13<br />

23 31<br />

= ( ω , ω , ω , ω 21,<br />

ω 22 , ω , ω , ω ,<br />

V. FUZZY EVALUATION ON SUPPLY CHAINS’ TOTAL<br />

PERFORMANCE BASED ON M(1,2,3)<br />

A. The Fuzzy Evaluation Matrix <strong>of</strong> Supply Chains’ Total<br />

Performance<br />

According to the evaluation index system <strong>of</strong> the total<br />

performance <strong>of</strong> supply chains we have constructed in<br />

Section III, we invited fifty domain experts including the<br />

top leaders <strong>of</strong> the supply chain to evaluate the total<br />

performance <strong>of</strong> some supply chain. The evaluation results<br />

on the each base index are as Table II shows. In Table II,<br />

the values in the corresponding brackets <strong>of</strong> each index<br />

represent the corresponding importance weights; the<br />

vectors behind the base indexes represent the<br />

corresponding membership vectors which are classified<br />

into five levels: G1: Very satisfied, G2: Satisfied, G3:<br />

General, G4: Dissatisfied, G5: Very dissatisfied.<br />

B. Fuzzy Evaluation Based on M(1,2,3) Model<br />

(1) We take the criterion C 1 (Reliability) as the<br />

example. The calculation processes <strong>of</strong> its membership<br />

vector are:<br />

1) From Table II, on the index <strong>of</strong> "Delivery<br />

performance", 24% <strong>of</strong> experts regarded it as very satisfied,<br />

22% regarded it as satisfied, 22% regarded it as general,<br />

20% regarded it as dissatisfied and 12% regarded it as<br />

very dissatisfied, so its evaluation membership vector is<br />

0.24 0.22 0.22 0.20 0.12 .<br />

[ ]<br />

TABLE II.<br />

THE INDEX DATA OF SUPPLY CHAINS’ TOTAL PERFORMANCE<br />

Criteria Indexes<br />

Very<br />

satisfied<br />

Satisfied General Dissatisfied<br />

Very<br />

dissatisfied<br />

C1: Reliability<br />

(0.337)<br />

F11: Delivery performance (0.534)<br />

F12: Order fill rate (0.233)<br />

F13: On time delivery (0.233)<br />

12<br />

15<br />

14<br />

11<br />

14<br />

14<br />

11<br />

10<br />

10<br />

10<br />

7<br />

6<br />

6<br />

4<br />

6<br />

C2: F21: Order lead-time (0.552) 6 7 14 13 10<br />

Responsiveness F22: Planning cycle time (0.334) 5 4 14 14 13<br />

(0.236) F23: Information transmission rate (0.114) 10 11 14 10 5<br />

C3: Flexibility<br />

(0.236)<br />

F31: Supply chain responsiveness time (0.562)<br />

F32: Production flexibility (0.334)<br />

F33: Delivery flexibility (0.104)<br />

11<br />

16<br />

18<br />

16<br />

14<br />

12<br />

14<br />

12<br />

11<br />

6<br />

6<br />

6<br />

3<br />

2<br />

3<br />

C4: Costs<br />

(0.133)<br />

F41: Supply chain total costs (0.534)<br />

F42: Value-added employee productivity (0.233)<br />

F43: Quality warranty costs (0.233)<br />

11<br />

10<br />

14<br />

12<br />

13<br />

14<br />

13<br />

13<br />

10<br />

10<br />

10<br />

8<br />

4<br />

4<br />

4<br />

C5: Assets<br />

(0.058)<br />

F51: Cash turn age (0.588)<br />

F52: Inventory days (0.314)<br />

F53: Asset turns (0.098)<br />

13<br />

12<br />

14<br />

14<br />

11<br />

12<br />

10<br />

12<br />

12<br />

10<br />

10<br />

10<br />

3<br />

5<br />

2<br />

© 2012 ACADEMY PUBLISHER


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2785<br />

According to the fuzzy theory, we can draw the<br />

evaluation matrix <strong>of</strong> the criterion " Reliability" as follows:<br />

U<br />

⎛ 0.24<br />

⎜<br />

1 = ⎜ 0.30<br />

⎜<br />

⎝ 0.28<br />

( C )<br />

0.22<br />

0.28<br />

0.28<br />

0.22<br />

0.20<br />

0.20<br />

0.20<br />

0.14<br />

0.12<br />

0.12<br />

0.08<br />

0.12<br />

According to the j th row 11 ~ F13<br />

U C1<br />

, the<br />

distinguishable weights <strong>of</strong> F1 j are obtained and the<br />

distinguishable weight vector is:<br />

α<br />

F <strong>of</strong> ( )<br />

( C ) ( 0.1334 0.5065 0.3600)<br />

1 =<br />

2) In Table II, the importance weight vector <strong>of</strong><br />

F 11 ~ F13<br />

on C 1 is given:<br />

β<br />

( C ) ( 0.534 0.233 0.233)<br />

1 =<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

3) Calculate the K th comparable value <strong>of</strong> F1 j and<br />

obtain the comparable value matrix ( C )<br />

N<br />

⎛ 0.0171 0.0157<br />

⎜<br />

1 = ⎜ 0.0354 0.0330<br />

⎜<br />

⎝ 0.0235 0.0235<br />

( C )<br />

4) According to ( C )<br />

0.0157<br />

0.0236<br />

0.0168<br />

N 1 <strong>of</strong> C 1 :<br />

0.0142 0.0085⎞<br />

⎟<br />

0.0165 0.0094⎟<br />

0.0101 0.0101<br />

⎟<br />

⎠<br />

N 1 , calculate the K th comparable<br />

sum <strong>of</strong> C 1 and obtain the comparable sum vector:<br />

M<br />

( C ) ( 0.0760 0.0722 0.0561 0.0408 0.0281)<br />

1 =<br />

5) According to ( C1<br />

)<br />

vector ( C ) C :<br />

μ<br />

μ 1 <strong>of</strong> 1<br />

M , calculate the membership<br />

( C ) ( 0.2782 0.2644 0.2052 0.1495 0.1027)<br />

1 =<br />

In the same steps, we can calculate μ ( C2<br />

) , ( C3<br />

)<br />

μ ( C4<br />

) and μ ( C5<br />

) , which, with ( C1<br />

)<br />

evaluation matrix ( S )<br />

U<br />

performance:<br />

( S)<br />

μ ,<br />

μ , form the<br />

U <strong>of</strong> supply chains’ total<br />

⎛ μ(<br />

C ⎞ ⎛<br />

⎞<br />

⎜<br />

1)<br />

0.2782 0.2644 0.2052 0.1495 0.1027<br />

⎟ ⎜<br />

⎟<br />

⎜μ(<br />

C2)<br />

⎟ ⎜0.1152<br />

0.1139 0.2800 0.2663 0.2246⎟<br />

=<br />

⎜μ(<br />

C<br />

⎟<br />

=<br />

⎜<br />

⎟<br />

⎜ 3)<br />

0.2724 0.2966 0.2586 0.1200 0.0524<br />

⎟ ⎜<br />

⎟<br />

⎜μ(<br />

C4)<br />

⎟ ⎜0.2325<br />

0.2559 0.2429 0.1886 0.0800⎟<br />

⎜ ⎟ ⎜<br />

⎟<br />

⎝μ(<br />

C5)<br />

⎠ ⎝0.2598<br />

0.2644 0.2124 0.2000 0.0634⎠<br />

(2) According to U ( S ) and the weights <strong>of</strong> each<br />

criteria in the criterion level, we can calculate the final<br />

μ S <strong>of</strong> the goal S :<br />

membership vector ( )<br />

( S) = ( μ1(<br />

S)<br />

, , μ5(<br />

S)<br />

)<br />

( 0.2366 0.2437 0.2481 0.1634 0.1081)<br />

μ L<br />

=<br />

© 2012 ACADEMY PUBLISHER<br />

C. Recognition<br />

Because the evaluation grades <strong>of</strong> the overall<br />

performance <strong>of</strong> supply chains are orderly, that is, Gk is<br />

superior to Gk+1, so we apply confidence recognition rule<br />

to determine the grade <strong>of</strong> the overall performance <strong>of</strong> the<br />

supply chain.<br />

Let λ ( λ > 0.<br />

7)<br />

represent the confidence degree, then<br />

we can calculate<br />

⎪⎧<br />

k<br />

⎪⎫<br />

K0<br />

= min⎨k<br />

∑ μ t ( S)<br />

≥ λ,<br />

1 ≤ k ≤ 5⎬<br />

.<br />

⎪⎩ t=<br />

1<br />

⎪⎭<br />

and judge that S belongs the kth grade, <strong>of</strong> which the<br />

k<br />

t S<br />

t=<br />

1<br />

confidence degree is no lower than ∑ ( )<br />

μ .<br />

In the example, according to the final membership<br />

μ S gained in the above subsection, we can<br />

vector ( )<br />

judge that the overall performance <strong>of</strong> the supply chain S<br />

belongs the G3 (General) level, with the confidence<br />

degree 72.84% (0.2366+0.2437+0.2481= 0.7284).<br />

D. Results Analysis<br />

We have judged the total performance <strong>of</strong> the supply<br />

chain as the “General” level with the confidence level<br />

72.84%. By the evaluation matrix U ( S ) , we judge it as<br />

"Very satisfied" with the confidence level only being<br />

23.66%, indicating that the supply chain should improve<br />

its total performance from every aspect greatly, especially<br />

from the “Responsiveness” aspect, which is with the<br />

lowest confidence level 50.91% if we judge it as the<br />

“General” level.<br />

VI. CONCLUSIONS<br />

In this paper, we integrated Analytic Hierarchical<br />

Model (AHM) and a new membership transformation<br />

method M(1,2,3) to evaluate the overall performance <strong>of</strong><br />

supply chains. The contributions <strong>of</strong> this study include: i)<br />

constructing an index system for assessing the overall<br />

performance <strong>of</strong> supply chain; ii) using AHM to determine<br />

the index weights in the system; iii) building an<br />

evaluation model by M(1,2,3) for evaluating the supply<br />

chains’ overall performance. From the proposed approach,<br />

we can not only judge the overall levels <strong>of</strong> supply chains<br />

but also find out which aspects the decision makers<br />

should enhance to increase the overall performance <strong>of</strong><br />

supply chains.<br />

However this study has several limitations. First, we<br />

just used the the first layer indicators in the SCOR-model<br />

proposed in the last 90s and didn’t consider modern<br />

factors such as Green and Ecological aspect [14]. Second,<br />

in Part IV, the pairwise comparison matrices are<br />

determined only according to author’ own consideration,<br />

which is too subjective. The focus <strong>of</strong> this research was to<br />

propose a new evaluation method for evaluating supply<br />

chains’ total performance. Whether the method achieves<br />

effective and scientific results also depends on the index<br />

and the data used in the method. So, Future research can


2786 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

focus on improving the evaluation index system <strong>of</strong> supply<br />

chains’ total performance and developing accurate way to<br />

attain index data.<br />

[1]<br />

REFERENCES<br />

Hua Jiang, “Fuzzy comprehensive evaluation on supply<br />

chains' total performance based on improved algorithm”,<br />

2009 2nd International Conference on Power Electronics<br />

and Intelligent Transportation System (PEITS), 19-20 Dec.<br />

2009, pp.148-151.<br />

[2] Lee, H.L. and Billington, C., “Managing supply chain<br />

inventory: Pitfalls and opportunities”, Sloan Management<br />

Review, 1992, vol.33, no.3, pp.65-73.<br />

[3] Beamon, M. B. “Measuring supply chain performance”,<br />

International <strong>Journal</strong> <strong>of</strong> Operations & Production<br />

Management, 1999, vol.19, no.3, pp.275-292.<br />

[4] Chai Yue-ting and Liu Yi, Agile Supply Chain<br />

[5]<br />

Management, Beijing: Tsinghua University Press, 2001.<br />

Bullinger H., Kuhner M., and Ho<strong>of</strong> A.V., “Analyzing<br />

supply chain performance using a balanced measurement<br />

method”, International <strong>Journal</strong> <strong>of</strong> Production Research,<br />

2002, vol.40, no.15, pp.3533-3543.<br />

[6] Kee-hung Lai, E. W. T. Ngai, and T. C. E. Cheng,<br />

“Measures for evaluating supply chain performance in<br />

transport logistics”, Transportation Research Part E:<br />

Logistics and Transportation Review, 2002, vol.38, no.6,<br />

pp.439-456.<br />

[7] Robert S. Kaplan and David P. Norton, “The Balanced<br />

Scorecard-Measures That Drive Performance”, Harvard<br />

Business Review, 1992, vol.70, no.1, pp.71-79.<br />

[8] Kleijnen J.P.C. and Smits M.T., “Performance metrics in<br />

supply chain management”, <strong>Journal</strong> <strong>of</strong> the Operational<br />

Research Society, 2003,vol.54, no5, pp.507-514.<br />

[9] Ma Shi-hua, Li Hua-yan, and Lin Yong, “Application <strong>of</strong><br />

Balanced Scorecard in Supply Chain Performance<br />

Measurement”, Industrial Engineering and Management,<br />

2003, vol.7, no.4, pp.5-10.<br />

[10] F.T.S. Chan, “Performance Measurement in a Supply<br />

Chain”, International <strong>Journal</strong> <strong>of</strong> Advanced Manufacturing<br />

Technology, 2003, vol.21, no.7, pp.534-548.<br />

[11] R. BHAGWAT and M. K. SHARMA, “Performance<br />

measurement <strong>of</strong> supply chain management using the<br />

analytical hierarchy process”, Production Planning and<br />

Control, 2007, vol.18, no.8, pp.666-680.<br />

[12] F.T.S. Chan and H. J. Qi, “An innovative performance<br />

measurement method for supply chain management”,<br />

Supply Chain Management, 2003, vol.8, no.3-4,<br />

pp.209-223.<br />

© 2012 ACADEMY PUBLISHER<br />

[13] Rajat Bhagwat, T.S. Felix Chan and M. K. Sharma,<br />

“Performance measurement model for supply chain<br />

management in SMEs”, International <strong>Journal</strong> <strong>of</strong><br />

Globalisation and Small Business, 2008, vol.2, no.4,<br />

pp.428-445.<br />

[14] Qinghua Zhu, Joseph Sarkis, and Kee-hung Lai,<br />

“Confirmation <strong>of</strong> a measurement model for green supply<br />

chain management practices implementation”,<br />

International <strong>Journal</strong> <strong>of</strong> Production Economics, 2008,<br />

vol.111, no.2, pp.261-273.<br />

[15] Saaty, T.L., The Analytical Hierarchy Process,<br />

McGraw-Hill: New York, 1980.<br />

[16] Hua Jiang, and Fangshan Wang, “Analysis <strong>of</strong> influencing<br />

factors on performance evaluation <strong>of</strong> agricultural products<br />

network marketing based on AHM”, 2009 2nd<br />

International Conference on Power Electronics and<br />

Intelligent Transportation System (PEITS), 19-20 Dec.<br />

2009, pp. 140- 143.<br />

[17] Hua Jiang, and Junhu Ruan, “Fuzzy Evaluation on<br />

Network Security Based on the New Algorithm <strong>of</strong><br />

Membership Degree Transformation—M(1,2,3)”, <strong>Journal</strong><br />

<strong>of</strong> Networks, 2009, vol.4, no.5, pp.324-331.<br />

[18] Hua Jiang, and Zhanping Hou, “Analysis on the evaluation<br />

index system <strong>of</strong> supply chains' total performance based on<br />

rough set theory”, 2009 2nd International Conference on<br />

Power Electronics and Intelligent Transportation System<br />

(PEITS), 19-20 Dec. 2009, pp. 144 - 147.<br />

Jing Yang, born in 1979, Handan, Hebei Province, China. In<br />

May, 2009, she graduated from Hebei University <strong>of</strong><br />

Engineering and obtained her postgraduate qualifications. Her<br />

main research fields include: Enterprise e-business applications,<br />

Information Management, Supply Chain Management.<br />

She is now working in School <strong>of</strong> Kexin, Hebei University <strong>of</strong><br />

Engineering, Lecturer. Her current research interests include:<br />

Supply Chain Management and Scientific Decision-making.<br />

Hua Jiang, born in 1977, Handan, Hebei Province, China. In<br />

March, 2006, he graduated from Hebei University <strong>of</strong><br />

Engineering and obtained his postgraduate qualifications. His<br />

main research fields include: network security, information<br />

management, supply chain management.<br />

He is now working in Information Management Department,<br />

Economics and Management School, Hebei University <strong>of</strong><br />

Engineering, Associate Pr<strong>of</strong>essor. His current research interests<br />

include: Management Optimization and Scientific<br />

Decision-making.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2787<br />

A Novel Combine Forecasting Method for<br />

Predicting News Update Time<br />

Mengmeng Wang<br />

College <strong>of</strong> Computer Science and Technology, Jilin University, Changchun, China<br />

Key Laboratory <strong>of</strong> Symbolic Computation and Knowledge Engineering attached to the Ministry <strong>of</strong> Education, Jilin<br />

Unversity, Changchun, China<br />

Email: wmmwwlh@126.com<br />

Xianglin Zuo<br />

College <strong>of</strong> Computer Science and Technology, Jilin University, Changchun, China<br />

Email: 295228473@qq.com<br />

Wanli Zuo and Ying Wang<br />

College <strong>of</strong> Computer Science and Technology, Jilin University, Changchun, China<br />

Key Laboratory <strong>of</strong> Symbolic Computation and Knowledge Engineering attached to the Ministry <strong>of</strong> Education, Jilin<br />

Unversity, Changchun, China<br />

Email: { zuowl, wangying2010}@ jlu.edu.cn<br />

Abstract—With the rapid development <strong>of</strong> Internet,<br />

information provided by the Internet has shown explosive<br />

growth. In the face <strong>of</strong> massive and constantly updated<br />

information on the Internet, how the user can fast access to<br />

more valuable and more information has become one <strong>of</strong> the<br />

hot spots. The time <strong>of</strong> Web Page update appears to be<br />

erratic, so forecasting the update time <strong>of</strong> news reports is<br />

even more difficult. From the view <strong>of</strong> application, we can<br />

use mathematical models to maximize the approximation <strong>of</strong><br />

variation, although it cannot be completely accurate. So is<br />

the predicting the update time <strong>of</strong> news which helps in<br />

improving the news crawler’s scheduling policy. In this<br />

paper, we proposed a combined predict algorithm for news<br />

update. In order to predict the update time <strong>of</strong> news, firstly,<br />

we applied the Exponential Smoothing method to our<br />

dataset, and we also have selected the optimal parameters.<br />

Secondly, we leveraged the Naive Bayes Model for<br />

prediction. Finally, we combined two methods for<br />

Combination Forecasting, as well as made a compare with<br />

former methods. Through the experiments on Sohu News,<br />

we show that Combination Forecasting method outperforms<br />

other methods while estimating localized rate <strong>of</strong> updates.<br />

Index Terms—Exponential Smoothing Method, Naive Bayes<br />

Model, Combination Forecasting, News Update Time<br />

I. INTRODUCTION<br />

News provides information on recent events, and<br />

therefore timeliness is very important to the news.<br />

Timeliness means that report and the fact are taking<br />

place synchronized in order to meet the needs <strong>of</strong> audience.<br />

The rapid development <strong>of</strong> Internet technology make<br />

Corresponding author: Wanli Zuo<br />

Tel.: +1-359-608-5187<br />

E-mail address: zuowl@jlu.edu.cn<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2787-2793<br />

demands <strong>of</strong> the real-time grow geometrically. The<br />

network news media has been an unprecedented<br />

development. Nicholas Negroponte once said, "Network<br />

media is the traditional media's grave digger". A recent<br />

survey shows that about 90% <strong>of</strong> decision information can<br />

be acquired from the web[1].<br />

Web is growing explosively[ 2 ]. And it is almost<br />

impossible to download all novel pages. The update time<br />

<strong>of</strong> web page appears to be erratic, news are extremely<br />

time sensitive by nature, so forecasting the update time <strong>of</strong><br />

news reports is even more difficult. From the view <strong>of</strong><br />

application, we can use mathematical models to<br />

maximize the approximation to variation, although it<br />

cannot be completely accurate. In the face <strong>of</strong> massive and<br />

constantly updated information on the Internet, predicting<br />

the time <strong>of</strong> news page update helps in improving the<br />

news crawler’s scheduling policy. Fetterly et al.[ 3 ]<br />

analyzed several million <strong>of</strong> pages with the aim <strong>of</strong><br />

measuring the rate and the degree <strong>of</strong> changes to web<br />

pages. The statistical observations <strong>of</strong> the measurements<br />

showed that page size was a strong predictor <strong>of</strong> both<br />

frequency and degree <strong>of</strong> change. Real-time Web crawling<br />

system leveraged the active crawling, the updated time <strong>of</strong><br />

news pages is unknown, but in order to maximize the<br />

approximation to news page update frequency, fixed<br />

cycle crawling obviously does not work, but to crawl in<br />

the dynamic frequency which should continue to be<br />

adjusted in the application environment. Focused<br />

crawlers only download pages related to a given<br />

topic[4][5][6][7]. These works are similar with ours. We<br />

also make several kinds <strong>of</strong> focused crawler, and each<br />

crawler is in charge <strong>of</strong> one kind <strong>of</strong> news.<br />

In this paper, we proposed a combined predict<br />

algorithm about news update. In order to predict the<br />

update time <strong>of</strong> news, firstly, we applied the Exponential


2788 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Smoothing method to our dataset, and we also have<br />

selected the optimal parameters. Secondly, we leveraged<br />

the Naive Bayes Model for prediction. Finally, we<br />

combined two methods for Combination Forecasting, as<br />

well as made a compare with former methods. Through<br />

the experiments on Sohu News, we show that<br />

Combination Forecasting achieve better compared to the<br />

other two methods. Our study differs from previous<br />

studies in that we derived Combination Forecasting<br />

which combined Naive Bayes Model and Exponential<br />

Smoothing to predict the time <strong>of</strong> news update.<br />

Roadmap for rest <strong>of</strong> this paper is organized as follows:<br />

Some related work is discussed in section 2;Section 3<br />

briefly describes the problem formulation; Section 4<br />

introduces the approach proposed; experiment and the<br />

result is analyzed in Section 5; Section 6 is the conclusion<br />

<strong>of</strong> this paper.<br />

II. RELATED WORK<br />

The rapid development <strong>of</strong> the Web2.0 technology put<br />

forward higher requirements on the timeliness issue. The<br />

flood <strong>of</strong> information in news, blogs and micro blogs is<br />

explosive, undergoing rapid changes and changes over<br />

time. Explosive events which happen in the morning may<br />

demise at noon, if do not pass this information to user<br />

until afternoon, the user is already not interested.<br />

The time-sensitive information can be divided into two<br />

forms: static time-stamp information and dynamic timestamp<br />

information. For instance, news belongs to static<br />

time-stamp information. The information which does not<br />

change over time is only related with a point in time or<br />

time period. Once generated, it is tightly bounded with<br />

time, and with time variation <strong>of</strong> it only changes at the<br />

moment it is produced, namely, the process from scratch<br />

over time. Although such information is no longer<br />

changed after generation, when and where they are<br />

generated is random. It is an almost impossible task that<br />

fully grasps the precise information[8][9].<br />

Forecasting page update frequency is a very difficult<br />

task and related works have been published very early.<br />

Their research can be traced back to the seventies <strong>of</strong> the<br />

last century which mainly focus on forecasting update<br />

frequency. There are two main approaches in the study <strong>of</strong><br />

the variation <strong>of</strong> the page: A kind <strong>of</strong> method is based on<br />

the experimental method <strong>of</strong> the Web page for Web<br />

sampling. Through collecting and checking sample to<br />

study the change rule <strong>of</strong> the Web so as to estimate the<br />

change rule, such as the work<br />

in[10][11][12][13][14][15][16][17]; Another kind <strong>of</strong><br />

method is a more classic algorithm, Establish poisson<br />

mathematical model, then carry on the analysis and<br />

argument, and verify the model by experiments and<br />

estimate related parameters, so as to predict the time <strong>of</strong><br />

page changes, such as the work in<br />

[10][11][13][14][ 18 ][ 19 ][ 20 ]. Poisson distribution is<br />

<strong>of</strong>ten used for modeling a series <strong>of</strong> the probability <strong>of</strong><br />

stochastic time series which happened independent at a<br />

fixed speed.<br />

Nowadays, it is widely to simulate the behavior <strong>of</strong> the<br />

website update through the poisson distribution model,<br />

© 2012 ACADEMY PUBLISHER<br />

from the thought put forward, it is a long time researching<br />

on it, but it is difficult to have substantial breakthrough<br />

and progress, and web behavior fitting accuracy and<br />

stability is not very high through the inornate<br />

mathematical model forecast.<br />

Ashutosh Dixit and A.K. Sharma[21] have proposed<br />

architecture <strong>of</strong> incremental web crawler which manages<br />

the process <strong>of</strong> revisiting <strong>of</strong> a web site with a view to<br />

maintain fairly fresh documents at the search engine site.<br />

The computation <strong>of</strong> update time helps in improving the<br />

effectiveness <strong>of</strong> the crawling system by efficiently<br />

managing the revisiting frequency <strong>of</strong> a website.<br />

Niraj Singhal, Ashutosh Dixit, and Dr. A. K.<br />

Sharma[ 22 ] has developed a novel method for<br />

computing the revisiting frequency that helps crawler to<br />

remove its deficiencies by dynamically adjusting the<br />

revising frequency thereby improving the efficiency. The<br />

proposed mechanism not only reduces the network traffic<br />

but also increases the quality by providing the updated<br />

pages. In our work, we continue to adjust the news update<br />

time in the application environment by leveraging<br />

Combination Forecasting method.<br />

III. PROBLEM FORMULATION<br />

We present Combination Forecasting to predict the<br />

time <strong>of</strong> news update, a novel method which combined<br />

Naive Bayes Model and Exponential Smoothing.<br />

Fig. 1 shows the architecture <strong>of</strong> Combination<br />

Forecasting. The input items are the news files extracted<br />

from the Sohu News pages. These files have been<br />

preprocessed and converted to XML files. The first<br />

component <strong>of</strong> the system is predictor 1 that predicts the<br />

time <strong>of</strong> news update in Exponential Smoothing method.<br />

The second component <strong>of</strong> the system is predictor 2 that<br />

predicts the time <strong>of</strong> news update in Naive Bayes Model.<br />

The outputs <strong>of</strong> predictor 1and predictor 2 are sent to the<br />

final predictor to compute the combined result. Then<br />

crawlers can download pages according to the result.<br />

Figure1. The architecture <strong>of</strong> Combination Forecasting<br />

IV. COMBINATION FORECASTING METHOD<br />

A.Exponential Smoothing Method<br />

The Exponential Smoothing method is proposed by<br />

Robert G. Brown. Brown believes that the time series<br />

trend has stability or regularity, hence the time series can<br />

be reasonably homeopathic postponed; He holds the<br />

opinion that the trend <strong>of</strong> the recent past situation will<br />

continue in the future in a way, thus the larger weight<br />

should be put on recent data.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2789<br />

The exponential smoothing method is a common<br />

method <strong>of</strong> production forecasts. Also used for short-term<br />

economic trends. Of all prediction methods, exponential<br />

smoothing method is most used. The full-period average<br />

method used time series data equivalently left out <strong>of</strong> all<br />

<strong>of</strong> them; the moving average rule does not consider the<br />

longer-term data, and given the recent data more weight<br />

in the weighted moving average method. Exponential<br />

smoothing method is compatible with the full-period<br />

average and moving average methods for it does not<br />

abandon the past data, but gives it a diminishing extent.<br />

B. Naive Bayes Model<br />

Naïve Bayes model is consisted <strong>of</strong> a tree Bayesian<br />

network, which contains a root node and a number <strong>of</strong> leaf<br />

nodes. Naïve Bayes model uses probability to represent<br />

all forms <strong>of</strong> uncertainty, dose learning and reasoning<br />

processes by the probabilistic rules. Naïve Bayes model is<br />

based on Bayes’ theorem, reducing the computational<br />

cost through the conditional independence assumptions.<br />

Predicting unknown sample data belongs to the highest<br />

posterior probability <strong>of</strong> class standard.<br />

C.Combination Forecasting Method<br />

Combination Forecasting uses two or more different<br />

prediction methods for the same problem. It can be a<br />

combination <strong>of</strong> several quantitative or qualitative<br />

methods, however, a combination <strong>of</strong> qualitative and<br />

quantitative methods is <strong>of</strong>ten used. The main purpose <strong>of</strong><br />

the combination is leveraging the information provided<br />

by various methods for the sake <strong>of</strong> improving the<br />

prediction accuracy as much as possible.<br />

The combination forecast has two basic forms:<br />

(a) Equivalent Weigh Combination Forecasting,<br />

namely combine into a new predictive value <strong>of</strong> the<br />

predictive value <strong>of</strong> each prediction method according to<br />

the same weights;<br />

(b) Non-equivalent Weigh Combination Forecasting,<br />

that is, the weight given to the predictive value <strong>of</strong><br />

different prediction methods is not the same.<br />

The principles and application <strong>of</strong> these two forms are<br />

equal, but the different weights taken. In our work, we<br />

combined Exponential Smoothing method and Naive<br />

Bayes Model for Combination Forecasting.<br />

St = α yt + (1 − α) S<br />

(1)<br />

t−1<br />

Exponential smoothing method, in its simplest form<br />

such as (1), involves successive applications <strong>of</strong> the<br />

formula, where, in our work, y is the value <strong>of</strong> a time<br />

t<br />

interval between two latest news update time and S is a t<br />

‘smoothed’ value representing the next time interval <strong>of</strong><br />

news update and 0≤α≤ 1.<br />

The calculation <strong>of</strong> the news updates also in line with<br />

the Naive Bayes model which is for the type <strong>of</strong> news and<br />

the size <strong>of</strong> news site to decide, where the news update<br />

time interval can be seen as the root node in the Naive<br />

Bayes model, the type <strong>of</strong> news and the size <strong>of</strong> news site<br />

can be seen as a leaf node in the Naïve Bayes model.<br />

© 2012 ACADEMY PUBLISHER<br />

Therefore, the news updates time interval computing such<br />

as (2) below:<br />

PN ( i = iN , t = jW , s = h)<br />

PN ( i = i| Nt = jW , s = h)<br />

=<br />

PN ( i = iPN ) ( t = jPW ) ( s = h)<br />

PN ( i = iPN ) ( t = j| Ni = iPW ) ( s = h| Ni = i)<br />

=<br />

PN ( = iPN ) ( = jPW ) ( = h)<br />

i t s<br />

Where i, j, h are the value <strong>of</strong> corresponding discrete<br />

interval, Ni, Nt and Ws stand for the news update time<br />

interval, the type <strong>of</strong> news and the size <strong>of</strong> news site<br />

respectively. And they are defined as follows:<br />

Ni, is the interval between the news next update time<br />

and the news latest update time;<br />

Nt, is the type <strong>of</strong> news, including IT news, house news,<br />

health news, education news, economic news, travel news,<br />

media news, auto news, fashion news, sports news,<br />

culture news, game news and entertainment news;<br />

Ws, is the number <strong>of</strong> occurrences <strong>of</strong> news sites in the<br />

training dataset. And the model is presented in Fig. 2.<br />

Figure2. The Naïve Bayes model <strong>of</strong> the news update time interval<br />

We will discuss the value <strong>of</strong> α , discrete interval and<br />

the parameter <strong>of</strong> Combination Forecasting in the next<br />

section.<br />

V. EXPERIMENT AND EVALUATION<br />

A.Dataset<br />

Since the updates rate <strong>of</strong> the sources may vary with<br />

time, localized estimation provides more detail, useful<br />

and accurate information. We have chosen the Sohu news<br />

from April 23, 2012 to June 23, 2012, including two<br />

months data, as our data set. Among these data, we have<br />

chosen the news from April 23, 2012 to May 16, 2012 as<br />

the training dataset and chosen news from May 16, 2012<br />

to June 23, 2012 as the test dataset.<br />

The news is sorted out into 13 categories. Each kind <strong>of</strong><br />

news has a XML file, file format is presented in Fig.<br />

3.All kinds <strong>of</strong> news have the same file format.<br />

(2)


2790 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

B.Experiments<br />

Figure3. XML file <strong>of</strong> the IT news<br />

1) Exponential Smoothing<br />

For the exponential smoothing forecasting methods,<br />

the smoothing constant determines the level <strong>of</strong> smooth<br />

and the response speed <strong>of</strong> the differences between<br />

predicted values and actual values.<br />

The more the smoothing constant α is close to 1, the<br />

less impact the long-term actual value has on the<br />

decreasing rate <strong>of</strong> the current smoothed value. The more<br />

the smoothing constant α is close to 0, the more impact<br />

the long-term actual value has on the decreasing rate <strong>of</strong><br />

the current smoothed value. Hence, when the time series<br />

is relatively stable, a lager α should be selected; A<br />

smaller α should be selected when the time series<br />

fluctuate, so as to not ignore the influence <strong>of</strong> the longterm<br />

value. Thus, to evaluate the effects <strong>of</strong> α , we<br />

compare the results by assigning different values to α :<br />

0.5, 0.05, 0.005, 0.0005 and 0.00005. Table Ⅰ compares<br />

the MAD (Mean Absolute Difference) <strong>of</strong> different<br />

parameters, where the unit <strong>of</strong> MAD is minute.<br />

Experimental results demonstrate that 0.0005 was the<br />

optimal parameter.<br />

2) Naive Bayes Model<br />

For the Bayesian approach, News Type is a discrete<br />

attribute, but in view <strong>of</strong> some variables (NewsTime and<br />

WebSize) are continuous attributes, in order to calculate<br />

the conditional probability <strong>of</strong> continuous attributes, the<br />

Naive Bayes model provides two methods:<br />

(a)Make the continuous attributes discrete and use <strong>of</strong><br />

discrete intervals instead <strong>of</strong> continuous attributes;<br />

(b)Leverage probability distribution function to<br />

calculate.<br />

We intend to use the first method for the calculation <strong>of</strong><br />

conditional probability. The discrete intervals <strong>of</strong> Ni are<br />

defined as fast, middle and slow, while large, middle and<br />

small are the intervals <strong>of</strong> Ws. The discrete interval <strong>of</strong><br />

each attribute is defined as shown in Table Ⅱ . The<br />

© 2012 ACADEMY PUBLISHER<br />

parameter values are determined according to the<br />

experiment.<br />

In line with probability distribution <strong>of</strong> the news<br />

updates, update frequency is divided into three levels: fast,<br />

middle and slow. Consequently achieve the forecast on<br />

the news updates.<br />

TABLE I.<br />

THE MAD (MEAN ABSOLUTE DIFFERENCE) OF DIFFERENT PARAMETERS<br />

News Type 0.5 0.05 0.005 0.0005 0.00005<br />

IT news 71 61 45 44 44<br />

house news 54 45 34 34 34<br />

health news 39 31 25 25 25<br />

education news 44 36 28 28 28<br />

economic news 44 38 30 30 30<br />

travel news 64 56 44 44 44<br />

media news 69 60 45 45 45<br />

auto news 45 36 29 29 29<br />

fashion news 58 50 38 38 38<br />

sports news 167 155 117 117 117<br />

culture news 68 62 48 48 48<br />

game news 100 92 62 62 62<br />

entertainment news 47 38 29 29 29<br />

3) Combination Forecasting<br />

Finally, we use Non-equivalent Weigh Combination<br />

forecasting, assigning weights to exponential smoothing,<br />

and Bayesian methods. Tuple ω = (1 − β, β)<br />

is used to<br />

represent assignment <strong>of</strong> the weight, where β is the weight<br />

assigned to the exponential smoothing method, 1− β is<br />

the weight assigned to the Bayesian model. We compared<br />

the results obtained from setting different values to the<br />

parameter ω , where these values are (0.85, 0.15), (0.95,<br />

0.05), (0.98, 0.02), (0.99, 0.01) , (0.995, 0.005). Table Ⅲ<br />

has shown the MAD (Mean Absolute Difference) <strong>of</strong><br />

different parameters, where the unit <strong>of</strong> MAD is minute.<br />

Experiments showed that ω = (0.99, 0.01) was the<br />

optimal parameter.<br />

C. Evaluation<br />

The comparisons <strong>of</strong> different estimators are based on<br />

the same datasets. The following experiment compares<br />

our Combination Forecasting method to other baseline<br />

methods Exponential Smoothing method and Naive<br />

Bayes Model discussed above.<br />

Table Ⅳ shows the the MAD (Mean Absolute<br />

Difference) for each method, where the unit <strong>of</strong> MAD is<br />

minute. As illustrated in Table Ⅳ , Combination<br />

Forecasting method, which leverages the information<br />

provided by various methods, achieved the best<br />

performance.<br />

In Table Ⅳ , ES, B and CF stand for Exponential<br />

Smoothing method, Naive Bayes Model and Combination<br />

Forecasting method respectively. Due to space limitations,<br />

Fig. 4(a), (b) and (c) merely show the predict time and<br />

accurate time <strong>of</strong> media news for each method with the


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2791<br />

optimal parameter. We can make a conclusion that the<br />

Combination Forecasting method which we proposed<br />

outperforms other methods for most <strong>of</strong> the cases.<br />

The follow diagram can be obtained with the statistical<br />

<strong>of</strong> variation on collecting pages, where the X axis is the<br />

number <strong>of</strong> the news, the Y axis is the value <strong>of</strong> the update<br />

time <strong>of</strong> news by the log function. ‘*’ stands for predict<br />

news update time and ‘-’ stands for accurate news update<br />

time. From Fig.4 (a), (b) and (c) we found that the update<br />

<strong>of</strong> the news has obvious temporal locality regular pattern,<br />

which is similar to Tao Meng et al[23].<br />

TABLE II.<br />

THE OPTIMAL DISCRETE INTERVAL OF EACH ATTRIBUTE<br />

Variable Interval1 Interval2 Interval3<br />

VI. CONCLUSION<br />

The update time <strong>of</strong> web page appears to be erratic,<br />

news are extremely time sensitive by nature. From the<br />

view <strong>of</strong> application, we can use mathematical models to<br />

forecast the update time <strong>of</strong> news reports, although it can<br />

not be completely accurate. Predicting the time <strong>of</strong> news<br />

page update helps in improving the news crawler’s<br />

scheduling policy. In this paper, we proposed a new<br />

predict policy for news updates. In order to predict the<br />

time <strong>of</strong> news updates, firstly, we applied the Exponential<br />

Smoothing method to our dataset, and we also have<br />

Ni fast[0-134] middle(134,853] slow(853,+∞)<br />

Ws large(62,+∞) middle(11,62] small[0,11]<br />

TABLE III.<br />

THE MAD (MEAN ABSOLUTE DIFFERENCE) OF DIFFERENT PARAMETERS<br />

News Type (0.85,0.15) (0.95,0.05) (0.98,0.02) (0.99,0.01) (0.995,0.005)<br />

IT news 26 21 20 20 20<br />

house news 19 19 19 19 19<br />

health news 21 17 17 17 18<br />

education news 22 21 21 21 21<br />

economic news 11 9 9 8 8<br />

travel news 22 21 21 21 21<br />

media news 36 21 17 15 15<br />

auto news 48 25 19 18 18<br />

fashion news 35 25 23 23 23<br />

sports news 77 31 20 17 17<br />

culture news 31 24 23 23 23<br />

game news 60 60 60 60 60<br />

entertainment news 22 19 18 17 17<br />

TABLE IV.<br />

THE BEST VALUE OF MAD (MEAN ABSOLUTE DIFFERENCE) OF DIFFERENT METHODS<br />

Method IT house health education economic travel media auto fashion sports culture game entertainment<br />

ES 44 34 25 28 30 44 45 29 38 117 48 62 29<br />

B 369 184 251 224 254 241 684 546 374 1045 459 147 425<br />

CF 20 19 17 21 8 21 15 18 23 17 23 60 17<br />

© 2012 ACADEMY PUBLISHER


2792 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

(a) Exponential Smoothing method<br />

(b) Naive Bayes Model<br />

(c) Combination Forecasting<br />

Figure4. The predict time and accurate time <strong>of</strong> media news in three<br />

methods<br />

© 2012 ACADEMY PUBLISHER<br />

selected the optimal parameters. Secondly, we leveraged<br />

the Naive Bayes Model for prediction. Finally, we<br />

proposed a new method, which combined the above<br />

methods for Combination Forecasting, as well as made a<br />

compare with the other two methods. In a scenario with<br />

inconsistent rate <strong>of</strong> updates, Combination Forecasting<br />

provides more detail and useful information compared to<br />

global estimation. Tests on datasets confirm that the<br />

proposed Combination Forecasting method outperforms<br />

the case in which uses Exponential Smoothing method or<br />

Naive Bayes Model only, while estimating localized rate<br />

<strong>of</strong> updates.<br />

ACKNOWLEDGEMENTS<br />

This work is supported by the National Natural Scienc<br />

e Foundation <strong>of</strong> China under Grant No.60973040; the Nat<br />

ional Natural Science Foundation <strong>of</strong> China under Grant N<br />

o.60903098; the basic scientific research foundation for t<br />

he interdisciplinary research and innovation project <strong>of</strong> Jili<br />

n University under Grant No.201103129; the Science Fou<br />

ndation for China Postdoctor under Grant No.2012M5108<br />

79.<br />

REFERENCES<br />

[1] S. Thompson, C. Y. Wing. Assessing the Impact <strong>of</strong> Using<br />

the Internet for Competitive Intelligence. Information &<br />

Management, 2001.<br />

[2] Brewington, B. & Cybenko, G. How Dynamic is the Web.<br />

Proceedings <strong>of</strong> WWW –9th International World Wide Web<br />

Conference, 2000.<br />

[3] D. Fetterly, M. Manasse, M. Najork, and J. Wiener. A<br />

Large-Scale Study <strong>of</strong> the Evolution <strong>of</strong> Web Pages.<br />

S<strong>of</strong>tware: Practice & Experience, 2004.<br />

[4] Menczer F,Belew R. Adaptive Retrieval<br />

Agents:Internalizing Local Context and Scaling up to the<br />

Web. Machine Learning , 2000.<br />

[5] Pant G, Menczer F. Topical Crawling for Business<br />

Intelligence. Proc 7th European Conference on Research<br />

and Advanced Technology for Digital Libraries, 2003.<br />

[6] K. Stamatakis, V. Karkaletsis, G. Paliouras, J. Horlock, et<br />

al. Domain-specific Web site identification: the<br />

CROSSMARC focused Web crawler. Proceedings <strong>of</strong> the<br />

2nd International Workshop on Web Document Analysis,<br />

2003.<br />

[7] Filippo Menczer, Gautam Pant, Padmini Srinivasan,<br />

Topical web crawlers: Evaluating adaptive algorithms.<br />

ACM Transactions on Internet Technology, 2004.<br />

[8] Dennis Fetterly, Mark Manasse, Marc Najork, Janet L.<br />

Wiener: A large-scale study <strong>of</strong> the evolution <strong>of</strong> Web pages.<br />

S<strong>of</strong>tware: Practice & Experience, 2004.<br />

[9] Judit Bar-Ilan: Search Engine Ability to Cope With the<br />

Changing Web. Web Dynamics, 2004.<br />

[10] Junghoo Cho, Hector Garcia-Molina: The Evolution <strong>of</strong> the<br />

Web and Implications for an Incremental Crawler. Very<br />

Large Data Base Endowment Inc., 2000.<br />

[11] Fred Douglis, Anja Feldmann, Balachander Krishnamurthy,<br />

Jeffrey C. Mogul: Rate <strong>of</strong> Change and other Metrics: a<br />

Live Study <strong>of</strong> the World Wide Web. USENIX Symposium<br />

on Internet Technologies and Systems, 1997.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2793<br />

[12] Dennis Fetterly, Mark Manasse, Marc Najork: On The<br />

Evolution <strong>of</strong> Clusters <strong>of</strong> Near-Duplicate Web Pages. J.<br />

<strong>Journal</strong> <strong>of</strong> Web Engineering, 2004.<br />

[13] Brian E. Brewington, George Cybenko: How dynamic is<br />

the Web? Computer Networks, 2000.<br />

[14] Brian E. Brewington, George Cybenko: Keeping Up with<br />

the Changing Web. IEEE Computer, 2000.<br />

[15] Luis Francisco-Revilla, Frank M. Shipman III, Richard<br />

Furuta, Unmil Karadkar, Avital Arora: Perception <strong>of</strong><br />

content, structure, and presentation changes in Web-based<br />

hypertext. Hypertext , 2001.<br />

[16] Tao Meng II, Hongfei Yan, Jimin Wang, Xiaoming Li: The<br />

Evolution <strong>of</strong> Link-Attributes for Pages and Its Implications<br />

on Web Crawling. Web Intelligence, 2004.<br />

[17] Dennis Fetterly, Mark Manasse, Marc Najork, Janet L.<br />

Wiener: A large-scale study <strong>of</strong> the evolution <strong>of</strong> web pages.<br />

Proceedings <strong>of</strong> WWW –12th International World Wide<br />

Web Conference, 2003.<br />

[18] Judit Bar-Ilan, Bluma C. Peritz: Evolution, continuity, and<br />

disappearance <strong>of</strong> documents on a specific topic on the Web:<br />

A longitudinal study <strong>of</strong> informetrics. <strong>Journal</strong> <strong>of</strong> the<br />

American Society for Information Science and Technology,<br />

2004.<br />

[19] XM Li. An Estimation <strong>of</strong> the Quantity <strong>of</strong> Web Pages Ever<br />

in China. <strong>Journal</strong> <strong>of</strong> Peking University (Science and<br />

Technology), 2003. (in Chinese with English abstract)<br />

[20] Sandeep Pandey, Christopher Olston: User-centric Web<br />

crawling. Proceedings <strong>of</strong> WWW –15th International World<br />

Wide Web Conference, 2005.<br />

[21] Ashutosh Dixit and A.K. Sharma. A Mathematical Model<br />

for Crawler Revisit Frequency. Proceedings <strong>of</strong> IEEE 2nd<br />

International Advance Computing Conference, 2010.<br />

[22] Niraj Singhal, Ashutosh Dixit, and Dr. A. K. Sharma.<br />

Design <strong>of</strong> a Priority Based Frequency Regulated<br />

Incremental Crawler. International <strong>Journal</strong> <strong>of</strong> Computer<br />

Applications, 2010.<br />

[23] Tao Meng, Hongfei Yan, Jimin Wang, Characterizing<br />

Temporal Locality in Changes <strong>of</strong> Web Documents. <strong>Journal</strong><br />

<strong>of</strong> the China Society for Scientific and Technical<br />

Information, 2005.<br />

© 2012 ACADEMY PUBLISHER<br />

Mengmeng Wang was born in 1987 in the city <strong>of</strong> Changchun.<br />

She graduated from college <strong>of</strong> computer science and technology<br />

in Jilin university in the year <strong>of</strong> 2011.She is currently a graduate<br />

student with the computer s<strong>of</strong>tware and theory at Jilin<br />

University, China, working in the fields <strong>of</strong> social computing and<br />

data mining. Her research interest includes data mining,<br />

information retrieval and social network.<br />

Xianglin Zuo is a student at Jilin University, China. His major<br />

is Computer Science and Technology. His research interest<br />

includes data structure, data mining and web crawling.<br />

Ying Wang was born in the year <strong>of</strong> 1981. She took her master<br />

degree(Computer application technology) from Jilin University<br />

in the year <strong>of</strong> 2007. She received her Ph.D(Computer<br />

application technology) from Jilin University in the year<br />

2010.Currently she is working as an instructor in the colleage <strong>of</strong><br />

computer science and technology at Jilin University, China. She<br />

has many international publications in <strong>Journal</strong>s and conferences.<br />

Her research interest includes data mining, information retrieval<br />

and social network. In the year <strong>of</strong> 2009, she won the second<br />

prize <strong>of</strong> Jilin province scientific and technological progress.<br />

Wanli Zuo received his Ph.D(computer s<strong>of</strong>tware and theory)<br />

from Jilin University in the year <strong>of</strong> 1985. Currently he is<br />

working as pr<strong>of</strong>essor in the colleage <strong>of</strong> computer science and<br />

technology at Jilin University, China. His research interest<br />

includes database theory, machine learning, data mining, web<br />

mining and internet search engine. He has guided several Ph.D<br />

students. He has published 5 materials and works and has more<br />

than 110 publications in international <strong>Journal</strong>s and conferences.<br />

Pr<strong>of</strong>.Wanli is China's computer society system s<strong>of</strong>tware<br />

pr<strong>of</strong>essional committee, teaching commission committee<br />

member <strong>of</strong> college <strong>of</strong> computer science and technology in Jilin<br />

university, the first batch <strong>of</strong> Jilin province top-notch innovative<br />

talents, Jilin university teacher's morality pacesetter, Jilin<br />

university teaching demonstration teachers title. He has<br />

outstanding contributions <strong>of</strong> the young and middle-aged<br />

pr<strong>of</strong>essional and technical personnel <strong>of</strong> Jilin province.<br />

Pr<strong>of</strong>.Wanli has received several awards such as” The national<br />

teaching achievement prize”,” the baosteel education fund<br />

excellent teachers” and five a provincial-level award.


2794 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Information-based Study <strong>of</strong> E-Commerce<br />

Website Design Course<br />

Xinwei Zheng<br />

The Key Lab <strong>of</strong> E-Business Market Application on Technology <strong>of</strong> Guangdong Province, Guangzhou, China<br />

Email: caiweihust@163.com<br />

Abstract—Currently information-based teaching is more<br />

and more popular in many colleges, how to construct<br />

Electronic Commerce website design lesson is also an<br />

important research in the construction <strong>of</strong> informatization.<br />

This paper analyses the disadvantages <strong>of</strong> information-based<br />

teaching, the corresponding methods and implementation<br />

plan. This paper demonstrates the structure diagram <strong>of</strong><br />

information-based teaching platform. Moreover, this paper<br />

proposed a new teaching method named “teaching method<br />

with eight incremental steps”. Finally the statistical data<br />

further proves that information-based teaching inspires the<br />

studying interests <strong>of</strong> students, and the platform improves<br />

the interaction between teachers and students and enhances<br />

teaching quality and effectiveness <strong>of</strong> lesson.<br />

Index Terms—information-based teaching, EC website<br />

design lesson, learning resources<br />

I. INTRODUCTION<br />

With the rapid development and widely used <strong>of</strong><br />

information technology, using information technology<br />

such as computer and network to deepen teaching content,<br />

innovate teaching mode, promote the effective use <strong>of</strong><br />

teaching resources, expand the coverage <strong>of</strong> education,<br />

improve the quality <strong>of</strong> teaching is the inevitable trend <strong>of</strong><br />

the information-based teaching in universities and the<br />

important strategic <strong>of</strong> healthy and sustainable<br />

development <strong>of</strong> higher education. The construction <strong>of</strong><br />

information-based teaching is the emphases <strong>of</strong> higher<br />

information-based education. The constructing level is<br />

the most important scale to measure the effectiveness,<br />

impression and status <strong>of</strong> running a college. The national<br />

document [1] <strong>of</strong> compendium <strong>of</strong> educational innovation<br />

and development for long term proposed that the<br />

information technology has revolutionary effect on<br />

education development, which must be paid more<br />

attention to. UCISA (Universities and Colleges<br />

Information System Association) in Britain conducted a<br />

study on 264 colleges. The result showed that, on<br />

averages, 76% <strong>of</strong> colleges have drawn the development<br />

plan <strong>of</strong> E-learning in order to advance the teaching<br />

quality and satisfy the study needs <strong>of</strong> student [2].<br />

As a pr<strong>of</strong>essional product <strong>of</strong> network teaching platform,<br />

in addition to the function <strong>of</strong> facilitating the teaching,<br />

Blackboard enhances the applications <strong>of</strong> communication<br />

and evaluation, and has the easy-to-use and powerful<br />

features [3]. Through Blackboard teaching platform,<br />

teachers can efficiently manage lessons, make content,<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2794-2799<br />

assign homework, and test online. All <strong>of</strong> above functions<br />

<strong>of</strong> Blackboard can help students study easily,<br />

communicate with pleasure, participate with passion, also<br />

help to improve the level <strong>of</strong> teaching online and realize<br />

the pr<strong>of</strong>ound innovation <strong>of</strong> teaching system and methods.<br />

II. EXISTING DEFECT OF INFORMATION-BASED TEACHING<br />

Although EC (electronic commerce) design lesson is<br />

only one <strong>of</strong> elective course <strong>of</strong> EC pr<strong>of</strong>ession, the<br />

arrangement <strong>of</strong> teaching content, organization <strong>of</strong><br />

procedure, and level <strong>of</strong> teaching have great effect on<br />

basic education, practical experience and comprehensive<br />

quality training. Currently the communication tools <strong>of</strong><br />

students after lesson are telephone and email, so there are<br />

many problems in teaching. The problems are the<br />

following three points:<br />

A. Conservative Ideas and Backward Form <strong>of</strong> Teaching<br />

45 minutes <strong>of</strong> traditional teaching lesson is very<br />

limited for many demos could not be demonstrated to<br />

student. Although Guangdong University <strong>of</strong> Business<br />

Study has introduced Blackboard network teaching<br />

system which can be uploaded many learning resources,<br />

but the practical effect is not ideal. Some teachers who<br />

has still followed traditional teaching model only<br />

uploaded powerpoints without facilitating the<br />

development <strong>of</strong> teaching by using the information-based<br />

technology.<br />

B. Isolated Island <strong>of</strong> Teaching Resources<br />

By concluding from using instances <strong>of</strong> network lesson,<br />

we has find that many resources <strong>of</strong> teachers are relevantly<br />

independent, just like many isolated islands. These<br />

resources are rarely shared by other teachers, so the<br />

resource utilization rate is very low.<br />

C. Lack <strong>of</strong> Monitor, Evaluation, Feedback in Teaching<br />

The paper has carried out the questionnaire survey<br />

aimed at the problem “for the existing network<br />

curriculums, which do you think is the most urgent to<br />

improve?" As shown in TABLE I, the survey indicates<br />

that the most urgent aspect needed to be improved is “the<br />

intercommunion between student and teacher is too little",<br />

64.2%. Students have an eager to communicate and<br />

interact through the network learning platform. With the<br />

help <strong>of</strong> Blackboard system, such as notification,<br />

discussion boards, message and homework area, not only


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2795<br />

the human-computer interaction can be achieved, but also<br />

the communications between teachers and the students, or<br />

students and students can be performed. Forum can be<br />

divided into a few discussion sections, for example, “the<br />

section <strong>of</strong> webpage art design”, “the section <strong>of</strong><br />

advertising design”, “the section <strong>of</strong> commercial website”,<br />

and so on. Through communication in the forum, students<br />

can improve independent thinking ability and literal<br />

expression ability. At the same time, in curriculum design<br />

teachers can take full account <strong>of</strong> the nature <strong>of</strong> teaching<br />

content, provide better theme, promote development <strong>of</strong><br />

discussion, achieve the effect <strong>of</strong> teaching.<br />

TABLE I.<br />

THE QUESTIONNAIRE SURVEY AIMED AT THE PROBLEM “FOR THE<br />

EXISTING NETWORK CURRICULUMS, WHICH DO YOU THINK IS THE<br />

MOST URGENT TO IMPROVE”<br />

No Aspect Value<br />

1 The quantity <strong>of</strong> pictures is too small 10.6%<br />

2 Video contents are not enough. 30.7%<br />

3 Animation amount is too little. 16.8%<br />

4 The interface is not beautiful. 33.5%<br />

5 Interactions are not enough. 50.8%<br />

6 The intercommunion between student and<br />

teacher is too little.<br />

64.2%<br />

7 Expanding documents are too few. 48.6%<br />

8 Teaching the courses is mainly in the traditional<br />

way, therefore Inquiry learning, case studies<br />

and other forms <strong>of</strong> teaching are required.<br />

57.5%<br />

In traditional teaching lessons, we evaluate the effect<br />

through the feedback and research from student and<br />

tracking assessments. Therefore, we can not track the<br />

exact information, and this will be the bottleneck <strong>of</strong><br />

improving the study effect and affects the assessment <strong>of</strong><br />

lesson.<br />

III. MEASURE OF INFORMATION-BASED TEACHING<br />

A. Create a Diversified and Reasonable Classification <strong>of</strong><br />

Learning Resources<br />

Through information-based teaching, not only<br />

courseware but also other resources can be uploaded to<br />

Blackboard. Resources in BB platform is grouped into<br />

lessons cell, including teachers’ info, introduction <strong>of</strong><br />

learning method, teaching program, teaching plan,<br />

teaching resources (PPT, exercises after lessons, self<br />

testing practice and answer, classic PPT and comment),<br />

expanding resources, homework, online testing,<br />

discussion area, video, assistant resource, exercises DB<br />

and answers, many classic cases and website material and<br />

so on, every cell has a description and definition <strong>of</strong> its<br />

function and content [4].<br />

As to the specific application, EC lessons group the<br />

resource into asp.net, JSP and PHP by different<br />

technology <strong>of</strong> network design, in order to help student<br />

master several languages <strong>of</strong> developing website.<br />

Therefore, student formerly can not obtain resources from<br />

lessons, now they can obtain more and more knowledge<br />

from BB platform.<br />

© 2012 ACADEMY PUBLISHER<br />

B. Create a Way <strong>of</strong> Learning based on Student-<br />

Independent,Teacher-Led and Teacher-Student<br />

Interaction<br />

In order to realize information-based teaching, we<br />

must get rid <strong>of</strong> the fetters <strong>of</strong> the traditional ideas and<br />

transform the idea <strong>of</strong> knowledge inculcation into the idea<br />

that student are main body and teachers leads student to<br />

study. We should give more learning autonomy to<br />

students, reasonably use <strong>of</strong> teaching resources, design,<br />

develop, organize, manage and monitor the whole<br />

teaching procedure [5]. This paper proposed a new<br />

teaching method named “teaching method with eight<br />

progressive steps” which is based on student-independent,<br />

teacher-led and teacher-student interaction.<br />

C. Strengthen the Resources Sharing <strong>of</strong> Teachers<br />

Teachers and students construct study resources<br />

together, and extend the scope <strong>of</strong> resources. Learners can<br />

upload the resources they collected, e.g. text, image,<br />

video, audio, PPT, learning website, network lesson, blog<br />

and so on, also upload the hyperlink to corresponding<br />

cells which is related to resources to realize resource<br />

sharing and raise the utilization rate <strong>of</strong> resources.<br />

Learners can publish their opinions about uploaded<br />

resources, communicate and discuss with each other.<br />

Teacher who teaches EC website lesson can share<br />

resource with teachers who teach EC system lesson or<br />

web page development and management, for many<br />

chapters are repeated. Therefore teachers can share<br />

teaching experiences and resources with each other.<br />

D. Create Interactive Leaning Resources, Strengthen<br />

Feedback<br />

Based on information-based teaching on Internet,<br />

classroom space can stretch to every location which is<br />

covered by Internet. Therefore, information-based<br />

teaching can help to shorten the distance <strong>of</strong> teachers and<br />

students, and help to efficiently communicate between<br />

them. Blackboard network teaching system has many<br />

resources, so we must design teaching content according<br />

to before lesson or in lesson or after lesson. For example,<br />

we can assign teaching task before lesson and let students<br />

make good preparation; we can teacher lesson combined<br />

with network resources, as video, paper, cases and so on;<br />

we can assign homework and test after lesson. We can<br />

realize teaching activities through network, as answers to<br />

constant problems, individual coaching, discussion <strong>of</strong><br />

problems, and discussion <strong>of</strong> cases and so on. Through the<br />

discussion area <strong>of</strong> Blackboard, we can realize interaction<br />

between teachers, teachers and students, students and<br />

students; students can communicate and discuss the<br />

integration <strong>of</strong> IT and lesson, design scheme <strong>of</strong> teaching,<br />

teaching content and video cases. Students and teachers<br />

discuss the same subject through BB platform, so the<br />

discussed subject will be pertinent and analyzed in depth.<br />

Finally in this way students can improve their ability <strong>of</strong><br />

analyzing problems, resolving problems and logical<br />

thinking. Except for obtaining more knowledge, students<br />

can feedback more quickly and communicate more easily.<br />

Blackboard network teaching platform is a lesson<br />

management system through Internet [6]. Through BB


2796 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

platform, we can upload related teaching files <strong>of</strong> EC<br />

website design lesson, such as teaching program, teaching<br />

plan, PPT, exercises, videos <strong>of</strong> teaching and so on. In this<br />

way we can remedy the defect <strong>of</strong> limited class hour and<br />

less information <strong>of</strong> teaching in traditional teaching,<br />

strengthen the interaction <strong>of</strong> students in discussion area,<br />

improve Learning autonomy, extend the scope <strong>of</strong><br />

studying from classroom to outside <strong>of</strong> classroom, inspire<br />

the passion <strong>of</strong> studying and improve the teaching effect.<br />

Blackboard network teaching platform requests teacher to<br />

pay more attention on dynamic changes <strong>of</strong> website,<br />

answer to problems <strong>of</strong> students and update the resource <strong>of</strong><br />

website. In this way, students can keep more interests in<br />

lessons and the network platform can give full play to its<br />

function.<br />

V. INFORMATION-BASED IMPLEMENTATION PLAN ABOUT<br />

ELECTRONIC BUSINESS WEBSITE DESIGN LESSON<br />

A. Creates Staged Curriculum Plan<br />

First, the talents training goal <strong>of</strong> e-commerce sites<br />

design lesson has been subdivided and positioned. The<br />

goal is that students can independently design, develop,<br />

product and maintain the website through the teaching<br />

and experiment on the information platform.<br />

Secondly, the required knowledge system is<br />

constructed for training goal. Students need to master the<br />

webpage making, website design, website maintenance<br />

and other curriculum knowledge, at the same time in<br />

order to build a site they need to master image processing,<br />

animation, the technology <strong>of</strong> background database<br />

supporting. The structure diagram <strong>of</strong> knowledge system<br />

is as Fig. 1.<br />

Webpage making<br />

website design<br />

website maintenance<br />

Figure 1. The structure diagram <strong>of</strong> knowledge system<br />

Finally, the stages and scheme <strong>of</strong> curriculum design<br />

are set down stage by stage as TABLE II. Students can<br />

achieve a specific goal <strong>of</strong> each stage under the staged<br />

curriculum training mode. Information-based platform is<br />

used throughout the course. Teachers organize and plan<br />

the teaching. At the same time, students make full use <strong>of</strong><br />

information-based platform for learning. In this way,<br />

students are cultivated to be pr<strong>of</strong>essional talent.<br />

© 2012 ACADEMY PUBLISHER<br />

Information-based platform<br />

TABLE II.<br />

THE STAGED CURRICULUM PLAN OF ELECTRONIC BUSINESS WEBSITE<br />

DESIGN LESSON<br />

Stage Staged training goal<br />

1 Learn to make simple webpages with Dreamweaver<br />

tool<br />

2 Skilled in using Photoshop and JavaScript to make<br />

dynamic webpage, build a simple personal website<br />

3 Learn through the information-based platform, and<br />

assessing the effect <strong>of</strong> personal website webpage design<br />

and making.<br />

4 Learn to connect database, and design the interactive<br />

website through teaching and information platform.<br />

5 Learn to design the function module <strong>of</strong> website, define<br />

the table and keywords <strong>of</strong> database, and define classes.<br />

6 Learn through information-based platform, and<br />

comprehensively assess own personal website in the<br />

aspects <strong>of</strong> design, function, interface, maintenance and<br />

updating management.<br />

B. Construct Personal Information-based Teaching<br />

Platform according to BB Platform Function<br />

Based on the blackboard platform, this paper has<br />

independently designed the teaching platform <strong>of</strong><br />

electronic commerce website design lesson. The structure<br />

diagram <strong>of</strong> the platform is shown in Fig. 2.<br />

Based on the blackboard network teaching platform,<br />

the content <strong>of</strong> information teaching platform <strong>of</strong> electronic<br />

business website design lesson is mainly divided into two<br />

parts, the Public Column and the Teaching Column. The<br />

Public Column is about introduction <strong>of</strong> the course, and<br />

the Teaching Column is about working process guide.<br />

(1) Teaching resources can be obtained through the<br />

Public Column, i.e. video, electronic teaching plan, the<br />

different experimental tasks, reference materials,<br />

excellent works, etc. Teaching resource includes many<br />

multimedia materials, which benefit student a lot. As the<br />

description in [7], instructional actives under the<br />

environment <strong>of</strong> multimedia technology can stimulate<br />

students’ interest and mobilize their enthusiasm in<br />

learning.<br />

Especially the different experimental tasks, not only<br />

deepen students’ understanding <strong>of</strong> the course, but also<br />

improve their ability <strong>of</strong> analysis, design, production and<br />

site management. Salmon pointed out that if we want to<br />

bring satisfactory <strong>of</strong> network learning experience to<br />

students, the management is one <strong>of</strong> the important means<br />

to successful construct network teaching [8]. When we<br />

designed and used platform, we must design clear<br />

guidance information and give a clear requirements and<br />

evaluation standards for students to participate in. At the<br />

same time we must provide independent participation<br />

platform to students.<br />

Students are looking forward to attain the confirmation<br />

from teachers about their works. Through every<br />

experimental task, teacher chooses some representative<br />

works, and upload to Blackboard platform to share.<br />

Students can express their views in the forum. In this way,<br />

motivation <strong>of</strong> learners can be promoted.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2797<br />

Public Column<br />

Course navigation Teacher team Teaching resources Experimental task Research achievements<br />

Learning notes<br />

Course introduction<br />

Teaching program<br />

Figure 2. The structure diagram <strong>of</strong> information-based teaching platform in Electronic Commerce website design lesson<br />

(2) In Teaching Column, using Exam and homework,<br />

teachers can make the final evaluation to individual<br />

homework, interest group homework, special homework,<br />

project homework, and take statistics analysis on the<br />

grades data <strong>of</strong> students through Grade management,<br />

finally make an accurate judgment to the students’ ability.<br />

Collaborative tools <strong>of</strong> Blackboard platform can<br />

effectively support the collaborative learning <strong>of</strong> students,<br />

which includes Virtual classroom, Chat room and<br />

Electronic interaction. Chat room supports real-time chat<br />

in text, which enhances the exchange communication <strong>of</strong><br />

students in real time. In addition to chat in text, Virtual<br />

classroom also supports Whiteboard, Collaboration<br />

browsing, Questions and Answers Collection as well as<br />

Exiting from Virtual classroom.<br />

Teachers can also use the Course statistics <strong>of</strong><br />

blackboard network teaching platform which has strong<br />

background monitoring function. By use <strong>of</strong> Content<br />

tracking tools in Course statistics, teachers can obtain the<br />

tracking statistics <strong>of</strong> study information, and accurate<br />

statistics <strong>of</strong> login clicks times <strong>of</strong> students. But if<br />

evaluating from the access times and the work’<br />

completed situation <strong>of</strong> students each time, teachers can<br />

only draw a one-sided conclusion. Thus, teachers should<br />

set specific scoring criteria <strong>of</strong> learning. According to the<br />

students' learning time, participation <strong>of</strong> network forum<br />

and speech quality, real-time interactive situation as well<br />

as the resource contribution, with the integration <strong>of</strong><br />

teaching strategies based on resources and the teaching<br />

strategy based on experimental task, using Virtual<br />

classroom, Chat room, Electronic interaction, Exam and<br />

homework, Grade management, forum and so on, Single<br />

summative evaluation can be realized for the present<br />

experimental teaching effects <strong>of</strong> students, the evaluation<br />

is also diagnostic evaluation arranged for the next<br />

Electronic teaching plan Experimental task 1<br />

Teaching video<br />

Reference material<br />

Experimental task 2<br />

Excellent works exhibition<br />

Experimental task n<br />

Diagnostic evaluation Diagnostic evaluation<br />

Learning Platform<br />

Virtual<br />

classroom<br />

Chat<br />

room<br />

Collaboration tools<br />

Whiteboard Collaborative<br />

browsing<br />

Teaching Column<br />

© 2012 ACADEMY PUBLISHER<br />

Electronic<br />

interaction<br />

Email File<br />

sharing<br />

Exam and<br />

homework<br />

Exam pool<br />

management<br />

Grade<br />

management<br />

Forum<br />

Course statistics<br />

experiment task, finally teachers can give pluralistic<br />

evaluation to the students. Course statistics data <strong>of</strong><br />

blackboard platform <strong>of</strong> Guangdong University <strong>of</strong><br />

Business studies is as shown in Fig. 3 and Table III. The<br />

diagram and table shows that<br />

the most frequently accessed section for students is forum<br />

for communicating, followed by Teaching resources for<br />

downloading, then is Exam and homework. From the data,<br />

it has been proved that information-based platform<br />

provides a powerful function, which can help teachers<br />

and students interact with each other. At the same time,<br />

tracking function <strong>of</strong> platform can help teachers to track<br />

the learning effect, to improve their teaching methods and<br />

teaching focus.<br />

Experimental tasks Content area<br />

Forum E-mail<br />

others<br />

Figure 3. The pie chart <strong>of</strong> statistical data <strong>of</strong> course in Oct, 2012


2798 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

TABLE III.<br />

THE TABLE OF STATISTICAL DATA OF COURSE IN OCT, 2012<br />

Area ID the numbers <strong>of</strong> Percentage Area ID the numbers <strong>of</strong> Percentage<br />

click<br />

click<br />

Personal information 1 0.01% Grade Center 919 5.35%<br />

Content area 2602 15.14% Grade indicator board 115 0.67%<br />

Forum 2172 12.64% Copy a file to Collection 753 4.38%<br />

Electric Blackboard 50 0.29% Check the Collection link 689 4.01%<br />

experimental task 3445 20.05% Content Collection 0 0%<br />

Collaboration 895 5.21% Address book 1 0.01%<br />

Exchange area 36 0.21% Glossary 1 0.01%<br />

E-mail 2067 12.03% Roster 0 0%<br />

Digital transceiver cabinet 457 2.66% Safe Assign 0 0%<br />

Electronic filing 146 0.85% Tools area 6 0.03%<br />

My grades 1299 7.56% Early warning system 1 0.01%<br />

Notice 1524 8.87% Schedule 0 0%<br />

News 2 0.01%<br />

Total 17181 100%<br />

Where do we<br />

want to be?<br />

T: show the<br />

task <strong>of</strong><br />

website<br />

S: understand<br />

the aim<br />

How do we<br />

get there?<br />

T: lead to<br />

Scheme <strong>of</strong><br />

Design<br />

S: discuss the<br />

flow <strong>of</strong><br />

design<br />

How exactly<br />

do we get<br />

there?<br />

T: answer the<br />

technology<br />

difficulties<br />

S: research in<br />

correspond<br />

-ing<br />

knowledge<br />

Are you<br />

ready?<br />

T: demo<br />

Preparatory<br />

Work<br />

S: ready to<br />

work<br />

Teacher<br />

leading<br />

Follow me!<br />

Figure 4. teaching method with eight incremental steps(T-Teacher, S-student)<br />

C. A New Teaching Method-” Teaching Method with<br />

Eight Progressive Steps”<br />

Through the design procedure <strong>of</strong> EC website lesson,<br />

based on different teaching content, this paper proposed a<br />

new teaching method named “teaching method with eight<br />

progressive steps” as Fig. 4. The aim <strong>of</strong> lessons is to<br />

© 2012 ACADEMY PUBLISHER<br />

T: demo steps<br />

<strong>of</strong> examples<br />

S: imitate the<br />

methods <strong>of</strong><br />

operations<br />

Interaction<br />

Have you<br />

succeeded?<br />

Begin<br />

sprinting!<br />

T: assign the<br />

Expanding<br />

Experimental<br />

task<br />

S: give<br />

assessment to<br />

Experimental<br />

task <strong>of</strong><br />

oneself and<br />

each others<br />

Am I the<br />

best?<br />

T: group<br />

Students<br />

and guide<br />

their design<br />

<strong>of</strong> website<br />

S:<br />

autonomous<br />

Learning<br />

in groups<br />

T: assign a<br />

grade to<br />

every group<br />

with students<br />

S: strengthen<br />

operational<br />

skill, give<br />

an assessment<br />

to each other<br />

Students<br />

autonomy<br />

design an EC website with friendly interface, convenient<br />

communication, simple operation and dynamic<br />

appearance. The experimental tasks should be finished in<br />

groups. So during the process <strong>of</strong> cooperative learning,<br />

team members support and communicate with each other,<br />

which can enhance the trust between team members, this<br />

help them develop good relationships[9]. In designing the


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2799<br />

experiment, we should broaden the condition <strong>of</strong> topic in<br />

order to let students select technique which they like to<br />

develop website, and divide students into groups and let<br />

them finish website in groups. At the same time we<br />

should demo and explain the excellent scheme <strong>of</strong> former<br />

students, encourage students to explore higher technique.<br />

As to some doubtful points, we can design some<br />

expanding homework to let student conquer these basic<br />

threshold through the cases <strong>of</strong> homework, for example<br />

linking to DB, so student can save more time to study<br />

some higher knowledge <strong>of</strong> design website. At the end <strong>of</strong><br />

lesson, every group demonstrates website, teachers and<br />

students together give score to every group. In this way<br />

students can learn and encourage each other.<br />

VI. POSSIBLE PROBLEMS<br />

A. Some Possible Copyright Problems<br />

Firstly, “comes out" <strong>of</strong> one course is not a simple<br />

matter, after a lot <strong>of</strong> hard work <strong>of</strong> teachers, as producing,<br />

modifying, making perfect, selecting process and so on,<br />

the course transforms to the final product. So the original<br />

courseware copyright protection is very necessary.<br />

Furthermore, the teachers-collected resources which<br />

are collected from Internet, inevitably involved in some<br />

copyright problems, especially that we must mark the<br />

source on the site when downloading commercial<br />

s<strong>of</strong>tware.<br />

B. Some Possible Safe Problems about Server <strong>of</strong><br />

Information Technique Center<br />

Any web site may be vulnerable to hackers and virus<br />

attacks, so there must be a security policy to ensure the<br />

legitimate user <strong>of</strong> the legal service. We must have data<br />

backup, access control and anti virus strategy.<br />

VII. CONCLUSIONS<br />

In conclusion, college teachers and students should<br />

actively study and apply information knowledge,<br />

information technology, continuously improve their<br />

information accomplishment, actively use informationbased<br />

environment conditions and information platform<br />

<strong>of</strong> colleges and universities, effectively integrate<br />

information technology with their own teaching and<br />

learning. Because <strong>of</strong> the nature <strong>of</strong> technological,<br />

information-based teaching has won more and more<br />

universities’ favor, and it will become the trend <strong>of</strong> new<br />

teaching model reformation and development. The<br />

exploration and research <strong>of</strong> information-based teaching<br />

construction will be way which can not be passed for<br />

higher colleges in order to advance resources share,<br />

strengthen the communication between teachers and<br />

students, consolidate and promote the teaching<br />

reformation.<br />

© 2012 ACADEMY PUBLISHER<br />

ACKNOWLEDGMENT<br />

This work was supported by Guangdong Nature<br />

Science Foundation (No.10151032001000003); the Open<br />

Research Foundation <strong>of</strong> Guangdong Province Key Lab <strong>of</strong><br />

EC Market Application Technology and Guangdong<br />

University <strong>of</strong> Business Studies Foundation<br />

(No.09YB52001, No.53026535).<br />

REFERENCES<br />

[1] Zhang Yichun, Jia Xiaoyuan, Liu Pingchuang, connotation<br />

and development strategy <strong>of</strong> new college informationbased<br />

teaching construction(J), Modern Distance<br />

Education Research,2011(4) , pp. 26-32.<br />

[2] Tom Browne, Roger Hewitt, Martin Jenkins & Richard<br />

Walker(2008).2008 Survey <strong>of</strong> Technology Enhanced<br />

Learning for Higher Education in<br />

UK[DB/OL].http://www.ucisa.ac.uk/publications/~/media/<br />

290DD5217DA5422C8775F246791F5523.ashx.<br />

[3] Gu Zengjun, network teaching environment construction<br />

based on Blackboard teaching platform, Laboratory<br />

research and exploration[J].2011,30(7) , pp. 174-177.<br />

[4] Wang Ailin, information-based analysis <strong>of</strong> Gudong<br />

University <strong>of</strong> Business Studies(J), Technology guide,<br />

2012(3) , pp. 70<br />

[5] Li Longlong, Wang Jin, Study On the construction <strong>of</strong><br />

information-based teaching[J], Value engineering,<br />

2012(01) , pp. 228~230<br />

[6] Zhan Yu, Liu Jun, network curriculum construction <strong>of</strong><br />

experimental mechanics lesson Based on the Blackboard<br />

platform[J], China Education Innovation Herald, 2011(22) ,<br />

pp. 184<br />

[7] Zhihua Tan; Song Li, “Multimedia Technology in Physical<br />

Education”, International Symposium on Computer<br />

Network and Multimedia Technology, 2009, pp.1-4.<br />

[8] Salmon, G.2003.E- Moderating: The key to teaching &<br />

learning online.London: Taylor & Francis, Ltd.<br />

[9] S. Bulut, "A cross-cultural study on the usage <strong>of</strong><br />

cooperative learning techniques in graduate level education<br />

in five different countries," Revista Latinoamericana de<br />

Psicología, vol. 42, pp. 111-118, 2010.<br />

technology.<br />

Xinwei Zheng is an instructor in<br />

Information Science School at Guangdong<br />

University <strong>of</strong> Business Studies. She<br />

received her Master and PHD degree in<br />

Computer Science from Huazhong<br />

University <strong>of</strong> Science and Technology in<br />

2003 and 2008. Her current research<br />

interests include E-learning, computer<br />

network technology and stream media


2800 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

An Empirical Study on the Correlation and<br />

Coordination Degree <strong>of</strong> Linkage Development<br />

between Manufacturing and Logistics<br />

Rui Zhang<br />

College <strong>of</strong> Computer and Information Management,Zhejiang Gongshang University,Hangzhou, China<br />

Email: zhangrui@mail.zjgsu.edu.cn<br />

Chunhua Ju<br />

College <strong>of</strong> Computer and Information Management,Zhejiang Gongshang University,Hangzhou, China<br />

Email: jch@mail.zjgsu.edu.cn<br />

Abstract—Manufacturing is a major driving force and an<br />

important pillar for national economic development .It is an<br />

important source to create national income. Currently the<br />

low level <strong>of</strong> logistics industry development significantly<br />

restricted prosperity and development <strong>of</strong> manufacturing,<br />

and affected the overall competitiveness <strong>of</strong> the supply chain.<br />

The paper firstly explains the relevant research about<br />

industrial linkage and coordination degree, and creatively<br />

forms development paths <strong>of</strong> industry linkage between<br />

manufacturing and logistics. Then, the paper takes the<br />

development situation <strong>of</strong> the manufacturing and the logistics<br />

industry during the period <strong>of</strong> 2000 to 2008 in China. It<br />

builds an evaluation model about coordination <strong>of</strong><br />

manufacturing and logistics industry linkage and analyzes<br />

the changes <strong>of</strong> coordination degree between manufacturing<br />

and logistics. The research results show that manufacturing<br />

is positively related to logistics industry. But their<br />

coordination degree is in the critical state <strong>of</strong> coordination<br />

and disharmony. In the economic restructuring, making<br />

efforts to promote linkage development has more<br />

significance for enhancing the competitiveness <strong>of</strong> industries<br />

in China.<br />

Index Terms—correlation, coordination degree,<br />

manufacturing, logistics, industry linkage<br />

I. INTRODUCTION<br />

Since the 21st century, manufacturing industry in<br />

China can be considered as the rapid development stage,<br />

and the manufacturing industry has started into advanced<br />

course. These own many characteristics, such as having<br />

the knowledge, intensive in information and technology,<br />

output with high added value, low consumption <strong>of</strong><br />

resources, environmental pollution and so on. Even<br />

though, it has many constraints. Especially in the new<br />

supply chain management, manufacturing enterprises are<br />

increasingly faced with pressures, for example, lower<br />

costs, shorted delivery time, improving product quality<br />

and serve.<br />

The current logistics model <strong>of</strong> manufacturing and the<br />

low level <strong>of</strong> development in logistics industry<br />

significantly restricted prosperity and development <strong>of</strong><br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2800-2807<br />

manufacturing, and affected the overall strength <strong>of</strong> the<br />

supply chain.<br />

Logistics in manufacturing is an important part <strong>of</strong> the<br />

logistics industry. It is the key to enhancing the core<br />

competitiveness <strong>of</strong> manufacturing industries. It is also the<br />

base demand for logistics development [1]. According the<br />

survey, from raw materials to finished products, general<br />

product processing time does not exceed 10%. And 90%<br />

<strong>of</strong> the time is spent in storage, transport, handling,<br />

packaging, distribution and other logistics sectors.<br />

Promoting the linkage development <strong>of</strong> manufacturing and<br />

logistics industry is not only an important way to adjust<br />

industrial structure and transform economic growth, but<br />

also the common requirements and the urgent desire to<br />

manufacturing and logistics companies [2].<br />

II. LITERATURE REVIEW<br />

A. Industry Linkage<br />

Currently, the term <strong>of</strong> industry linkage is widely used<br />

in China, but related connotations have not been defined.<br />

Rui Nie [3] proposed the linkage industries both the<br />

industry and the linkage. Industries are the set or system<br />

interacted formed by economic organization and activities<br />

with same features. Linkage refers to a number <strong>of</strong><br />

associated things with "contact" and "interaction". When<br />

the one makes a movement or change, the others follow.<br />

Based on industry association, he defined industrial<br />

linkage as some industry collaborative activities, which<br />

are launched in the industrial chain links in order to reduce<br />

transaction costs and reduce business risk between the<br />

same or different enterprises. Lan Ling [4] considered the<br />

industry linkage as the main form <strong>of</strong> regional interaction,<br />

and economic organizations with similar characteristics<br />

integrated into the economic cooperation organization or<br />

economic group based on the institutional framework and<br />

regulatory mechanism. Its purpose is to achieve<br />

complementary and coordinated development during<br />

regional industries, optimize the regional industrial<br />

structure, upgrade the industry level, and enhance the<br />

competitiveness <strong>of</strong> regional industries.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2801<br />

B. Correlation<br />

Currently researches on the correlation between the<br />

two industry linkages mainly are reflected in the<br />

followings:<br />

Based on related analysis on the number <strong>of</strong> large<br />

enterprises patents and pr<strong>of</strong>its, Baizhou Li [5] applied<br />

statistics s<strong>of</strong>tware to make Granger tests for them. The<br />

results showed that the number <strong>of</strong> invention patents had<br />

positive impact on corporate pr<strong>of</strong>its .He also calculated<br />

out that pr<strong>of</strong>its upgraded the corresponding 0.5615%<br />

when the number <strong>of</strong> invention patents increased by 1%.<br />

Starting from the evidence, Hongqiong Zhu [6] made a<br />

solution to this problem from tax revenue and total<br />

economic output. He did regression analysis, structure<br />

decomposition, and systematic analysis on each factor<br />

affecting the revenue growth and economic growth, in<br />

order to overcome the total lack, and arrived at<br />

quantitative and more powerful findings.<br />

While measuring information development index <strong>of</strong><br />

regional information development level and economic<br />

growth index <strong>of</strong> regional economic growth level, Yukai<br />

Shao, Huanchen Wang and Saixing Zeng [7] used the<br />

latest statistical data to analyze their correlation and found<br />

that China's economic growth and information<br />

development showed strong regional imbalance. The<br />

information development had a more regional imbalance.<br />

With the region's economic growth, information<br />

development showed strong correlation.<br />

III. DEVELOPING PATHS OF INDUSTRY LINKAGE<br />

At present, China is in transition mode <strong>of</strong> economic<br />

development, analysis <strong>of</strong> development path <strong>of</strong> linkage<br />

between logistics and manufacturing, exploring the<br />

continuous and stable development <strong>of</strong> the industry and<br />

promoting the process <strong>of</strong> new industrialization have<br />

important practical significance and practical value. Based<br />

on some studies, this section divides the development path<br />

into five stages, including cells, the division <strong>of</strong> labor,<br />

interaction, integration and linkage, and eventually<br />

receives that two industry’s linkage development is the<br />

future trend <strong>of</strong> industrial development.<br />

A. Industrial Cell<br />

Cells are the basic unit <strong>of</strong> life activities. Most <strong>of</strong> the<br />

family business stem from early small workshop, which is<br />

like a single cell and the basis for industrial production<br />

and growth. Although smaller, it is independent that can<br />

be described as small and complete.<br />

With the deepening impact on the industrial revolution,<br />

manufacturing has achieved an unprecedented<br />

development. Once unable to transit to adapt the new<br />

changing economic form, cell-oriented enterprises are<br />

more vulnerable to face bankruptcy.<br />

B. The Division <strong>of</strong> Labor<br />

Adam Smith, a British classical economics pedigree,<br />

was the first one to systematically discuss the causes <strong>of</strong><br />

division. As early as 200 years ago, Adam Smith proposed<br />

that the division <strong>of</strong> labor aroused from the need for<br />

transactions and trading capacity, which will affect the<br />

development <strong>of</strong> the division <strong>of</strong> labor in his book. Marx<br />

pointed out that natural division <strong>of</strong> labor and the growth <strong>of</strong><br />

social productivity led to commodity exchange, which<br />

© 2012 ACADEMY PUBLISHER<br />

further led to specialized commodity production and<br />

social division <strong>of</strong> labor. All <strong>of</strong> those driving force is the<br />

behind interests [8]. Jingdong Huo [9] did the induction<br />

on the industrial division <strong>of</strong> labor and pointed out that the<br />

transaction costs was the direct cause <strong>of</strong> separation in<br />

manufacturing and logistics industry. When the logistics<br />

cost was higher than the cost <strong>of</strong> acquisition, the business<br />

will implement logistics outsourcing. In this demand<br />

stimulus, the logistics industry has produced.<br />

C. Interaction<br />

The performance to interaction is interacting,<br />

interdependence and common development between<br />

logistics and manufacturing [10]. With the expansion <strong>of</strong><br />

the manufacturing sector, the demand for the logistics<br />

industry increased rapidly, that will improve the<br />

productivity <strong>of</strong> the manufacturing. The other hand is also<br />

fit. Moreover, with economic development, they rely on a<br />

deeper level each other. Payne noted that in our special<br />

institutional transformation environment, logistics and<br />

manufacturing have been involved in highly relevant and<br />

additional stage [11].<br />

D. Integration<br />

As development and wide application <strong>of</strong> information<br />

and communication technology, services and<br />

manufacturing increasingly blurred boundaries and had<br />

emerging integration. Porter made the Convergence <strong>of</strong> the<br />

Theory in 2001, that new economy and old economy<br />

increasingly integrated, and IT companies and traditional<br />

business’s boundaries trended to disappear [12].<br />

E. Industrial Linkage<br />

In recent years, manufacturing logistics has rapid<br />

development, but many problems to be solved, which<br />

mainly due to lack <strong>of</strong> communication and convergence<br />

between manufacturing and logistics industry.<br />

Manufacturers do not trust logistics services capabilities,<br />

and logistics companies do not understand the real needs<br />

<strong>of</strong> manufacturers. Thus, to achieve industry interaction<br />

and to enhance the exchange <strong>of</strong> the two industries is not<br />

only conducive to the development <strong>of</strong> manufacturing and<br />

logistics industry, but also to help improve the<br />

competitiveness <strong>of</strong> the industry chain.<br />

IV. DEVELOPMENT SITUATION OF MANUFACTURING AND<br />

LOGISTICS INDUSTRY IN CHINA<br />

Although the scope <strong>of</strong> industries is wider, the channels<br />

to grasping China's manufacturing statistical data are few.<br />

In this paper, the industrial output value is instead <strong>of</strong><br />

manufacturing sector (MGDP). The Statistics Bureau <strong>of</strong><br />

China has not yet regarded the logistics industry as an<br />

independent industry, so in this paper, output value <strong>of</strong><br />

tertiary industry will take place <strong>of</strong> production value <strong>of</strong> the<br />

logistics industry (PESR).<br />

A. Analysis <strong>of</strong> MGDP and PESR<br />

From the two growth trends <strong>of</strong> Fig.1, obtained from<br />

the use <strong>of</strong> Eviews3.1 s<strong>of</strong>tware, we can see that MGDP<br />

was up from 4.0034 trillion Yuan to 12.9112 trillion Yuan<br />

and the average annual growth rate researched 15.84%<br />

from 2000 to 2008. PESR increased to 12.0487 trillion<br />

Yuan from 3.8714 trillion Yuan, and the average annual


2802 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

growth rate researched 15.29%. Average annual growth<br />

rate <strong>of</strong> logistics industry is slightly less than that <strong>of</strong><br />

manufacturing industry, but more similar, we can see that<br />

the logistics industry in China started relatively late has<br />

been great development.<br />

140000<br />

120000<br />

100000<br />

80000<br />

60000<br />

40000<br />

20000<br />

00 01 02 03 04 05 06 07 08<br />

0.24<br />

0.22<br />

0.20<br />

0.18<br />

0.16<br />

0.14<br />

0.12<br />

0.10<br />

PESR MGDP<br />

Figure.1 Growth trends <strong>of</strong> MGDP and PESR from 2000 to 2008<br />

B. Analysis <strong>of</strong> Growth Rate <strong>of</strong> MGDP and PESR<br />

As can be seen from Fig.2, there are two distinct peaks<br />

respectively in 2004 and 2007. But in 2008 there is a clear<br />

decline. The reason is that Chinese manufacturing and<br />

logistics industry have a rapid development stage with<br />

Chinese openness and market improvement. Since China<br />

joined in the WTO in 2001, China's logistics industry and<br />

manufacturing have entered a rapid development process<br />

and created a peak in 2004. In 2008 Olympics Game,<br />

Chinese economic development was strong and reached a<br />

new peak. Second half <strong>of</strong> 2008, due to U.S. subprime<br />

mortgage crisis, the world economy gone into the valley.<br />

China was also affected, so that the economic situation<br />

was worrying and manufacturing and logistics industry<br />

had a significant decline.<br />

0.08<br />

00 01 02 03 04 05 06 07 08<br />

PESR MGDP<br />

Figure. 2 Changing trends Figure <strong>of</strong> growth rate <strong>of</strong> MGDP and<br />

PESR from 2000 to 2008<br />

Fig.2 also shows that growth trend in logistics industry<br />

and manufacturing have a strong consistency. And<br />

logistics and manufacturing have a strong positive<br />

correlation. Of course, changes in the logistics industry<br />

grow slightly lag behind the growth <strong>of</strong> manufacturing,<br />

especially in the year <strong>of</strong> 2003.<br />

© 2012 ACADEMY PUBLISHER<br />

V. CASE ANALYSIS ON CORRELATION OF MANUFACTURING<br />

AND LOGISTICS INDUSTRIES<br />

A. Analysis <strong>of</strong> the Correlation between Variables by<br />

EVIEWS<br />

• OLS Regression Analysis<br />

The paper selects MGDP on behalf <strong>of</strong> the level <strong>of</strong><br />

manufacturing industry and PSER on behalf <strong>of</strong> the<br />

logistics industry development, units both are 100 million<br />

Yuan. Selected sample interval is from 2000 to 2008, and<br />

the data source is the China Statistical Yearbook<br />

published in 2009 Analysis <strong>of</strong> the data relies on<br />

application <strong>of</strong> Eviews3.1.<br />

Since taking the natural logarithm <strong>of</strong> the data does not<br />

alter the integration relationship between variables and<br />

can linear the trend between the variables. To some extent,<br />

it can also be possible to eliminate time-series<br />

heteroscedasticity, so the paper takes the natural logarithm<br />

<strong>of</strong> MGDP and PSER , respectively LN and MGDP LN . PSER<br />

Model is build as follows:<br />

MGDP = a + b* PSER<br />

(1)<br />

LNMGDP = c1+ c2∗<br />

LN PSER<br />

(2)<br />

One said that c1 for constant, c 2 for LN PSER 's<br />

coefficient. It uses Eviews3.1 s<strong>of</strong>tware to carry out the<br />

ordinary least squares regression analysis for equation (1)<br />

and (2), and heteroscedasticity and autocorrelation were<br />

processed, the final results are shown in table Ⅰ.<br />

TABLE I.<br />

CORRELATION COEFFICIENTS BETWEEN VARIABLES<br />

MGDP PSER LN LN<br />

MGDP<br />

PSER<br />

MGDP 1.000000 0.996974<br />

LN MGDP<br />

PSER 0.996974 1.000000 LN PSER<br />

1.000000 0.994394<br />

0.994394 1.000000<br />

Figure.3 Regression results <strong>of</strong> LN MGDP and LN PSER<br />

Making OLS regression on LN MGDP 、 LN PSER ,<br />

the regression results are shown in Figure.3:<br />

LN MGDP = −0<br />

. 907216 + 1.<br />

083865*<br />

LN PSER<br />

s = ( 0.<br />

341575 )( 0.<br />

030759 )<br />

t = (−2.<br />

655977)(<br />

35.<br />

23789)<br />

R 2 = 0.<br />

994394,<br />

DW = 1.<br />

078497,<br />

F = 1241.<br />

709<br />

It showed that in the sample period, added value <strong>of</strong><br />

manufacturing and logistics not only has a positive


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2803<br />

relationship, and that is significant. c 2 =1.083865<br />

indicated that at this stage, when one percentage point<br />

increases in added value <strong>of</strong> logistics, added value <strong>of</strong><br />

manufacturing will increase 1.083865 percent. It can be<br />

seen that during the period <strong>of</strong> 2000-2008, the role <strong>of</strong><br />

manufacturing to the growth in the logistics industry is<br />

obvious. Similarly, manufacturing also has a positive role<br />

in stimulating and promoting the growth <strong>of</strong> the logistics<br />

industry.<br />

• Variable Stability Test<br />

Although the correlation between variables is high, a<br />

false return likely exited in the measurement results <strong>of</strong><br />

data involved time series. Namely if there are two nonstationary<br />

time series data showing a consistent trend,<br />

even if there is no economic relationship between them,<br />

the use <strong>of</strong> their traditional methods may also show a high<br />

coefficient <strong>of</strong> determination.<br />

To test whether a false return is exited, it is necessary<br />

to check the stationary <strong>of</strong> time series data. If the mean and<br />

variance <strong>of</strong> a random time series are constant, and any<br />

covariance <strong>of</strong> two periods only rely on their distance or<br />

the lag time, rather than relying on the calculating the<br />

actual time <strong>of</strong> covariance, we call it stable. In economic<br />

field, a lot <strong>of</strong> time series observations are the nonstationary<br />

series, and stability is in an important position<br />

in economic modeling. Therefore, it is necessary to check<br />

the stationary <strong>of</strong> time series data. The methods <strong>of</strong><br />

Stationary test comprise the unit root test and diagram test.<br />

As there is significant growth trend in GDP’s time series,<br />

this paper adopts ADF to conduct unit root test on<br />

LN MGDP and LN PSER .The test results is shown in<br />

Fig.4 and Fig.5.<br />

Figure.4 Unit root test results <strong>of</strong> LN MGDP<br />

Seen from the test results, at three significance level,<br />

including 1%, 5% and 10%, the unit root test’s critical<br />

values <strong>of</strong> LN PSER were -5.2459, -3.5507, -2.9312, and t<br />

test’s statistic is 2.475771, more than three different<br />

significant thresholds, indicating that the sequence is nonstationary.<br />

© 2012 ACADEMY PUBLISHER<br />

Based on the above, researching on the correlation<br />

between manufacturing and logistics had false return by<br />

EVIEWS s<strong>of</strong>tware. It has some differences from desired<br />

results, but it is normal to produce this result. At first, it<br />

was because <strong>of</strong> the small sample used in this paper.<br />

Secondly, the reason was that domestic GDP was<br />

influenced by many economic factors, in most cases, it<br />

grew sustained over time.<br />

X<br />

Figure.5 Unit root test results <strong>of</strong> LN PSER<br />

TABLE II.<br />

CORRELATIONS<br />

X Y<br />

Pearson Correlation 1 .989(**)<br />

Sig. (2-tailed) . .000<br />

Sum <strong>of</strong> Squares and<br />

Cross-products<br />

760144941.432 1894938830.270<br />

Covariance 95018117.679 236867353.784<br />

N 9 9<br />

Pearson Correlation .989(**) 1<br />

Sig. (2-tailed) .000 .<br />

Y Sum <strong>of</strong> Squares and<br />

Cross-products<br />

1894938830.270 4830116200.000<br />

Covariance 236867353.784 603764525.000<br />

N 9 9<br />

Note:Correlation is significant at the 0.01 level (2-tailed)<br />

The results showed that: the correlation coefficient <strong>of</strong><br />

the variable X for a total pr<strong>of</strong>it <strong>of</strong> the manufacturing<br />

(billion) and variable Y for cargo turnover <strong>of</strong> logistics<br />

industry (million tons / km) is 0.989, and it is significant<br />

in the 0.01 significance level. This can be learned in two<br />

ways: the first is the "**" in the right shoulder <strong>of</strong><br />

correlation coefficient for 0.989, the other is that<br />

significance probability (Sig.) <strong>of</strong> the bilateral test in the<br />

second line is less than 0.01. And the significance level <strong>of</strong><br />

the correlation coefficient is 0.000, less than 0.01<br />

significantly. Thus, the total pr<strong>of</strong>its <strong>of</strong> manufacturing and<br />

cargo turnover <strong>of</strong> logistics industry is related.


2804 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

VI. EVALUATION MODEL OF COORDINATION DEGREE<br />

A. Index Selection<br />

Based on the actual situation and indicators system,<br />

comprehensiveness, independence, and so on, this paper<br />

determines the index system <strong>of</strong> coordination degree, as<br />

table Ⅲ.<br />

It is necessary to be stated that these indicators are<br />

based on China Statistical Yearbook (2009) and collected<br />

corresponding statistics between 2000 and 2008. Data on<br />

manufacturing systems mainly is aimed at industrial<br />

enterprises above the scale. At the same time, the<br />

development <strong>of</strong> logistics industry indirectly is assessed by<br />

transport-related indicators. In addition, the selection <strong>of</strong><br />

this indicator will be corrected and improved in the future.<br />

B. Calculation <strong>of</strong> Coordination Degree<br />

• Methods<br />

Coordination degree is a quantitative indicator to<br />

measure coordination level among the state system or<br />

elements. Studies about the degree <strong>of</strong> coordination have<br />

four main categories: coupled coordination degree model,<br />

entropy change equation, interval-valued judgments<br />

method and grey relational model [13].<br />

Coupled coordination degree model can couple<br />

parties’ properties to evaluate the harmony level in<br />

different stages among systems [14]. Entropy equation can<br />

be used to describe the law that the isolation system<br />

evolves non-equilibrium to equilibrium state [15].<br />

Interval-valued judgments method is to establish<br />

mathematical models to determine the system whether is<br />

coordinated or not. Grey model can calculate the<br />

correlation between each indicator <strong>of</strong> one system and each<br />

indicator <strong>of</strong> another system for, and calculate a major<br />

stress factor <strong>of</strong> the impact. It is superior to other methods<br />

[16]. To this end, this paper constructed grey model to<br />

research coordination degree <strong>of</strong> manufacturing and<br />

logistics.<br />

• Calculation Procedure<br />

Firstly, in order to eliminate indicators’ dimensional<br />

relationship between the original data, it makes<br />

normalized data processing before carrying out correlation<br />

analysis. In other words, it uses SPSS s<strong>of</strong>tware’s principal<br />

component analysis on data for standardization, so that<br />

data is comparable.<br />

Only through standardization <strong>of</strong> data, that it is<br />

comparable. The general standard is adopted standardized<br />

Z , that is mean 0, variance 1.<br />

Secondly, on the basis <strong>of</strong> standardized, calculating<br />

correlation coefficient.<br />

min min zxi<br />

( t)<br />

− zx j ( t)<br />

+ ρ max max zxi<br />

( t)<br />

− zy j ( t)<br />

i j<br />

i j<br />

ξij<br />

( t)<br />

=<br />

zxi<br />

( t)<br />

− zy j ( t)<br />

+ ρ max max zxi<br />

( t)<br />

− zy j ( t)<br />

i j<br />

(3)<br />

Where ρ is standardized coefficient, the general value<br />

is 0.5; zxi (t)<br />

and zy j (t)<br />

for standardized value <strong>of</strong> each<br />

index for the t moment; ξ ij (t)<br />

is correlation coefficient<br />

for the t moment.<br />

Thirdly, calculate the mean <strong>of</strong> correlation coefficient,<br />

according to the sample size, in order to get correlation<br />

coefficient matrix. It can reflect relationships between<br />

© 2012 ACADEMY PUBLISHER<br />

manufacturing and logistics industry. By comparing the<br />

size <strong>of</strong> correlation γ ij , it can analyze whether the<br />

relationships between the factors in manufacturing and the<br />

factors in logistics industry is close or not. That is<br />

calculated as follows:<br />

k 1<br />

γ = ξ ij ( t)<br />

k<br />

(4)<br />

ij ∑<br />

i=<br />

1<br />

On the basis <strong>of</strong> the connection matrix, respectively<br />

seek their mean by rows or columns. According to the<br />

average size, the most important factors affecting<br />

manufacturing and logistics industry each other can be<br />

selected.<br />

Fourthly, define coordination degree. In order to<br />

determine the size <strong>of</strong> coordination degree between the two<br />

systems from the overall, it can on the basis <strong>of</strong> equation<br />

(3), further define the coordination degree [17]. The<br />

equation is:<br />

m l 1<br />

C(<br />

t)<br />

= ∑∑ξ<br />

ij ( t)<br />

m × l i=<br />

1 j=<br />

1<br />

(5)<br />

VII. CASE STUDY<br />

A. Data Standardization<br />

According to China Statistical Yearbook (2009), it<br />

achieves the corresponding data <strong>of</strong> indicators. Then, using<br />

SPSS11.5 to standardize the above data for Z .<br />

B. Correlation Matrix<br />

According to the equation (3), (4) and (5), use<br />

MATLAB to build grey linkage model ,and make<br />

program to calculate gray correlation matrix for<br />

manufacturing system indicators x 1 ~ x6<br />

on the logistics<br />

system indicators y 1 ~ y6<br />

.<br />

Evaluation criteria <strong>of</strong> coordination degree is provided<br />

as follow: If γ = 1 , it indicates the relevance <strong>of</strong> an<br />

indicator in logistics system and one in manufacturing<br />

system is a target maximum. If 0


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2805<br />

coefficient is 0.6197~0.7142. The coordinating role is in<br />

the stronger situation, in which industrial output value is<br />

associated with the logistics industry in the strongest level<br />

for 0.7142.<br />

As to the level <strong>of</strong> manufacturing indexes associated<br />

with the logistics industry, the correlation coefficient is<br />

0.4049~0.8680, and the coordinating intensity is <strong>of</strong><br />

inequality. The coordinating role <strong>of</strong> freight and<br />

manufacturing is the strongest for 0.8680. The specific<br />

circumstances <strong>of</strong> manufacturing associated with logistics<br />

each other is shown in Fig.5:<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

制造业与物流业关联强弱散点图<br />

0<br />

0 0.2 0.4 0.6 0.8 1 1.2<br />

系列1<br />

系列2<br />

系列3<br />

系列4<br />

系列5<br />

Figure.5 Scatter point for the strength <strong>of</strong> manufacturing associated with<br />

logistics<br />

Seen from table Ⅳ and Fig.5, in general, the<br />

relationship <strong>of</strong> manufacturing and logistics industry shows<br />

the same phase and positive correlation, characterizing<br />

status quo <strong>of</strong> the relationship between manufacturing and<br />

logistics industry. Among 36 associated values <strong>of</strong> 6<br />

indicators <strong>of</strong> manufacturing and Logistics, 9 showed<br />

strong association, 10 showed stronger association, 12<br />

showed moderate correlation, and only five showed weak<br />

correlation. The number <strong>of</strong> occurrences <strong>of</strong> the strong,<br />

stronger, medium and weak respectively covered<br />

percentage <strong>of</strong> the total 36 was: 25.00%, 27.78%, 33.33%,<br />

13.89%.<br />

C. The Change <strong>of</strong> Coordination Degree between<br />

Manufacturing and Logistics<br />

According to equation (5), the coordination degree<br />

curve <strong>of</strong> manufacturing and logistics since 2000, is shown<br />

in Fig.6.<br />

The Fig.6 shows the changes in the coordination <strong>of</strong><br />

two systems. In the whole, the coordination degree<br />

fluctuates between 0.6251 and 0.7542, showing the close<br />

<strong>of</strong> coordination between manufacturing and logistics. Seen<br />

from the curve, the fluctuation <strong>of</strong> coordination degree is<br />

less sensitive from 2000 to 2008 and around 0.67. During<br />

2001 and 2005, there was a maximum <strong>of</strong> ups and downs,<br />

that from the peak 0.7542 in 2001 rapidly declining in the<br />

low to 0.6335, and to 0.728 reaching the second peak in<br />

2004. From 2004 to 2005, it fell to 0.6251 in the valley<br />

bottom.<br />

© 2012 ACADEMY PUBLISHER<br />

coordination 协调度 degree<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

我国制造业与物流业协调度变化曲线<br />

0.7542<br />

0.6408 0.63350.6535 0.7285 0.7051<br />

0.6735<br />

0.62510.6376<br />

2001 2002 2003 2004 2005 2006 2007 2008 2009<br />

年份<br />

系列1<br />

Figure.6 China's manufacturing and logistics’ coordination degree curve<br />

Overall, from Chinese manufacturing and logistics the<br />

change <strong>of</strong> degree coordination between the two system<br />

during 2000 to 2008, we can see that the coordination<br />

degree reach the highest point for 0.7542 at the stronger<br />

stage. But it is far from full coordination, namely that the<br />

coordinated development <strong>of</strong> the two industries is far from<br />

ideal.<br />

VIII. CONCLUSIONS<br />

OLS using EVIEWS showed that in the sample period,<br />

added value <strong>of</strong> manufacturing and logistics not only has a<br />

positive relationship, but also when one percentage point<br />

increases in added value <strong>of</strong> logistics, added value <strong>of</strong><br />

manufacturing will increase 1.083865 percent. Similarly,<br />

manufacturing also has a positive role in stimulating and<br />

promoting the growth <strong>of</strong> the logistics industry. But,<br />

research on the correlation between manufacturing and<br />

logistics existed false return, heteroscedasticity and so on,<br />

that may influence the reliability <strong>of</strong> results.<br />

Seen from the above, manufacturing is positively<br />

related to logistics industry, and the coordination <strong>of</strong> the<br />

two industries is more closely, but the coordination degree<br />

is at most about 0.66, in the critical state <strong>of</strong> coordination<br />

and disharmony. In the economic restructuring, making<br />

efforts to promote linkage development has far-reaching<br />

significance for enhancing the competitiveness <strong>of</strong> China's<br />

industries.<br />

The industry linkage between manufacturing and<br />

logistics is the linkage in ideas, organization, and mode <strong>of</strong><br />

operation, cost-effective and exchange <strong>of</strong> human resources.<br />

For manufacturing, two industries’ linkage development<br />

can promote internal division <strong>of</strong> labor, focus on core<br />

business in order to reduce logistics costs, improve<br />

manufacturing competitiveness and enhance the<br />

manufacturing sector’s ability to tackle the financial crisis.<br />

For the logistics industry, the linkage development can<br />

promote the optimization and integration <strong>of</strong> resources, and<br />

improve service levels. Meanwhile, deepening logistics<br />

outsourcing can increase the total market share <strong>of</strong> the<br />

logistics industry, to provide more space for the survival<br />

and development.<br />

ACKNOWLEDGMENT<br />

It is a project support by scientific research fund <strong>of</strong><br />

Zhejiang Provincial Education Department (Y200804863),<br />

Zhejiang Provincial Natural Science Foundation <strong>of</strong> China


2806 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

(Y6090015) and the Key Foundation <strong>of</strong> Philosophy and<br />

Social Science <strong>of</strong> Zhejiang Province(09CGYD012Z).<br />

REFERENCES<br />

[1] Tuanying He, Tianshan Ma, “Thinking about linkage development<br />

On manufacturing and logistics industry”, Innovation Exploration,<br />

vol. 5, pp. 28-29, 2009.<br />

[2] Jian Zhou, “Empirical Study on Interaction between<br />

manufacturing and producer services-a case study Jiangsu<br />

Province(1990-2007)”, Market Weekly(Disquisition Edition), vol.<br />

4, pp. 38-40, 2009.<br />

[3] Rui Nie, Tao Lv, “Industrial Linkage: Strategic Options for<br />

Sustainable Development and Utilization <strong>of</strong> Western Energy<br />

Resources”, Natural Resource Economics <strong>of</strong> China, vol. 1, pp. 12-<br />

14, 2008.<br />

[4] Lan Lin, Sen Ye, Gang Zeng, “STUDY ON REGIONAL<br />

INDUSTRY COOPERATION IN THE YANGTZE RIVER<br />

DELTA”, Economic Geography, vol. 30, pp. 6-10, 2010.<br />

[5] Baizhou Li, Yuanyuan Dong, “China's Large Enterprises'<br />

Evaluation <strong>of</strong> the Original Innovation Ability Based on AHP”,<br />

Science & Technology Progress and Policy, vol. 27, pp. 125-129,<br />

2010.<br />

[6] Hongqiong Zhu, “A Study on Relation between Tax Increase and<br />

Economic Growth”, Productivity Research, vol. 19, pp. 38-40,<br />

2007.<br />

[7] Yukai Shao, Huanchen Wang, Saixing Zeng, “The Relative<br />

Analyse between the Informatization Index and the Economy<br />

Growth in China”, Information Science, vol. 24, pp. 172-174,<br />

2006.<br />

[8] Liufu Chen, “Formation and deepening <strong>of</strong> the division <strong>of</strong> labor”,<br />

Frontier, vol. 12,pp. 47-49, 2002.<br />

[9] Jingdong Huo, Jiechang Xia, “The International Comparison on<br />

R&D Competitiveness <strong>of</strong> Modern Service Industry”, China S<strong>of</strong>t<br />

Science, vol. 10, pp.10-13, 2007.<br />

Coordination<br />

Evaluation<br />

System<br />

© 2012 ACADEMY PUBLISHER<br />

TABLE III.<br />

THE INDEX SYSTEM OF COORDINATION DEGREE OF INDUSTRY LINKAGE<br />

Evaluation<br />

System<br />

Manufacturing<br />

system<br />

Logistics<br />

system<br />

[10] Xian Chen, Jianfeng Huang, “Division <strong>of</strong> Labor, Interactions and<br />

Convergence: Empirical Research on the Evolvement <strong>of</strong> the<br />

Relationship between Service and Manufacturing Industries”,<br />

China S<strong>of</strong>t Science, vol. 10, pp. 65-71, 2004.<br />

[11] Jianhui Shi, Peirong Ding, “Interaction between manufacturing<br />

and producer services in developing relations - Analysis based on<br />

the paradigm stage”, North Trade, vol. 11, pp. 45-46, 2008.<br />

[12] Shixian Zhang, “The efficiency <strong>of</strong> industrial investment and<br />

industrial structure <strong>of</strong> the Empirical Study”, Management World,<br />

vol. 5, pp. 79-85, 2000.<br />

[13] Shengbin, Bo Yu, “Research on Coupling Degree Model and<br />

Application <strong>of</strong> the Enterprise's Technology Capacity and<br />

Technology Management Capacity”, Forecasting, vol. 27, pp. 12-<br />

15, 2008.<br />

[14] Tong Yang, Nengmin Wang, “An Empirical Study on the<br />

Coupling Model <strong>of</strong> Ecological Environment and Urban<br />

Competitiveness”, Ecological Economy, vol. 10, pp. 33-36, 2008.<br />

[15] Jichu Tang, “The Entropy Variation Equation <strong>of</strong> Thermodynamic<br />

Open System”, <strong>Journal</strong> <strong>of</strong> Systemic Dialectics, vol. 8, pp. 88-90,<br />

2000.<br />

[16] Hong Mi, Guoli Ji, “Chinese county-level regional population,<br />

resources, environment and sustainable development <strong>of</strong> the<br />

coordinated development <strong>of</strong> economic systems theory and<br />

evaluation methods”, POPULATION & ECONOMICS, vol. 6,pp.<br />

17-24, 1999.<br />

[17] Xiaoli Han, Li Wang, “The Quantitative Analysing on<br />

Coordinated Development Between Manufacture and Logistics”,<br />

Value Engineering, vol. 1, pp. 84-86, 2009.<br />

[18] Weidong Chen, Hua Wang, “Education and Economic<br />

Development by Gray Correlation Analysis - A Case Study <strong>of</strong><br />

Shenzhen City”, <strong>Journal</strong> <strong>of</strong> Southwest University for<br />

Nationalities(Humanities and Social Science), vol. 3, pp. 195-197,<br />

2007.<br />

Evaluation indicator variables<br />

industrial output value (billion)<br />

Enterprises (unit)<br />

Main Business Revenue (billion)<br />

Total pr<strong>of</strong>it (billion)<br />

Annual Average Number <strong>of</strong> workers (million)<br />

Total Assets (million)<br />

the tertiary industry output value (billion)<br />

Passenger volume (million)<br />

Total cargo throughput (tons)<br />

Cargo turnover (100 million tons km)<br />

Civilian car ownership (10000)<br />

The scale <strong>of</strong> port cargo throughput <strong>of</strong> coastal (tons)<br />

x 1<br />

x<br />

x<br />

x<br />

x<br />

x<br />

y<br />

y<br />

y<br />

y<br />

y<br />

2<br />

3<br />

4<br />

5<br />

6<br />

1<br />

2<br />

3<br />

4<br />

5<br />

y 6


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2807<br />

x 1<br />

x 2<br />

x 3<br />

x 4<br />

x 5<br />

x 6<br />

mean<br />

TABLE IV.<br />

Rui Zhang was born in 1976, Jilin Province<br />

<strong>of</strong> China. And she is a PH.D in reading and<br />

associate pr<strong>of</strong>essor <strong>of</strong> Contemporary Business<br />

and Trade Research Center <strong>of</strong> Zhejiang<br />

Gongshang University. She holds MSc from<br />

Zhejiang University <strong>of</strong> Technology in<br />

Zhejiang,China.<br />

Her current areas <strong>of</strong> teaching are logistics<br />

system planning and designing, while her research areas are<br />

logistics simulation, logistics planning(logistics network<br />

infrastructure, logistics capability and logistics modeling) and<br />

application <strong>of</strong> modern optimization techniques to complex<br />

© 2012 ACADEMY PUBLISHER<br />

GREY LINKAGE MATRIX<br />

1 y 2 y 3 y 4 y 5 y 6 y mean<br />

0.9702 0.3843 0.8124 0.5706 0.9763 0.5716 0.7142<br />

0.7514 0.4551 0.8845 0.4635 0.6997 0.4642 0.6197<br />

0.9050 0.4127 0.9507 0.5177 0.8311 0.5185 0.6893<br />

0.7334 0.3407 0.6395 0.7043 0.7903 0.7059 0.6524<br />

0.9335 0.4070 0.9211 0.5269 0.8551 0.5278 0.6952<br />

0.8331 0.4296 1.0000 0.4933 0.7701 0.4941 0.6700<br />

0.8544 0.4049 0.8680 0.5461 0.8204 0.5470<br />

engineering problems, including production planning and<br />

control. She has published some teaching books and finished<br />

more than 10 articles in journals and conference proceedings.<br />

Ms. Zhang is a researcher and a Chartered Member <strong>of</strong> the China<br />

Federation <strong>of</strong> Logistics & Purchasing, and she is also a member<br />

<strong>of</strong> China Materials Storage& Transportation Association.<br />

Chunhua Ju is a pr<strong>of</strong>essor, doctoral supervisor <strong>of</strong> School <strong>of</strong><br />

Business Administration, Zhejiang Gongshang University.<br />

His main research interests are business informationization<br />

management, E-commerce and logistics, decision support<br />

system, etc.


2808 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Tourism Crisis Management System Based on<br />

Ecological Mechanism<br />

Xiaohua Hu<br />

Changhai Hospital, Second Military Medical University, Shanghai 200438, P.R.China<br />

Email: huhexu@hotmail.com<br />

Xuan Zhou, Weihui Dai, Zhaozong Zhan and Xiaoyi Liu<br />

Sicuan Conservatory <strong>of</strong> Music, Chengdu, 610021, China<br />

School <strong>of</strong> Management, Fudan University, Shanghai 200433, China<br />

School <strong>of</strong> S<strong>of</strong>tware, Fudan University, Shanghai 200433, China<br />

School <strong>of</strong> Information Science and Engineering, Fudan University, Shanghai 200433, China<br />

Email: 465029725@qq.com, whdai@fudan.edu.cn, 043053314@fudan.edu.cn, liuxiaoyi92@gmail.com<br />

Abstract—Tourism industry has become one <strong>of</strong> the biggest<br />

and dynamic industries in the world, giving a great impetus<br />

to the economic development. However, its vulnerability and<br />

the crisis management have been the momentous problem.<br />

The findings <strong>of</strong> researches and practices have shown that<br />

tourism crisis will possibly take place due to the destruction<br />

<strong>of</strong> system balance, which is similar to the ecological crisis in<br />

the natural world. This paper built an ecological system<br />

model to research the formation mechanism <strong>of</strong> tourism<br />

crisis, and designed the crisis management system for<br />

preventing, monitoring, controlling and recovering the<br />

tourism crisis both from natural and social environment.<br />

Index Terms—Tourism Crisis, Crisis management,<br />

Management System, Ecological Mechanism<br />

I. INTRODUCTION<br />

Tourism industry has become one <strong>of</strong> the biggest and<br />

dynamic industries in the world, giving a great impetus to<br />

the economic development. However, as the tourism<br />

industry started to be the pillar industry <strong>of</strong> the economic<br />

development, its vulnerability is revealed seriously.<br />

Since 1980s, a series <strong>of</strong> crises such as the tsunami in<br />

Indonesia in 2004, the hurricane in New Orleans in<br />

2005,etc have attacked the tourism industry, damaging<br />

severely the travel economy and the people’s life and<br />

properties. How to avoid and reduce the possibility <strong>of</strong><br />

crisis while maintaining the fast development <strong>of</strong> the<br />

tourism industry has been a burning problem.<br />

The management <strong>of</strong> tourism crisis has been paid much<br />

attention, but it is difficult to perform it due to the<br />

distinctiveness <strong>of</strong> the tourism industry. On one hand, it<br />

concerns lots <strong>of</strong> industries that have different characters,<br />

Manuscript received August 6, 2012; revised October 16, 2012;<br />

accepted November 12, 2012.<br />

This research was supported by National Natural Science<br />

Foundation <strong>of</strong> China (No. 90924013) .<br />

Corresponding author: Xuan Zhou.<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2808-2815<br />

for instance, hotels, travel agencies, etc. On the other<br />

hand, the tourism industry has a strong dependence on the<br />

natural and social environment. The loose industrial<br />

structure and strong dependence on the environments<br />

makes it even more difficult to resolve the crises once<br />

they occur. The crisis management demands not only the<br />

regulations and organizations, but the fast communication<br />

<strong>of</strong> information, quick data processing and well<br />

coordination <strong>of</strong> every part. So, applying the information<br />

technology, to establish a crisis management system that<br />

can widely collect the information in travel operative<br />

activities and crisis and can respond to them efficiently is<br />

more and more regarded as a necessity for the realization<br />

<strong>of</strong> an efficient crisis management.<br />

The research on tourism crisis started from 1970s. In<br />

1974, the Travel Research Association first listed the<br />

travel research as one <strong>of</strong> the most important projects.<br />

Since then, the areas <strong>of</strong> crime and travel[1], terrorism and<br />

travel[2], war and travel[3], financial crisis and travel[4],<br />

natural disaster and travel[5], public health and travel[6],<br />

etc have been researched by lots <strong>of</strong> scholars. But only<br />

Faulkner[7] and few scholars have presented the<br />

theoretical system <strong>of</strong> crisis management. As a conclusion,<br />

it is still scare in the research <strong>of</strong> the data acquisition for<br />

the general tourism crisis and its responding system, <strong>of</strong><br />

the mechanism <strong>of</strong> tourism system and the tourism crisis<br />

management system built with modern techniques.<br />

In the area <strong>of</strong> ecological management research, the<br />

ecology was introduced into the management study in<br />

1970 by Aldrich. H. E. and J. Pfeffer[8]. Hannan and<br />

Freeman[9] pointed out the community ecological theory<br />

in 1977. James F. Moore[10] in 1996 built a business<br />

ecological system and Richard L. Daft[11] in 1998<br />

further developed the cooperation and conflict between<br />

ecological systems, and reached a competitive and<br />

cooperative mode and an organization for study. A<br />

through introduction <strong>of</strong> the ecological management is<br />

made by D. Kong and X. Z. Cui in 2003[12].


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2809<br />

This paper used the ecological mechanism to build the<br />

tourism ecological system and analyzed the formation<br />

and influence <strong>of</strong> its crisis. On such basis, a management<br />

system for tourism crisis is presented to provide a<br />

responding solution to the tourism crisis. The system’<br />

module functions and architecture are to be analyzed<br />

further. In later sections, we provide a compound<br />

ecological system <strong>of</strong> Buddhism cultural travel and put<br />

forward an ecological-chain-based developing mode to<br />

maintain its sustainable development.<br />

II. TOURISM ECOLOGICAL SYSTEM AND ITS CRISIS<br />

MECHANISM<br />

A. Tourism Ecological System<br />

The natural ecological system has the characteristic <strong>of</strong><br />

fragile since the ecological community and its living<br />

environment are dependent on each other. Likewise, the<br />

tourism system has integrated into the environment,<br />

whose each little fluctuation can leads to the incredible<br />

disaster <strong>of</strong> the tourism industry. With such consideration,<br />

introducing the concept <strong>of</strong> the ecological system into the<br />

research <strong>of</strong> tourism crisis to learn the experience <strong>of</strong><br />

natural ecological degradation and recovery is really<br />

meaningful.<br />

In the natural ecological system, producers, consumers<br />

and reducers constitute the whole organic ecological<br />

community. The ecological system is not the simple<br />

assembly <strong>of</strong> various kinds <strong>of</strong> creatures and their<br />

environment. Instead, it is an organic system in which all<br />

the creatures and environmental factors are<br />

interdependent and inter-checked. Since the ecological<br />

system has the ability <strong>of</strong> self-adjusting, it is relatively<br />

stable in the normal condition. And generally, there are<br />

In this system model, producers, consumers and<br />

producers promote the circulation <strong>of</strong> the tourism<br />

© 2012 ACADEMY PUBLISHER<br />

Figure1. Tourism ecological system model<br />

two kinds <strong>of</strong> stable states for one organism. One is the<br />

homeostasis, namely the self-adjusting ability to respond<br />

to the environmental changes, and another is state that<br />

every ecological factor is in the range <strong>of</strong> its ecological<br />

valence, which regulates the highest level that an<br />

ecological factor is allowed to reach. Once some<br />

ecological factor exceeds its ecological valence,<br />

ecological crisis occurs, leading further to the<br />

deterioration <strong>of</strong> the ecological system. Among the various<br />

reasons that may cause the ecological system, external<br />

interference, especially the manual interference, is the<br />

primary reason. Ecological recovery is also in the<br />

progress as the deterioration is going on. The natural<br />

ecological system retains its systematic structure and<br />

function in this process with the favorable factors <strong>of</strong> the<br />

environment and the self-adjusting ability.<br />

In tourism industry, travel activity is the foundation, in<br />

which tourists, tourism resources and tourism business<br />

constitute the three “T” factors <strong>of</strong> the travel industry. To<br />

put it one step further, the travel industrial system is an<br />

organized and functional entity that is constituted by<br />

travel activity organizers and participants with the use <strong>of</strong><br />

information flow, power flow, material flow and value<br />

flow, and that is in the form <strong>of</strong> tourism environmental<br />

resources [13][14].<br />

As the natural ecological system we discussed above,<br />

the tourism industrial ecological system is also formed<br />

generally by producers, consumers, reducers and their<br />

dependent environment. Apart from this, the flow <strong>of</strong><br />

information, power and value, etc is also the part <strong>of</strong><br />

tourism ecological system. By referring to the natural<br />

ecological system and its operation mechanism presented<br />

by W. H. Dai, etc in 2005[15], we established the<br />

ecological system model <strong>of</strong> tourism as Figure 1.<br />

ecological system by making use <strong>of</strong> the information flow,<br />

consuming flow, power flow and value flow. The tourism


2810 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

corporations drive the consumers’ travelling desire by the<br />

tourism information flow, which leads to the formation <strong>of</strong><br />

tourism consuming flow, and after the digesting <strong>of</strong><br />

tourism corporations, the tourism power flow forms to go<br />

through the whole process <strong>of</strong> travel activity and produces<br />

industrial nutrition. The positive power flow changes into<br />

the travel value flow to raise the system into a higher<br />

level and thus can start a new circulation, while the<br />

negative power flow may damage the social and natural<br />

environment by releasing rejections.<br />

B. Tourism Crisis Mechanism and Manegement<br />

There is such a wide range <strong>of</strong> the concept <strong>of</strong> tourism<br />

crisis, which includes the tourism economic crisis,<br />

tourism cultural and social relationship crisis, and tourism<br />

security crisis, etc[16]-[21], that it is necessary for us to<br />

give it a definite definition for our research. In this paper,<br />

we defined the tourism crisis as the natural or manual<br />

unexpected disasters that affect the travel industrial<br />

operation and have to be responded in the limited time<br />

and in uncertain conditions. In other words, the tourism<br />

crisis in our research range mainly refers to the crises that<br />

are related to the tourism security. On the whole, the<br />

tourism crisis can be divided into two types: one is the<br />

external crisis that occurs when the nature and society are<br />

regarded as the environment <strong>of</strong> the tourism industrial<br />

development, and another one is named internal tourism<br />

crisis that happens in the travelling process, for example,<br />

housing, eating, and transportation, etc. It is not the pure<br />

crisis coming out <strong>of</strong> the inner <strong>of</strong> the industry. On the<br />

contrary, its causes are quite complicated, its occurrences<br />

are pretty unpredictable and versatile, its influence covers<br />

various regions, and also it is difficult to recover.<br />

Since tourism crisis can’t be avoided only by securing<br />

the operating procedures in travel operational activities,<br />

its management becomes especially important. At present,<br />

the management systems for tourism crisis are mostly<br />

based on institutions and organizations, lacking a<br />

practical management system. The general method is to<br />

divide the whole crisis management process into three<br />

stages, referring to the warning mechanism before the<br />

crisis, the processing mechanism in the crisis, and the<br />

recovering mechanism after the crisis. In the warning<br />

mechanism management stage, most <strong>of</strong> the works, such<br />

as analyzing and evaluating the original information, are<br />

© 2012 ACADEMY PUBLISHER<br />

Figure2. Ecological mechanism <strong>of</strong> tourism crisis<br />

completed by the management information system to<br />

evaluate and predict the risks. In the crisis processing<br />

stage, the role that the crisis management mechanism<br />

plays changes into the quick response in the shortest time<br />

to prevent the development <strong>of</strong> crisis. And in the last<br />

recovering stage, travel places and public confidence are<br />

to be resumed by the combining efforts <strong>of</strong> institutions and<br />

organizations.<br />

Though some developed countries have already<br />

established a set <strong>of</strong> public crisis processing system and<br />

crisis information management system, shortcomings<br />

have been revealed in the real cases in that the traditional<br />

crisis management system is weak in the continuous risk<br />

management and lacks the quantitative indicators and<br />

ability to process the non-structured data.<br />

Addressed by Z. F. Yang, etc. [14] in 2005, the natural<br />

ecological system has a potential ability to maintain its<br />

service function and health, called the ecological carrying<br />

capacity. From the perspective <strong>of</strong> this view, the tourism<br />

ecological system also possesses the ecological carrying<br />

capacity concerning its ecological health. The natural and<br />

social environments provide the resources carrying<br />

capacity for the tourism ecological system, and the<br />

tourism ecological system supports travelers’ activities in<br />

a certain resilience range. As the natural ecological<br />

system does, the tourism ecological system maintains<br />

stable state with its dependent natural and social<br />

environments in the supporting <strong>of</strong> self-resilience and<br />

carrying capacity.<br />

We have already known that the natural ecological<br />

system imbalance leads to the crisis finally, and such<br />

natural ecological system crisis is mainly driven by<br />

external interference. Referring to this mechanism, we<br />

reached the conclusion that the tourism crisis is caused by<br />

tourism crisis factors, actually the external interference.<br />

Once the quantity <strong>of</strong> the tourism crisis factors exceeds the<br />

ecological valiance that the system is able to carry, the<br />

system comes into deterioration and even crash. To be<br />

more specific, one kind <strong>of</strong> crisis will bring other kinds <strong>of</strong><br />

crises, forming a crisis chain finally, because <strong>of</strong> the food<br />

net that all kinds <strong>of</strong> tourism factors build in power<br />

flowing and value flowing process. The crisis spreads in<br />

the three mechanisms in Figure 2.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2811<br />

As it shows in the figure, the crisis may occur when the<br />

material flow or the value flow breaks down. Crisis series<br />

may also happen when the information flow affects the<br />

psychological factor to cause more and more crises.<br />

Finally, the crisis may affect the environment and the<br />

environment reversely affects other ecological factors to<br />

change into other interfering factors that may cause other<br />

kinds <strong>of</strong> tourism crises.<br />

III. TOURISM CRISIS MANAGEMENT SYSTEM<br />

A. Framework and Procedures <strong>of</strong> Tourism Crisis<br />

Management<br />

The application <strong>of</strong> ecological mechanism into the<br />

research <strong>of</strong> tourism industry and its crisis gives us a much<br />

more great understanding <strong>of</strong> the cause and developing<br />

process <strong>of</strong> tourism crisis. In the same way, we can make<br />

use <strong>of</strong> the methods to the crisis in natural ecological<br />

system to manage the travel crisis. On the whole, the<br />

tourism crisis management which based on the ecological<br />

In the preventing stage, the model <strong>of</strong> security tree is<br />

built to analyze and divide the crisis into the smallest<br />

factor so that the crisis can be prevented by avoiding the<br />

conditions that these smallest crisis factors need.<br />

In the warning stage, it is the primary and most difficult<br />

task to monitor the crisis factor. Due to the fact that many<br />

© 2012 ACADEMY PUBLISHER<br />

Figure3. Framework and procedures <strong>of</strong> tourism crisis management<br />

mechanism is to use the ecological principles to analyze<br />

the cause and developing process <strong>of</strong> tourism crisis and to<br />

respond to them by using the methods in ecological<br />

system.<br />

In the end, it is the everlasting objective for the tourism<br />

crisis management to promote and maintain the health<br />

and stability <strong>of</strong> the travel ecological system. According to<br />

what we have analyzed about the ecological mechanism<br />

<strong>of</strong> tourism crisis, the tourism system is such a selfadjusted<br />

system that it has certain carrying ability and can<br />

respond to the crisis in each stage. Thus it can further be<br />

concluded that the ecological-mechanism-based tourism<br />

crisis management is terminally to guide the travel<br />

system to perform its self-adjusting ability to prevent,<br />

warn, control and recover from the crisis.<br />

In order to build a tourism crisis management system<br />

based on ecological mechanism, we analyzed the desired<br />

system function in the separate stages in crisis<br />

management.<br />

tourism crises emerge from their related environments, it<br />

is essential to build a well-organized information<br />

communicating network that helps to provide the crisis<br />

factors’ information. In the controlling stage, the system<br />

needs to identify the crises and especially their causes<br />

first and make the interfering decision with the conditions


2812 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

<strong>of</strong> labors and techniques. So a regional crisis management<br />

system based on ecological mechanism is to be<br />

constructed.<br />

In the recovery stage, we may choose the manual way<br />

or the natural way to help recover the tourism system.<br />

The choice is based on whether the crisis is caused by<br />

natural factors or social factors. The natural-factor-caused<br />

crisis can be recovered by the combination <strong>of</strong> manual and<br />

natural method. However, the social-factor-caused crisis<br />

can only be resolved by manual method.<br />

On the whole, the tourism crisis management system<br />

should realize the following functions: indentifying the<br />

tourism crisis, analyzing the crisis factor, modeling the<br />

crisis, making the responding decision, returning the<br />

evaluation feedback and the publishing the information.<br />

Here we present the tourism crisis management system in<br />

ecological mechanism. Its function framework and<br />

processing procedures can be designed as Figure3.<br />

According to the function figure, there are three<br />

working levels and two sub-systems to constitute the<br />

whole system. On the first working level, pre-processing<br />

work, including the crisis indentifying, crisis factor<br />

analyzing and crisis modeling, is completed. Since these<br />

works demand different models, there is not a uniformed<br />

© 2012 ACADEMY PUBLISHER<br />

Figure4. Architecture <strong>of</strong> Tourism Crisis Management System<br />

system to process them. Instead, the crisis factor<br />

analyzing and crisis modeling come into progress<br />

separately after the crisis is identified.<br />

On the second working level is the tourism crisis<br />

deciding and supporting system. This occupies the heart<br />

place <strong>of</strong> the whole management system. On this level,<br />

analysis and decisions are made in the support <strong>of</strong><br />

database and decision models. And reference models for<br />

managing the crisis are available later.<br />

On the third level is the feedback system, which is used<br />

to evaluate the crisis to check the afterwards situation, to<br />

give a whole understanding <strong>of</strong> the crisis, and to<br />

accumulate the cases for future use.<br />

Apart from the three working levels, dialogue subsystem<br />

is constructed for the data input and information<br />

declaration. The security sub-system is also set with<br />

hardware and s<strong>of</strong>tware such as identity authentication,<br />

firewall and antivirus tools.<br />

B. Architecture <strong>of</strong> Tourism Crisis Management System<br />

According to the requirements <strong>of</strong> the framework and<br />

procedures <strong>of</strong> tourism crisis management, we give the<br />

architecture design <strong>of</strong> that crisis management as Figure 4:


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2813<br />

This includes the integration <strong>of</strong> two levels. One is the<br />

integration <strong>of</strong> tourism corporations that have the same<br />

objection and cooperate frequently. Databases are<br />

connected and related information that scatted on<br />

different departments is shared on this level. Another is<br />

the information integration with regional governments,<br />

ministry <strong>of</strong> public security, fire agents, and other<br />

departments. Technologies such as Extranet and Internet<br />

are used to realize the information integration <strong>of</strong> these<br />

sub-systems..<br />

In this architecture, there are three major platforms: the<br />

system access platform, the application service platform,<br />

and the fundamental supporting platform. Various kinds<br />

<strong>of</strong> users connect to the system by the access platform, and<br />

receive the services by the application service platform.<br />

The network infrastructure, technological standard,<br />

agreements and regulations constitute the fundamental<br />

supporting platform.<br />

On the side <strong>of</strong> s<strong>of</strong>tware system structure, we choose<br />

JESS technology to build the three-level browser/server<br />

system structure for the tourism crisis management<br />

system to realize the information and resources<br />

integration.<br />

The sustainable development <strong>of</strong> tourism industry is<br />

depended on the balance <strong>of</strong> a compound ecological<br />

system, the concept presented by S. J. Ma[22] in 1984<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 5 Compound ecological system model <strong>of</strong> the Buddhism cultural travel<br />

On the side <strong>of</strong> network system structure, a regional<br />

special network is established and connected with other<br />

networks to realize the reliable and widely connected<br />

network system.<br />

IV. APPLICATION IN BUDDHISM CULTURAL TRAVEL<br />

Cultural travel has been a new and fashionable kind <strong>of</strong><br />

travel in recent years. Since the Buddhism cultural travel<br />

resources are abundant all over the world and take a<br />

heavy place in promoting the local travel industry and<br />

spreading the Buddhism culture, developing and<br />

managing them in a sustainable way is <strong>of</strong> great<br />

importance. However, the present developing work has<br />

been revealed some problems. The development has been<br />

mostly in the area <strong>of</strong> material cultural resources but not<br />

the non-material culture, so that the travelers can’t fully<br />

understand the Buddhism culture that is contained in the<br />

places <strong>of</strong> interest. Besides, the Buddhism cultural travel<br />

industrial chain is weak in some parts, with the travel<br />

commodities junior in cultural connotation, etc.<br />

and the system including social sub-system, economic<br />

sub-system and natural sub-system. In this paper, the<br />

development <strong>of</strong> tourism industry is regarded as the


2814 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

manual interfering process on the compound ecological<br />

system. The development <strong>of</strong> Buddhism cultural travel<br />

presents a complicated relationship among this compound<br />

ecological system. According to the theory <strong>of</strong> compound<br />

ecological system and the ecological community<br />

succession, we analyzed the influence mechanism <strong>of</strong><br />

tourism development on the subjects <strong>of</strong> the tourism<br />

industrial ecological system, and also analyzed the<br />

community succession process <strong>of</strong> the Buddhism cultural<br />

travel development. Aftermath, we established the<br />

compound ecological system model <strong>of</strong> the Buddhism<br />

cultural travel development and its sustainable<br />

development mechanism.<br />

As it concerns to the influence mechanism <strong>of</strong> the<br />

Buddhism cultural travel development on the compound<br />

ecological system, the developed Buddhism cultural<br />

travel resources come into the consuming market in the<br />

form <strong>of</strong> Buddhism cultural travel products and their<br />

derivatives. The consumers create the investment returns<br />

by consuming and the Buddhism cultural travel industry<br />

and its related industries got promotion as a result. The<br />

social and natural environments receive both the positive<br />

and negative effects <strong>of</strong> these industries’ development. As<br />

Government, to maintain and improve the tourism<br />

resource conditions is the primary responsibility.<br />

The compound ecological system model <strong>of</strong> the<br />

Buddhism cultural travel development is presented by<br />

this paper as Figure 5.<br />

In this model, there are three sub-systems <strong>of</strong> social,<br />

economic and natural system, interacted as the arrow<br />

showed. In the social system, government, corporations,<br />

non-pr<strong>of</strong>itable organizations, investors, travelling<br />

consumers and other related workers interrelated via<br />

some political and economical relationship. In the<br />

economical system, the Buddhism cultural travel industry<br />

derives other related industries, and the tourism resources<br />

provide attractions as the basement that the whole<br />

industry existed on. Last, in the natural system, the<br />

natural environments such as geology, climate and<br />

transportation <strong>of</strong>fer the grounds for the activity sites,<br />

living facilities for the travelling. This natural system is<br />

also the general basement <strong>of</strong> the whole Buddhism cultural<br />

travel industry.<br />

Tourism crisis may take place while the balance <strong>of</strong> that<br />

ecological system has been seriously broken by any <strong>of</strong><br />

social, economic or natural factors. Based on the<br />

ecological mechanism, we developed a tourism crisis<br />

management system for Buddhism cultural travel, which<br />

has been successfully applied in China.<br />

V. CONCLUSION<br />

Inspired by natural ecological system, this paper<br />

researched the ecological mechanism <strong>of</strong> tourism system<br />

and tourism crisis. To help resolve the present situation in<br />

tourism crisis responses, a new design <strong>of</strong> crisis<br />

management system was presented for preventing,<br />

monitoring, controlling and recovering the tourism crisis<br />

both from natural and social environment based on that<br />

ecological mechanism.<br />

© 2012 ACADEMY PUBLISHER<br />

With that system, efficient processing can be<br />

conducted at the moment that the general tourism crisis<br />

happens. This system has been successfully applied in the<br />

crisis management <strong>of</strong> Buddhism cultural travel.<br />

Improvement <strong>of</strong> practical application is our future work.<br />

VI. ACKNOWLEDGEMENT<br />

This research was supported by National Natural<br />

Science Foundation <strong>of</strong> China (No. 90924013).<br />

REFERENCES<br />

[1] Fujii, “Tourism and crime: implications for regional<br />

development policy.” Regional Studies, Vol.14, pp.27-36,<br />

1980.<br />

[2] Richter, “Tourism politics and political science: A case <strong>of</strong><br />

not so benign neglect.” Annals <strong>of</strong> Tourism Research,<br />

Vol.10, pp.313-335, 1983.<br />

[3] V. L. Smith, “War and tourism: an american<br />

ethnography.” Annals <strong>of</strong> Tourism Research, Vol.25(1),<br />

pp.202-227, 1998.<br />

[4] Pine, “The current and future impact <strong>of</strong> Asia’s economic<br />

downturn on the region’s hospitality industry,”<br />

International <strong>Journal</strong> <strong>of</strong> Contemporary Hospitality<br />

Management, Vol.10(7), pp.252-256, 1998.<br />

[5] Faulkner, “Towards a framework for tourism disaster<br />

management,” Tourism Management, Vol.22, pp.135-147,<br />

2001.<br />

[6] Frisby, “Communicating in a crisis: the British Tourist<br />

Authority’s response to the foot-and-mouth outbreak on<br />

11th September, 2001,” <strong>Journal</strong> <strong>of</strong> Vacation Marketing,<br />

Vol.9(1), pp.89-100, 2002,<br />

[7] B. Faulkner, “Towards a framework for tourism disaster<br />

management.” Tourism Management, Vol.22, pp.135-147,<br />

2001.<br />

[8] H. E. Aldrich, J. Pfeffer, “Environments <strong>of</strong><br />

organizations,” Annual Review <strong>of</strong> Sociology, Vol.2 pp.79-<br />

105, 1976.<br />

[9] M.T. Hannan, J. H. Freeman, “The population ecology <strong>of</strong><br />

organizations,” The American <strong>Journal</strong> <strong>of</strong> Sociology,<br />

Vol.82(5), pp.929-964, 1997.<br />

[10] J. F. Moore, The Death <strong>of</strong> Competition: Leadership and<br />

Strategy in the Age <strong>of</strong> Business Ecosystems, Harpercollins<br />

Publishing, 1996<br />

[11] R. L. Daft: Organization Theory and Design, South-<br />

Western College Publishing, 1998<br />

[12] K. Dong, X. Z. Cui, “Management ecology-the<br />

management in 21century,” Modern Management Science,<br />

Vol.2, pp.6-8, 2003.<br />

[13] G. L. Hou, “Tourism crisis: types, influential mechanism<br />

and management model,” Nankai Management Comment,<br />

Vol.1, pp. 78-82, 2005.<br />

[14] Z. F. Yang, etc. “Assessment <strong>of</strong> the ecological carrying<br />

capacity based on the ecosystem health,” Acta Scientiae<br />

Circumstantiae, Vol.5, pp.586-594, 2005.<br />

[15] W. H. Dai, Ecological Community Pattern and Strategy <strong>of</strong><br />

Independent Innovation: Some Pillar Industries in<br />

Shanghai, Project Report <strong>of</strong> Shanghai Municipal Science<br />

and Technology Commission, 2005.<br />

[16] J. Huang, “On the establishment <strong>of</strong> tourism crisis<br />

management mechanism,” Social Scientist, Vol. 7, pp. 76-<br />

79, 2003.<br />

[17] The World Tourism Organization, Crisis Guidelines for<br />

the Tourism Industry, http://www.world-tourism.org.<br />

[18] J. Q. Li, etc, “Crisis accident and it’s management in<br />

tourism,” Human Geography, Vol.12, pp.35-39, 2003.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2815<br />

[19] H. F. Guo, X. Y. Zeng, “Risk analysis method research,”<br />

Computer Engineering, Vol.3, pp.131-132, 2001.<br />

[20] J. Zhou, “Research on the systematic mechanism analysis<br />

and strategic countermeasures <strong>of</strong> tourism crisis<br />

management,” <strong>Journal</strong> <strong>of</strong> Guilin Institute <strong>of</strong> Tourism,<br />

Vol.1, pp.20-27, 2003.<br />

[21] J. Zhang, “A study <strong>of</strong> tourism crisis,” <strong>Journal</strong> <strong>of</strong> Huaiyin<br />

Industry College, Vol.4, pp.8-10, 2004.<br />

[22] S. J. Ma, R. S. Wang, “The social-economic-natural<br />

complex ecosystem,” Acta Ecologica Sinica, Vol.1, 1984.<br />

Xiaohua Hu received his Master degree in S<strong>of</strong>tware<br />

Engineering in 2011 from Fudan University, China. He is<br />

current a s<strong>of</strong>tware engineer at Changhai Hospital, Second<br />

Military Medical University, China.<br />

.<br />

Xuan Zhou received her Master degree in Digital Arts in 2009<br />

from Shanghai University, China. She is current a teacher at<br />

Sicuan Conservatory <strong>of</strong> Music, China.<br />

© 2012 ACADEMY PUBLISHER<br />

Weihui Dai received his B.S. degree in Automation<br />

Engineering in 1987, his Master degree in Automobile<br />

Electronics in 1992, and his Ph.D. in Biomedical Engineering<br />

in1996, all from Zhejiang University, China. He is currently an<br />

Associate Pr<strong>of</strong>essor at the Department <strong>of</strong> Information<br />

Management and Information Systems, School <strong>of</strong> Management,<br />

Fudan University, China.<br />

Dr. Dai has published more than 120 papers in S<strong>of</strong>tware<br />

Engineering, Information Management and Information<br />

Systems, Financial Intelligence, and Complex Adaptive System<br />

and Socioeconomic Ecology, etc. Dr. Dai became a member <strong>of</strong><br />

IEEE in 2003, a senior member <strong>of</strong> China Computer Society in<br />

2004, and a senior member <strong>of</strong> China Society <strong>of</strong> Technology<br />

Economics in 2004.<br />

Zhaozong Zhan received his Master degree in S<strong>of</strong>tware<br />

Engineering in 2006 from Fudan University, China.<br />

Xiaoyi Liu received her B.S. degree in Optical Information<br />

Science and Technology from Fudan University in 2009. She is<br />

currently a master student <strong>of</strong> Accountancy at University <strong>of</strong><br />

Denver, USA.


2816 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Image Fusion Method based on Non-Subsampled<br />

Contourlet Transform<br />

Hui Liu<br />

School <strong>of</strong> Science, Jiangxi University <strong>of</strong> Science and Technology, 341000 Ganzhou, China<br />

Email: lxyliuhui@163.com<br />

Abstract—Considering human visual system and<br />

characteristics <strong>of</strong> images, a novel image fusion strategy is<br />

presented for panchromatic high resolution image and<br />

multispectral image in non-subsampled contourlet<br />

transform (NSCT) domain. The NSCT can give an<br />

asymptotic optimal representation <strong>of</strong> edges and contours in<br />

image by virtue <strong>of</strong> its characteristics <strong>of</strong> good multiresolution,<br />

shiftinvariance, and high directionality. An intensity<br />

component addition strategy based on NMF algorithm is<br />

introduced into NSCT domain to preserve spatial resolution<br />

and color content. Experiments show that the proposed<br />

algorithm can not only reduce computational complexities,<br />

but achieve better performances than other mentioned<br />

techniques both in visual point and statistics compared with<br />

the traditional principle component analysis (PCA) method,<br />

intensity-hue-saturation (IHS) transform technique, wavelet<br />

transform weighted fusion method, corresponding wavelet<br />

transform-based fusion method, and contourlet transformbased<br />

fusion method.<br />

Index Terms—Image fusion, Non-Subsampled Contourlet<br />

Transform, Non-Negative Matrix Factorization.<br />

I. INTRODUCTION<br />

Image fusion is a process by combining two or more<br />

source images from different modalities or instruments<br />

into a single image with more information. The<br />

successful fusion is <strong>of</strong> great importance in many<br />

applications, such as remote sensing, computer vision,<br />

medical imaging, and so on. In the pixel level fusion,<br />

some generic requirements can be imposed on the fusion<br />

results [1]:<br />

1) The fused image should preserve all relevant<br />

information contained in the source images as closely as<br />

possible.<br />

2) The fused process should not introduce any artifacts<br />

or inconsistencies, which can distract or mislead the<br />

human observer, or any subsequent image processing<br />

steps.<br />

3) In the fused image, irrelevant features and noise<br />

should be suppressed to a maximum extent.<br />

Panchromatic (PAN) images <strong>of</strong> high spatial resolution<br />

can provide detailed geometric information, such as<br />

shapes, features, and structures <strong>of</strong> objects <strong>of</strong> the earth’s<br />

Manuscript received February 20, 2011; revised March 22, 2011;<br />

accepted June 25, 2011.<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2816-2822<br />

surface. While multispectral (MS) images with usually<br />

lower resolution are used to obtain spectral information<br />

necessary for environmental applications. The different<br />

objects within images <strong>of</strong> high spectral resolution are<br />

easily identified. Data fusion methods aim to obtain the<br />

images with high spatial and spectral resolution,<br />

simultaneously. The PAN and MS remote sensing image<br />

fusion is different from other fusion applications, such as<br />

image fusion in military missions or computer-aided<br />

quality control. The specificity is to preserve the spectral<br />

information for subsequent classification <strong>of</strong> ground cover.<br />

The classical fusion methods are principle component<br />

analysis (PCA), intensity-hue-saturation (IHS) transform,<br />

etc. In recent years, with the development <strong>of</strong> wavelet<br />

transform theory and multi-resolution analysis, twodimensional<br />

separable wavelets have been widely used in<br />

image fusion and have achieved good results[2−4].<br />

Thus, the fusion algorithms mentioned above can<br />

hardly make it by themselves. They usually cause some<br />

characteristic degradation, spectral loss, or color<br />

distortion. For example, the IHS transform can enhance<br />

texture information and spatial features <strong>of</strong> fused images,<br />

but suffers from much spectral distortion. The PCA<br />

method will lose some original spectral features in the<br />

process <strong>of</strong> principal component substitution. The wavelet<br />

transform (WT) can preserve spectral information<br />

efficiently but cannot express spatial characteristics well.<br />

Furthermore, the isotropic wavelets are scant <strong>of</strong> shiftinvariance<br />

and multi-directionality and fail to provide an<br />

optimal expression <strong>of</strong> highly anisotropic edges and<br />

contours in images.<br />

Image decomposition is an important link <strong>of</strong> image<br />

fusion and affects the information extraction quality, even<br />

the whole fusion quality. In recent years, along with the<br />

development and application <strong>of</strong> the wavelet theory, the<br />

favorable time-frequency localization to express local<br />

signal makes wavelet a candidate in multi-sensor image<br />

fusion. However, wavelet bases are isotropy and <strong>of</strong><br />

limited directions and fail to represent high anisotropic<br />

edges and contours in images well. The MGA emerges,<br />

which comes from wavelet multi-resolution, but beyond<br />

it. The MGA can take full advantage <strong>of</strong> the geometric<br />

regularity <strong>of</strong> image intrinsic structures and obtain the<br />

asymptotic optimal representation. As an MGA tool, the<br />

contourlet transform (CT) has the characteristics <strong>of</strong><br />

localization, multi-direction, and anisotropy[5]. The CT<br />

can give the asymptotic optimal representation <strong>of</strong>


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2817<br />

contours and has been applied in image fusion effectively.<br />

However, the CT is lack <strong>of</strong> shift-invariance and results in<br />

artifacts along the edges to some extends.<br />

Until recently, the multi-resolution decomposition<br />

based algorithms have been widely used in multi-source<br />

image fusion field, and effectively overcame the problem<br />

<strong>of</strong> spectrum distortion. In which, wavelet transformation<br />

enjoys great time-frequency analytical features and is the<br />

focus <strong>of</strong> multi-source image fusion. In 2002, Do and<br />

Vetteri proposed a flexible contourlet transform method<br />

that may efficiently detect the geometric structure <strong>of</strong><br />

images attribute to its properties <strong>of</strong> multi-resolution, local<br />

and directionality [1]. But spectrum aliasing phenomenon<br />

occurs posed by unfavorable smoothness <strong>of</strong> basis<br />

function. Cunha et al. put forward a NSCT (Non-<br />

Subsampled Contourlet Transform) method [2] in 2006,<br />

improvements has been made in solving limitations <strong>of</strong><br />

contourlet, and it was the transformation with attributes<br />

<strong>of</strong> shift-invariant, multi-scale and multi-directionality [3].<br />

NMF (Non-Negative Matrix Factorization) was a new<br />

matrix analysis method [4], presented by Lee and Seung<br />

in 1999, and has been proved converged to its local<br />

minimum in 2000 [5]. The non-negative constraints<br />

imposed on NMF lead to extensive applications, and it<br />

has been successfully applied to image analysis, text<br />

clustering, data mining, speech processing, robot control,<br />

face recognition, biomedical and chemical engineering.<br />

In current references, Miao et al. applied NMF in multifocus<br />

image fusion [6]; Novak et al. utilized NMF in<br />

language modeling for grammar identification [7]; Feng<br />

et al. used NMF in face recognition program [8, 9].<br />

Owing to the pixels are generally non-negative in digital<br />

image processing, hence, the results arising from NMF<br />

directly express specific physical meaning.<br />

An improved NMF algorithm is proposed, and applied<br />

in image fusion program combine with NSCT, in which<br />

the novel NMF approach is performed to fuse the lowfrequency<br />

information in NSCT domain while the fusion<br />

<strong>of</strong> high-frequency details can be realized by adopting the<br />

technique called as NHM (Neighborhood Homogeneous<br />

Measurement). The experimental results demonstrate that<br />

the fusion method proposed can effectively extract useful<br />

information <strong>of</strong> source images and inject it into the final<br />

fused one which owns better visual effect and occupies<br />

less CPU time comparing with algorithm in [10].<br />

This paper discusses the fusion <strong>of</strong> multispectral and<br />

panchromatic remote sensing images. An improved NMF<br />

algorithm is proposed and applied The rest <strong>of</strong> this paper<br />

is organized as follows. Section 1 gives the NSCT <strong>of</strong><br />

images. Section 2 introduces NMF fusion algorithm and<br />

it’s transform. Section 3 proposes a new algorithm based<br />

on the combination ANMF and NSCT. Section 4 reports<br />

about the fusion experiments tested on PAN and MS<br />

image sets using the proposed algorithm. Conclusions are<br />

drawn in Section 5.<br />

II. NON-SUBSAMPLED CONTOURLET TRANSFORM<br />

A. Contourlet Transform<br />

Do and Vetterli proposed a “true” two-dimensional<br />

© 2012 ACADEMY PUBLISHER<br />

transform called contourlet transform, which is based on<br />

nonseparable filter banks and provides an efficient<br />

directional multiresolution image representation. The CT<br />

expresses image by first applying a multiscale transform,<br />

followed by a local directional transform to gather the<br />

nearby basis functions at the same scale into linear<br />

structures. For example, the Laplacian pyramid (LP) is<br />

first used to capture the point discontinuities, and then<br />

followed by a direction filter banks (DFB) to link point<br />

discontinuities into linear structures. In particular,<br />

contourlets have elongate supports at various scales,<br />

directions, and aspect ratios. The contourlets satisfy<br />

anisotropy principle and can capture intrinsic geometric<br />

structure information <strong>of</strong> images and achieve better<br />

expression than discrete wavelet transform (DWT),<br />

especially for the edges and contours.<br />

However, because <strong>of</strong> the downsampling and<br />

upsampling, the CT is lack <strong>of</strong> shift-invariance and results<br />

in ringing artifacts. But, the shift-invariance is desirable<br />

in image analysis applications, such as edge detection,<br />

contour characterization, image fusion, etc[7].<br />

Especially, during the realization <strong>of</strong> the CT, the<br />

analysis filter banks and synthesis filter banks <strong>of</strong> LP<br />

decomposition are nonseparable bi-orthogonal filter<br />

banks with band width larger than π/2. Based on<br />

multisampled rate theory, downsample on filtered image<br />

may result in lowpass and highpass frequency aliasing.<br />

Therefore, the frequency aliasing affects lie in directional<br />

subbands, which comes from the highpass subbands<br />

filtered by DFB. The frequency aliasing will result in<br />

information in a direction to appear in different<br />

directional subbands at the same time. This must weaken<br />

the directional selectivity <strong>of</strong> contourlets.<br />

B. Non-subsampled Contourlet Transform<br />

NSCT is proposed on the grounds <strong>of</strong> contourlet<br />

conception [1], which discards the sampling step during<br />

image decomposition and reconstruction stages.<br />

Furthermore, NSCT achieves the ability <strong>of</strong> shift-invariant,<br />

multi-resolution and multi-dimension for image<br />

presentation by using non-sampled filter bank iteratively.<br />

The structure <strong>of</strong> NSCT consists <strong>of</strong> two parts: NSP<br />

(Non-Subsampled Pyramid) and NSDFB (Non-<br />

Subsampled Directional Filter Banks). NSP, a multi-scale<br />

decomposed structure, is a dual-channel non-sampled<br />

filter that is developed from àtrous algorithm. And it does<br />

not contain subsampled process. (Fig. 1, a) shows the<br />

framework <strong>of</strong> NSP, for each decomposition <strong>of</strong> next level,<br />

the filter H (z) is firstly sampled using upper-two<br />

sampling method, the sampling matrix is D = (2, 0; 0, 2).<br />

Then, low-frequency components derive from last level<br />

are decomposed iteratively just as its predecessor did. As<br />

a result, a tree-like structure that enables multi-scale<br />

decomposition is achieved. NSDFB is constructed based<br />

on the fan-out DFB presented by Bamberger and Smith.<br />

It does not include both the super-sampling and subsampling<br />

steps, but rely on sampling the relative filters in<br />

DFB by treating D = (1, 1; 1, -1), which is illustrated in<br />

(Fig. 1, b).


2818 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

a)<br />

b)<br />

Fig.1. Diagram <strong>of</strong> NSP and NSDFB: a – three-levels NSP; b –<br />

decomposition <strong>of</strong> NSDFB<br />

III IMPROVED NONNEGATIVE MATRIX FACTORIZATION<br />

A. Nonnegative Matrix Factorization<br />

NMF is a recently developed matrix analysis algorithm<br />

[4, 5], which can not only describes low-dimensional<br />

intrinsic structure in high-dimensional space, but achieves<br />

linear representation for original sample data by imposing<br />

non-negativity constraints. It makes all the components<br />

non-negative (i.e., pure additive description) after being<br />

decomposed as well as realizes the non-linear dimension<br />

reduction, simultaneously. NMF is defined as:<br />

Conduct N times <strong>of</strong> investigation on a M-dimensional<br />

stochastic vector v first, then record these data as vj, j =<br />

1,2,…, N, let V = [ V•1, V•2, V•N ], where V•j = vj, j = 1,2,…,<br />

N. NMF is required to find a non-negative M×L base<br />

matrix W = [W•1, W•2,…, W•N] and a L×N coefficient<br />

factor H = [H•1, H•2,…, H•N ], so that V≈WH [4]. The<br />

equation can also be wrote in a more intuitive form <strong>of</strong><br />

L<br />

V. j ≈ ∑W.<br />

iH. j where L should be chose to satisfy (M + N)<br />

i=<br />

1<br />

L < MN.<br />

In the purpose <strong>of</strong> finding the appropriate factors W and<br />

H in solving NMF problem, the commonly used two<br />

objective functions are depicted as [5]:<br />

2<br />

F<br />

M N<br />

∑∑ ij ij<br />

2<br />

i= 1 j=<br />

1<br />

E( V || WH ) = || V − WH || = ( V −(<br />

WH ) )<br />

, (1)<br />

V<br />

D( V || WH ) = ( V log − V + ( WH ) ) ,<br />

© 2012 ACADEMY PUBLISHER<br />

M N<br />

ij<br />

∑∑ ij ij ij<br />

i= 1 j= 1 ( WH ) ij<br />

In respect to formulas (1) and (2), ∀i, a, j subject to<br />

Wia > 0 and Haj > 0. ||•||F is the Frobenius norm, (1) is<br />

called as the Euclid distance while (2) is referred to as K-<br />

L divergence function. Note that, Find the approximate<br />

solution to V ≈WH is considered equal to the optimization<br />

<strong>of</strong> above mentioned two objective functions.<br />

B. Accelerated Nonnegative Matrix Factorization<br />

Roughly speaking, NMF algorithm has high time<br />

complexity that results in limited advantage for overall<br />

performance <strong>of</strong> algorithm, so that the introduction <strong>of</strong><br />

improved iteration rules used to optimize the NMF is<br />

extremely crucial to promote the efficiency. In the point<br />

<strong>of</strong> algorithm optimization, NMF is the majorization<br />

problem that contents non-negative constraint. Until now,<br />

a wide range <strong>of</strong> decomposition algorithms have been<br />

investigated on the basis <strong>of</strong> non-negative constraint, such<br />

as the multiplicative iteration rules, interactive nonnegative<br />

least squares, gradient method and projected<br />

gradient [11]. In which the projected gradient approach is<br />

capable <strong>of</strong> reducing the time complexity <strong>of</strong> iteration to<br />

realize the NMF applications in mass data condition. In<br />

addition, these works are distinguished by meaningful<br />

physical significance, effective sparse data, enhanced<br />

classification accuracy and striking time decreasing. We<br />

propose a modified version <strong>of</strong> projected gradient NMF<br />

that will greatly reduce the complexity <strong>of</strong> iterations, the<br />

main idea <strong>of</strong> the algorithm is listed blow:<br />

As we known, the Lee-Seung algorithm continuously<br />

updates H and W, which fixing the other, by taking a step<br />

in a certain weighted negative gradient direction, namely:<br />

ij ij ij ij ij ij<br />

ij<br />

(2)<br />

⎡ ∂f<br />

⎤<br />

T T<br />

H ← H −η ⎢ ≡ H + η ( W A−W WH)<br />

∂H<br />

⎥<br />

, (3)<br />

⎣ ⎦<br />

⎡ ∂f<br />

⎤<br />

T T<br />

Wij ←Wij −ςij ⎢ ≡ Wij + ςij<br />

( AH −WHH<br />

) ij<br />

W<br />

⎥<br />

,<br />

⎣∂⎦ij (4)<br />

where ηij and ζij are individual weights for the<br />

corresponding gradient elements, which are expressed<br />

like follows:<br />

Hij<br />

Wij<br />

η ij = , ς T<br />

ij = , T<br />

( W WH)<br />

( WHH )<br />

and then the updating formulas:<br />

ij<br />

ij<br />

(5)<br />

T<br />

T<br />

( W A)<br />

ij<br />

( AH ) ij<br />

Hij ← Hij , W T<br />

ij ← Wij , (6)<br />

T<br />

( W WH)<br />

( WHH )<br />

ij<br />

We notice that the optimal H related to a fixed W can<br />

be obtained, column by column, by independently:<br />

1<br />

2<br />

min || Ae j −WHe j || 2 s.t. He j ≥ 0 , (7)<br />

2<br />

ij


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2819<br />

where ej is the j th column <strong>of</strong> the n×n identity matrix.<br />

Similarly, we can also acquire the optimal W relative to a<br />

fixed H by solving, row by row:<br />

1 T T 2<br />

T<br />

min || Aei −HWei || 2 s.t. W ei<br />

≥ 0 ,<br />

2<br />

(8)<br />

where ei is the i th column <strong>of</strong> the m×m identity matrix.<br />

Actually, both problems (7) and (8) can be changed into<br />

an ordinary form:<br />

1<br />

2<br />

min || Ax −b|| 2 s.t. x ≥ 0 ,<br />

2<br />

where A ≥ 0 and b ≥ 0. As the variables and given data<br />

are all nonnegative, the problem is therefore named as<br />

TNNLS (Totally Nonnegative Least Squares) issue.<br />

We propose to revise the algorithm claimed in article<br />

[4] by using the same update rule with step-length α in<br />

[10] to the successive updates in improving the objective<br />

functions about the two TNNLS problems mentioned in<br />

formulas (7) and (8). As a result, this brings about a<br />

modified form <strong>of</strong> the Lee-Seung algorithm that<br />

successively updates the matrix H column by column and<br />

W row by row, with individual step-length α and β for<br />

each column <strong>of</strong> H and each row <strong>of</strong> W respectively. So we<br />

try to write the update rule as:<br />

(9)<br />

T T<br />

H ← H + αη ( W A− W WH)<br />

, (10)<br />

ij ij j ij ij<br />

T T<br />

W ← W + βς ( AH − WHH ) , (11)<br />

ij ij j ij ij<br />

where ηij and ζij are set equal to some small positive<br />

number as described in [10], αj (j=1,2,…,n) and βi<br />

(i=1,2,…,m) are step-length parameters can be computed<br />

as follows. Let x ><br />

T T<br />

0, q = A ( b− Ax) and p = [ x./( A Ax)] o q<br />

where the symbol “./” means component-wise division<br />

and “ o ” denotes multiplication. Then we introduce<br />

variable τ∈(0,1),<br />

T<br />

pq<br />

α = min( , τ max{ ˆ α : x+ ˆ αp≥<br />

0}) , (12)<br />

T T<br />

p A Ap<br />

We can easily obtain the step-length formula <strong>of</strong> αj or βi<br />

if (A, b, x) is replaced by (W, Aej, Hej) or (H T , A T ei, W T ei),<br />

respectively. It is necessary to point out that q is the<br />

negative gradient <strong>of</strong> the objective function in [10], and<br />

the search direction p is a diagonally scaled negative<br />

gradient direction. The step-length α or β is either the<br />

minimum <strong>of</strong> the objective function in the search direction<br />

or a τ-fraction <strong>of</strong> the step to the boundary <strong>of</strong> the<br />

nonnegative quadrant.<br />

Learning from literature [10] that both quantities, p T<br />

q/p T A T Ap and max{â : x + âp ≥0} are greater than 1 in the<br />

definition <strong>of</strong> the step α. Thereby, we make αj ≥ 1 and βi ≥<br />

1 by treating τ sufficiently close to 1. In our experiment,<br />

we choose τ = 0.99 which practically guarantees that α<br />

and β are always greater than 1.<br />

© 2012 ACADEMY PUBLISHER<br />

Obviously, when α←1 or β←1, update formulas (10) and<br />

(11) reduce to updates (3) and (4). In the algorithm, the<br />

step-length parameters are allowed to be greater than 1. It<br />

is this indicates that for any given (W, H), we can get at<br />

least the same or greater decrease in the objective<br />

function than the algorithm [10]. Hence, we will call the<br />

proposed algorithm the ANMF (accelerated NMF).<br />

Besides, the experiments in later section will demonstrate<br />

that the (ANMF) algorithm is indeed superior to that<br />

algorithm by generating better test results, especially<br />

when the amount <strong>of</strong> iterations is not too big.<br />

IV THE ANMF AND NSCT COMBINED ALGORITHM<br />

A. The Selection <strong>of</strong> Fusion Rules<br />

As we known, the approximation characteristics <strong>of</strong> an<br />

image belongs to the low-frequency part, while the highfrequency<br />

counterpart exhibits detailed features <strong>of</strong> edge<br />

and texture. In this paper, NSCT method is utilized to<br />

separate the high and low components <strong>of</strong> source image in<br />

frequency domain, and then the two parts are dealt with<br />

different fusion rules according to their features. As a<br />

result, the fused image can be more complementary,<br />

reliable, clear and better understood.<br />

By and large, the low-pass sub-band coefficients<br />

approximate original image at low-resolution, it generally<br />

represents image contour, but such high-frequency details<br />

as edge, region contour are not contained. So we take<br />

ANMF algorithm to achieve the low-pass sub-band<br />

coefficients which including holistic features <strong>of</strong> the two<br />

source images. The band-pass directional sub-band<br />

coefficients embody the particular information, edges,<br />

lines, and boundaries <strong>of</strong> region, the main function <strong>of</strong><br />

which is to obtain spatial details as much as possible. In<br />

our paper, a NHM based local self-adaptive fusion<br />

method is adopted in band-pass directional sub-band<br />

coefficients acquisition phase, by calculating the identical<br />

degree <strong>of</strong> the corresponding neighborhood to determine<br />

the selection for band-pass coefficients fusion rules.<br />

B. The Course <strong>of</strong> Image Fusion<br />

Given that the two source images are A and B, with the<br />

same size, both have been registered, F is fused image.<br />

The fusion process is shown in (Fig. 2) and the steps are<br />

given as follows.<br />

(1) Adopt NSCT to implement the multi-scale and<br />

multi-direction decompositions for source images A and<br />

A A<br />

B and the sub-band coefficients { C ( m, n), C ( m, n )} ,<br />

{ C ( m, n), C ( m, n)} can be obtained.<br />

B B<br />

i0 i, l<br />

i0 i, l<br />

Fig. 2. Flowchart <strong>of</strong> fusion algorithm


2820 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

(2) Construct matrix V on the basis <strong>of</strong> low-pass sub-<br />

A<br />

B<br />

band coefficients C ( m, n) and C ( m, n ) :<br />

i0<br />

i0<br />

⎡v1A v1B<br />

⎤<br />

⎢<br />

v2A v<br />

⎥<br />

2B<br />

V = [ vA, vB]<br />

= ⎢ ⎥,<br />

(13)<br />

⎢L L ⎥<br />

⎢ ⎥<br />

⎣vnA vnB<br />

⎦<br />

where vA and vB are column vectors consisting <strong>of</strong> pixels<br />

come from A and B respectively according to principles<br />

<strong>of</strong> row by row. n is the number <strong>of</strong> pixels <strong>of</strong> source image.<br />

And perform ANMF algorithm described above on V,<br />

from which W that is actually the low-pass sub-band<br />

coefficients <strong>of</strong> fused image F is separated. We set<br />

maximum iteration number as 1000 with τ = 0.99.<br />

The fusion rule NHM is applied to band-pass<br />

A<br />

B<br />

directional sub-band coefficients Cil , ( m, n ) , Cil , ( m, n) <strong>of</strong><br />

source images A, B. The NHM is calculated as:<br />

2{ | C ( m, n)|| C ( m, n)|}<br />

A B<br />

i, j i, j<br />

i, j( , )<br />

( k, j) ∈Ni,<br />

j(<br />

m, n)<br />

A B<br />

Ei, j( m, n) + Ei, j(<br />

m, n)<br />

NHM m n<br />

∑<br />

,<br />

(14)<br />

where Ei,l(m, n) is regarded as the neighborhood energy<br />

under resolution <strong>of</strong> 2 l in direction i, Ni,l(m, n) is the 3 × 3<br />

neighborhood centers at point (m, n). In fact, NHM<br />

quantifies the identical degree <strong>of</strong> correspond<br />

neighborhoods for two images, the higher the identical<br />

degree is, the greater the NHM value should be. Because<br />

0 ≤ NHMi,l (m, n) ≤ 1, we define a threshold T, generally<br />

have it 0.5


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2821<br />

superior to the two. Statistic results in Table 1 verified the<br />

visual effect.<br />

Table 1 illustrates that the proposed method has<br />

advantage over others since three <strong>of</strong> four criteria, in<br />

details rendering and preserving respects, are superior to<br />

that <strong>of</strong> rest algorithms. The index IE <strong>of</strong> our method<br />

exceeds that <strong>of</strong> M1, M2 and M3 by 3.1%, 1.3% and 1.5%<br />

respectively. RCE index <strong>of</strong> the latter three methods are<br />

relatively high when against that <strong>of</strong> M1 in assessing<br />

deviation level. In index AG, the value <strong>of</strong> our method<br />

excels, which indicates that our method enjoys better<br />

visual effect. As for index Q, 0.9844 <strong>of</strong> our method<br />

means the most excellent performance when compared to<br />

value <strong>of</strong> former three algorithms.<br />

TABLE 1.<br />

COMPARISON OF THE FUSION METHODS FOR MULTI-FOCUS IMAGES<br />

M1 M2 M3 Proposed method<br />

IE 7.3276 7.4594 7.4486 7.5608<br />

RCE 0.2875 0.4940 0.4832 0.4539<br />

AG 8.4581 8.2395 8.4595 8.6109<br />

Q Index 0.9579 0.9723 0.9706 0.9844<br />

C. Visible and Infrared Image Fusion<br />

One set <strong>of</strong> registered visible and infrared images that a<br />

person is walking in front <strong>of</strong> a house are labeled as (Fig. 4,<br />

a) and (Fig. 4, b) with the size <strong>of</strong> 360 by 240. In which,<br />

(Fig. 4, a) has clear background but fails to detect<br />

foreground while (Fig. 4, b) highlights the person and<br />

house but its ability to render other surroundings is weak.<br />

Similar to the former experiment, four methods are<br />

utilized one by one to fuse these images.<br />

We can find that the image based on method M1 is the<br />

worst in overall effect, especially a dark area around the<br />

person, which is partly caused by the significant<br />

differences between two source images. Method M2<br />

produces more smooth details over M1, as a case in point,<br />

the road on the right side <strong>of</strong> the image and the grass on<br />

the other side can easily be recognized for the<br />

enhancement <strong>of</strong> intensity. Approximate effects displayed<br />

in (Fig. 4, e) and (Fig. 4, f) are achieved by using M3 and<br />

our method, from which we can easily distinguish most<br />

parts <strong>of</strong> the scene except the lighting beside the house in<br />

(Fig. 4, e) can hardly be observed. And it is difficult to<br />

judge the performance <strong>of</strong> M3 and our method through<br />

visual watching in case <strong>of</strong> the concrete data are not<br />

provided by Table 2.<br />

In index IE, the value <strong>of</strong> our method is 6.7962 surpass<br />

that <strong>of</strong> M3 by 1.72% which indicate that our method has<br />

a distinct superiority over other algorithms as far as the<br />

information amount is concerned. As for RCE, the least<br />

deviation value is achieved by M1. In index AG, the<br />

optimal value is obtained on the basis <strong>of</strong> our method<br />

while that <strong>of</strong> M2 holds the final place. And the Q index <strong>of</strong><br />

our method is still top <strong>of</strong> Table 2.<br />

© 2012 ACADEMY PUBLISHER<br />

a) b)<br />

c) d)<br />

e) f)<br />

Fig. 4. Visible and infrared source images and fusion results: a – visible<br />

band image; b – Infrared band image; c – fused image based on M1; d –<br />

fused image based on M2; e – fused image based on M3; f – fused<br />

image based on our method<br />

TABLE 2.<br />

COMPARISON OF THE FUSION METHODS FOR VISIBLE AND<br />

INFRARED IMAGES<br />

M1 M2 M3 Proposed method<br />

IE 6.2103 6.3278 6.7012 6.7962<br />

RCE 1.3254 5.8970 4.4375 4.0261<br />

AG 3.2746 3.0833 3.3695 3.5428<br />

Q Index 0.9761 0.9784 0.9812 0.9903<br />

D. Numerical Experiment on ANMF<br />

In this section, we compare the performance <strong>of</strong> ANMF<br />

with that <strong>of</strong> algorithm presented in article [10] in order to<br />

prove its advantage, the algorithms are implemented in<br />

Matlab and applied to Equinox face database [13]. The<br />

contrast experiments are conducted 4 times, where p is as<br />

described above and n denotes for the number <strong>of</strong> images<br />

chosen from the face database. The Y axis <strong>of</strong> (Fig. 5)<br />

represents the number <strong>of</strong> iteration repeated by the two<br />

algorithms and the X axis is time consuming scale. We<br />

choose one group <strong>of</strong> these experiments and demonstrate<br />

the results in (Fig. 5) with p=100 and n=1000, in which<br />

algorithm in [10] is first performed for a given number <strong>of</strong><br />

iterations and record the time elapsed and then run our<br />

algorithm until the time consumed is equivalent to that <strong>of</strong><br />

former. We note that our algorithm <strong>of</strong>fers improvement in<br />

all given time points, however, the relative improvement<br />

percentage <strong>of</strong> our method over algorithm in [10] goes<br />

down when increasing the number <strong>of</strong> iterations. Actually,<br />

the performance <strong>of</strong> our method increase about 36.8%,<br />

26.4%, 15.7%, 12.6%, 7.5% respectively when<br />

comparing with it for five times. In other words, our<br />

method converges faster, especially at early stages, but<br />

the percentage tends to decline, which implies that this<br />

attribute is useful merely for real-time applications that<br />

without very large scale.


2822 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Fig. 5. Comparison <strong>of</strong> our method and algorithm in [10]<br />

V. CONCLUSION<br />

In this paper, we presented a technique for image<br />

fusion based on NSCT and ANMF model. The<br />

accelerated NMF method modifies the previous update<br />

rules <strong>of</strong> W and H, which achieves better effect by<br />

adopting the theory <strong>of</strong> matrix decomposition. The current<br />

approaches on the basis <strong>of</strong> NMF usually need more<br />

iterations to converge than proposed method, but the<br />

contented result can be attained by our technique via less<br />

iterations. The results <strong>of</strong> simulation experiments show<br />

that the proposed algorithm can not only reduce<br />

computational complexities, but achieve better<br />

performances than other mentioned techniques both in<br />

visual point and statistics.<br />

ACKNOWLEDGMENT<br />

This paper is sponsored by the Foundation <strong>of</strong> Jiangxi<br />

Educational Committee (GJJ10478).<br />

REFERENCES<br />

[1] Do M. N., Vetterli M. “The Contourlet Transform: an<br />

Efficient Directional Multi-resolution Image<br />

Representation”. IEEE Transactions on Image Process.<br />

14(12):2091–2106, 2005.<br />

© 2012 ACADEMY PUBLISHER<br />

[2] Cunha A. L., Zhou J. P., Do M. N. “The Non-subsampled<br />

Contourlet Transform: Theory, Design and Applications”.<br />

IEEE Transactions on Image Process. 15(10):3089–<br />

3101,2006.<br />

[3] Qu X. B., Yan J. W., Yang G. D. “Multi-focus Image<br />

Fusion Method <strong>of</strong> Sharp Frequency Localized Contourlet<br />

Transform Domain based on Sum-modified-laplacian”.<br />

Opt. Precision Eng.17(5):1203–1211,2009.<br />

[4] Lee D. D., Seung H. S. “Learning the Parts <strong>of</strong> Objects by<br />

Nonnegative Matrix Factorization” Nature.<br />

401(6755):788–791,1999.<br />

[5] Miao Q. G., Wang B. S. “Multi-focus Image Fusion based<br />

on Nonnegative Matrix Factorization” Acta Optica Sinica.<br />

25(6):755–759,2005.<br />

[6] Novak M., Mammone R. “Use <strong>of</strong> Non-negative Matrix<br />

Factorization for Language Model Adaptation in a Lecture<br />

Transcription Task”. Proc. <strong>of</strong> IEEE International<br />

Conference on Acoustics, Speech and Signal Processing. -<br />

Salt Lake, P. 541-544,2001.<br />

[7] Guillamet D., Bressan M., Vitria J. “A Weighted Nonnegative<br />

Matrix Factorization for Local Representations”.<br />

Proc. <strong>of</strong> IEEE Computer Society Conference on Computer<br />

Vision and Pattern Recognition. - Kauai, 942-947,2001.<br />

[8] Feng T., Li S. Z., Shun H. Y. “Local Non-negative Matrix<br />

Factorization as a Visual Representation”. Proc. <strong>of</strong> 2nd<br />

International Conference on Development and Learning. -<br />

Cambridge, P.1-6, 2002.<br />

[9] Michael M., Zhang Y. “An Interior-point Gradient Method<br />

for Large-scale Totally Nonnegative Least Squares<br />

Problems”.International <strong>Journal</strong> <strong>of</strong> Optimization Theory<br />

and Applications. 126(1):191–202, 2005.<br />

[10] Li L., Zhang Y. J. “A Survey on Algorithms <strong>of</strong> Nonnegative<br />

Matrix Factorization”.Acta Electronica Sinica.<br />

36(4):737–742, 2008.<br />

[11] Anjali M., Bhirud S. G. “Objective Criterion for<br />

Performance Evaluation <strong>of</strong> Image Fusion<br />

Techniques”International <strong>Journal</strong> <strong>of</strong> Computer<br />

Applications. 11(5):57–60, 2010.<br />

[12] Rockinger O. “Pixel-level fusion <strong>of</strong> image sequences using<br />

wavelet frames”. Proceedings <strong>of</strong> Image Fusion and Shape<br />

Variability Techniques. P.149–154, 1996.<br />

[13] Gonzalez A M, Saleta J L, Catalan R G, Garcia R. “Fusion<br />

<strong>of</strong> multispectral and panchromatic images using improved<br />

IHS and PCA mergers based on wavelet decomposition”.<br />

IEEE Transactions on Geoscience and Remote Sensing,<br />

42(6):1291–1299,2004,


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2823<br />

Research on Intrusion Detection Model <strong>of</strong><br />

Heterogeneous Attributes Clustering<br />

Linquan Xie<br />

School <strong>of</strong> Science, Jiangxi University <strong>of</strong> Science and Technology, 341000 Ganzhou, China<br />

Email: lq_xie@163.com<br />

Ying Wang 1 , Fei Yu 2, Chen Xu 2, 3 and GuangXue Yue 4<br />

1 School <strong>of</strong> Science, Jiangxi University <strong>of</strong> Science and Technology, 341000 Ganzhou, China<br />

2 Jiangsu Provincial Key Laboratory for Computer Information Processing Technology,<br />

Soochow University, 215000 Soochow, China<br />

3 School <strong>of</strong> Information Science and Engineering, Hunan University, 416000 Changsha, China<br />

4 Department <strong>of</strong> Computer Science and Technology, Huaihua University, Huaihua, China<br />

Email: hunanyufei@126.com<br />

Abstract—A fuzzy clustering algorithm for intrusion<br />

detection based on heterogeneous attributes is proposed in<br />

this paper. Firstly, the algorithm modifies the comparability<br />

measurement for the categorical attributes according to the<br />

formula <strong>of</strong> Hemingway; then, for the shortages <strong>of</strong> fuzzy Cmeans<br />

clustering algorithm: initialize sensitively and easy to<br />

get into the local optimum, the presented new algorithm is<br />

optimized by GuoTao approach. We simulate our algorithm<br />

with the KDDCUP99 data set, and the results show that the<br />

convergence rate <strong>of</strong> the new algorithm is faster than the<br />

original fuzzy C-means clustering algorithm and the<br />

performance <strong>of</strong> our algorithm is more stable.<br />

Index Terms—Intrusion Detection, Heterogeneous<br />

Attributes, Fuzzy Clusterin.<br />

I. INTRODUCTION<br />

The computer network has developed at full speed<br />

with the internet as the representative. It provides a<br />

convenience and efficient method for information open<br />

access spreading and sharing. At the same time, the<br />

network faces with kinds <strong>of</strong> security issues which are<br />

getting more serious. Intrusion detection is an important<br />

part in the field <strong>of</strong> network security research, and how to<br />

make models for intrusion detection so that it can detect<br />

intrusions fast and precisely is the key point in this area at<br />

present.<br />

Intrusion detection can be considered as a<br />

classification problem which classifies the given datasets:<br />

what kind <strong>of</strong> data is normal and what kind <strong>of</strong> data is<br />

abnormal [1]. Cluster as an unsupervised anomaly<br />

detection algorithm, it can classify the large data sets<br />

independent <strong>of</strong> the pre-defined data types and the training<br />

set <strong>of</strong> labeled data, avoiding the high cost <strong>of</strong> marking the<br />

data.<br />

Manuscript received June 11, 2011; revised June 29, 2011; accepted<br />

August 27, 2011.<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2823-2831<br />

The research <strong>of</strong> how to continuously improve the<br />

detection efficiency <strong>of</strong> intrusion detection system has<br />

always been a hot. The fuzzy C-means clustering<br />

algorithm has a preferable scalability efficiency and<br />

expandability performance when it is used in processing<br />

large data sets. But the algorithm can only process the<br />

continuous data, and it is helplessness to the discrete data.<br />

However, in fact, the KDDCUP99 dataset which is used<br />

in the simulation below is consist <strong>of</strong> continuous data and<br />

discrete data. If the research only focuses on the<br />

continuous data or numerical alternative <strong>of</strong> the discrete<br />

data simply, it may affect the efficiency <strong>of</strong> the intrusion<br />

detection. In this paper, both the continuous data and the<br />

discrete data are considered, and the similarity measure<br />

formula <strong>of</strong> the discrete attribute is improved so that<br />

detection efficiency can be enhanced. We also propose an<br />

intrusion detection algorithm <strong>of</strong> fuzzy clustering based on<br />

heterogeneous attributes; then for the shortages <strong>of</strong> the<br />

fuzzy C-means clustering algorithm: initialize sensitively<br />

and easy to get into the local optimum, optimize the<br />

presented new algorithm combining with GuoTao<br />

algorithm.<br />

In paper, the first section will introduce the intrusion<br />

detection algorithm <strong>of</strong> fuzzy clustering based on<br />

heterogeneous attributes; the second section will<br />

recommend the Intrusion Detect System <strong>of</strong> the algorithm;<br />

the third section will describe the simulation and the<br />

performance analyses will be given; the last part <strong>of</strong> this<br />

paper will draw the conclusions.<br />

II. FUZZY CLUSTERING ALGORITHM FOR INTRUSION<br />

DETECTION BASED ON HETEROGENEOUS ATTRIBUTES<br />

A. Fuzzy C-means Clustering Algorithm<br />

The detail <strong>of</strong> the fuzzy C-means clustering algorithm is<br />

to divide a dataset X which contains n instances into K<br />

categories, ( 1 < K < N )<br />

,<br />

= X X ∈ R i = 1, 2,<br />

L,<br />

n , according to the<br />

{ ( ) }<br />

X i i


2824 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

minimization principle <strong>of</strong> the sum <strong>of</strong> squares in subgroups,<br />

which category does the data belong to<br />

determined by using the membership, and calculate each<br />

clustering center so that the objective function is<br />

minimum[2]. The matrix <strong>of</strong> classification express<br />

as U = ( uij i = 1,<br />

2,<br />

L n;<br />

j = 1,<br />

2,<br />

L,<br />

k)<br />

,<br />

uij mean the membership between i and j , i express an<br />

extent instance, j express an extent category, and it must<br />

satisfy the conditions as follow:<br />

k<br />

∑<br />

j=<br />

1<br />

u<br />

ij<br />

= 1,<br />

∀i<br />

= 1,<br />

L,<br />

n<br />

The membership between 0, 1 <strong>of</strong> each data objects can<br />

determine the cluster which their belong to after fuzzy<br />

partition <strong>of</strong> using Fuzzy C-means Clustering. The interval<br />

<strong>of</strong> elements <strong>of</strong> the matrix U is [ 0 , 1]<br />

.We defined the<br />

objective function as follow[2]:<br />

N k<br />

m 2<br />

( U,<br />

C)<br />

u d ( X C )<br />

J ,<br />

m ∑∑<br />

i= 1 j=<br />

1<br />

ij<br />

ij<br />

i<br />

j<br />

(1)<br />

= (2)<br />

In the function, J m is seen as the sum <strong>of</strong> squares <strong>of</strong><br />

the distance between each instance and cluster center;<br />

C j ∈ I mean clustering centers, and<br />

C = { C j C j ∈ I,<br />

j = 1,<br />

2,<br />

L,<br />

k}<br />

; X i ∈ I is the data<br />

set <strong>of</strong> instances; u ij indicate the membership between<br />

instance i and clustering center j , its interval is [ 0 , 1]<br />

,<br />

U = { uij<br />

} is a matrix with n× k , and<br />

C [ C1,<br />

C2<br />

, , Ck<br />

] L<br />

p<br />

= is a matrix with s× k ; X i ∈ R<br />

indicate the data objects; d ij ( X i , C j ) mean the distance<br />

<strong>of</strong> the instance i and the clustering center j ;<br />

m ( 1 ≤ m < ∞)<br />

is the fuzzy coefficient; k is the number<br />

<strong>of</strong> categories which was given in advance, and<br />

determined by the initial clustering. The necessary<br />

condition <strong>of</strong> minimizing J m using the Lagrange<br />

multiplier method is [2]:<br />

c<br />

ij<br />

u<br />

ij<br />

= 1/<br />

m<br />

k<br />

∑<br />

i=<br />

1<br />

( d<br />

ij<br />

/ d<br />

m<br />

= ( ∑uij<br />

x j ) /( ∑u<br />

i=<br />

1<br />

)<br />

2 /( m−1)<br />

i1<br />

m<br />

i=<br />

1<br />

ij<br />

), ∀j<br />

, ∀i<br />

The fuzzy coefficient m is a scalar used to control the<br />

fuzzy clustering algorithm in formulas, it can measure the<br />

blur length <strong>of</strong> the membership matrix U , the greater the<br />

value m is, the algorithm represents more blurred. As<br />

m = 1 , the fuzzy C-means clustering algorithm reduces<br />

to the traditional C-means clustering algorithm, if we<br />

want to make the objective function to minimize, we need<br />

to calculate iteratively for the fuzzy C-means clustering<br />

algorithm.<br />

© 2012 ACADEMY PUBLISHER<br />

(3)<br />

(4)<br />

B. Heterogeneous Attributes <strong>of</strong> Fuzzy Clustering<br />

Number citations consecutively in square brackets [1].<br />

No punctuation follows the bracket [2]. Use “Ref. [3]” or<br />

“Reference [3]” at the beginning <strong>of</strong> a sentence:<br />

Give all authors’ names; use “et al.” if there are six<br />

authors or more. Papers that have not been published,<br />

even if they have been submitted for publication, should<br />

be cited as “unpublished” [4]. Papers that have been<br />

accepted for publication should be cited as “in press” [5].<br />

In a paper title, capitalize the first word and all other<br />

words except for conjunctions, prepositions less than<br />

seven letters, and prepositional phrases.<br />

For papers published in translated journals, first give<br />

the English citation, then the original foreign-language<br />

citation [6].<br />

For on-line references a URL and time accessed must<br />

be given.<br />

At the end <strong>of</strong> each reference, give the DOI (Digital<br />

Object Identifier) number as long as available, in the<br />

format as “doi:10.1518/hfes.2006.27224”<br />

C. Footnotes<br />

Research on the heterogeneous attributes <strong>of</strong> the sample<br />

data, the distance can only be suit to numerical data, so<br />

we solve the problem with a new approach according to<br />

the paper [3]. The description <strong>of</strong> the distance between x i<br />

and x j <strong>of</strong> the categorical attributes is:<br />

d<br />

⎧a,<br />

xik<br />

≠ x jk<br />

, (5)<br />

0,<br />

x = x<br />

⎪ ( xik<br />

x jk ) = ⎨<br />

⎪⎩<br />

ik<br />

In (5), a indicates the distance <strong>of</strong> x i and x j when<br />

k has the dissimilar values. Assume the number <strong>of</strong><br />

continuous attributes and categorical attributes<br />

respectively indicate p , q , the distance between objects<br />

can be expressed as:<br />

' '<br />

d ( xi<br />

, x j ) = dn<br />

( xi<br />

, x j ) + dc<br />

( xi,<br />

x j )<br />

(6)<br />

' '<br />

In (6), d n(<br />

xi,<br />

x j ) means the distance between objects <strong>of</strong><br />

numeric attributes after standardizing, d c ( xik<br />

, x jk )<br />

means the distance between objects <strong>of</strong> categorical<br />

attributes.<br />

The objective function <strong>of</strong> the heterogeneous attributes<br />

datasets can be modified from the formula(2), it can be<br />

expressed as[3]:<br />

+<br />

( ) ∑∑ ∑( ) ∑ ( )<br />

= = =<br />

= + ⎭ ⎬⎫<br />

n k p<br />

p q<br />

⎧ m ' ' 2<br />

Jm<br />

U,<br />

C = μ ij ⎨ xil<br />

− x jl + dc<br />

xil,<br />

x (7)<br />

jl<br />

i 1 j 1 ⎩ l 1 l p 1<br />

In (7), m > 1 is the fuzzy coefficient, it is used to control<br />

the blur length <strong>of</strong> the membership matrix U .<br />

Suppose<br />

C<br />

C<br />

c<br />

i<br />

n<br />

i<br />

=<br />

jk<br />

k p<br />

m<br />

'<br />

∑uij ∑(<br />

xik<br />

− x jl )<br />

j=<br />

1 l=<br />

1<br />

k p+<br />

q<br />

m<br />

∑uij ∑ c<br />

j=<br />

1 l=<br />

p+<br />

1<br />

' 2<br />

(8)<br />

( x , x )<br />

= λ d<br />

(9)<br />

ik<br />

jk


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2825<br />

Because <strong>of</strong><br />

n<br />

c<br />

C i and C i are non-negative, we can<br />

n<br />

minimize J m ( U,<br />

C)<br />

by respectively minimizing C i<br />

c<br />

andC<br />

i . Meanwhile, the expression can be described as<br />

follow by using the Lagrangian multiplier method [3].<br />

2<br />

−1<br />

⎧<br />

⎫<br />

k d(<br />

x x ) m<br />

⎪ ⎡ i , ⎤ −1<br />

j ⎪<br />

uij<br />

= ⎨∑<br />

⎢ ⎥ ⎬ , ∀i<br />

(10)<br />

⎪ l=<br />

1 ⎢⎣<br />

d(<br />

xl<br />

, x j ) ⎥⎦<br />

⎪<br />

⎩<br />

⎭<br />

The formula <strong>of</strong> cluster center can be corrected as follows:<br />

⎧<br />

⎪ = ∑ =<br />

⎪<br />

= ⎨ ∑<br />

⎪<br />

⎪⎩<br />

= = + +<br />

=<br />

n<br />

' 1 m<br />

Cil<br />

uij<br />

xil<br />

; l 1,<br />

2,<br />

L,<br />

p<br />

n<br />

m i 1<br />

C<br />

u<br />

(11)<br />

ij<br />

ij<br />

i=<br />

1<br />

max<br />

Cil<br />

Cl<br />

; l p 1,<br />

L,<br />

p q<br />

Because <strong>of</strong> m > 1 , we can prove the algorithm is<br />

convergent.<br />

D. Fuzzy Clustering Algorithm <strong>of</strong> Heterogeneous<br />

Attributes<br />

The optimization process <strong>of</strong> fuzzy clustering algorithm<br />

can be summarized as follows:<br />

Step1: initialize the membership matrix U with<br />

values between 0 and 1, so that it will satisfy the<br />

n<br />

∑<br />

i=<br />

1<br />

constraints: u = 1,<br />

∀j<br />

= 1,<br />

L,<br />

n .<br />

ij<br />

Step2: for the different attributes <strong>of</strong> data, calculating<br />

the cluster centers as formula (11).<br />

Step3: calculate the new membership matrix U with<br />

the formula (10).<br />

Step4: calculate the objective function by formula (7).<br />

When the value <strong>of</strong> the objective function is less than a<br />

certain threshold, or the value <strong>of</strong> the change is less than a<br />

certain threshold, the algorithm will stop, while the result<br />

<strong>of</strong> clustering will output. Otherwise, it will get to Step2<br />

for iterating.<br />

With the above method, we not only consider the<br />

continuous attributes <strong>of</strong> the sample dataset, but also<br />

considered the categorical attributes. It analysis the data<br />

in the round, so that reducing the rate <strong>of</strong> fault, while<br />

combined the method with the optimization method <strong>of</strong><br />

fuzzy clustering algorithm can further improve the<br />

detection efficiency.<br />

E. GuoTao Algorithm<br />

The problem for processing large data sets <strong>of</strong> fuzzy cmeans<br />

algorithm as fallow: the time it takes a lot,<br />

sensitive to the initialization and it is easy to fall into the<br />

local minimum. There are many improved methods to<br />

save time, but it can’t solve the problem <strong>of</strong> initialization<br />

sensitive, such as neural networks; however, genetic<br />

algorithm is a global initialization algorithm which can<br />

overcome the initialization sensitive problem <strong>of</strong> fuzzy Cmeans<br />

clustering algorithm.<br />

Genetic algorithm is built on the basis <strong>of</strong> biological<br />

evolution algorithm; it is a search algorithm which is<br />

based on natural selection and genetic mechanism.<br />

© 2012 ACADEMY PUBLISHER<br />

Genetic algorithm needn’t build models and have<br />

complex computation for the complex problems, it can<br />

find out the optimal value when only use the genetic<br />

operators.<br />

GuoTao algorithm is a kind <strong>of</strong> random search<br />

algorithm which is proposed based on genetic algorithm,<br />

and it is a improved algorithm <strong>of</strong> genetic algorithm.<br />

GuoTao algorithm was proposed in 1999 by Guo Tao[4],<br />

it combined the sub-space search method with group<br />

climbing method, and it suitable for solving the function<br />

with inequality constraints. GuoTao algorithm is<br />

conducive to get the global optimal in search space; the<br />

application <strong>of</strong> random search strategy in subspace reflects<br />

the non-convexity <strong>of</strong> random search in sub-space, which<br />

is expressed as:<br />

m m<br />

'<br />

'<br />

X = ∑ai<br />

X i,<br />

∑ai<br />

= 1,<br />

− 0. 5 ≤ a i ≤ 1.<br />

5<br />

i=<br />

1<br />

i=<br />

1<br />

(12)<br />

Assuming the search space is<br />

T<br />

⎧X<br />

| X = ( x ) ∧ ≤ ≤ ⎫<br />

1,<br />

x2,<br />

L,<br />

xd<br />

xmin<br />

xi<br />

xmax,<br />

V = ⎨<br />

⎬ ,<br />

⎩i<br />

= 1,<br />

2,<br />

L,<br />

d<br />

⎭<br />

the dimension is expressed as d , the objective function<br />

f X means the minimization function, suppose<br />

( )<br />

' ' ' T<br />

( x , x , L , x ) , j = 1,<br />

2,<br />

L,<br />

m<br />

'<br />

X j = j1<br />

j 2 jd<br />

is the<br />

different points in V , write the subspace as<br />

m<br />

⎧<br />

'⎫<br />

V = ⎨X<br />

∈V<br />

| X = ∑ ai<br />

X<br />

a<br />

i ⎬ , and i must satisfy the<br />

⎩<br />

i=<br />

1 ⎭<br />

m<br />

conditions <strong>of</strong> ∑ ai<br />

= 1 and −0. 5 ≤ a i ≤1.<br />

5 . When<br />

i=<br />

1<br />

⎧0, if gi<br />

( X ) ≤ 0<br />

m<br />

⎪<br />

l ( X ) = ⎨<br />

and i<br />

( ) = ∑ i ( )<br />

⎪<br />

i=<br />

⎩gi<br />

( X ) , else<br />

X l X L<br />

, the<br />

1<br />

logic function Better can be defined as [6]:<br />

Better<br />

( X 1,<br />

X 2 ) =<br />

( X ) ≤ L(<br />

X ) or(<br />

L(<br />

X ) = L(<br />

X ) ∧ f ( X ) ≤ f ( X ) )<br />

⎧1,<br />

if L 1<br />

2<br />

1<br />

2<br />

1<br />

2<br />

⎪<br />

⎨<br />

⎪<br />

⎩0,<br />

ifL(<br />

X1)<br />

> L(<br />

X 2 ) or(<br />

L(<br />

X1)<br />

= L(<br />

X 2 ) ∧ f ( X 1)<br />

> f ( X 2 ) )<br />

(13) ( 1 , X 2 ) X Better means 1 X is better than X 2 .<br />

The advantages <strong>of</strong> GuoTao algorithm summarized in<br />

the following five aspects[5]: 1) the algorithm just have<br />

less than one hundred language program <strong>of</strong> C to<br />

implement, so it’s a simple algorithm; 2) the algorithm is<br />

versatile, it can be used to solve the optimization<br />

problems <strong>of</strong> complex function; 3) the algorithm does not<br />

need to modify the parameters, it is as long as to input<br />

different function expressions for different problems; 4)<br />

as usual, the algorithm can be obtained the global optimal<br />

in a relatively short period <strong>of</strong> time; 5) when the optimal is


2826 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

not unique, the algorithm may also find more than one<br />

optimal.<br />

F. Algorithm Optimization <strong>of</strong> Heterogeneous Attributes<br />

<strong>of</strong> the Fuzzy C-means Clustering<br />

For the analysis <strong>of</strong> the original fuzzy C-means<br />

clustering algorithm, the shortage was mainly expressed<br />

as: first, the algorithm performance is not stable enough,<br />

the reason is mainly caused by the initialization sensitive;<br />

second, the algorithm is easy to fall into the local<br />

optimum; third, when the value <strong>of</strong> the function attained<br />

the minimum, the highest detection rate is not, it is in<br />

contradiction to the original fuzzy C-means clustering<br />

algorithm that the value <strong>of</strong> the function is minimum and<br />

the rate <strong>of</strong> detection is highest.<br />

To avoid the algorithm may be confronted with these<br />

shortcomings, first <strong>of</strong> all, we choose GuoTao algorithm to<br />

solve the problem <strong>of</strong> being easy to the local optimum,<br />

described as above.<br />

Combining with GuoTao algorithm, it need to initialize<br />

the population first, and the population with multiple<br />

individuals. Running the heterogeneous attributes <strong>of</strong> the<br />

fuzzy C-means clustering algorithm to iterative, it must<br />

successively update the cluster center and the<br />

membership <strong>of</strong> each individual <strong>of</strong> population. As each<br />

update is required to be initialized and the values <strong>of</strong><br />

random initialization may be different, the performance<br />

<strong>of</strong> the algorithm will be instable. In the modified<br />

algorithm, it use the parallel method to deal with the<br />

problem, it use the FOR loop to update the cluster centers<br />

<strong>of</strong> all the individuals before selecting the best and the<br />

worst individual.<br />

Owing to the application <strong>of</strong> the group search strategy<br />

<strong>of</strong> Evolutionary Computation, GuoTao algorithm ensure<br />

the global <strong>of</strong> the search space, and it is conducive to<br />

obtain the optimal set in global scope; at the same time,<br />

the algorithm only eliminate the individual with the worst<br />

fitness, the pressure is quite minimum so that ensure the<br />

diversity <strong>of</strong> population and make sure the individual with<br />

best fitness can be retained. For the problem that the<br />

value <strong>of</strong> the function attained the minimum, the highest<br />

detection rate is not, we introduced a crossover<br />

probability p , and the crossover probability p is<br />

defined as follow:<br />

( n)<br />

J m p ( n)<br />

avgJm<br />

min<br />

= (14)<br />

In (14), n means the number <strong>of</strong> individuals <strong>of</strong> the<br />

initial population, using the parallel method to iterate, it<br />

will have n function values, and the minimum is<br />

( n)<br />

( n)<br />

min J m , avgJ m is the average <strong>of</strong> all the values. The<br />

introduction <strong>of</strong> the crossover probability p can make the<br />

algorithm only run by p , but not in each iteration <strong>of</strong> each<br />

individual.<br />

There will generate a random probability before the<br />

cross operation <strong>of</strong> each iteration, compare the random<br />

probability with the crossover probability p , when the<br />

random probability is less than p , then do the cross-<br />

© 2012 ACADEMY PUBLISHER<br />

operation. Select m individuals from n individuals and<br />

compose a new individual, if the fitness <strong>of</strong> the new one is<br />

worse than the worst individual in the original population,<br />

then composed a new individual to do the crossover<br />

operation.<br />

Use the GuoTao algorithm to optimize the fuzzy Cmeans<br />

clustering algorithm with heterogeneous attributes,<br />

the process can be described as:<br />

Step1: initialize the population<br />

n<br />

P = { X1,<br />

X 2,<br />

L , X n}<br />

, X i ∈V<br />

, and<br />

generation = 1,<br />

X = 0 , X = 0 , ε , the<br />

worst<br />

maximum number <strong>of</strong> cycles MAXgen .<br />

Step2: decoding, obtain the cluster center from the<br />

genotype <strong>of</strong> each individual chromosome.<br />

Step3: use the fuzzy C-means clustering algorithm with<br />

heterogeneous attributes; calculate the<br />

membership for each cluster center according<br />

μ<br />

ij<br />

to equation (10),<br />

which i = 1, 2,<br />

L , n;<br />

k = 1,<br />

2,<br />

L,<br />

c , then<br />

calculate the value <strong>of</strong> objective function by<br />

equation (7).<br />

Step4: calculate the fitness<br />

1<br />

F(<br />

X ) = <strong>of</strong> each<br />

1+<br />

J m<br />

individual X i ; compare the fitness <strong>of</strong> X i with<br />

the fitness <strong>of</strong> X worst , if the fitness <strong>of</strong> X i is<br />

greater than the fitness <strong>of</strong> X , replace X<br />

worst<br />

worst<br />

with X i ; while if the fitness <strong>of</strong> X i is less than<br />

the fitness <strong>of</strong> X , replace best X with X best<br />

i .<br />

Step5: when the number <strong>of</strong> iterations generation is<br />

less than the maximum number <strong>of</strong> cycles<br />

MAXgen , update the cluster centers <strong>of</strong> all the<br />

individuals.<br />

Step6: select ( X best , X worst ) to satisfy<br />

Better( X best , X ) = 1<br />

and<br />

Better( X worst , X ) = 0 ;respectively calculate<br />

the fitness <strong>of</strong> X worst and X best , if the difference<br />

<strong>of</strong> them is greater thanε , the value <strong>of</strong> the logic<br />

function is 1, otherwise the value is 0.<br />

Step7: when Better ( X best , X worst ) = 1 , calculate the<br />

crossover probability p by the formula (14), if<br />

the random probability is less than p , generate<br />

the subspace<br />

' n<br />

V = { X 1,<br />

X 2 , L , X m}<br />

, X i ∈V<br />

; randomly<br />

' ' '<br />

select X , X ∈ V .<br />

Step8: obtain X best : calculate the fitness <strong>of</strong> '<br />

X ; if<br />

'<br />

'<br />

Better ( X , X worst ) = 1 , then X worst = X ,<br />

and replace the fitness <strong>of</strong> X worst with the fitness<br />

best


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2827<br />

<strong>of</strong><br />

'<br />

'<br />

X , if ( X , X best ) = 1<br />

Better , then<br />

X worst will be assigned to X best .<br />

Step9: obtain X worst : assume X worst = 0 , calculate the<br />

fitness <strong>of</strong> X worst and the fitness <strong>of</strong> each<br />

individual, if Better( X worst , i)<br />

= 1 , that is to<br />

say, X worst is better than i , then replace X worst<br />

with i , loop the process until all the individuals<br />

are in the comparison complete.<br />

X , once again, make sure<br />

Step10: chose ( best X worst )<br />

Better( X best , X ) = 1 and ( X , X ) = 0<br />

Better worst :<br />

calculate the fitness <strong>of</strong> X worst and X best , if the<br />

difference <strong>of</strong> them is greater than ε , the value <strong>of</strong><br />

the logic function is 1, otherwise the value is 0.<br />

Step11: calculate the fitness <strong>of</strong> the final obtained X best ,<br />

at the same time generation + 1 .<br />

Step12: judge the evolution conditions, if<br />

generation is less than or equal to MAXgen, return to<br />

Step1, otherwise, exit the evolutionary loop.<br />

III. INTRUSION DETECTION SYSTEM OF CLUSTERING WITH<br />

HETEROGENEOUS ATTRIBUTES<br />

In anomaly detection model <strong>of</strong> fuzzy C-means<br />

algorithm, it mainly composed <strong>of</strong> three parts [7]: data<br />

pre-processor 、 classifier <strong>of</strong> fuzzy C-means clustering<br />

and anomaly detection system, shown in Figure 1.<br />

When input the network data, the pre-processor will<br />

select the attributes <strong>of</strong> the data, for the data preprocessing,<br />

it include data standardization, normalization, etc; the<br />

classifier <strong>of</strong> fuzzy C-means clustering is used to cluster<br />

the preprocessed data, and afford the obtained cluster<br />

centers to the anomaly detection system; the anomaly<br />

detection system is used to determine the data are normal<br />

or abnormal in test data.<br />

Figure 1 anomaly detection system <strong>of</strong> fuzzy C-means clustering<br />

algorithm<br />

Unsupervised clustering based anomaly detection<br />

algorithms have one in common: all <strong>of</strong> them built on the<br />

basis <strong>of</strong> a hypothesis, that the number <strong>of</strong> normal data is<br />

much larger than the number <strong>of</strong> abnormal data. When the<br />

assumption established, the set can be judged is normal or<br />

© 2012 ACADEMY PUBLISHER<br />

abnormal according to the size <strong>of</strong> the cluster. Data in the<br />

larger cluster can be judged as normal, and the smaller<br />

cluster is <strong>of</strong>ten the abnormal data.<br />

IV. EXPERIMENTS AND ANALYSIS OF PERFORMANCE<br />

A. Data Selection<br />

In the research <strong>of</strong> intrusion detection system, we<br />

generally choose to use the network packet <strong>of</strong> intrusion<br />

detection called KDDCUP99, especially the packet <strong>of</strong><br />

kddcup_data_10percent, it was formed from 10% <strong>of</strong><br />

kddcup_data packet (about 4.9 million data records)[8].<br />

In the later experiments, we choose 5000 records as a<br />

sample set from the 10% test set. In order to satisfy the<br />

needs <strong>of</strong> the two assumptions, that is, 1) the number <strong>of</strong><br />

the normal data in the practical application is much more<br />

than the number <strong>of</strong> the abnormal; 2) intrusions and<br />

normal behavior was really different. Select 5000 records<br />

from the entire test as s sample set, 1000 <strong>of</strong> which are<br />

invasion data, it is consistent with the first requirement.<br />

The data type and number <strong>of</strong> the selected sample was<br />

shown in Table 1.<br />

TABLE 1<br />

SELECTION OF EXPERIMENTAL DATA<br />

Identification type number<br />

normal 4000<br />

dos 450<br />

probing 250<br />

r2l 250<br />

u2r 50<br />

The sample as follow:<br />

1)0,tcp,http,SF,181,5450,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,<br />

0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,9,9,<br />

1.00,0.00,0.11,0.00,0.00,0.00,0.00,0.00,normal.<br />

2)0,tcp,http,SF,239,486,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,<br />

8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,19,<br />

19,1.00,0.00,0.05,0.00,0.00,0.00,0.00,0.00,normal.<br />

3)0,tcp,http,SF,235,1337,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,<br />

0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,29,<br />

29,1.00,0.00,0.03,0.00,0.00,0.00,0.00,0.00,normal.<br />

4)0,tcp,http,SF,219,1337,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,<br />

0,6,6,0.00,0.00,0.00,0.00,1.00,0.00,0.00,39,<br />

39,1.00,0.00,0.03,0.00,0.00,0.00,0.00,0.00,normal.<br />

………………………………<br />

1000)0,tcp,http,SF,211,5693,0,0,0,0,0,1,0,0,0,0,0,0,0,<br />

0,0,0,5,5,0.00,0.00,0.00,0.00,1.00,0.00,0.00,<br />

5,255,1.00,0.00,0.20,0.07,0.00,0.00,0.00,0.00,normal.<br />

1001)0,tcp,http,SF,211,2271,0,0,0,0,0,1,0,0,0,0,0,0,0,<br />

0,0,0,15,15,0.00,0.00,0.00,0.00,1.00,0.00,<br />

0.00,15,255,1.00,0.00,0.07,0.07,0.00,0.00,0.00,0.00,n<br />

ormal.<br />

1002)0,tcp,http,SF,511,238,0,0,0,0,0,1,0,0,0,0,0,0,0,0,<br />

0,0,1,3,0.00,0.00,0.00,0.00,1.00,0.00,0.67,1,<br />

255,1.00,0.00,1.00,0.07,0.00,0.00,0.00,0.00,normal.<br />

………………………………<br />

5000)47,tcp,telnet,SF,2402,3816,0,0,0,3,0,1,2,1,0,0,0,<br />

0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,<br />

0.00,10,10,1.00,0.00,0.10,0.00,0.00,0.00,0.10,0.10,buffer<br />

_overflow.


2828 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

B. Data Standardization<br />

In the process <strong>of</strong> the data analysis, we must first<br />

standardize the data, the common methods are the<br />

minimum-maximum standardization, calibration by<br />

fractional, and Z-score standardization [9].<br />

In general, clustering algorithm use the method <strong>of</strong><br />

calculating the distance to cluster the data, however, there<br />

are two types <strong>of</strong> attributes exit: discrete and continuous<br />

[10]. For the discrete attributes, we encode the attributes<br />

<strong>of</strong> the data to make them into continuous values, as in this<br />

paper, it mainly modified the measure way <strong>of</strong> similarity<br />

<strong>of</strong> the discrete attributes, there will not standardize and<br />

normalize the discrete data; for the continuous attributes,<br />

the measure method are not the same, in order to avoid<br />

the phenomenon” large number eat the smaller”, we<br />

generally need to standardize for the values <strong>of</strong> attributes<br />

before clustering to the data set.<br />

Suppose the number <strong>of</strong> the network connection record<br />

<strong>of</strong> test data set is n , that is, the number <strong>of</strong> the data<br />

objects is n , the attributes vector <strong>of</strong> each data is written<br />

as X ij ( 1 ≤ i ≤ n,<br />

1 ≤ j ≤ 41)<br />

. Standardize the X ij [8]:<br />

X<br />

'<br />

ij<br />

=<br />

1 ⎛<br />

⎜ X<br />

n ⎝<br />

1 j<br />

1<br />

−<br />

n<br />

Among them,<br />

<strong>of</strong> X ij .<br />

1<br />

X ij −<br />

n<br />

( X + X + L+<br />

X )<br />

1 j<br />

2 j<br />

1<br />

⎞<br />

( X1<br />

j + L+<br />

X nj ) + L+<br />

X nj − ( X1<br />

j + L+<br />

X nj )⎟<br />

n<br />

⎠<br />

nj<br />

(15)<br />

'<br />

X ij mean the values after standardizing<br />

C. Data Normalization<br />

The process that we need to make the data objects<br />

limit in a certain called data normalization. It is<br />

convenient for data processing after normalizing, and it<br />

ensure to improve the rate <strong>of</strong> convergence.<br />

We will choose the method <strong>of</strong> linear function to<br />

normalize the data objects X ij , and ensure the values<br />

''<br />

after normalizing to the interval[ 0 , 1]<br />

. Suppose X is the<br />

'<br />

X ij , its normalization process<br />

value after normalizing <strong>of</strong><br />

as follow [8]:<br />

{ }<br />

{ } { } '<br />

'<br />

'<br />

'<br />

X<br />

''<br />

ij − min X ij<br />

X ij =<br />

max X ij − min X ij<br />

1 ≤ i ≤ n,<br />

1 ≤ j ≤ 41<br />

(16)<br />

D. Analysis <strong>of</strong> Performance<br />

The analysis <strong>of</strong> performance <strong>of</strong> fuzzy C-means<br />

clustering algorithm with heterogeneous attributes<br />

In the fuzzy C-means clustering algorithm, the<br />

parameters value as follow: the number <strong>of</strong> clusters is 2,<br />

that is, cluster the data into two categories, normal data<br />

and abnormal data; the fuzzy coefficient value is 4; the<br />

distance a <strong>of</strong> two <strong>of</strong> the data objects which have the<br />

difference discrete attributes values is 0.28. Now we will<br />

analyze the performance <strong>of</strong> fuzzy C-means clustering<br />

algorithm with heterogeneous attributes, and compare<br />

with the original fuzzy C-means clustering algorithm,<br />

© 2012 ACADEMY PUBLISHER<br />

ij<br />

Table 2 indicate the performances <strong>of</strong> the two algorithms<br />

while the parameters C and m respectively have the<br />

same values.<br />

TABLE 2<br />

THE PERFORMANCE COMPARISON OF THE TWO ALGORITHMS<br />

Performance<br />

index<br />

Algorithms<br />

FCM with<br />

heterogeneous<br />

attributes<br />

number<br />

<strong>of</strong><br />

iteration<br />

rate <strong>of</strong><br />

detection<br />

rate <strong>of</strong><br />

error<br />

detection<br />

values <strong>of</strong><br />

function<br />

79 0.973 0.01925 605.4851<br />

FCM 511 0.975 0.0195 740.0417<br />

Seen from the above table, the rate <strong>of</strong> detection and<br />

the rate <strong>of</strong> error detection <strong>of</strong> the two kinds <strong>of</strong> algorithms<br />

are respectively approximately equal, and the number <strong>of</strong><br />

iterations <strong>of</strong> fuzzy C-means clustering algorithm with<br />

heterogeneous attributes is far less than the number <strong>of</strong> the<br />

original algorithm. It shows that consider the discrete<br />

attributes and continuous attributes <strong>of</strong> the data will<br />

improve the speed <strong>of</strong> convergence and more efficient <strong>of</strong><br />

detection without affecting the rate <strong>of</strong> detection and the<br />

rate <strong>of</strong> error detection.<br />

Do the further experiment for the fuzzy C-means<br />

clustering algorithm with heterogeneous attributes, Table<br />

3 shows the results <strong>of</strong> the experiment while m =4 ,<br />

a =0.28, and it runs 10 times, the simulation results were<br />

shown in Figure 2.<br />

TABLE 3<br />

THE PERFORMANCE ANALYSIS OF FUZZY C-MEANS CLUSTERING<br />

ALGORITHM WITH HETEROGENEOUS ATTRIBUTES<br />

Performance<br />

index<br />

Run times<br />

Number<br />

<strong>of</strong><br />

iteration<br />

rate <strong>of</strong><br />

detection<br />

rate <strong>of</strong><br />

error<br />

detection<br />

values <strong>of</strong><br />

function<br />

1 77 0.973 0.01925 605.4851<br />

2 56 0.612 0.42275 571.5549<br />

3 84 0.973 0.01925 605.4851<br />

4 78 0.973 0.01925 605.4851<br />

5 75 0.973 0.01925 605.4851<br />

6 100 0.973 0.01925 605.4851<br />

7 77 0.973 0.01925 605.4851<br />

8 57 0.612 0.42275 571.5549<br />

9 75 0.973 0.01925 605.4851<br />

10 86 0.973 0.01925 605.4851<br />

average 77 0.901 0.09995 598.6991<br />

From the above table and the figure, it can be seen<br />

that the performance <strong>of</strong> the algorithm is not stable enough,<br />

its number <strong>of</strong> iterations, the rate <strong>of</strong> detection, the rate <strong>of</strong><br />

error detection and the value <strong>of</strong> function all have a certain<br />

volatility, so it indicate that the fuzzy C-means clustering<br />

algorithm with heterogeneous attributes is sensitive to<br />

initialize and easy to falling into the local optimum.<br />

In order to avoid the above problems, we will<br />

combine with global optimization algorithms to optimize<br />

the fuzzy C-means clustering algorithm with<br />

heterogeneous attributes, and the following experiments<br />

will analysis the optimized algorithm.<br />

Experiment II: The performance comparison between<br />

the fuzzy C-means clustering algorithm with<br />

heterogeneous attributes and the optimal algorithm


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2829<br />

For the three problems <strong>of</strong> fuzzy C-means clustering<br />

algorithm with heterogeneous attributes: the initialization<br />

sensitive cause the performance <strong>of</strong> algorithm is not stable<br />

enough, easily falling into the local optimum, the value <strong>of</strong><br />

function is minimum but the rate <strong>of</strong> detection is not the<br />

Suppose the datasets is clustered into two categories,<br />

that is C = 2 ; the fuzzy coefficient m =4; a =0.28; and<br />

the number <strong>of</strong> iterations is 200. Now, respectively run 10<br />

times <strong>of</strong> fuzzy C-means clustering algorithm with<br />

heterogeneous attributes and the optimal algorithm, the<br />

results was respectively shown in Table 4 and Table 5.<br />

From the above tables, the results illustrate the<br />

performance <strong>of</strong> fuzzy C-means clustering algorithm with<br />

heterogeneous attributes is not stable enough, that is to<br />

say, the robust <strong>of</strong> the algorithm is not strong. By<br />

combining with the GuoTao algorithm and introducing<br />

the crossover probability, the performance <strong>of</strong> algorithm is<br />

provided with stability. In the results <strong>of</strong> running 10 times,<br />

the rate <strong>of</strong> detection and the rate <strong>of</strong> error detection<br />

remained unchanged, with strong stability. For the values<br />

<strong>of</strong> function, as it is operated on all the individuals <strong>of</strong> the<br />

population each time, we use the average <strong>of</strong> the values <strong>of</strong><br />

function to measure. It is more clear to show that the<br />

instability <strong>of</strong> the original algorithm and the stability <strong>of</strong> the<br />

optimized algorithm in Figure 3 and Figure 4.<br />

TABLE 4<br />

PERFORMANCE OF FUZZY C-MEANS CLUSTERING ALGORITHM WITH<br />

HETEROGENEOUS ATTRIBUTES<br />

Performance<br />

index<br />

Run times<br />

rate <strong>of</strong><br />

detection<br />

rate <strong>of</strong> error<br />

detection<br />

Figure 2 variation trend <strong>of</strong> performance <strong>of</strong> fcm<br />

values <strong>of</strong><br />

function<br />

1 0.973 0.01925 605.4874<br />

2 0.973 0.01925 605.4874<br />

3 0.973 0.01925 605.4874<br />

4 0.612 0.42275 571.5569<br />

5 0.973 0.01925 605.4874<br />

6 0.973 0.01925 605.4874<br />

7 0.973 0.01925 605.4874<br />

8 0.973 0.01925 605.4874<br />

© 2012 ACADEMY PUBLISHER<br />

highest. We will consider the rate <strong>of</strong> detection, the rate <strong>of</strong><br />

error detection and the value <strong>of</strong> function to analysis the<br />

optimal algorithm whether it can solve the problems or<br />

not.<br />

9 0.973 0.01925 605.4874<br />

10 0.612 0.42275 571.5569<br />

average 0.901 0.09995 598.7013<br />

Performance<br />

index<br />

Run times<br />

TABLE 5<br />

PERFORMANCE OF OPTIMAL ALGORITHM<br />

rate <strong>of</strong><br />

detection<br />

rate <strong>of</strong> error<br />

detection<br />

Average values<br />

<strong>of</strong> function<br />

1 0.973 0.01925 605.4874<br />

2 0.973 0.01925 598.7013<br />

3 0.973 0.01925 591.9152<br />

4 0.973 0.01925 595.3082<br />

5 0.973 0.01925 602.0943<br />

6 0.973 0.01925 605.4874<br />

7 0.973 0.01925 602.0943<br />

8 0.973 0.01925 605.4874<br />

9 0.973 0.01925 595.3082<br />

10 0.973 0.01925 602.0943<br />

average 0.973 0.01925 600.3978<br />

By the performance comparison <strong>of</strong> original algorithm<br />

and the optimized algorithm, we can obtain that the<br />

algorithm which use the parallel method have the stable<br />

performance; from the experimental data, the algorithm<br />

combing with GuoTao algorithm does not fall into the<br />

local optimum, the rate <strong>of</strong> detection was 97.3%, and the<br />

rate <strong>of</strong> error detection was 1.925%, its detection<br />

efficiency is stable; in the results <strong>of</strong> the experiment, the<br />

minimum average value <strong>of</strong> function was 591.9152, and<br />

the corresponding rate <strong>of</strong> detection was 97.3%, it was the<br />

highest, the rate <strong>of</strong> error detection was 1.925%, so the<br />

optimized algorithm can solve the problem <strong>of</strong> the value <strong>of</strong><br />

function is minimum but the rate <strong>of</strong> detection is not the


2830 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

highest. It improved the availability <strong>of</strong> the optimized<br />

algorithm.<br />

Get the number <strong>of</strong> iterations from 10 to 100 for 10<br />

times, then respectively obtain the rate <strong>of</strong> detection and<br />

the rate <strong>of</strong> error detection, as shown in Table 6. The<br />

experimental data in the table are all the average <strong>of</strong> the<br />

obtained results.<br />

TABLE 6<br />

THE RATE OF DETECTION AND THE RATE OF ERROR DETECTION OF FCM WITH HETEROGENEOUS ATTRIBUTES AND THE OPTIMIZED ALGORITHM<br />

Performance index<br />

number <strong>of</strong> iteration<br />

rate <strong>of</strong> detection <strong>of</strong><br />

the original algorithm<br />

rate <strong>of</strong> detection <strong>of</strong> the<br />

optimized algorithm<br />

rate <strong>of</strong> error detection <strong>of</strong><br />

the original algorithm<br />

rate <strong>of</strong> error detection <strong>of</strong><br />

the optimized algorithm<br />

10 0.9054 0.979 0.10135 0.021<br />

20 0.8288 0.974 0.18145 0.02<br />

30 0.8286 0.973 0.18075 0.0195<br />

40 0.973 0.973 0.01925 0.01925<br />

50 0.8286 0.973 0.18065 0.01925<br />

60 0.8768 0.973 0.09995 0.01925<br />

70 0.973 0.973 0.01925 0.01925<br />

80 0.8286 0.973 0.18065 0.01925<br />

90 0.8768 0.973 0.09995 0.01925<br />

100 0.8768 0.973 0.09995 0.01925<br />

.<br />

Figure 3 the rate <strong>of</strong> detection and the rate <strong>of</strong> error detection <strong>of</strong> FCM<br />

with heterogeneous attributes<br />

Figure 4 the rate <strong>of</strong> detection and the rate <strong>of</strong> error detection <strong>of</strong> the<br />

optimized algorithm<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 5 the rate <strong>of</strong> detection comparison between the original algorithm<br />

and the optimized algorithm<br />

Figure 6 the rate <strong>of</strong> error detection comparison between the original<br />

algorithm and the optimized algorithm


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2831<br />

From the above table, when the number <strong>of</strong> iterations is<br />

the same <strong>of</strong> the fuzzy clustering algorithm and the<br />

optimized algorithm, the rate <strong>of</strong> detection <strong>of</strong> former is<br />

slightly lower than the rate <strong>of</strong> detection <strong>of</strong> the latter. With<br />

the number <strong>of</strong> iterations increasing, as the performance <strong>of</strong><br />

the former algorithm is not stable enough, the average <strong>of</strong><br />

the rate <strong>of</strong> detection and the error detection have no the<br />

obvious trend, but the optimized algorithm have a certain<br />

stability, and when the number <strong>of</strong> iterations is 30, the<br />

algorithm began to converge. The compare <strong>of</strong> the rate <strong>of</strong><br />

detection and the rate <strong>of</strong> error detection between them<br />

were shown in Figure 5 and Figure 6<br />

Form the above analysis can determine that the<br />

algorithm combined with GuoTao algorithm and<br />

introduce the crossover probability can improve the speed<br />

<strong>of</strong> convergence.<br />

V. CONCLUSION<br />

In order to solve the problem <strong>of</strong> the experimental data<br />

with heterogeneous attributes which are commonly used<br />

in intrusion detection, an intrusion detection method<br />

based on fuzzy clustering algorithm with heterogeneous<br />

attributes is proposed. And we combined with GuoTao<br />

algorithm to optimize the model. By the simulation <strong>of</strong> the<br />

data set, the convergence <strong>of</strong> algorithm is more quickly,<br />

the detection efficiency was improved, and the optimized<br />

algorithm is more stable, more robust, and can solve the<br />

problem <strong>of</strong> the original algorithm.<br />

ACKNOWLEDGMENT<br />

This paper is sponsored by the Foundation <strong>of</strong> Jiangxi<br />

Educational Committee (GJJ10478), Project supported by<br />

the Key Laboratory for Computer Information Processing<br />

Technology, Jiangsu Provincial, China (2008-03), and<br />

© 2012 ACADEMY PUBLISHER<br />

supported by the Hunan Provincial Natural Science<br />

Foundation <strong>of</strong> China (07JJ6113).<br />

REFERENCES<br />

[1] An JY, Yue GX, Yu F, et al(2006).Intrusion Detection<br />

Based on Fuzzy Neural Networks. Lecture Notes in<br />

Computer Science Vol.3973,pp. 231-239<br />

[2] Yang DG (2005). Research <strong>of</strong> the Network Intrusion<br />

Detection Based on Fuzzy Clustering: Computer Science,<br />

Vol.32 (1), pp86-87<br />

[3] Li J, Gao XB, Jiao LC (2004). A GA-Based Clustering<br />

Algorithm for Large Data Sets with Mixed Numerical and<br />

Categorical Values:<strong>Journal</strong> <strong>of</strong> Electronics and Information<br />

Technology, Vol.26(8),pp1203-1209<br />

[4] Guo T (1999). Evolutionary Computation and<br />

Optimization. Ph.D. Thesis State Key Laboratory <strong>of</strong><br />

S<strong>of</strong>tware Engineering <strong>of</strong> Wuhan University, China<br />

[5] Li Y, Kang Z, Liu P(2000). Guo’s Algorithm and Its<br />

Application. <strong>Journal</strong> <strong>of</strong> WUHan Automotive Polytechnic<br />

University, Vol.22(3),pp101-104<br />

[6] He YC, Zhang CJ, Wang PC , et al. (2007).Comparison<br />

between Particle Swarm Optimization and GuoTao<br />

algorithm on function optimization problems. Computer<br />

Engineering and Applications, Vol.43(11),pp100-103<br />

[7] Xiao LZ, Shao ZQ, Ma HH, et al (2008). An Algorithm for<br />

Automatic Clustering Number Determination in Networks<br />

Intrusion Detection. <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, Vol.19 (8),<br />

pp2140-2148<br />

[8] Wang SJ, Zhang XF (2008). Analysis and Preprocessing <strong>of</strong><br />

KDDCup99 network data <strong>of</strong> Intrusion Detection. Science<br />

and Technology Information, Vol.15 (9), 407-408<br />

[9] Han JW, Micheline Kamber. Data Mining Concepts and<br />

Techniques (2007). China Machine Press<br />

[10] Chen ST, Chen GL, Guo WZ, et al (2010). Feature<br />

Selection <strong>of</strong> the Intrusion Detection Data Based on Particle<br />

Swarm Optimization and Neighborhood Reduction.<br />

<strong>Journal</strong> <strong>of</strong> Computer Research and Development,<br />

Vol.47(7),pp1261-1267


2832 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Vector-Distance and Neighborhood Development<br />

for High Dimensional Data<br />

Ping Ling<br />

College <strong>of</strong> Computer Science and Technology, Xuzhou Normal University, Xuzhou, 221116, China<br />

Email: lingicehan@yahoo.cn<br />

Xiangsheng Rong<br />

Training Department, Xuzhou Air Force College <strong>of</strong> P. L. A, Xuzhou 221000, China<br />

Email: rxs12@126.com<br />

Xiangyang You<br />

Training Department, Xuzhou Air Force College <strong>of</strong> P. L. A, Xuzhou 221000, China<br />

Email: xyyou@126.com<br />

Ming Xu<br />

Department <strong>of</strong> Logistic Command, Xuzhou Air Force College <strong>of</strong> P. L. A, Xuzhou 221000, China<br />

Email: mingxu@sina.com<br />

Abstract—This paper presents a novel distance concept,<br />

Vector-Distance (VD) for high dimensional data. VD<br />

extends traditional scalar-distance to a vector-like fashion<br />

by collecting multi partial distances from diverse angles.<br />

These partial distances are derived from random<br />

projections, and they preserve individual features <strong>of</strong><br />

dimensions as much as possible. Based on VD definition, a<br />

method family for neighborhood development is proposed,<br />

where methods consist <strong>of</strong> some norm definitions and certain<br />

constrains specified for various purposes. Experiments on<br />

real datasets verify the quality <strong>of</strong> neighborhoods produced<br />

by the proposed method family better or competitive with<br />

the neighborhood produced by the state <strong>of</strong> the art.<br />

Index Terms—vector-distance (VD), high dimensional data,<br />

partial distances, neighborhood development<br />

I. INTRODUCTION<br />

High dimensional data received renewed interest in<br />

recent years thanks to the increase <strong>of</strong> the available<br />

computer hardware. While the s<strong>of</strong>tware or approaches<br />

handling to them didn’t achieve so sharp improvement as<br />

hardware due to the difficulty in learning high<br />

dimensional data structure. The structure <strong>of</strong> high<br />

dimensional space defies usual 3-dimensional geometric<br />

intuition, and it is extremely sparse with data points far<br />

away from each other. If using conventional metric to<br />

explore a data’s neighborhood, only a small number <strong>of</strong><br />

neighbors may be inferred. Unless the neighborhood<br />

radius is set large, sufficient neighbors could be covered.<br />

But that leads to the loss <strong>of</strong> locality. This phenomenon is<br />

known in the statistical literatures as the curse <strong>of</strong><br />

dimensionality, and its affect increases exponentially in<br />

the dimension [1, 2, 3].<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2832-2839<br />

Dimension reduction is the natural solution to address<br />

this issue. This approach family includes dimension<br />

selection that chooses important dimensions, dimension<br />

extraction that derives new dimensions from the original<br />

ones, and dimension weighting that equips dimensions<br />

with significance coefficients. Their idea relies on<br />

defining data-dependent metrics that can capture local<br />

distribution features from dimension analysis so as to<br />

generate data’s new representation. These metrics provide<br />

a scalar value, which reflects the distance information<br />

from a single angle. Yet in high dimensional space the<br />

single-source-based metric might not succeed in<br />

exploring exact distance information everywhere because<br />

the dimension significance might vary from region to<br />

region. For example, high dimensional data x, y and z,<br />

perhaps the dimensions that are critical to measure<br />

distance between x and y are not important to x and z.<br />

That inspires us to define a multi-source-based metric.<br />

This paper defines a vector-fashion distance concept<br />

for high dimensional data, named as Vector-Distance<br />

(VD). VD equips a pair <strong>of</strong> data points with a vector as<br />

their distance; the components <strong>of</strong> that vector are partial<br />

distance values derived using random projections<br />

technique. The random projections are realized by<br />

iterations <strong>of</strong> data space partition. That idea is rooted from<br />

Local Sensitive Hashing (LSH) [4]. LSH is focused on<br />

nearest neighbor searching, and it develops neighborhood<br />

by collecting hash table buckets that query is projected to.<br />

The neighborhood produced by LSH is an unsorted set,<br />

so that an extra metric has to be consulted to find the<br />

nearest neighbor. Compared with classical LSH, VD is<br />

characterized with the ability to sort neighbors.<br />

Based on VD, a method family <strong>of</strong> neighborhood<br />

formulation is proposed, where various metrics plus some


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2833<br />

constrains specify diverse manners <strong>of</strong> neighborhood<br />

formulation. Heuristics are given to facilitate VD<br />

computation, thus without suffering from huge cost in<br />

tuning parameters that many random-projection-based<br />

method need.<br />

The rest <strong>of</strong> this paper is organized as below. Section 2<br />

reviews some work, namely, state <strong>of</strong> the art <strong>of</strong><br />

neighborhood development for high dimensional data.<br />

Then VD definition and method family are presented in<br />

Section 3. Consequently, Section 4 discusses self tuning<br />

<strong>of</strong> parameters <strong>of</strong> random projections. Experimental<br />

evidence and analysis are given in Section 5, followed by<br />

conclusion in the last section.<br />

II. RELATED WORK<br />

LSH originally aims to solve the ε–approximate<br />

nearest neighbor problem <strong>of</strong> high dimensional data. The<br />

relaxation from finding an exact answer to an<br />

approximate answer removes the curse.<br />

LSH is asked to return a point whose distance from the<br />

query is at most (1+ε) times the distance from the query<br />

to its nearest points. The appeal <strong>of</strong> this approximation<br />

fashion is that in many cases, an approximate nearest<br />

neighbor is almost as good as the exact one. The general<br />

LSH schema relies on existence <strong>of</strong> locality-sensitive hash<br />

functions.<br />

Definition. Locality-Sensitive Hashing.<br />

A family H is called (r, (1+ε)r, p1, p2)-sensitive<br />

if for any p, q∈R d :<br />

1) If ||p-q||≦r then Pr[h(q) = h(p)]≧p1<br />

2) If ||p-q||≧(1+ε)r then Pr[h(q) = h(p)] ≦ p2<br />

Various families <strong>of</strong> hash functions can be defined to<br />

yield various LSH schemas. But the precondition is that<br />

the function must meet the locality-sensitiveness property,<br />

that is, the basic parameters r, p1 and p2 can be computed.<br />

Many literatures have touched this issue. Reference [5]<br />

defines the hash function mapping from original space to<br />

Hamming space, and rectangular-shaped cell acts as the<br />

basic grid to form neighborhood. Reference [6] projects<br />

data to a R 1 space, where the projected line in R 1 is<br />

partitioned into equal-length intervals. The hash function<br />

returns the index <strong>of</strong> the interval containing the projection<br />

<strong>of</strong> query.<br />

Literature [7] partitions data space with ball-shaped<br />

grid; the resulted ball boundaries actually correspond to<br />

hash functions definitions. In that paper, the number <strong>of</strong><br />

balls is parameterized to ensure the union <strong>of</strong> balls can<br />

cover all space. In above methods, interval, rectangular<br />

and ball that contain query are collected to form<br />

neighborhood.<br />

Recently an analysis in reference [8] uses one hash<br />

function to store all data. To search the neighborhood <strong>of</strong><br />

query, not only query itself but also some neighbor-like<br />

points generated are hashed to find interesting hashing<br />

buckets.<br />

© 2012 ACADEMY PUBLISHER<br />

III. VECTOR-DISTANCE AND PARAMETERIZATION<br />

A. VD Definition<br />

The novel <strong>of</strong> Vector-Distance definition is that it<br />

employs a vector as the distance representation <strong>of</strong> a pair<br />

<strong>of</strong> points. Elements <strong>of</strong> such a vector are partial distance<br />

values that are derived from some number <strong>of</strong> partitions <strong>of</strong><br />

data space. And each partition is generated by random<br />

projections, a technique that used to handling high<br />

dimensional data.<br />

Assume dataset S = {x1…xN}, xi∈R n , and q is the<br />

query. S is tessellated P times with random partitions. In<br />

each partition, a partial distance value is derived from C<br />

dimensions that are selected at random. In more details,<br />

each partition is defined by C pairs <strong>of</strong> random numbers (d,<br />

vd), where d is an integer between 1 and n and vd is a<br />

value within the range <strong>of</strong> the data along the d th coordinate.<br />

vd acts as a benchmark coordinate to measure the local<br />

distance between q and xi in d th dimension. Denote qd and<br />

xid as the d th coordinate, and then the local distance is<br />

defined as:<br />

Ad(q, xi) = exp(-(qd - vd)(xid - vd)) (1)<br />

Simultaneously, vd is used to form the inequality ‘xid <<br />

vd’. q and xi yield the true or false result under that<br />

inequality. After a partition q and xi yield C-length<br />

Boolean vector with 0 meaning false and 1 meaning true.<br />

This Boolean vector is the projections <strong>of</strong> data under C<br />

random embeddings.<br />

Denote PDI as the set <strong>of</strong> selected dimensions <strong>of</strong> I th<br />

partition, b I (x) as the Boolean vector <strong>of</strong> x, with b I (x)d<br />

being its d th component. We employ b I (q)d and b I (xi)d to<br />

weight the local distance between qd and xid, to generate<br />

their partial distance <strong>of</strong> I th partition:<br />

A<br />

I<br />

( qx , ) =Σ α ⋅A<br />

( qx , )<br />

i d∈PD d d i<br />

I<br />

With α = exp(| b<br />

I<br />

( q) − b<br />

I<br />

( x ) |) .<br />

d d i d<br />

The employment <strong>of</strong> α d will strength the d th local<br />

distance between q and xi if they have different response<br />

to the inequality xid < vd. The VD between q and xi is:<br />

(2)<br />

VDqx ( , ) = ( A<br />

1<br />

( qx , ) K A<br />

P<br />

( qx , )) (3)<br />

i i i<br />

Points with the same Boolean vector are grouped into<br />

the same cell. View one partition as a hash function; then<br />

a cell is actually a hash table bucket. Compared with [4],<br />

which uses one-dimensional interval as bucket, our<br />

schema extends the bucket from one-dimension to multidimension,<br />

so brings richer hashing meaning and locality<br />

sensitiveness without expensive cost. That low<br />

computation cost also makes cell-bucket hashing<br />

competitive with ball-bucket hashing [9], which needs the<br />

nonlinear embeddings to fulfill random projections. Of<br />

course the nonlinear is at the gains <strong>of</strong> stronger hashing<br />

power and locality sensitiveness. Consider both<br />

performance and cost, cell-bucket hashing is a fine choice.<br />

VD definition integrates distance measurement into cell


2834 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

formulation, say random projections, so that neighbors<br />

are inherently sorted according to closeness with the<br />

query.<br />

Basic parameters <strong>of</strong> VD, r, p1 and p2, are specified as<br />

in [10]. The time complexity is O(N 1+1/(1+ε) ), and the<br />

query time is O(dN 1/(1+ε) ).<br />

B. Parameterization <strong>of</strong> P and C<br />

P and C have a direct influence on the size <strong>of</strong> cell and<br />

the quality <strong>of</strong> neighborhood. But it is hard to integrate<br />

them into some cost function explicitly and find the<br />

optimal configuration through optimization. Reference [5]<br />

gave an approach that runs over all pairs <strong>of</strong> configuration<br />

and chooses the pair that can incur least time cost under a<br />

pre-specified error upper bound. Here we search P and C<br />

in an empirical way. That is, we do searching trails within<br />

an appreciate range, where a measurement <strong>of</strong><br />

neighborhood quality is employed to find the best<br />

parameter pair.<br />

When C increases, the number <strong>of</strong> cells increases and<br />

the average volume <strong>of</strong> one cell drops. When P becomes<br />

larger, more cells are produced and then the final<br />

neighborhood becomes large. Given the fixed C, only<br />

values <strong>of</strong> P below an upper bound are <strong>of</strong> interest. Because<br />

once P exceeds some bound, the neighbors it finds have<br />

been covered by smaller values <strong>of</strong> P, and the larger<br />

values <strong>of</strong> P only brings extra computation without any<br />

improvement in the neighborhood quality.<br />

Therefore this paper fixes C by setting its value as an<br />

integer randomly generated from range [ n , n ] in<br />

advance.<br />

As to P, we run P over a specified range to find the<br />

one able to bring the best neighborhood quality. The<br />

neighborhood quality is measured in the way: Qua(P) =<br />

ave{|MEM i| / | NEI i |}, where NEIi is the neighborhood <strong>of</strong><br />

xi, and MEMi is the set <strong>of</strong> xi’s same-class members in<br />

NEIi. Then the optimal P is parameterized by the method<br />

<strong>of</strong> below steps:<br />

1) Select m data randomly;<br />

2) For P = Pdown : Pup<br />

3) Develop neighborhoods for m data: {NEIi },<br />

(i = 1…m);<br />

4) Qua(P) = ave{|MEM i| / | NEI i |};<br />

5) EndFor<br />

6) Poptimal = max P {Qua(P)}.<br />

The upper bound Pup can be specified by the memory<br />

available or problem at hand. The below bound is set as:<br />

Pdown = max (n/C, C). Its underlying idea is following.<br />

a) When n/C > C, that is, C < n . There are a few<br />

conditions to specify a cell, which leads to the coarse<br />

boundaries <strong>of</strong> cells. So P should be large to produce more<br />

cells, so that the quality <strong>of</strong> the final neighborhood can be<br />

guaranteed. In this case, P is set as n/C.<br />

b) When n/C < C, a cell can be constrained by the<br />

moderate number <strong>of</strong> conditions so it is refined<br />

sufficiently. Since every cell is <strong>of</strong> fine performance, a<br />

good neighborhood can be obtained without the need to<br />

yield many cells.<br />

© 2012 ACADEMY PUBLISHER<br />

IV. METHOD FAMILY OF NEIGHBORHOOD DEVELOPMENT<br />

VD spans a vector space where diverse norms can be<br />

defined for purposes. Assuming μ = VD(q, xi), we give<br />

below five norm definitions:<br />

|| μ || = min | μ |<br />

(4)<br />

1 j<br />

|| μ || = max | μ |<br />

∞ j<br />

(5)<br />

|| μ || = Σ μ<br />

2<br />

(6)<br />

2 j<br />

|| || {| |}<br />

3 ave μ = μ<br />

(7)<br />

j<br />

|| μ || − || μ ||<br />

|| μ || = ∞ 1<br />

(8)<br />

4 || μ ||3<br />

The neighborhood is specified according to: ||μ||F < δ,<br />

where F = 1, 2, 3, 4, and ∞. Threshold δ is probed by<br />

following steps:<br />

1) Sort VD values between q and xi in the ascending<br />

order: {||VD(q, x1)||F…||VD(q, xN)||F};<br />

2) Find the max gap between two adjacent values <strong>of</strong><br />

that list, and let δ = ||VD(q, xgap)||F, where gap is<br />

defined as below (9):<br />

|| VDqx ( , ) || − || VDqx ( , ) ||<br />

j + 1 F j F<br />

gap = max { }<br />

j || VD( q, x ) ||<br />

j+ 1 F<br />

(9)<br />

The above strategy thinks the max gap reveals the<br />

boundary <strong>of</strong> dense area around q, and this boundary<br />

provides a natural estimate <strong>of</strong> neighborhood. Points<br />

located before <strong>of</strong> the gap are taken as q’s neighbors.<br />

V. EXPERIMENTS<br />

A. Compared with Other Metric<br />

As a kind <strong>of</strong> metric definition, VD is compared with<br />

some popular metrics: Euclidean metric Machete [11],<br />

Scythe [11], DANN [12], Adamenn [13].<br />

These methods aim to reduce dimensionality and<br />

formulate data new representation by learning dimension<br />

relevance and then weighting dimensions. Machete is a<br />

recursive splitting procedure, in which the input variable<br />

used for splitting at each step is the one that maximizes<br />

the estimated local relevance. Scythe is a generalization<br />

<strong>of</strong> Machete method. DANN works as an adaptive nearest<br />

neighbor classifier. Adamenn is an adaptive nearest<br />

neighbor approach based on probability programming.<br />

Gaussian Kernel function, viewed as a kind <strong>of</strong> metric, is


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2835<br />

also compared, with its width parameter tuned by crossvalidation.<br />

These metrics are introduced into ||x - q||F < δ to<br />

develop neighborhoods. The neighborhood size takes two<br />

fashions: the pre-specified size NS1 and the adaptive size<br />

NS2. NS1 is expressed as a selectivity percentage to<br />

tellhow many data are selected from dataset as neighbors.<br />

NS2 is computed using our strategy mentioned in Section<br />

4. Neighborhood quality is evaluated by:<br />

η = ave{| MEM | / | NEI | (10)<br />

q q<br />

News Group [14] is used as experimental dataset.<br />

This dataset contains about 20,000 articles (email<br />

messages). These articles are evenly divided into the 20<br />

newsgroups. In this paper, each newsgroup is labeled as<br />

following:<br />

NG1: alt.atheism;<br />

NG2: comp.graphics;<br />

NG3: comp.os.ms.windows.misc;<br />

NG4: comp.sys.ibm.pc.hardware;<br />

NG5: comp.sys.mac.hardware;<br />

NG6: comp.windows.x;<br />

NG7: misc.forsale;<br />

NG8: rec.autos;NG9: rec.motorcycles;<br />

NG10: rec.sport.baseball;<br />

NG11: rec.sport.hockey;<br />

NG12: sci.crypt;<br />

NG13: sci.electronics;<br />

NG14: sci.med;<br />

NG15: sci.space;<br />

NG16: soc.religion.christian;<br />

NG17: talk.politics.guns;<br />

NG18: talk.politics.mideast;<br />

NG19: talk.politics.misc;<br />

NG20: talk.religion.misc.<br />

We apply the usual tf.idf weighting schema to express<br />

documents. We delete words that appear too few times<br />

and normalize each document vector to have unit<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

Euclidean length. We do experiments in the whole dataset<br />

with the ever-increasing NS1.<br />

Figure 1 shows the average dependence <strong>of</strong> η on NS1,<br />

where 0.5% data are sampled randomly as queries.<br />

1<br />

0.9<br />

0.8<br />

0.7<br />

0.6<br />

1 2 3 4 5 6 NS1 (10 -3 )<br />

Figure 1. Neighborhood quality comparison<br />

Euclidean<br />

Kernel<br />

Machete<br />

Scythe<br />

DANN<br />

Adamenn<br />

According to results reflected from Figure 1, it is easy<br />

to find that with NS1 increasing, η values <strong>of</strong> these<br />

methods drop at different speed. On average, the<br />

dropping speed <strong>of</strong> VD is the least sharp. Adamenn is<br />

competitive with VD. Their ratio curves are relatively<br />

gentle. Other methods yield somewhat sharp tendency<br />

curves; that suggests their performance is unsteady and<br />

they are readily to be influenced by the changes <strong>of</strong><br />

neighborhood size. VD sees a local peak at about NS1 =<br />

0.004; this NS1 value could be considered as the desired<br />

neighborhood size searched by cross-validation under VD<br />

metric.<br />

Then take a look <strong>of</strong> other methods. Firstly, it is easy to<br />

find that Adamenn also has a local peak, but its peak is<br />

located at about 0.005, a larger size than that <strong>of</strong> VD. This<br />

is because Adamenn extracts complete and pr<strong>of</strong>ound<br />

dimension relevance from data distribution, and<br />

consequently shows more effectiveness when more data<br />

are absorbed into the neighborhood.<br />

1) 2) 3) 4) 5) 6)<br />

Secondly, it comes to DANN and Scythe. Obviously,<br />

the performance <strong>of</strong> DANN and Scythe follows first two<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 2. Neighborhood quality comparison<br />

VD<br />

Euclidea<br />

n<br />

Kernel<br />

Machete<br />

Scythe<br />

NS2 (10 -3 )<br />

methods and they produce similar results. But the curve<br />

<strong>of</strong> Scythe is a little sharper than DANN because DANN


2836 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

is equipped with adaptation to data distribution. But<br />

DANN approximates the weighted Chi-squared distance,<br />

which will cause its failure in datasets <strong>of</strong> non-Gaussian<br />

distribution. The local peaks <strong>of</strong> DANN and Scythe are<br />

between Adamenn and VD. Thirdly, Machete shares the<br />

same spirit <strong>of</strong> Scythe, while it employs a greedy idea, so<br />

its job is not good as Scythe.<br />

Finally, Euclidean metric works poorly, and the reason<br />

lies in the mismatch between its measurement meaning<br />

and the high-dimensional data space. And its ratio curve<br />

is somewhat devious with more local peaks than other<br />

methods, which shows the unsteady behavior <strong>of</strong> this<br />

metric. Although Kernel’s results are better than<br />

Euclidean, its curve also experiences more local peaks.<br />

Compared with the first 5 methods, Euclidean metric and<br />

Kernel metric present unsteady performance and their<br />

multi local peaks prevent finding optimal NS1 value. For<br />

Adamenn and VD, VD is a fine choice because it has<br />

computation ease brought by parameterization strategies<br />

while Adamenn has six parameters to be tuned carefully.<br />

Then we do experiments in subsets consisting <strong>of</strong><br />

several news groups. These experimental subsets are<br />

below six ones:<br />

1) {NG1, NG2, NG7} (400);<br />

2) {NG2, NG8, NG12, NG17} (300);<br />

3) {NG11, NG12, NG16, NG19} (400);<br />

4) {NG2 (200), NG3 (350), NG4 (400)};<br />

5) {NG4 (200), NG5 (300), NG6 (300), NG7 (200)};<br />

6) {NG17 (300) NG18 (500), NG19 (300)}.<br />

TABLE I.<br />

CLASSIFICATION ACCURACY COMPARISON (%)<br />

Therein, the number in bracket is the size <strong>of</strong> random<br />

samples selected from the original set. Now suppose that<br />

all methods use their own NS2 value as neighborhood<br />

size. Then the corresponding ratios are described in<br />

Figure 2.<br />

In Figure 2, all ratios are lower than corresponding<br />

peaks <strong>of</strong> Fig. 1. This is because those peak ratios are<br />

found in the searching way, while ratios <strong>of</strong> Fig. 2 are<br />

computed under fixed NS2 values. If ratios <strong>of</strong> Fig. 2 are<br />

close to peak ratios <strong>of</strong> Fig. 1, it suggests that NS2 is a<br />

qualified neighborhood size and the specification<br />

heuristic is fine. As expected, the difference between<br />

them is not far. If the cost is taken into consideration,<br />

NS2-based procedure is more welcome than NS1-based<br />

methods.<br />

From Figure 2, the analysis <strong>of</strong> Euclidean, Kernel<br />

methods and four dimension derivation methods follow<br />

the above patterns. For VD and Adamenn, the former is<br />

competitive or even outperforms the later. In those<br />

subsets containing similar news groups, say 4), 5) and 6),<br />

VD takes more advantage than Adamenn. In that cases,<br />

class boundaries are not distinct, data original<br />

representations are unfriendly to reveal class features, and<br />

consequently the probability derivation based on these<br />

representations is less confident. That leads to the metric<br />

produced by Adamenn being not so informative. VD<br />

relies on repeating random projections without much<br />

direct dependence on data representation, therefore it is<br />

less influenced.<br />

Data kNN AkNN VkNN SVM1r ASVM1r VSVM1r DAGSVM ADAGSVM VDAGSVM<br />

Vote 92.2 96.8 96.8 96.1 96.7 96.1 96.1 96.5 96.7<br />

BC1 88.3 92.5 92 89 93.9 93.7 91.1 94.2 94.1<br />

BC2 86.2 90.7 90.5 88.4 92.6 92.6 89.8 93.4 93.2<br />

Musk1 89.6 93.8 94.1 94.8 95.9 96 94.8 95.9 96<br />

Musk2 59.5 62.4 63.1 62.8 67.3 68 62.8 63.7 63.8<br />

Iris 94 97 97 95.9 97 97 96.2 96.4 96.8<br />

Wine 92 93.9 94.7 93.1 93 90.9 93.6 94 90.6<br />

1) 83 86.9 88.1 84.2 86.3 86.5 85.3 86.8 86.9<br />

2) 87.1 89.2 90.5 90.1 92.1 91.6 91.2 92.8 93<br />

3) 79.6 82 82.2 82.6 84.7 84.7 83 83.6 84.1<br />

4) 67.7 70.3 70.1 70.2 72.9 73.4 71.1 73.5 73<br />

5) 69.4 73.2 73.5 73.5 75.1 75.9 73.4 75.1 75.3<br />

6) 70.4 72 72.1 71.8 73.2 73.5 72 73.8 74.1<br />

© 2012 ACADEMY PUBLISHER


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2837<br />

B. Test VD Performance through Classifiers<br />

In this experimental section, VD definition and<br />

Adamenn are introduced into some metric-based<br />

classifiers to fulfill classification task. Those metricbased<br />

classifiers are: pure kNN [15], SVM1r [16, 17] and<br />

DAGSVM [18].<br />

Due to the introduction <strong>of</strong> VD definition and Adamenn,<br />

resulted methods form two groups <strong>of</strong> variants <strong>of</strong> original<br />

algorithm, and these two groups <strong>of</strong> variants are denoted<br />

by adding two prefixes to the original names, namely,<br />

adding ‘V-’ and ‘A-’ before these method names. That is,<br />

for kNN, there are two versions: AkNN and VkNN.For<br />

kNN, two metrics can work directly; for SVM1r and<br />

DAGSVM, two metrics appear in their Gaussian Kernel<br />

in the way that:<br />

K( x, y) = exp( − [ VD( x, y)] 2<br />

/ σ<br />

2<br />

) (11)<br />

K( x, y) = exp( −|| x− y|| 2<br />

/ σ<br />

2<br />

) (12)<br />

Adamenn<br />

The original classifiers and variants are compared on<br />

some real datasets that are taken from UCI Machine<br />

Learning Repository [11]. Among these experimental<br />

datasets, 1% data are sampled at random as training data<br />

and metric quality is measured by the classification<br />

accuracy listed in Table I.<br />

Note that for bi-classification cases, SVM1r and<br />

DAGSVM yield same result because both <strong>of</strong> them train<br />

one basic SVM. It is easy to find that ‘A-’ and ‘V-’<br />

variants improve their original models, which indicates<br />

two metrics do improve effectiveness. But two metrics<br />

take their own advantage in different scenarios. In lowdimensional<br />

datasets, ‘A-’ methods behave better, while<br />

in high-dimensional space, ‘V-’ family is relatively<br />

preferred.<br />

According to experimental evidence <strong>of</strong> this section, it<br />

concludes that VD is more suitable to high-dimensional<br />

space than Adamenn because the later derives new metric<br />

from statistics <strong>of</strong> data distribution. Those statistics, as<br />

measurements, might be caught by the curse <strong>of</strong><br />

dimensionality, and consequently the resulted metric<br />

becomes less informed. However, VD focuses on<br />

learning valid information from repeating projections,<br />

thus does not suffer from this problem. For SVM1r and<br />

DAGSVM, the later accounts to a weighted framework <strong>of</strong><br />

basic SVM, while the former is the non-weighted<br />

framework <strong>of</strong> SVM, so naturally the later gives higher<br />

accuracies.<br />

C. Test VD Performance for High-dimensional Data<br />

After investigating the performance <strong>of</strong> VD through<br />

comparing it with other metrics and other classifiers, This<br />

section experiment aims to compare VD with some NN<br />

searching techniques that are developed specially for<br />

high-dimensional data. These NN searching techniques<br />

are those famous ones: VA-file [19, 20, 21, 22, 23], iLSH<br />

[6], cLSH [10] and bLSH [9]. To check their property,<br />

another evaluation is used, neighborhood cohesion. For<br />

q’s neighborhood, NEI (q), its cohesion is defined as<br />

formula (13):<br />

© 2012 ACADEMY PUBLISHER<br />

exp( −|| x− y||<br />

2<br />

)<br />

Σ<br />

xy , ∈ NEIq ( ) | NEI( q)|<br />

(13)<br />

Suppose that each method finds its own NS2 value.<br />

Here, 10% data are sampled randomly as queries. The<br />

average cohesion values <strong>of</strong> each method are collected and<br />

shown in Table II.<br />

TABLE II.<br />

COMPARISON OF LSH-BASED APPROACHES THROUGH AVERAGE<br />

COHESION<br />

Data 1) 2) 3) 4) 5) 6)<br />

VA-file 0.73 0.78 0.86 0.7 0.67 0.65<br />

iLSH 0.71 0.75 0.83 0.68 0.68 0.63<br />

cLSH 0.74 0.74 0.87 0.71 0.67 0.66<br />

bLSH 0.79 0.79 0.86 0.73 0.71 0.68<br />

VD 0.78 0.79 0.85 0.75 0.71 0.7<br />

From Table II, it is clear that bLSH and VD behave<br />

similarly and take their own advantage in various cases.<br />

bLSH does better in subsets with clear class<br />

boundaries, while VD exhibits its merit in handling<br />

subsets with blurred classes. cLSH and VA-file yield<br />

close results for they actually construct the same-shaped<br />

bucket using different strategies. iLSH is relatively poor<br />

due to its weak hashing power carried by the onedimensional<br />

hashing embeddings. bLSH can be seen the<br />

best one among four indexing approaches because the<br />

shape <strong>of</strong> its bucket is the best to approximate the inherent<br />

shape <strong>of</strong> neighborhood, and thus it has more ability to<br />

formulate the good neighborhood which contains true<br />

neighbors.<br />

The mismatch between neighborhood region shape and<br />

rectangular, cell and interval leads to some irrelevant data<br />

absorbed into neighborhood, so affects the quality <strong>of</strong><br />

neighborhood spanned by other three methods. Although<br />

VD’s bucket is <strong>of</strong> cell-like shape, it exploits the informed<br />

weighted metric to sort neighbors. That removes the<br />

influence brought by the mismatch.<br />

D. Test VD Performance for Real Dataset<br />

Finally, VD is conducted on the real datasets: Musk<br />

[24] and Mutagenesis [25]. Musk dataset has two<br />

versions Musk1 and Musk2. They record 476 and 6598<br />

conformations for musk molecules and non-musk<br />

molecules. We fix the data with some normalization and<br />

develop its relation frame shown in Figure 3.<br />

RK: Molecule-Name Common Attributes<br />

FK:M-Name Feature1 …… Feature 166<br />

Figure 3. Dataset Relationship <strong>of</strong> Musk


2838 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Mutagenesis dataset records 230 aromatic and<br />

heteroaromatic nitro compounds. They are divided into<br />

two groups based on the mutagenicity: the active and the<br />

inactive. Its relation schema is formulated in Figure 4.<br />

RK: Molecule-ID MOLECULE<br />

FK: Molecule-ID BOND FK: Molecule-ID ATOM<br />

Figure 4. Dataset Relationship <strong>of</strong> Mutagenesis<br />

Here, for two datasets, their tables are integrated into<br />

one big table, which includes all records. Note that since<br />

there are two types <strong>of</strong> Mutagenesis molecules: regressionfriendly<br />

and regression-unfriendly, some data are<br />

sampled from two subsets and the whole dataset<br />

respectively. Table III shows classification accuracy <strong>of</strong><br />

above methods.<br />

TABLE III.<br />

COMPARISON OF LSH-BASED APPROACHES THROUGH CLASSIFICATION<br />

ACCURACY (%)<br />

Data Musk Mutagenesis Mutagenesis Mutagenesis<br />

(friendly) (unfriendly) (full)<br />

VA-file 86.3 79.5 63.2 73.1<br />

iLSH 87.6 82.9 68.7 75.2<br />

cLSH 85.2 92.7 70.2 78.9<br />

bLSH 88.4 90.5 70.5 77.2<br />

VD 90.5 93.5 70.6 79.5<br />

According to the experimental results, it is easy to<br />

know that VD exhibits outstanding behaviors by<br />

presenting highest classification accuracy among five<br />

methods. That is the similar conclusion with above<br />

section. Other LSH-based methods follow VD.<br />

Through above experiments, the fine performance <strong>of</strong><br />

VD definition can be verified.<br />

VI. CONCLUSION<br />

This paper proposes a novel distance concept<br />

customized to high-dimensional data, Vector-Distance<br />

(VD). VD is a vector with its entries reflecting multiaspect<br />

information summarized from random projections.<br />

Through applying some metric to VD values, a family <strong>of</strong><br />

neighborhood formulation methods is yielded. Empirical<br />

evidence on real datasets demonstrates the fine<br />

performance <strong>of</strong> VD and the proposed method family.<br />

On the other hand, VD provides another thinking angle<br />

by extending the common distance information to a<br />

compound fashion. Consequently the new distance<br />

collects rich information, and this information reveals<br />

more to reflect the relationship among data. That is<br />

expected to make more importance in high-structured<br />

data environment.<br />

Furthermore, high-dimensional data always attracts a<br />

lot <strong>of</strong> interest in diverse applications, more work is<br />

© 2012 ACADEMY PUBLISHER<br />

needed to promote the improvement <strong>of</strong> algorithms <strong>of</strong><br />

high-dimensional data, even high-structured data.<br />

ACKNOWLEDGMENT<br />

This work is supported by the Youth National Natural<br />

Science Foundation <strong>of</strong> China under Grant No. 61105129.<br />

And this work thanks for the contribution <strong>of</strong> Dr.<br />

Xiangsheng Rong.<br />

REFERENCES<br />

[1] E Novak, K Ritter, “The Curse <strong>of</strong> Dimension and a<br />

Universal Method for Numerical Integration,” Multivariate<br />

Approximation and Splines, pp. 177-187, 1998.<br />

[2] Michael E. Houle, Hans-Peter Kriegel, Peer Kröger, Erich<br />

Schubert and Arthur Zimek, “Can Shared-Neighbor<br />

Distances Defeat the Curse <strong>of</strong> Dimensionality?” Lecture<br />

Notes in Computer Science, Volume 6187, pp. 482-500,<br />

2010.<br />

[3] Jiajun Liu, Zi Huang, Heng Tao Shen and Xia<strong>of</strong>ang Zhou,<br />

“Efficient Histogram-Based Similarity Search in Ultra-<br />

High Dimensional Space,” Lecture Notes in Computer<br />

Science, Volume 6588, pp. 1-15, 2011.<br />

[4] A. Gionis, P. Indyk, and R. Motwani, “Similarity Search in<br />

High Dimensions via Hashing,” Proceeding <strong>of</strong><br />

International Conference on Very Large Data Bases, pp.<br />

518–529, 1999.<br />

[5] D. Comaniciu, P. Meer: Mean shift, “A robust approach<br />

toward feature space analysis,” IEEE Transactions on<br />

pattern analysis and machine intelligence, Vol. 24, No. 5,<br />

pp. 603-619, 2002.<br />

[6] M. Datar, N Immorlica, P Indyk, “Locality-sensitive<br />

hashing scheme based on p-stable distributions,”<br />

Proceeding <strong>of</strong> 20th annual symposium on Computational<br />

geometry, p-. 253–262, 2004.<br />

[7] A. Chakrabarti, S.Khot, S. Xiaodong, “Near-Optimal<br />

Lower Bounds on the Multi-Party Communication<br />

Complexity <strong>of</strong> Set Disjointness,” Proceeding <strong>of</strong> 18th<br />

Annual IEEE Conference on Computational Complexity,<br />

pp. 107-117, 2003.<br />

[8] X.G. Cheng, C. Yang, J. Yu, “A New Approach to Group<br />

Signature Schemes,” <strong>Journal</strong> <strong>of</strong> Computers, Vol. 6, No 4.<br />

pp. 812-817, 2011.<br />

[9] A. Andoni, P. Indyk, “Near-Optimal Hashing Algorithms<br />

for Approximate Nearest Neighbor in High Dimensions,”<br />

Proceeding <strong>of</strong> 47th Annual IEEE Symposium on<br />

Foundations <strong>of</strong> Computer Science, pp. 459-468, 2006.<br />

[10] P. Indyk and R. Motwani, “Approximate Nearest<br />

Neighbors: towards Removing the Curse <strong>of</strong><br />

Dimensionality,” Proceeding <strong>of</strong> Symposium on Theory <strong>of</strong><br />

Computing, pp. 604-613, 1998.<br />

[11] http://www.uncc.edu/knowledgediscovery<br />

[12] T. Hastie, R. Tibshirani, “Discriminant Adaptive Nearest<br />

Neighbor Classification,” IEEE Trans. on Pattern Analysis<br />

and Machine Intelligence. Vol. 18(6), pp. 607-615, 1996.<br />

[13] C. Domeniconi, J. Peng, D. Gunopulos, “An Adaptive<br />

Metric Machine for Pattern Classification,” Advances in<br />

Neural Information Processing Systems, Vol. 13. pp. 458-<br />

464, 2001.<br />

[14] http://www.cs.cmu.edu/afs/cs/project/theo-11/www/naivebayes.html<br />

[15] K.N.N. Unni, R. de Bettignies, S.-D. Seignon and J.-M.<br />

Nunzi, “Application Physics Letter,” Vol. 85, pp. 1823.<br />

2004.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2839<br />

[16] V.Murino, M. Bicego, I.A. Rossi, “Statistical classification<br />

<strong>of</strong> raw textile defects,” Proceedings <strong>of</strong> the 17th<br />

International Conference on Pattern Recognition, Vol. 4,<br />

pp. 311-314, 2004.<br />

[17] C.C. Chang, C.J. Lin, “LIBSVM: A library for support<br />

vector machines,” ACM Transactions on Intelligent<br />

Systems and Technology, Volume 2 Issue 3, pp. 35-63,<br />

2011.<br />

[18] J. C. Platt, N. Cristianini, J. Shawe-Taylor, “Large margin<br />

DAG’s for Multiclass classification,” Advances in neural<br />

information processing systems. MIT press, Cambridge,<br />

MA, 12: 547-553, 2000.<br />

[19] R. Weber, H. Schek, and S. Blott, “A quantitative analysis<br />

and performance study for similarity-search methods in<br />

high-dimensional spaces,” Proceeding <strong>of</strong> 24th<br />

International Conference on Very Large Data Bases, pp.<br />

194–205. 1998.<br />

[20] Peisen Yuan, Cha<strong>of</strong>eng Sha, Xiaoling Wang, Bin Yang,<br />

Aoying Zhou, “Efficient Approximate Similarity Search<br />

Using Random Projection Learning”, Lecture Notes in<br />

Computer Science, Volume 6897, pp. 517-529, 2011.<br />

[21] C.H. Zhou, M.L. Cao, M. Ye, Z.H. Qian, “SAT-based<br />

Algorithmic Verification <strong>of</strong> Noninterference,” <strong>Journal</strong> <strong>of</strong><br />

Computers, Vol. 6, No 11, 2310-2320, 2011.<br />

[22] Z.Q. Wang, X. Sun, “An Efficient Discriminant Analysis<br />

Algorithm for Document Classification,” <strong>Journal</strong> <strong>of</strong><br />

Computer, Vol 6, No 7, pp. 1265-1272, 2011.<br />

[23] Chunyang Ma, Yongluan Zhou, Lidan Shou, Dan Dai,<br />

Gang Chen, “Matching Query Processing in Highdimensional<br />

space,” Proceeding <strong>of</strong> the 20 th ACM<br />

International Conference on Information and Knowledge<br />

Management, pp. 32-40, 2011.<br />

[24] J. Renders, “Kernel Methods in Natural Language<br />

Processing,” Learning Methods for Text Understanding<br />

and Mining Conference Tutorial, 2004.<br />

[25] L. Lopriore, “Page Protection in Multithreaded Systems,”<br />

<strong>Journal</strong> <strong>of</strong> Computers, Vol. 5, No 9, pp. 1297-1304, 2010.<br />

Ping Ling was born in Xuzhou,<br />

Jiangsu Province, China, Feb. 1979.<br />

She received her Bachelor’s degree<br />

in 2000, from College <strong>of</strong> Computer<br />

Science and Technology, Xuzhou<br />

Normal University. And then she<br />

received her Master’s degree and<br />

PHD from College <strong>of</strong> Computer<br />

Science and Technology, Jilin University in 2006 and<br />

2010 respectively. She research field focuses on data<br />

mining, intelligence computing, support vector machine<br />

and support vector clustering, etc.<br />

© 2012 ACADEMY PUBLISHER<br />

Xiangsheng Rong was born in<br />

Yanggu, Shandong Province, China,<br />

1975. He received his Bachelor’s<br />

degree in 1997, from Department <strong>of</strong><br />

Logistic Command, Xuzhou Air<br />

Force College <strong>of</strong> P. L. A. And then<br />

he received his Master’s degree in<br />

2003 from Xuzhou Air Force<br />

College <strong>of</strong> P. L. A. His major research directions include<br />

the application <strong>of</strong> information technology and dynamic<br />

programming technique in military logistic command,<br />

intelligence command in combined operations <strong>of</strong> a sham<br />

battle, etc.<br />

Xiangyang You was born in Xuzhou, Jiangsu Province,<br />

China, 1972. He received his Bachelor’s degree in<br />

College <strong>of</strong> Computer Science and Technology, Harbin<br />

Institute <strong>of</strong> Technology. His research directions are<br />

operational research in military logistic command, etc.<br />

Ming Xu was in Suqian, Jiangsu Province, China, 1968.<br />

He received his Bachelor’s degree in 1994, from<br />

Department <strong>of</strong> Logistic Command, Xuzhou Air Force<br />

College <strong>of</strong> P. L. A. And then he received his Master’s<br />

degree in 2005 from Xuzhou Air Force College <strong>of</strong> P. L. A.<br />

His research fields are centered in data integration, data<br />

mining, semantic network, etc.


2840 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Evaluation and Comparison on the Techniques <strong>of</strong><br />

Vertex Chain Codes<br />

Linghua Li<br />

College <strong>of</strong> Computer Science and Engineering, Dalian Nationalities University, Dalian, China<br />

Email: linghl@139.com<br />

Yining Liu<br />

College <strong>of</strong> Communication Engineering, Jilin University, Changchun, China<br />

Email: 1337687488@qq.com<br />

Yongkui Liu<br />

College <strong>of</strong> Computer Science and Engineering, Dalian Nationalities University, Dalian, China<br />

Email: ykliu@dlnu.edu.cn<br />

Abstract—This paper firstly describes the techniques <strong>of</strong> six<br />

representative vertex chain codes, they are: original vertex<br />

chain code, extended vertex chain code, variable-length<br />

vertex chain code, variable-length compressed vertex chain<br />

code, dynamic vertex chain code, and equal-length<br />

compressed vertex chain code. The description includes the<br />

main idea and encoding method <strong>of</strong> each vertex chain code.<br />

Then the chain length, namely the code numbers, the<br />

memory occupancy, namely the general binary bits, the code<br />

average length <strong>of</strong> each code, namely bits per code <strong>of</strong> each<br />

vertex chain code were compared respectively by large<br />

numbers <strong>of</strong> experiments. In the end, the evaluation and<br />

comparison were given from the view <strong>of</strong> chain code<br />

efficiency. The goal <strong>of</strong> the paper is to provide convenience<br />

and reference for the chain code researchers and users.<br />

Index Terms—chain code, vertex chain code, comparison,<br />

evaluation<br />

I. INTRODUCTION<br />

Chain code has been a research topic for more than<br />

five decades. Since the pioneer work <strong>of</strong> Freeman in 1961,<br />

different approaches <strong>of</strong> chain coding have been proposed<br />

to improve the various aspects involved in chain code [1-<br />

5]. Because <strong>of</strong> the comprehensive applicability <strong>of</strong> chain<br />

code in many parts <strong>of</strong> pattern recognition and image<br />

processing [6-12], the techniques <strong>of</strong> chain code increase<br />

rapidly. Chain code is an efficient representation <strong>of</strong><br />

binary images composed <strong>of</strong> contours [13-15]. The idea <strong>of</strong><br />

a chain code is based on identifying and storing the<br />

directions from each pixel to its neighbor pixel on each<br />

contour. The technique <strong>of</strong> chain code includes two<br />

aspects: the chain codes based on pixel and the chain<br />

codes based on edge. For the former, some representative<br />

pixel-based chain codes include 8-direction Freeman<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2840-2848<br />

Borut Žalik<br />

Computer Science, University <strong>of</strong> Maribor, Maribor, Slovenia<br />

Email: borut.zalik@um.si<br />

chain code proposed by Freeman, 4-direction Freeman<br />

chain code commonly used by people, angle differences<br />

Freeman chain code (ADFCC) proposed by Y. K. Liu et<br />

al. [1], enhanced relative 8-direction Freeman chain code<br />

(ERDFCC) proposed by S. Zahir et al. [2], orthogonal<br />

three-direction Freeman chain code (3OT) proposed by H.<br />

Sánchez-Cruz et al. [14], arithmetic coding applied to<br />

3OT chain code (Arith_3OT) proposed by H. Sánchez-<br />

Cruz et al. [3], and modified directional Freeman chain<br />

code in eight directions by a set <strong>of</strong> nine symbols (MDF9)<br />

proposed by H. Sánchez-Cruz et al. [4], etc. For the latter,<br />

the six vertex chain codes introduced in the paper are all<br />

edge-based chain codes. Viewing from the compression<br />

<strong>of</strong> the information, there are two kinds <strong>of</strong> compression:<br />

with loss <strong>of</strong> information and with lossless <strong>of</strong> information.<br />

The six vertex chain codes evaluated and compared in the<br />

paper are all lossless-compression chain codes.<br />

II. OVERVIEW OF TECHNIQUES OF VERTEX CHAIN CODES<br />

We mainly describe the techniques <strong>of</strong> six<br />

representative vertex chain codes including the original<br />

vertex chain code (VCC), the extended vertex chain code<br />

(E_VCC), the variable-length vertex chain code<br />

(V_VCC), the variable-length compressed vertex chain<br />

code (VC_VCC), the dynamic vertex chain code<br />

(D_VCC), and the equal-length compressed vertex chain<br />

code (EC_VCC).<br />

A. Original Vertex Chain Code (VCC)<br />

In 1999, E. Bribiesca first introduced the original<br />

vertex chain code (VCC) [16]. The VCC is based on the<br />

numbers <strong>of</strong> cell vertices which are in touch with the<br />

bounding contour <strong>of</strong> the shape. This code determines the<br />

number <strong>of</strong> pixels <strong>of</strong> the binary shape that are in touch<br />

with the observed vertex <strong>of</strong> the shape’s boundary contour.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2841<br />

The latter represents a connected sequence <strong>of</strong> edges and<br />

vertices on the border between the shape and its exterior.<br />

In the VCC, the boundaries or contours <strong>of</strong> any discrete<br />

shape that are composed <strong>of</strong> regular cells can be<br />

represented by chains. Therefore, these chains represent<br />

closed boundaries. The minimum perimeter <strong>of</strong> closed<br />

boundary corresponds to the shape composed only <strong>of</strong> one<br />

cell. An element <strong>of</strong> a chain indicates the number <strong>of</strong> cell<br />

vertices, which are in touch with the bounding contour <strong>of</strong><br />

the shape in that element position.<br />

Figure 1 is an illustration <strong>of</strong> VCC which presents a<br />

shape. It is previous that there are only three numbers <strong>of</strong><br />

0, 1, and 2 which are needed to present a boundary<br />

composed with pixels <strong>of</strong> quadrate grids.<br />

In order to digitally represent these numbers <strong>of</strong> cell<br />

vertices, two bits are needed for each number. The<br />

element 1, 2, 3 <strong>of</strong> VCC can be represented by their 2-bit<br />

binary equivalents, as shown in Table I.<br />

TABLE I.<br />

ENCODING OF THE ELEMENT OF ORIGINAL VCC<br />

VCC 1 2 3<br />

Binary code 01 10 11<br />

As an illustration, consider the shape <strong>of</strong> Figure 1, when<br />

starting at the left-top point and walking along the<br />

boundary in a counter-clockwise direction, the VCC <strong>of</strong><br />

the contour is<br />

1 2 3 1 2 2 1 2 2 2 1 3 1 2 2 1 3 1 2 2,<br />

as shown in Figure 1, or in binary form,<br />

01 10 11 01 10 10 01 10 10 10 01 11 01 10 10 01 11<br />

01 10 10.<br />

Figure 1. Obtaining the original VCC from the shape.<br />

As we can see from the above, the numbers <strong>of</strong> chain<br />

code <strong>of</strong> VCC for the shape <strong>of</strong> Figure 1 are 20, and the<br />

numbers <strong>of</strong> binary bit <strong>of</strong> it are 40.<br />

The VCC is invariant under translation and rotation.<br />

Using this concept <strong>of</strong> chain code it is possible to relate<br />

the chain length to the contact perimeter, which<br />

corresponds to the sum <strong>of</strong> the boundaries <strong>of</strong> neighboring<br />

cells <strong>of</strong> the shape; also, to relate the chain nodes to the<br />

contact vertices, which correspond to the vertices <strong>of</strong><br />

neighboring cells. So, in this way, these relations among<br />

the chain and the characteristics <strong>of</strong> interior <strong>of</strong> the shape<br />

allow you to obtain interesting properties [16].<br />

Since the VCC was proposed, it has obtained a lot <strong>of</strong><br />

applications. For example, in [17], VCC was used for<br />

image recognition. In [18], VCC was used in neural<br />

network corner detection. In [19], VCC was used in skew<br />

© 2012 ACADEMY PUBLISHER<br />

detection for form document. In [20], VCC was used for<br />

calculating the compact and posture ratio <strong>of</strong> an image<br />

region.<br />

B. Extended Vertex Chain Code (E_VCC)<br />

Considering the compression efficiency <strong>of</strong> chain code,<br />

in 2007, Y.K. Liu et al. proposed extended vertex chain<br />

code (E_VCC) which is developed based on the original<br />

VCC [21]. Considering that the original VCC uses 2 bits<br />

to represent only three code elements 1, 2, and 3, E_VCC<br />

is introduced to add an element 0 without increasing the<br />

average bits per code. In E_VCC, the element “0” is<br />

added according to the experiments which show that the<br />

combination <strong>of</strong> element 1 and 3 is the most <strong>of</strong>ten<br />

occurring combination. Then the combination <strong>of</strong> element<br />

1 and 3 is substituted by code 0.<br />

In order to digitally represent these codes, two bits are<br />

needed for each code, and the binary bits <strong>of</strong> each code are<br />

not increased according to the original VCC. Table II<br />

shows the code relationship between E_VCC and original<br />

VCC and the binary form <strong>of</strong> E_VCC which consists <strong>of</strong><br />

four code symbols.<br />

TABLE II.<br />

RELATIONSHIP BETWEEN E_VCC AND ORIGINAL VCC<br />

E_VCC 0 1 2 3<br />

VCC 1 and 3 1 2 3<br />

Binary <strong>of</strong><br />

E_VCC<br />

00 01 10 11<br />

As an illustration, consider the previous shape <strong>of</strong><br />

Figure 1, when starting at the left-top point and walking<br />

along the boundary in a counter-clockwise direction, the<br />

E_VCC <strong>of</strong> the contour is<br />

1 2 3 1 2 2 1 2 2 2 0 1 2 2 0 1 2 2,<br />

as shown in Figure 2, or in binary form,<br />

01 10 11 01 10 10 01 10 10 10 00 01 10 10 00 01 10<br />

10.<br />

Figure 2. Obtaining the E_VCC from the shape.<br />

As we can see from the above, the numbers <strong>of</strong> chain<br />

code <strong>of</strong> E_VCC for the shape <strong>of</strong> Figure 1 are 18 which<br />

are less than the original VCC, and the numbers <strong>of</strong> binary<br />

bit <strong>of</strong> it are 36 for the same condition.<br />

From the example it is clear that the length <strong>of</strong> the<br />

E_VCC is less than the original VCC because <strong>of</strong> the two<br />

code symbols in original VCC are substituted by one<br />

code symbol in E_VCC but with the same symbol length<br />

with the E_VCC.<br />

C. Variable-Length Vertex Chain Code (V_VCC)<br />

Reference [21] also proposed a new vertex chain code<br />

named variable-length vertex chain code (V_VCC) which


2842 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

is also developed based on the original VCC. The<br />

V_VCC also uses the codes <strong>of</strong> VCC which has three<br />

elements 1, 2, and 3. The difference between them is that<br />

the definition <strong>of</strong> the V_VCC considers the probability <strong>of</strong><br />

three codes occurring. The experiments showed that the<br />

probability <strong>of</strong> code 2 is greater than the other two.<br />

Therefore, in V_VCC, the one bit binary digit 0 is used to<br />

represent for code 2, the two bits binary digit 10 and 11 is<br />

used to represent respectively for code 1 and code 3<br />

which is with variable-length coding by applying the<br />

concept <strong>of</strong> Huffman coding concept.<br />

Table III shows the code relationship between V_VCC<br />

and original VCC and their binary form <strong>of</strong> each code<br />

symbol are also listed. TABLE III.<br />

RELATIONSHIP BETWEEN V_VCC AND ORIGINAL VCC<br />

V_VCC 1 2 3<br />

VCC 1 2 3<br />

Binary <strong>of</strong> VCC 01 10 11<br />

Binary <strong>of</strong><br />

V_VCC<br />

10 0 11<br />

As an illustration, consider the previous shape <strong>of</strong><br />

Figure 1, when starting at the left-top point and walking<br />

along the boundary in a counter-clockwise direction, the<br />

V_VCC <strong>of</strong> the contour is the same as the original VCC, it<br />

is<br />

1 2 3 1 2 2 1 2 2 2 1 3 1 2 2 1 3 1 2 2,<br />

as shown in Figure 1, but the binary form <strong>of</strong> the V_VCC<br />

(shown in figure 3) is different from the original VCC, it<br />

is<br />

10 0 11 10 0 0 10 0 0 0 10 11 10 0 0 10 11 10 0 0.<br />

Figure 3. Obtaining the V_VCC from the shape.<br />

As we can see from the above, the numbers <strong>of</strong> chain<br />

code <strong>of</strong> V_VCC for the shape <strong>of</strong> Figure 1 are 20 which<br />

are as same as the original VCC, and the numbers <strong>of</strong><br />

binary bit <strong>of</strong> it are 30 because that the numbers <strong>of</strong> binary<br />

bit for code 2 are decreased.<br />

From the example it is clear that the function <strong>of</strong> the<br />

V_VCC is the same as the original VCC, but the length<br />

<strong>of</strong> the V_VCC is less than the original VCC.<br />

D. Variable-Length Compressed Vertex Chain Code<br />

(VC_VCC)<br />

Reference [21] also proposed a third new vertex chain<br />

code named variable-length compressed vertex chain<br />

code (VC_VCC) which is developed based on the<br />

original VCC and Huffman coding concept by<br />

considering the different probabilities <strong>of</strong> the codes. The<br />

VC_VCC is constructing by taking account the E_VCC<br />

© 2012 ACADEMY PUBLISHER<br />

and V_VCC and it consists <strong>of</strong> five codes: Code 1, Code 2,<br />

Code 3, Code 4 and Code 5. The two new codes added<br />

for representing respectively for two combinations, one is<br />

the combination with first code 1 and second code 3, the<br />

other is the combination with first code 3 and second<br />

code 1. The probabilities <strong>of</strong> the codes were obtained<br />

experimentally [21]. From the experiments, it gets that<br />

the probability <strong>of</strong> the two combinations are equal.<br />

According to the statistical probabilities, the binary<br />

Huffman codes 0, 10, 110, 1110, and 1111 are assigned<br />

to the code values <strong>of</strong> Code 1, Code 2, Code 3, Code 4 and<br />

Code 5 respectively. Table IV shows the relationship<br />

between VC_VCC and original VCC and the probability<br />

and binary form <strong>of</strong> each code.<br />

TABLE IV.<br />

RELATIONSHIP BETWEEN VC_VCC AND ORIGINAL VCC<br />

VC_VCC Code 1 Code 2 Code 3 Code 4 Code 5<br />

VCC 2 1 and 3 3 and 1 1 3<br />

Probability 0.657 0.138 0.138 0.034 0.033<br />

Binary <strong>of</strong><br />

VC_VCC<br />

0 10 110 1110 1111<br />

As an illustration, consider the previous shape <strong>of</strong><br />

Figure 1, when starting at the left-top point and walking<br />

along the boundary in a counter-clockwise direction, the<br />

VC_VCC <strong>of</strong> the contour is<br />

c4 c1 c3 c1 c1 c4 c1 c1 c1 c2 c4 c1 c1 c2 c4 c1 c1,<br />

as shown in Figure 4, where the c1, c2, c3, c4 and c5 are<br />

the respective abbreviations for Code 1, Code 2, Code 3,<br />

Code 4 and Code 5, or in binary form<br />

1110 0 110 0 0 1110 0 0 0 10 1110 0 0 10 1110 0 0.<br />

Figure 4. Obtaining the VC_VCC from the shape.<br />

As we can see from the above, the numbers <strong>of</strong> chain<br />

code <strong>of</strong> VC_VCC for the shape <strong>of</strong> Figure 1 are 17 which<br />

are the least one in the vertex chain codes among the<br />

above, and the numbers <strong>of</strong> binary bit <strong>of</strong> it are 33 which<br />

are not the least among the above for the reason that the<br />

advantage <strong>of</strong> Huffman coding relies in the conditions<br />

where the length <strong>of</strong> the shape contours which will be<br />

described is more longer. Namely, the more the length <strong>of</strong><br />

the shape, the less the numbers <strong>of</strong> binary bit required by<br />

VC_VCC compared to the chain codes without Huffman<br />

coding.<br />

Within all <strong>of</strong> the vertex chain codes described above,<br />

the result <strong>of</strong> the comparison shows that the VC_VCC is<br />

the most efficient [21]. Up to now, VC_VCC remains one<br />

<strong>of</strong> the most efficient to compress binary objects. In [22],<br />

VC_VCC was further compressed by applying the<br />

concept <strong>of</strong> segment on it.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2843<br />

E. Dynamic Vertex Chain code<br />

To decrease the chain length <strong>of</strong> the vertex chain code,<br />

in 2010, G. F. Yu et al. proposed dynamic vertex chain<br />

code (D_VCC) which is developed based on the original<br />

VCC [23]. The main idea <strong>of</strong> D_VCC is to change the<br />

means <strong>of</strong> original VCC in which each code expresses the<br />

numbers <strong>of</strong> cell vertices, and assigns new code value for<br />

the elements <strong>of</strong> chain code. There are ten elements in<br />

D_VCC, from the decimal number 0 to 9. The decimal<br />

number 0 (or 9) represents code “1” <strong>of</strong> original VCC, the<br />

decimal number 9 (or 0) represents code “3” <strong>of</strong> original<br />

VCC, and the decimal number 1 to 8 represent code “2”<br />

and the numbers <strong>of</strong> sequential code “2” directly. For<br />

instance, the decimal number 1 represents the one code<br />

“2”, the decimal number 2 represents the two sequential<br />

codes “22” <strong>of</strong> VCC, and so on. Table V shows the<br />

relationship between D_VCC and original VCC.<br />

TABLE V.<br />

RELATIONSHIP BETWEEN D_VCC AND ORIGINAL VCC<br />

D_VCC VCC<br />

0 1 or 3<br />

1 2<br />

2 22<br />

3 222<br />

4 2222<br />

5 22222<br />

6 222222<br />

7 2222222<br />

8 22222222<br />

9 3 or 1<br />

As an illustration, consider the shape <strong>of</strong> Figure 5, when<br />

starting at the left-top point and walking along the<br />

boundary in a counter-clockwise direction, the VCC <strong>of</strong><br />

the contour is<br />

1 2 3 1 3 1 1 3 2 2 2 2 2 1 1 3 2 2 2 2 2 2 2 1 1 2 3 1 3<br />

1 3 1 3 3 2 2 2 2 1 2 1 2 3 1 1 2 3 3 2 1 3 1 2 2,<br />

as shown in Figure 5, or in binary form,<br />

01 10 11 01 11 01 01 11 10 10 10 10 10 01 01 11 10<br />

10 10 10 10 10 10 01 01 10 11 01 11 01 11 01 11 11 10<br />

10 10 10 01 10 01 10 11 01 01 10 11 11 10 01 11 01 10<br />

10.<br />

Figure 5. Obtaining the VCC from the shape.<br />

© 2012 ACADEMY PUBLISHER<br />

In the same conditions, when expressing with D_VCC,<br />

the chain code <strong>of</strong> the contour is<br />

0 1 9 0 9 0 0 9 5 0 0 9 7 0 0 2 9 0 9 0 9 0 9 9 4 0 1 0 1<br />

9 0 0 1 9 9 1 0 9 0 2,<br />

as shown in Figure 6, where the code “0” and “9” <strong>of</strong><br />

D_VCC represent the code “1” and “3” <strong>of</strong> VCC<br />

respectively. When expressing in binary form, it is<br />

0000 0001 1001 0000 1001 0000 0000 1001 0101<br />

0000 0000 1001 0111 0000 0000 0010 1001 0000 1001<br />

0000 1001 0000 1001 1001 0100 0000 0001 0000 0001<br />

1001 0000 0000 0001 1001 1001 0001 0000 1001 0000<br />

0010.<br />

Figure 6. Obtaining the D_VCC from the shape.<br />

As we can see from the above, the numbers <strong>of</strong> chain<br />

code <strong>of</strong> D_VCC for the shape <strong>of</strong> Figure 5 are 40 which<br />

are less than the original VCC with 54 for the reason that<br />

the codes <strong>of</strong> D_VCC apply the method <strong>of</strong> arithmetic<br />

coding, but the numbers <strong>of</strong> binary bit <strong>of</strong> it are 160 which<br />

are more than the original VCC with 108 because <strong>of</strong> the<br />

coding for the codes <strong>of</strong> D_VCC are also with equal<br />

length. Moreover, from the above description, we can see<br />

that D_VCC has ten codes but uses four binary bits for<br />

each code. It is obviously that four binary bits can encode<br />

for sixteen codes at most, it generates redundancy among<br />

the rest.<br />

So, it is obviously that the ultimate goal <strong>of</strong> D_VCC is<br />

to reduce the general numbers <strong>of</strong> chain code by<br />

overlooking the memory capability occupied by the chain<br />

code. In other word, the general numbers <strong>of</strong> binary bits<br />

are increased largely.<br />

F. Equal-Length Compressed Vertex Chain Code<br />

(EC_VCC)<br />

To further decrease the chain length <strong>of</strong> the vertex chain<br />

code, in [23], another vertex chain code named equallength<br />

compressed vertex chain code (EC_VCC) was<br />

proposed, which is developed based on E_VCC. The<br />

main idea <strong>of</strong> EC_VCC is to replace the minimum unit bit<br />

<strong>of</strong> other vertex chain code with byte. EC_VCC utilizes<br />

one byte (eight binary bits) for one code, and it divides<br />

the eight bits into two parts: two high bits and six low bits.<br />

The encodings <strong>of</strong> two high bits represent for four code<br />

values <strong>of</strong> EC_VCC, and the encodings <strong>of</strong> six low bits<br />

represent for the numbers <strong>of</strong> sequential codes indicated<br />

by the two high bits. For the six binary bits can encode


2844 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

for 64 codes at most, if the numbers <strong>of</strong> sequential codes<br />

exceed 64, there will start a new byte.<br />

Table VI shows the relationship between EC_VCC and<br />

original VCC. The four codes <strong>of</strong> the two high bits <strong>of</strong> a<br />

byte are “00”, “01”, “10”, and “11”, which represent code<br />

0, 1, 2, 3 <strong>of</strong> E_VCC respectively. The six low bits are<br />

indicated by “b5b4b3b2b1b0”, in which “b” means bit<br />

and the number from 5 to 0 indicates the location <strong>of</strong> each<br />

bit <strong>of</strong> the byte. The binary code <strong>of</strong> the six low bits is from<br />

“00000” to “1111111”, which represents the decimal<br />

value from 0 to 63. So the decimal number 0 indicates the<br />

number <strong>of</strong> sequential codes is one, the decimal number 1<br />

indicates the numbers <strong>of</strong> sequential codes are two, and so<br />

on, until the decimal number 63 indicates the numbers <strong>of</strong><br />

sequential codes are 64. When the numbers <strong>of</strong> sequential<br />

codes exceed 64, there will start a new byte.<br />

TABLE VI.<br />

RELATIONSHIP BETWEEN EC_VCC AND ORIGINAL VCC<br />

EC_VCC (eight binary bits) E_VCC<br />

00 b5b4b3b2b1b0<br />

Code 0 and its sequential<br />

number/numbers<br />

01b5b4b3b2b1b0<br />

Code 1 and its sequential<br />

number/numbers<br />

10 b5b4b3b2b1b0<br />

Code 2 and its sequential<br />

number/numbers<br />

11 b5b4b3b2b1b0<br />

Code 3 and its sequential<br />

number/numbers<br />

As an illustration, consider the shape <strong>of</strong> Figure 5, in<br />

the same conditions, when encoding by EC_VCC, the<br />

binary form <strong>of</strong> the chain code is<br />

01000000 10000000 11000000 00000000 01000001<br />

11000000 10000100 01000001 11000000 10000110<br />

01000001 10000000 11000000 00000010 11000000<br />

10000011 01000000 10000000 01000000 10000000<br />

11000000 01000001 10000000 11000001 10000000<br />

00000000 01000000 10000001.<br />

As we can see from the above, the numbers <strong>of</strong> chain<br />

code <strong>of</strong> EC_VCC for the shape <strong>of</strong> Figure 5 are 28 which<br />

are less than the original VCC with 54 for the same<br />

reason with D_VCC that the codes <strong>of</strong> them apply the<br />

method <strong>of</strong> arithmetic coding, but the numbers <strong>of</strong> binary<br />

bit <strong>of</strong> it are 224 which are more than the D_VCC with<br />

160 and the original VCC with 108 because <strong>of</strong> the same<br />

reason with D_VCC that the coding for the codes <strong>of</strong> them<br />

are also with equal length. Moreover, from the above<br />

description, we can see that EC_VCC uses 64 codes to<br />

represent code "1" <strong>of</strong> VCC which only needs two code in<br />

deed because the sequential numbers <strong>of</strong> code "1" are only<br />

two at most. It is obviously that the code values <strong>of</strong><br />

EC_VCC generate more redundancy than the D_VCC.<br />

It is obviously that the ultimate goal <strong>of</strong> EC_VCC is<br />

also to reduce the general numbers <strong>of</strong> chain code by<br />

overlooking the memory capability occupied by the chain<br />

code, which is as same as D_VCC. Each code <strong>of</strong><br />

EC_VCC has eight binary bits, and the whole numbers <strong>of</strong><br />

codes in EC_VCC are 256.<br />

III. COMPARISON AND EVALUATION<br />

© 2012 ACADEMY PUBLISHER<br />

A. Method <strong>of</strong> Evaluation for Chain Codes<br />

In [21], a method for evaluating the efficiency <strong>of</strong> chain<br />

codes is proposed. The efficiency E <strong>of</strong> the chain code was<br />

defined as:<br />

E = C / L (1)<br />

where C is the average expression ability per code, and<br />

L represents the average number <strong>of</strong> bits per code (the<br />

average code length). In other words, the efficiency <strong>of</strong> a<br />

chain code is proportional to the average expression<br />

ability per code, and with inverse ratio to the average<br />

number <strong>of</strong> bits per code. It means the average length <strong>of</strong><br />

contours which represented by each binary bit.<br />

The expression ability per code C refers to the average<br />

length <strong>of</strong> contours (or digital curves) which can be<br />

represented by every code <strong>of</strong> the chain code (measured in<br />

pixel units). When a code represents the relationship<br />

between two edge-adjacency pixels, such as the code “1”,<br />

“2” and “3” <strong>of</strong> E_VCC, the expression abilities <strong>of</strong> them<br />

become 1, and when a code represents the relationship<br />

between two corner-adjacency pixels, such as the code<br />

“0” <strong>of</strong> E_VCC, the expression ability <strong>of</strong> it becomes 2.<br />

B. Comparison <strong>of</strong> Chain Codes<br />

Figure 7 shows ten sample shapes we used to apply<br />

vertex chain codes, as taken from black-and-white raster<br />

images, whose sizes and numbers <strong>of</strong> pixels are shown in<br />

Table VII. We compared them from two aspects with the<br />

six vertex chain codes we described above. One is from<br />

the way <strong>of</strong> experiment results; the other is from the way<br />

<strong>of</strong> theoretic analysis. All these contours were<br />

counterclockwise oriented in the process <strong>of</strong> experiments.<br />

Figure 7. Sample shapes utilized to apply vertex chain codes.<br />

TABLE VII.<br />

SIZE AND NUMBER OF PIXELS OF EACH SAMPLE SHAPE<br />

Shape Size Pixels<br />

Tiger 133×129 17157<br />

Dragon 127×143 18161<br />

Gun 557×258 143706<br />

Mouse 508×466 236728<br />

Flower 484×478 231352<br />

Handwriting 352×335 117920<br />

Angel wings 654×315 206010<br />

Moon cake 504×463 233352<br />

Table 364×400 145600<br />

Cuttlefish 396×376 148896<br />

1) Comparison on Experiment Results<br />

First, we calculated the chain lengths <strong>of</strong> each contour<br />

shape in terms <strong>of</strong> the numbers <strong>of</strong> chain code with the six


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2845<br />

vertex chain codes described as above, which are showed<br />

in Table VIII.<br />

As it can be seen in Table VIII, the longest chain<br />

length comes from VCC and V_VCC with 29600 codes<br />

<strong>of</strong> total length following by E_VCC with 24124. On the<br />

other hand, the shortest chain length comes from<br />

EC_VCC with 14241 codes <strong>of</strong> total length following by<br />

TABLE VIII.<br />

CHAIN LENGTH, IN NUMBERS OF CHAIN CODE, FOR THE SAMPLE SHAPES<br />

D_VCC with 22310 and then VC_VCC with 22265<br />

which is very near to the D_VCC.<br />

Then, we calculated the memory capability <strong>of</strong> each<br />

contour shape in terms <strong>of</strong> the numbers <strong>of</strong> binary bit with<br />

the six vertex chain codes described as above, which are<br />

showed in Table IX.<br />

VCC E_VCC V_VCC VC_VCC D_VCC EC_VCC<br />

Tiger 868 698 868 648 666 424<br />

Dragon 1134 939 1134 843 876 608<br />

Gun 1884 1462 1884 1401 1346 766<br />

Mouse 4140 3235 4140 2992 3334 2085<br />

Flower 4602 3801 4602 3468 3599 2419<br />

Handwriting 4112 3389 4112 3175 3414 2344<br />

Angel wings 3454 2760 3454 2485 2780 1745<br />

Moon cake 2026 1640 2026 1476 1532 956<br />

Table 3288 3031 3288 2913 1336 819<br />

Cuttlefish 4092 3169 4092 2864 3427 2075<br />

Total 29600 24124 29600 22265 22310 14241<br />

TABLE IX.<br />

MEMORY CAPABILITY, IN NUMBERS OF BINARY BIT, FOR THE SAMPLE SHAPES<br />

VCC E_VCC V_VCC VC_VCC D_VCC EC_VCC<br />

Tiger 1736 1396 1364 1120 2664 3392<br />

Dragon 2268 1878 1784 1481 3504 4864<br />

Gun 3768 2924 2884 2131 5384 6128<br />

Mouse 8280 6470 6642 5183 13336 16680<br />

Flower 9204 7602 7206 6149 14396 19352<br />

Handwriting 8224 6778 6606 6378 13656 18752<br />

Angel wings 6908 5520 5566 4413 11120 13960<br />

Moon cake 4052 3280 3172 2410 6128 7648<br />

Table 6576 6062 4100 3626 5344 6552<br />

Cuttlefish 8184 6338 6700 5109 13708 16600<br />

Total 59200 48248 46024 38000 89240 113928<br />

As it can be seen in Table IX, the most number <strong>of</strong> And then, based on the chain lengths <strong>of</strong> each contour<br />

binary bits produced by EC_VCC with 113928 bits <strong>of</strong> shape shown in Table VIII and the memory capability <strong>of</strong><br />

total memory capability following by D_VCC with 89240 each contour shape shown in Table IX, we calculated the<br />

bits <strong>of</strong> total memory capability. On the other hand, the average length in terms <strong>of</strong> bits per symbol with the six<br />

least number <strong>of</strong> binary bits produced by VC_VCC with vertex chain codes described as above, which are showed<br />

38000 bits <strong>of</strong> total memory capability following by in Table X. In Table X, the numbers <strong>of</strong> symbols <strong>of</strong> each<br />

V_VCC with 46024 bits <strong>of</strong> total memory capability. vertex chain code are also listed.<br />

TABLE X.<br />

AVERAGE LENGTH OF EACH CODE, IN NUMBERS OF BITS PER SYMBOL<br />

VCC E_VCC V_VCC VC_VCC D_VCC EC_VCC<br />

Numbers <strong>of</strong> symbols 3 4 3 5 10 256<br />

Bits/symbol 2 2 1.55 1.71 4 8<br />

As it can be seen in Table X, the longest average<br />

length in bits per symbol is produced by EC_VCC with 8<br />

bits per symbol following by D_VCC with 4 bits per<br />

symbol. On the other hand, the shortest average length in<br />

bits per symbol is produced by V_VCC with 1.55 bits per<br />

symbol following by VC_VCC with 1.77 bits per symbol.<br />

At the same time, it can be seen in Table X, the<br />

numbers <strong>of</strong> symbols <strong>of</strong> EC_VCC are the most with 256<br />

symbols following by D_VCC with 10 symbols, and the<br />

numbers <strong>of</strong> symbols <strong>of</strong> VCC and V_VCC are the least<br />

with 3 symbols following by E_VCC with 4 symbols and<br />

then the VC_VCC with 5 symbols.<br />

© 2012 ACADEMY PUBLISHER<br />

The results <strong>of</strong> chain codes <strong>of</strong> D_VCC and EC_VCC<br />

above show that the more the numbers <strong>of</strong> symbols, the<br />

more bits per symbol <strong>of</strong> the chain code. And the results <strong>of</strong><br />

chain codes <strong>of</strong> V_VCC and VC_VCC above show that<br />

the use <strong>of</strong> Huffman encoding concept can decrease the<br />

bits per symbol by contrast them to the chain codes <strong>of</strong><br />

VCC and E_VCC.<br />

The next, we calculated the average expression ability.<br />

Analyzing the above six vertex chain codes, for VCC and<br />

V_VCC, the expression ability <strong>of</strong> each code is 1 because<br />

each code represents the relationship between two edge-


2846 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

adjacency pixels. Namely, the average expression<br />

abilities <strong>of</strong> VCC and V_VCC are 1.<br />

For E_VCC and VC_VCC, the expression ability <strong>of</strong><br />

some codes is 1 because they represent the relationship<br />

between two edge-adjacency pixels such as code 1, 2 and<br />

3 <strong>of</strong> E_VCC and code c1, c4 and c5 <strong>of</strong> VC_VCC, and the<br />

expression ability <strong>of</strong> the other codes is 2 because they<br />

represent the relationship between two corner-adjacency<br />

pixels such as code 0 <strong>of</strong> E_VCC and code c2 and c3 <strong>of</strong><br />

VC_VCC. So, we calculated the probabilities <strong>of</strong> the<br />

codes with expression ability <strong>of</strong> 1 and 2 respectively, and<br />

then calculated the average expression abilities <strong>of</strong><br />

E_VCC and VC_VCC.<br />

For D_VCC and EC_VCC, some codes represent the<br />

relationship between two edge-adjacency pixels such as<br />

code 0, 1 and 9 <strong>of</strong> D_VCC and code 01000000,<br />

10000000, and 11000000 in binary form <strong>of</strong> EC_VCC,<br />

and the others represent the relationship between two<br />

corner-adjacency pixels such as code 00000000 in binary<br />

form <strong>of</strong> EC_VCC. So, some codes have the expression<br />

ability <strong>of</strong> 1 and the others have the expression ability <strong>of</strong> 2.<br />

At the same time, because some codes are generated<br />

based on calculation, they represent the relationship not<br />

only between two pixels but a number. For instance, the<br />

expression ability <strong>of</strong> code 2 to code 8 <strong>of</strong> D_VCC is from<br />

2 to 8, because they represent the sequential numbers <strong>of</strong><br />

code 2 are from 2 to 8; the expression ability <strong>of</strong> some<br />

codes <strong>of</strong> EC_VCC such as code “01000001”,<br />

“01000010”, and so on, until code “01111111” in binary<br />

form, and code “10000001”, “10000010”, and so on, until<br />

code “10111111” in binary form, and code “11000001”,<br />

TABLE XI.<br />

AVERAGE EXPRESSION ABILITY CALCULATED BASED ON THE SAMPLE SHAPES<br />

“11000010”, and so on, until code “11111111” in binary<br />

form can be from 2, 3 up to 64 respectively; and the<br />

expression ability <strong>of</strong> some codes <strong>of</strong> EC_VCC such as<br />

code “00000001”, “00000010”, and so on, until code<br />

“00111111” in binary form can be from 4, 6, up to 128<br />

respectively. To sum up, we calculated the probabilities<br />

<strong>of</strong> different codes with different expression ability<br />

respectively, and then calculated the average expression<br />

abilities <strong>of</strong> D_VCC and EC_VCC.<br />

Table XI shows the number <strong>of</strong> chain symbols, different<br />

chain symbols with same expression ability and<br />

probabilities for each, and the average expression ability<br />

<strong>of</strong> each vertex chain codes calculated by applying to the<br />

above ten sample shapes. In Table XI , the chain symbols<br />

<strong>of</strong> EC_VCC are represented in decimal form, namely the<br />

symbols from 0 to 255 are represented for the codes from<br />

“00000000” to “11111111” in binary form <strong>of</strong> one byte<br />

respectively.<br />

For the last row <strong>of</strong> Table XI, it only provided the<br />

average expression ability <strong>of</strong> EC_VCC. Considering that<br />

the symbols <strong>of</strong> EC_VCC are very large (from 0 up to<br />

256), and the expression ability for each symbol is vary<br />

(from 1 up to 128), it did not list different chain symbols<br />

with same expression ability and probabilities<br />

respectively, but only represent the total probabilities <strong>of</strong><br />

1.000 for all symbols. Nevertheless, the result <strong>of</strong> average<br />

expression ability <strong>of</strong> EC_VCC is also calculated based on<br />

the experiments on the same ten sample shapes with the<br />

same method applied to other vertex chain codes, the<br />

difference lies in the amount <strong>of</strong> calculation is very large.<br />

Number <strong>of</strong><br />

symbols<br />

Chain symbols Expression ability probabilities Average expression ability<br />

VCC 3 1,2,3 1 1.000 1.00<br />

V_VCC 3 1,2,3 1 1.000 1.00<br />

E_VCC<br />

4<br />

1,2,3<br />

0<br />

1<br />

2<br />

0.769<br />

0.231<br />

1.23<br />

VC_VCC<br />

5<br />

c1,c4,c5<br />

c2,c3<br />

1<br />

2<br />

0.664<br />

0.336<br />

1.34<br />

D_VCC<br />

0,1,9 1 0.869<br />

2 2 0.047<br />

3 3 0.028<br />

10<br />

4<br />

5<br />

4<br />

5<br />

0.015<br />

0.008<br />

1.40<br />

6 6 0.004<br />

7 7 0.004<br />

8 8 0.025<br />

EC_VCC 256 0~255 1~128 1.000 2.08<br />

Synthesizing the above analysis and data, we<br />

calculated the efficiency E <strong>of</strong> the six vertex chain codes<br />

based on the average code length L obtained from the<br />

above Table X and the average expression ability per<br />

code C obtained from the above Table XI, as shown in<br />

Table XII.<br />

TABLE XII.<br />

EFFICIENCY OF VERTEX CHAIN CODES<br />

© 2012 ACADEMY PUBLISHER<br />

C L E<br />

VCC 1 2.00 0.50<br />

E_VCC 1.23 2.00 0.62<br />

V_VCC 1 1.55 0.65<br />

VC_VCC 1.34 1.71 0.78<br />

D_VCC 1.40 4.00 0.35<br />

EC_VCC 2.08 8.00 0.26<br />

As it can be seen in Table XII, the highest efficiency is<br />

produced by VC_VCC with 0.78 following by V_VCC<br />

with 0.65 and then E_VCC with 0.62. On the other hand,


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2847<br />

the lowest efficiency is produced by EC_VCC with 0.26<br />

following by D_VCC with 0.35 and then VCC with 0.50.<br />

2) Comparison on Theoretic Analysis<br />

Analyzing the reason <strong>of</strong> the generation <strong>of</strong> different<br />

efficiencies, the two highest efficiency produced by the<br />

two vertex chain codes with not much symbols <strong>of</strong> chain<br />

code and variable length produced by Huffman coding.<br />

Namely, the numbers <strong>of</strong> bits per symbol is varying with<br />

optimum coding. On the other hand, the two lowest<br />

efficiency produced by the two vertex chain codes with<br />

equal length and much symbols. Even so, D_VCC and<br />

EC_VCC apply the idea <strong>of</strong> arithmetic encoding which<br />

can be referenced in producing new methods <strong>of</strong> chain<br />

code. Although D_VCC and EC_VCC produced the<br />

lowest efficiency, but for the reason that there are<br />

redundancy codes in them, and the number <strong>of</strong> symbols is<br />

too large with unnecessarily.<br />

To enhance the efficiency <strong>of</strong> vertex chain code, we can<br />

consider from the selection <strong>of</strong> numbers <strong>of</strong> symbols, the<br />

coding <strong>of</strong> chain code symbols with variable-length<br />

encoding and arithmetic encoding, etc.<br />

IV. CONCLUSION<br />

The methods <strong>of</strong> vertex chain code discussed thus far<br />

are by no means the all. In the paper, we described the<br />

techniques <strong>of</strong> six vertex chain codes. The techniques are<br />

discussed from two aspects: the description <strong>of</strong> techniques<br />

<strong>of</strong> vertex chain code and the comparison and evaluation<br />

<strong>of</strong> them.<br />

The main reason for the popularity <strong>of</strong> vertex chain<br />

codes is their compression capabilities with more and<br />

more economical in their uses <strong>of</strong> memory capacity. We<br />

hope our research in the paper can provide convenience<br />

and reference for the chain code researchers and users.<br />

Although not mentioned in this paper, there have been<br />

other approaches <strong>of</strong> vertex chain code. The goal <strong>of</strong> the<br />

research related to pattern recognition and image<br />

processing, but there are some problems such as<br />

extending some new algorithm about vertex chain code,<br />

which are the work we need to do in the future.<br />

ACKNOWLEDGMENT<br />

This work was supported by the National Natural<br />

Science Foundation <strong>of</strong> China (60675008) and the Natural<br />

Science Foundation <strong>of</strong> Liaoning Province (201102042).<br />

REFERENCES<br />

[1] Y.K. Liu, B. Zalik, “An Efficient Chain Code with<br />

Huffman Coding,” Pattern Recognition, 2005, 38 (4):553–<br />

557.<br />

[2] S. Zahir, K. Dhou, “A new chain coding based method for<br />

binary image compression and reconstruction,” PCS,<br />

Lisbon, Portugal, 2007, pp. 1321–1324.<br />

[3] H. Sánchez-Cruz, M.A. Rodríguez-Díaz, “Coding Long<br />

Contour Shapes <strong>of</strong> Binary Objects,” 14th Iberoamerican<br />

Congress on Pattern Recognition, CIARP, 2009, pp. 45–52.<br />

[4] H. Sánchez-Cruz, “Proposing a new code by considering<br />

pieces <strong>of</strong> discrete straight lines in contour shapes,” J. Vis.<br />

Commun. Image R. 2010, 21: 311–324.<br />

© 2012 ACADEMY PUBLISHER<br />

[5] S. Priyadarshini1, G. Sahoo, “A new lossless chain code<br />

compression scheme based on substitution,” International<br />

<strong>Journal</strong> <strong>of</strong> Signal and Imaging Systems Engineering, 2011,<br />

4 (1):50–56.<br />

[6] H. Sun, J.Y. Yang, M.W. Ren, “A fast watershed algorithm<br />

based on chain code and its application in image<br />

segmentation,” Pattern Recognition Letters, 2005, 26(9):<br />

1266–1274.<br />

[7] F. Arrebola, F. Sandoval, “Corner detection and curve<br />

segmentation by multiresolution chain-code linking,”<br />

Pattern Recognition, 2005, 38(10): 1596–1614.<br />

[8] S. Zhao, Y. Xu, H. Li, H. Yang, “A Comparison <strong>of</strong><br />

Lossless Compression Methods for Palmprint Images”,<br />

<strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, 2012, 7(3 ): 594–598.<br />

[9] Z. Zeng, W. Yang, “Design Patent Image Retrieval Based<br />

on Shape and Color Features”, <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, 2012,<br />

7(6 ): 1179-1186.<br />

[10] R.K. Gupta, B. Gurumoorthy, “Automatic extraction <strong>of</strong><br />

free-form surface features (FFSFs),” Computer-Aided<br />

Design, 2010, 44(2): 99–112.<br />

[11] X.L. Yan, L.P. Bu, L.M. Wang, “A Flame Apex Angle<br />

Recognition Arithmetic Based on Chain Code,” Advances<br />

in Intelligent and S<strong>of</strong>t Computing, 2012, 116: 29–35.<br />

[12] I.K.G.D. Putra, M.A. Sentosa, “Hand Geometry<br />

Verification based on Chain Code and Dynamic Time<br />

Warping,” International <strong>Journal</strong> <strong>of</strong> Computer Applications,<br />

2012, 38(12): 17–22.<br />

[13] E. Bribiesca, “A chain code for representing 3D curves,”<br />

Pattern Recognition, 2000, 33(5): 755–765.<br />

[14] H. Sánchez-Cruza, E. Bribiescab, R.M. Rodríguez-<br />

Dagnino, “Efficiency <strong>of</strong> chain codes to represent binary<br />

objects,” Pattern Recognition, 2007, 40(6): 1660–1674.<br />

[15] M. Maitre, M.N. Do, “Depth and depth–color coding using<br />

shape-adaptive wavelets,” <strong>Journal</strong> <strong>of</strong> Visual<br />

Communication and Image Representation, 2010, 21(5):<br />

513–522.<br />

[16] E. Bribiesca, “A new chain code,” Pattern Recognition,<br />

1999, 32(2): 235–251.<br />

[17] M. Salem, A. Sewisy, U. Elyan, “A vertex chain code<br />

approach for image recognition,” ICGST International<br />

<strong>Journal</strong> on Graphics, Vision and Image Processing, 2005,<br />

5(3): 1–8.<br />

[18] S.H. Subri, H. Haron, R. Sallehuddin, “eural network<br />

corner detection <strong>of</strong> vertex chain code,” AIML <strong>Journal</strong>,<br />

2006, 6(1): 37–43.<br />

[19] S.X. Zhang, W. Zhang, G.Q. Li, G.Q. Gu, “Skew detection<br />

for form document using Vertex-chain-code,” <strong>Journal</strong> <strong>of</strong><br />

East China Normal University: Natural Science, 2004,<br />

9(3): 54–58.(In Chinese)<br />

[20] D. Q. Wang, W. Zhang, G. Q. Gu, “Calculating the<br />

compact and posture ratio <strong>of</strong> an image region based on<br />

VCC,” <strong>Journal</strong> <strong>of</strong> East China Normal University: Natural<br />

Science, 2005, 3(1): 59–62. (In Chinese)<br />

[21] Y. K. Liu, W. Wei, P. J. Wang, B. Žalik, “Compressed<br />

vertex chain codes,” Pattern Recognition, 2007, 40(11):<br />

2908–2913.<br />

[22] P. Y. Chen, C. P. Chang, “The segmented vertex chain<br />

code,” <strong>Journal</strong> <strong>of</strong> the Chinese Institute <strong>of</strong> Engineers, 2011,<br />

34(6): 40–44.<br />

[23] G. F. Yu, L. Wang, “Research on compression-type vertex<br />

chain code,” <strong>Journal</strong> <strong>of</strong> Image and Graphics, 2010, 15(10):<br />

1465–1470. (In Chinese)


2848 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Linghua Li female, was born in<br />

Liaoning China in February 1975, a<br />

lecturer in Computer Science Department<br />

at Dalian Nationalities University, Dalian,<br />

China. She received her BSc in<br />

application <strong>of</strong> electronic technique from<br />

Liaoning Normal University in 1998. She<br />

received her MSc in physics from<br />

Liaoning Normal University in 2001. Her<br />

areas <strong>of</strong> interest are pattern recognition and image processing &<br />

recognition.<br />

© 2012 ACADEMY PUBLISHER<br />

Yining Liu female, was born in<br />

Liaoning China in January 1991, a<br />

junior in College <strong>of</strong> Communication<br />

Engineering, Jilin University,<br />

Changchun, China.<br />

Yongkui Liu male, was born in Liaoning<br />

China in May 1961, a pr<strong>of</strong>essor in Computer<br />

Science Department at Dalian Nationalities<br />

University, Dalian, China. He has his BSc in<br />

computer science from Jilin University in<br />

1982. He has his MSc in computer<br />

application from Shenyang University <strong>of</strong><br />

Technology in 1987. He has his PhD in<br />

CAD and computer graphics from Zhejiang<br />

University in 1999. His research interests lie<br />

in computer Graphics, pattern recognition and image processing.<br />

Borut Žalik is a pr<strong>of</strong>essor <strong>of</strong> Computer<br />

Science at University <strong>of</strong> Maribor, Slovenia.<br />

He obtained PhD in computer science in<br />

1993 from the University <strong>of</strong> Maribor,<br />

Slovenia. He is the head <strong>of</strong> Laboratory for<br />

Geometric modeling and multimedia<br />

algorithms. His research interests include<br />

computational geometry, geometric data<br />

compression, scientific visualization and<br />

geographic information systems. He is an<br />

author or co-author <strong>of</strong> more than 70 journal and 90 conference<br />

papers.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2849<br />

Research on Web Query Translation based on<br />

Ontology<br />

Xin Wang<br />

Changchun Institute <strong>of</strong> Technology/College <strong>of</strong> S<strong>of</strong>tware, Changchun, China<br />

Email: wangxccs@126.com<br />

Ying Wang<br />

Jilin University/College <strong>of</strong> Computer Science and Technology, Changchun, China<br />

Email: {wangying2010}@jlu.edu.cn<br />

Abstract—This paper presents a framework <strong>of</strong> query<br />

translation based on ontology between different query<br />

interfaces (forms), which will translate the queries into<br />

suitable formats, hiding the differences from underlying<br />

sources, and enabling users to access data sources<br />

conveniently. Firstly, constructing domain ontology concept<br />

model (DOCM), then, finding out predicate matching<br />

relationships between source form and target forms based<br />

on DOCM, lastly, analyzing query rewrite strategy which<br />

contains four type rewriters to construct automatically a set<br />

<strong>of</strong> constraint mapping rules so that the system can use the<br />

user-provided input values to fill out the appropriate form<br />

fields <strong>of</strong> different web database forms. Experiment results<br />

show that this method is feasible and effective.<br />

Index Terms—Ontology, Query Translation, Predicate<br />

Matching, Query Rewrite<br />

I. INTRODUCTION<br />

Large portions <strong>of</strong> web are buried behind user-oriented<br />

interfaces (forms), which can only be accessed by filling<br />

out forms. When a user poses all the queries on a global<br />

query form, web query translation system will rewrite the<br />

queries into suitable formats for the sources, and<br />

automatically submit the queries to different underlying<br />

physical sources, making the accesses to individual<br />

physical sources transparent to the user[1]. Due to<br />

integrating multiple heterogeneous data sources to<br />

provide users with a unified view, web query translation<br />

will be a complex and challenged key point.<br />

One <strong>of</strong> the earliest efforts at automated form filling<br />

was the ShopBot project[2], which uses domain-specific<br />

heuristics to fill out forms for the purpose <strong>of</strong> comparison<br />

shopping. The ShopBot project, however, did not propose<br />

a general-purpose mechanism <strong>of</strong> filling out forms for<br />

non-shopping domains. Raghavan,S. and Garcia-<br />

Molina,H.[3] build Hidden Web Exposer (HiWE), it does<br />

this by filling out the searchable form, submitting one or<br />

more queries, and after the contents have been extracted,<br />

it stores them in a repository and builds an index to<br />

support user queries. Shu L et al.[4] propose a method to<br />

model the querying capability <strong>of</strong> a query interface based<br />

on the concept <strong>of</strong> atomic queries. Meanwhile, they also<br />

present an approach to construct querying capability<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2849-2856<br />

automatically. Fangjiao Jiang et al.[5] study the query<br />

translation problem <strong>of</strong> the exclusive query interface and<br />

present a novel Zipf-based selectivity estimation<br />

approach for infinite-value attribute. Experimental results<br />

on several large-scale Web databases indicate that the<br />

approach can achieve high precision on selectivity<br />

estimation <strong>of</strong> infinite-value attribute for exclusive query<br />

translation. Yongquan Dong et al.[6] propose a novel<br />

query interface matching approach based on extended<br />

evidence theory for Deep Web. Against the limitations <strong>of</strong><br />

existing combination methods, their approach considers<br />

the credibilities <strong>of</strong> different matchers and incorporates<br />

them into exponentially weighted evidence theory to<br />

combine the results <strong>of</strong> multiple matchers. Tan et al. [7]<br />

introduce personalization recommendation to the Deep<br />

Web data query, proposed a user interest model based on<br />

fine-grained management <strong>of</strong> structured data and a<br />

similarity matching algorithm based on attribute<br />

eigenvector in allusion to personalization recommendation.<br />

A few efforts are dedicated to query translation which<br />

has responsibility for translating a user’s query from<br />

source form to target forms. However, research works<br />

related to query translation have mainly fallen into two<br />

categories: attribute mapping and constraint mapping.<br />

These methods do not consider applying background<br />

knowledge, which is important to understand problems<br />

and situations. Ontology is an explicit, formal<br />

specification <strong>of</strong> a shared conceptualization in a interesting<br />

domain, therefore, we propose a novel method <strong>of</strong><br />

ontology-assisted query translation between different<br />

query forms in this paper.<br />

II. WEB QUERY TRANSLATION ANALYSIS<br />

Web query translation problems can be defined as<br />

translating a user’s query from a source form to different<br />

target forms (Fig.1), which contains three characteristics:


2850 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Qs<br />

Figure 1. The query translation between source form and target form,<br />

where denotes the source form, and denotes the target form.<br />

Characteristic1 Query-generally: the queries <strong>of</strong> target<br />

forms are similar with the queries <strong>of</strong> the source form.<br />

Characteristic2 Domain-generally: the source form<br />

and the target forms belong to a domain-specific.<br />

Characteristic3 Minimum subsumption-generally:<br />

web query translation does not miss any correct answer<br />

and contains fewest incorrect answers. Simultaneity, it is<br />

domain content independent.<br />

Definition1 Query Translation: Given a source form S<br />

and a set <strong>of</strong> target forms T = { T1, T2, …, Tn}, if the userprovided<br />

input value is Qs in the source form S, then, the<br />

output is the query combination Qt * = {Q1 * , Q2*, …, Qn*}<br />

in the target forms after query translator,<br />

*<br />

Qi = δ i( q1, q2,..., qn)<br />

, 1 ≤i ≤ n , which satisfies the<br />

following constraints[8][9]:<br />

(1) Each query qj (1 ≤ j ≤ n)<br />

in Qi * must be a valid query<br />

to target formT i .<br />

(2) Qi * is “close” with the source queries Qs as much as<br />

possible in order to minimize the processing costs <strong>of</strong> target<br />

form, and improve the retrieval quality.<br />

Definition2 Minimum Subsumption Strategy (MinSS):<br />

Given a global query Qs from source form Qs and a set <strong>of</strong><br />

* target forms T = { T1, T2, …, Tn}, Qi(1 ≤i ≤n) is a web<br />

query translation using MinSS if the following three<br />

conditions are satisfied at the same time:<br />

(1) Qi * is a valid query <strong>of</strong> target form, namely, Qi * is<br />

acceptable to target formT i .<br />

(2) Qi * semantically subsumes Qs, namely, for any back-<br />

*<br />

end database D, Q ( D) ⊆ Q ( D)<br />

, it means that the retrieved<br />

s i<br />

information <strong>of</strong> Qs is a subset <strong>of</strong> Qi * .<br />

(3) Qi * is the minimum subsumption strategy, that is to<br />

say, there does not exist any query Qt which satisfies (1)<br />

*<br />

and (2) and Qt( D) ⊆ Qi ( D)<br />

.<br />

MinSS can minimize the amount <strong>of</strong> data to be sent<br />

from the web database and minimize the effort to filter<br />

out undesired results.<br />

*<br />

Qi<br />

III. QUERY TRANSLATION FRAMEWORK<br />

In order to realize query translation between different<br />

query forms, we need to reconcile the heterogeneities at<br />

the predicate-level and value-level, and then generate a<br />

© 2012 ACADEMY PUBLISHER<br />

query plan expressed upon each target form. The<br />

framework <strong>of</strong> web query translation based on ontology is<br />

shown in Fig.2.<br />

Predicate recognition module is used to find out the<br />

attribute(predicate) matching relationships between the<br />

source form and the target forms based on ontology;<br />

Predicate mapping is used to match the source form and<br />

the target forms to determine the mapping type; Query<br />

rewrite module is used to match the value translation <strong>of</strong><br />

mapped predicate; Query submission module is used to<br />

trigger button to submit query plans with respective<br />

sources, so that the user can immediately receive query<br />

results from multiple data sources.<br />

Qs<br />

Figure 2. The framework <strong>of</strong> web query translation, which mainly<br />

contains predicate recognition, predicate mapping, query rewrite and<br />

query submission.<br />

A.Ontology Construction<br />

Ontology as the concept model describing information<br />

system in semantic and knowledge level, user’s queries<br />

and relevant data can be mapped to the concept model,<br />

thus, ontology can be seen as a knowledge system which<br />

describes concepts and relationships[10][11]. The process<br />

<strong>of</strong> ontology construction is shown in Fig.3:<br />

Figure 3. Ontology construction: the process is semi-automatic, the<br />

concepts and relationships <strong>of</strong> ontology are extracted from searchable<br />

forms.<br />

The process <strong>of</strong> ontology construction is as follows:<br />

(1) Extracting domain terminologies from searchable<br />

forms, simultaneously, capturing the semantic<br />

relationships <strong>of</strong> terminologies.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2851<br />

(2) Extracting domain concepts. The domain concepts<br />

need explicit, so there is a need to disambiguate<br />

terminology, and describe the terminology with the most<br />

common word.<br />

(3) Constructing the hierarchical relationships <strong>of</strong><br />

concepts, such as Is-A, Part-Of, Synonymous etc.<br />

(4) Refining domain ontology. Ontology engineers<br />

revise concepts and semantic relationships under the<br />

guidance <strong>of</strong> ontology engineering standards to ensure that<br />

the domain knowledge is shared and consistent.<br />

(5) After constructing the ontology, the semantics <strong>of</strong><br />

concepts in domain ontology can be enriched by adding<br />

concept-level knowledge based on three philosophical<br />

notions: identity, rigidity, and dependency.<br />

Definition 3. Domain Ontology Concept Model<br />

(DOCM): DOCM is a data model that describes a set <strong>of</strong><br />

concepts and relationships that may appear in a specific<br />

domain. It should be understandable by machine so that it<br />

can be used to reason about these objects within that<br />

domain. Each object can be denoted as Class = {CM, DT,<br />

{Si}, {CAi}, {SCi}}, which describes the relevant<br />

information <strong>of</strong> object.<br />

CM: It denotes the main class <strong>of</strong> object, which is<br />

universal and easy to understand for users. It can be seen<br />

as the keyword <strong>of</strong> object, e.g. “Author” can be seen CM<br />

<strong>of</strong> name object in Book domain.<br />

DT: It denotes the data type <strong>of</strong> object, such as “string”,<br />

“numerical” and so on, e.g. the DT <strong>of</strong> “Author” is<br />

“string”.<br />

{Si}: It denotes the synonyms <strong>of</strong> CM, namely, the<br />

concept aliases, e.g. “Writer” is the aliases <strong>of</strong> “Author”.<br />

{CAi}: It denotes the condition property set <strong>of</strong> object,<br />

which is “Part-Of” relationship to CM, e.g. “First name”<br />

and “Last name” are two condition properties <strong>of</strong><br />

“Author”.<br />

{SCi}: It denotes the sub class set <strong>of</strong> CM, which is “Is-<br />

A” relationship to CM. Such as “Author keywords” and<br />

“Title keywords” are “Is-A” relationships to CM<br />

“Keywords”.<br />

DOCM has a good organizational structure, which<br />

represents high-level background knowledge with<br />

concepts and relationships. In this paper, the ontology is<br />

implemented by Protégé API and represented in the Web<br />

Ontology Language(OWL)[12]. In this way, to operate<br />

DOCM is equivalent to operate the OWL file.<br />

B. Predicate Recognition<br />

Predicate recognition is used to find out the predicate<br />

matching relationships among different query forms, an<br />

example is shown in Fig.4.<br />

Q1 3 Q<br />

2 Q<br />

Figure 4. Predicate recognition <strong>of</strong> three query forms in Book domain,<br />

we can find predicate correspondences such as those indicated by<br />

different shapes or underlined.<br />

© 2012 ACADEMY PUBLISHER<br />

The predicate matching relationships between the<br />

source form and the target forms are complex as follows:<br />

1) The predicate labels belong to the same concept are<br />

always different, e.g. source form denotes name using<br />

“Author”, while target form using “Writer”.<br />

2) The complex predicate relationships are common,<br />

e.g. source form denotes time using “data”, while target<br />

form using “year, month, day”.<br />

Predicate recognition can be seen as schema matching<br />

for different query forms, which are classified attributelevel<br />

(predicate-level) matching(Fig.5).<br />

Figure 5. Predicate recognition, which can be divided into simple<br />

predicate recognition(SPR) and complex predicate recognition(CPR).<br />

Definition4 Simple Predicate Recognition (SPR): the<br />

predicate <strong>of</strong> source form and the predicate <strong>of</strong> target form<br />

is 1:1 matching.<br />

Definition5 Complex Predicate Recognition (CPR):<br />

the predicate <strong>of</strong> source form and the predicate <strong>of</strong> target<br />

form is M:N matching.<br />

Definition6 Ontology-assisted Predicate Recognition<br />

Algorithm: the semantic similarity between two predicate<br />

concepts is measured by DOCM, which is the “bridging”<br />

to obtain the predicate matching relationships among<br />

different query forms. Assume that A * is a predicate label<br />

from target form, Ai is the main class <strong>of</strong> concept node Ci<br />

from DOCM, {Si} is the synonym set <strong>of</strong> Ai, {CAi}is the<br />

condition property set <strong>of</strong> concept node Ci, {SCi} is the<br />

sub class set <strong>of</strong> concept node Ci, Sim(A * , Ai) denotes the<br />

similarity between A * and Ai,σ denotes the threshold <strong>of</strong><br />

matching degree:<br />

* *<br />

a) If A ∈{ Si}<br />

or A = A , then it is 1:1 matching(SPR)<br />

i<br />

*<br />

between predicate label A <strong>of</strong> target form and ontology<br />

concept A i .<br />

* *<br />

*<br />

b) If A ∉ { Si}<br />

, A ≠ A , and i Sim( A , Ai ) ≥ σ , then it<br />

means 1:1 matching (SPR) between predicate label A *<br />

and ontology concept Ai, we add A * to {Si} as a new<br />

synonym <strong>of</strong> ontology concept Ai.<br />

* c) If A ∈{ CAi} ∪ { SCi}<br />

, then it is M:1 matching (CPR)<br />

between predicate label A * <strong>of</strong> target form and ontology<br />

concept Ai.<br />

* d) If A ∉ DOCM and i A ∀ , *<br />

Sim( A , Ai ) < σ , then it<br />

means there is no matching between predicate label A *<br />

<strong>of</strong> target form and ontology concept Ai, we add A * to<br />

DOCM as a new ontology concept.


2852 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

e) For the other target forms, we do the same above, in<br />

this way, we can get ontology-form predicate matching<br />

table, which records the matching relationships between<br />

different forms and ontology concepts. The structure <strong>of</strong><br />

predicate matching table is shown in Fig.6.<br />

Figure 6. Predicate recognition, which can be divided into simple<br />

predicate recognition(SPR) and complex predicate recognition(CPR).<br />

We exploit the “bridging” effect in the process <strong>of</strong><br />

matching predicates based on DOCM from a large<br />

number <strong>of</strong> query forms. Through predicate recognition,<br />

we can capture the semantic relationships <strong>of</strong> predicates<br />

among different query forms.<br />

C. Predicate Mapping<br />

Predicate mappings are crucial for the system to<br />

reformulate a user query into queries on the sources. If<br />

we can understand their semantics, we can query in the<br />

target forms to find the nearest queries for query<br />

optimization. Due to the predicate types are not single<br />

from different forms, relying on a single predicate type is<br />

not sufficient and the match results <strong>of</strong> individual types are<br />

<strong>of</strong>ten inaccurate and uncertain. Literature [13] finds that<br />

the most commonly used predicate templates are<br />

[attribute; value] and [ attribute; value∈{ D}]<br />

by<br />

observing 150 web query forms. Through observation, we<br />

found that the predicate type mainly contains “text”,<br />

“select”, “numeric”, “data time” and “specific type”.<br />

Therefore, we propose a type-based approach for query<br />

rewrite by combining multiple type rewriters to obtain the<br />

appropriate matching value.<br />

Predicate mapping is used to match source form and<br />

target forms to determine the mapping type. The structure<br />

<strong>of</strong> predicate mapping is shown in Fig.7.<br />

Figure 7. The structure <strong>of</strong> predicate mapping, which contains text type,<br />

select type, numeric type and specific type.<br />

© 2012 ACADEMY PUBLISHER<br />

We define a predicate template as a four-tuple<br />

[attribute; type; value; constraint] in this paper, where<br />

attribute denotes the predicate label, type denotes the<br />

predicate type, value denotes the filling value <strong>of</strong> predicate,<br />

and constraint denotes the predicate constraint condition.<br />

For example, in Fig.4(b), if a user fills out “Deep Web”<br />

in the predicate “Title/Keywords” and selects “All<br />

Terms” as the constraint condition, then, its predicate<br />

template can be expressed with [Title/Keywords; text;<br />

DeepWeb; AllTerms]. For the target forms, according to<br />

different predicate type, predicate template can be<br />

divided into text predicate template [attribute; text; value;<br />

constraint], select predicate template[attribute; select;<br />

value; constraint], numeric and data time predicate<br />

template [attribute; numeric; value; constraint] and<br />

specific predicate template [attribute; specific; value;<br />

constraint]. When a user fills out query form, it will form<br />

the source binding template, and then recognize the<br />

corresponding type by predicate mapping, lastly, send to<br />

different type rewriters to rewrite queries.<br />

D.Query Rewrite<br />

Query rewrite is responsible for rewriting the query<br />

into an equivalent from that one can execute against the<br />

physical databases, which is classified value-level<br />

matching. Nowadays, query rewrite based mostly on<br />

inefficient keyword matching techniques becomes a<br />

bottleneck <strong>of</strong> the web, therefore, we need to construct<br />

automatically a set <strong>of</strong> constraint mapping rules so that the<br />

system can use the user-provided input values to fill out<br />

the appropriate form fields <strong>of</strong> different web database<br />

forms[14]. In order to guarantee MinSS , a query <strong>of</strong> target<br />

form field can be seen as a union query Qt * which is a<br />

union <strong>of</strong> queries upon the target form to relevant answers<br />

from the target database. We want the union query Qt * to<br />

be as “close” to the source query Qs as possible so that it<br />

retrieves fewest extra answers.<br />

Generally, these requirements <strong>of</strong> form filling are<br />

commonly referred to as access limitations in that access<br />

to data can only take place according to given patterns,<br />

namely, search space[15].<br />

Definition7 Search Space. For a predicate P, we define<br />

search space <strong>of</strong> P is I(P), which denotes all possible<br />

instances <strong>of</strong> P.<br />

Query rewrite based on type can be seen as a search<br />

problem, its search space can be confirmed by the<br />

predicate type. Each type <strong>of</strong> rewriter implements a search<br />

for the type-driven mechanism, if the predicate value is<br />

Ws for source form, then its value is Ws for the absence <strong>of</strong><br />

a predefined target value. If there exists a predefined<br />

search space in target form, its value can be obtained<br />

from predefined values, namely, can be obtained from<br />

search space[16]. Each type rewriter has a quite different<br />

performance in rewriting queries. To obtain the final<br />

matches, we use some heuristics to perform rewriting<br />

strategy.<br />

(1) Text type rewriter: If the predicate type is “text” in<br />

target form, namely, its predicate template is [attribute;<br />

text; value; constraint], then filling out this text control <strong>of</strong><br />

target form with the same value <strong>of</strong> source form,<br />

simultaneity, filling out this constraint value with the


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2853<br />

same value <strong>of</strong> source form. If there does not exist<br />

constraint condition for the predicate in target form, then<br />

constraint is set null . For select type rewriter, numeric<br />

type rewriter and specific type rewriter, we adopt the<br />

same approach to obtain the constraint value <strong>of</strong> target<br />

form.<br />

(2) Select type rewriter: If the predicate type is “select”<br />

in target form, namely, its predicate template is , and its<br />

search space is the string instances <strong>of</strong> select list, then, we<br />

need to compute the matching degree between the source<br />

predicate value and the target search space, lastly,<br />

selecting the value by using null correspondences<br />

strategy[17] as the union query (filling value) <strong>of</strong> target<br />

form, in which we no longer need a threshold to filter out<br />

likely incorrect value correspondences. In this union<br />

query, the one semantically closest to the source predicate<br />

value can be seen as the best translation.<br />

Definition8 Null Correspondence: Given a string s and<br />

a set <strong>of</strong> string {ti}(i=1, 2, …, n), null correspondence <strong>of</strong><br />

the string s based on the set <strong>of</strong> string {ti} is defined as<br />

formula (1):<br />

simn(, s null) =∏ (1 − simp(, s t )) (1)<br />

n<br />

i= 1<br />

i<br />

Where simp(s, ti) denotes the semantic similarity<br />

between the string s and the string ti. When we get the<br />

value <strong>of</strong> null correspondence, simn(s, null) will compare<br />

with all simp(s, ti) (i=1, 2, …, n). If simp(s, ti) is the<br />

maximum value, then it means the string s is mostly<br />

similar with the string ti, so ti will be selected as the<br />

filling value; If the maximum value is simn(s, null), then<br />

it means the string s is not similar with all string ti (i=1,<br />

2, …, n), so null or default value will be filled into the<br />

query field.<br />

There are two cases for “select” types:<br />

1) If the predicate type is “select” in source form,<br />

namely, its predicate template is [attribute; select; value;<br />

constraint], the predicate type in target form is also<br />

“select”. Since the set <strong>of</strong> select values is fixed, there is no<br />

possibility <strong>of</strong> mismatched for users. In this case, we can<br />

use the ontology-assisted similarity algorithm to obtain<br />

the desired union query.<br />

2) If the predicate type is “text” in source form, namely,<br />

its predicate template is [attribute; text; value; constraint],<br />

the predicate type in target form is “select”. While not all<br />

the users are pr<strong>of</strong>essional, they may not know how to<br />

exactly describe what they want and sometimes they type<br />

a wrong word into the query field. Therefore, query<br />

system may possibly return some results the user doesn’t<br />

want or even no result at all. Such a query is called failed<br />

query and this will bring on some uncertainties. In order<br />

to obtain a fixed quantity <strong>of</strong> results satisfying the query to<br />

the user, a query strategy is proposed: firstly, computing<br />

similarity based on edit distance matcher which is<br />

explained in definition 10, if the similarity does not<br />

exceed a threshold, then it means the two phrases are not<br />

shaped in font, in this case, switching to call ontologyassisted<br />

similarity algorithm.<br />

Definition9 Edit Distance Matcher: Given two<br />

character strings S1 and S2, edit distance between S1 and<br />

S2 is measured by the number <strong>of</strong> edit operations,<br />

including insertions, deletions and substitutions,<br />

© 2012 ACADEMY PUBLISHER<br />

necessary to transform one string into another. We define<br />

the similarity based on edit distance between two strings<br />

(phrases) S1 and S2 as formula (2):<br />

1<br />

( 1, 2)<br />

=<br />

1 + ed( s1, s2)<br />

Sim s s<br />

Where ed (S1, S2) is the edit distance <strong>of</strong> string S1 and S2.<br />

(3) Numeric type rewriter: the predicate type is<br />

“numeric” in target form, namely, its predicate template<br />

is [attribute; numeric; value; constraint]. Numeric and<br />

data time have very similar nature in that they all form a<br />

linear space, and have similar operators, therefore, the<br />

mapping techniques for the two types are generally the<br />

same.<br />

For the choice <strong>of</strong> numeric or data time can be divided<br />

into two ways, one is the discrete data selection, the other<br />

one is the continuous data selection. For the discrete data<br />

selection method, we call discrete numeric data matcher<br />

which is explained in definition11.<br />

Definition9 Discrete Numeric Data Matcher: If the<br />

user-provided input value in source form is q, a discrete<br />

data. The corresponding search space in target form is D<br />

= {q1, q2, …, qn}, where, q1, q2, …, qn are discrete data,<br />

then the similarity between q and qi (1 ≤i≤ n ) can be<br />

defined as formula (3):<br />

q−qi Sim( q, qi<br />

) = 1− (3)<br />

max( qq , i )<br />

Assume σ is the threshold <strong>of</strong> MD, if<br />

Sim( q, qm) = Max{ Sim( q, q1), Sim( q, q2)... Sim( q, qn)} ≥ σ ,<br />

1≤ m≤ n,<br />

then we select qm as the union query <strong>of</strong> target<br />

form.<br />

Example1 If the user-provided input value in source<br />

form is “100” for predicate label “Price”, the<br />

corresponding search space in target form is {90,95,98},<br />

δ = 0.8,<br />

then through the similarity formula (2), we can<br />

infer that Sim(100,90) = 0.9, Sim(100,95) = 0.95,<br />

Sim(100,98) = 0.98, thus, the value “98” <strong>of</strong> search space<br />

is the most greatest similarity with “100”, thus, we should<br />

select “98” as the union query <strong>of</strong> target form.<br />

In query forms, the user is likely to be given ranges <strong>of</strong><br />

values to choose(Fig.8), to help the query rewriter<br />

understand different ranges, we need to let the system<br />

know the meanings <strong>of</strong> the range modifiers. For this<br />

purpose, we build a semantic dictionary that keeps<br />

commonly used range modifiers for numeric domains<br />

(Table1).<br />

(2)<br />

Figure 8. An example for rang modifiers, we can see that the ranges<br />

are <strong>of</strong>ten formed using numeric values and range modifiers together.


2854 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

TABLE I.<br />

THE SEMANTIC DICTIONARY FOR RANGE MODIFIERS, AND<br />

WITH THE INFORMATION AND AN APPROPRIATE SEMANTIC<br />

DICTIONARY FOR RANGE MODIFIERS, WE CAN INFER THE<br />

CORRESPONDING NUMERIC RANGES FROM RANGE<br />

SEMANTICS TABLE.<br />

Range modifiers Meaning<br />

More than ><br />

Less than <<br />

under <<br />

from >=<br />

……………….. …………………..<br />

Any All range<br />

After converting the range modifiers, we need to select<br />

the advisable value as the filling value. In order to reduce<br />

the undesired intermediate results to the minimum, we<br />

ought to choose the minimum target range, namely, the<br />

target range is exactly a minimum subsumption <strong>of</strong> the<br />

original one. The most appropriate value can be easily<br />

found out by projecting the original value to the number<br />

or time axis, which is explained in definition12.<br />

Definition10 Continuous Numeric Data Matcher: If the<br />

user-provided input value in source form is q, which is a<br />

continuous data with range [a,b], the corresponding target<br />

range is qi, whose selective values are continuous ranges<br />

ι ι ι<br />

S, S = {[ n1, n1],[ n2, n2],...[ nm, nm]}<br />

, ni ni ι<br />

≤ , ι<br />

ni ≤ n , i+<br />

1<br />

1≤i≤m− 1,<br />

the overlap grade between q and S reflects<br />

the MD. There are four cases for the overlap grade<br />

between [a, b]and [ ni, ni] ι :<br />

a) nia ≤ and ι<br />

a≤ni≤ b<br />

ι b) a≤n and i ni≤ b<br />

ι c) a≤ni≤ b and ni≥ b<br />

d) nia ≤ ι and ni≥ b<br />

In this condition, the union query is the conjunction <strong>of</strong><br />

the above four cases, namely:<br />

qi = Conditiona ∪Conditionb ∪Conditionc ∪ Conditionb<br />

If the source query range becomes large, the cost <strong>of</strong><br />

MinSS will be high because the number <strong>of</strong> targets queries<br />

to the web database will increase. An example for<br />

minimum subsumption strategy is shown in Fig.9.<br />

s:<br />

t1: 0<br />

t2:<br />

t3:<br />

t4<br />

t5:<br />

25<br />

25 45<br />

45 65<br />

65<br />

85<br />

85<br />

Figure 9. An example for minimum subsumption strategy: For the<br />

predicate label “Price range”(Fig.9), if the filling value is “under 35” in<br />

source form, whose meaning is the value <strong>of</strong> less than 35 by range<br />

modifiers table. The search space in target form contains five selective<br />

values “0-25”, “25-45”, “45-65”, “65-85”, “85-”, we can observe that<br />

the projection area in source form contains two target search space “0-<br />

© 2012 ACADEMY PUBLISHER<br />

25” and “25-45” by numeric projection, that is to say the minimum<br />

subsumption using MinSS in target form is {“0-25”, “25-45”}, namely,<br />

the conjunction <strong>of</strong> target form which contains the source projection area.<br />

(4) Specific type rewriter: The above type rewriters<br />

can only deal with 1:1 mapping to find corresponding<br />

filling values, which can not handle complex mapping.<br />

Complex mapping binds a source schema element to a<br />

target schema element through an appropriate mapping<br />

expression. Therefore, we need specific type rewriter to<br />

realize the complex mapping by DOCM, which the userprovided<br />

input values will be stored to corresponding<br />

class. If the predicate type is “text”, then, according to a<br />

predefined order, specific type rewriter will assign the<br />

value <strong>of</strong> source form to target form; if the predicate type<br />

is “numeric”, then, according to a predefined format,<br />

specific type rewriter will assign the value <strong>of</strong> source form<br />

to corresponding field <strong>of</strong> target form.<br />

E. Query Submission<br />

After query rewrite, user’s suggested queries have been<br />

filled out each target forms, then the system will<br />

automatically trigger button to submit these query plans.<br />

As we know, when a form is submitted, the web browser<br />

will code the data which the user fills out source form,<br />

the final query forms for sending web server are in<br />

accordance with the “variable name 1 = value & variable<br />

name 2 = value & ...”, the data format as URL<br />

parameters affixing to this basic URL address to realize<br />

the complete URL address for web server. To sum up, we<br />

can see that to complete the automatic submission <strong>of</strong> each<br />

target form, it needs to achieve this function <strong>of</strong> simulating<br />

browser, namely, constructing URL address with<br />

parameters and triggering this URL. In this case, the<br />

query posted to the source form can be precisely<br />

translated to a query against the target form.<br />

Example2 Given a URL http://www.abbeys.com.au/<br />

search.asp, we can observe that the base URL is http:<br />

//www.abbeys.com.au, and the action path is /search.asp,<br />

the form fields are “Author”, “Keywords”, “Category”,<br />

“Price Range”, “ISBN” and “Publication data”, if we fill<br />

out this form with value “Bing Liu”、“web mining”、<br />

“Computing and information technology” 、 “All<br />

Prices”、“After the year 2000” respectively, then, the<br />

query is thus constructed as: http://www.abbeys. com. au<br />

/search.asp?Author=Bing+Liu&Title/Keywords =web+<br />

mining&Category=Computing+and+information+technol<br />

ogy&PriceRange=All+Prices&ISBN=&Publication data=<br />

After+the+year+2000. If we send this query directly to<br />

the web site, we will get the desired results from the<br />

target site[18].<br />

IV. EXPERIMENTS<br />

Though the above analysis, we implement the<br />

graphical interface for web query translation which is<br />

shown in Fig.10.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2855<br />

Figure 10. The graphical interface for web query translation.<br />

To evaluate our approach, we select the Book-Domain<br />

query interfaces from UIUC[19] as the test samples. The<br />

evaluation metric for query translation is measured by<br />

Precision, Recall and F-measure. Precision denotes the<br />

percentage <strong>of</strong> the correctly query translation templates<br />

over all the query translation templates, Recall denotes<br />

the percentage <strong>of</strong> the correctly query translation templates<br />

over all the query form, and F-measure is a<br />

comprehensive assessment <strong>of</strong> Precision and Recall. The<br />

formulas are defined as (4), (5) and (6):<br />

the correctlyquery translation templates<br />

Precision = × 100% (4)<br />

all thequery translation templates<br />

the correctly query translation templates<br />

Recall= × 100%<br />

(5)<br />

all the query form<br />

2<br />

(1 + μ ) × Precision× Recall<br />

F - measure = × 100% (6)<br />

2<br />

μ × Precision + Recall<br />

Where μ denotes the weight coefficient, which is used<br />

to measure the importance between Recall and Precision.<br />

The results are shown in Table.2:<br />

TABLE III.<br />

THE RESULTS OF QUERY TRANSLATION FROM BOOK-<br />

DOMAIN QUERY INTERFACES.<br />

Form<br />

number<br />

Predicate<br />

template<br />

number<br />

Predicate<br />

template<br />

Number<br />

correctly<br />

Recall Precision<br />

Fmeasure<br />

25 132 123 0.884 0.932 0.907<br />

50 256 235 0.869 0.922 0.895<br />

75 364 337 0.867 0.926 0.896<br />

average 0.873 0.927 0.899<br />

From the result <strong>of</strong> Table2, we can see that the query<br />

translation accuracy is stabilized and high with the<br />

increase <strong>of</strong> form numbers, and it indicates that the query<br />

translation method with ontology is feasible and effective.<br />

In order to verify the validity <strong>of</strong> various predicate types<br />

during the process <strong>of</strong> query translation, we measure it by<br />

the precision <strong>of</strong> predicate mapping, the results are shown<br />

in Table.3:<br />

© 2012 ACADEMY PUBLISHER<br />

TABLE II.<br />

THE MAPPING RESULTS OF FOUR DIFFERENT PREDICATE TYPES<br />

Predicate<br />

type<br />

Predicate<br />

template<br />

number<br />

From the results <strong>of</strong> Table3, we can see that the<br />

predicate type “text” occupies the largest number in all<br />

predicate types, and the precision is also the best. The<br />

main reason for “text” type translation mistake is the<br />

predicate matching error, and the text field does not<br />

rationally combine with corresponding constraints in the<br />

process <strong>of</strong> schema extracting. The mistake reason for<br />

“select” type is to mistakenly input dissimilarity value<br />

and not to fill in the real similarity value in computing<br />

similarity based on edit distance. The inconsistent<br />

representation for “numeric” type content is the main<br />

reason to cause mistake. The “specific” type is more<br />

complicated, the mistake is mainly due to unreasonably<br />

split or combine source query, partly to schema extraction<br />

and predicate matching. The statistical results show that<br />

the precision <strong>of</strong> four types predicates mapping have<br />

reached a higher level, but the precision <strong>of</strong> “specific”<br />

type query translation would be further improved.<br />

V.CONCLUSION<br />

We presented a novel approach to query translation<br />

based on ontology automatically, which can transform<br />

queries from source form into queries that address the<br />

underlying physical databases. The experiment results<br />

show that our approach is feasible and effective.<br />

For our future work, we plan to enrich the domain<br />

ontology and continually improve query translation<br />

algorithm, we will also further research on the complex<br />

matching problem. We believe that our approach, with<br />

appropriate extensions, can achieve better results.<br />

REFERENCES<br />

Predicate<br />

template<br />

Number<br />

correctly<br />

Precision<br />

Text 135 129 95.6%<br />

Select 73 66 90.4%<br />

Numeric 17 15 88.2%<br />

Specific 26 21 80.8%<br />

Total 251 231 92.0%<br />

[1] Fan Wang, Gagan Agrawal, and Ruoming Jin. Query<br />

Planning for Searching Inter-dependent Deep-Web<br />

Databases. In Proceedings <strong>of</strong> SSDBM, 2008, pp24-41.<br />

[2] R.B.Do orenbos, O.E tzioni, and D.S.W eld. A scalable<br />

comparison-shopping agent for the world wide web. In<br />

Proceedings <strong>of</strong> the First International Confence on<br />

Autonomous Agents Marina del Rey, 1997, pp39-48.<br />

[3] Raghavan,S. and Garcia-Molina,H. Crawling the hidden<br />

web. In Proceedings <strong>of</strong> the 27th International Conference<br />

on Very Large Data Bases (VLDB), 2000, pp129-138.<br />

[4] Shu L, Meng W, He H, et al. Querying capability modeling<br />

and construction. In Proceedings <strong>of</strong> the 8th International<br />

Conference on Web Information Systems Engineering<br />

(WISE), 2007, pp13-25.<br />

[5] Fangjiao Jiang, Weiyi Meng, Xia<strong>of</strong>eng Meng. Selectivity<br />

estimation for exclusive query translation in deep web data


2856 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

integration. Lecture Notes in Computer Science(LNCS)<br />

<strong>Journal</strong>, 2009, 5463: 595-600.<br />

[6] Yongquan Dong, Qingzhong Li, Yanhui Ding, Zhaohui<br />

Peng. A query interface matching approach based on<br />

extended evidence theory for deep web. <strong>Journal</strong> <strong>of</strong><br />

Computer Science and Technology, 2010, 25(3): 537-547.<br />

[7] Tao Tan, Hongjun Chen. A Personalization Recommendation<br />

Method Based on Deep Web Data Query. <strong>Journal</strong> <strong>of</strong><br />

Computers, 2012, 7(7): 1599-1606.<br />

[8] K.C.-C.Chang and H.Garcia-Molina. Approximate query<br />

mapping: accounting for translation closeness. VLDB<br />

<strong>Journal</strong>, 2001.<br />

[9] K.C.-C.Chang and H.Garcia-Molina. Approximate query<br />

translation across heterogeneous information sources. In<br />

Proceedings <strong>of</strong> the 26th VLDB Conference, 2000, pp566-<br />

577.<br />

[10] Kerui Chen, Wanli Zuo, Fan Zhang, Fengling He,<br />

Yongheng Chen. Robust and Efficient Annotation based on<br />

Ontology Evolution for Deep Web Data. <strong>Journal</strong> <strong>of</strong><br />

Computers, 2011, 6(10): 2029-2036.<br />

[11] Weifeng Su, Jiying Wang, Frederick H.Lochovsky. ODE:<br />

Ontology-assisted data extraction. ACM Transactions on<br />

Database Systems, 2009, 34(2):1-35.<br />

[12] Matthew Horridge, Bijan Parsia, Ulrike Sattler.<br />

Explanation <strong>of</strong> OWL entailments in Protege4. In<br />

proceedings <strong>of</strong> International Semantic Web Conference,<br />

2008.<br />

[13] Zhen Zhang, Bin He, Kevin Chen-Chuan Chang. Lightweight<br />

domain-based form assistant: querying web<br />

databases on the fly. In Proceedings <strong>of</strong> the 31st Very Large<br />

Data Bases Conference (VLDB), 2005, pp97-108.<br />

[14] Jie Bao, Doina Caragea, Vasant Honavar. Query<br />

translation for ontology-extended data sources. American<br />

Association for Artificial Intelligence, 2007.<br />

[15] Andrea Cali, Davide Martinenghi. Querying the deep web.<br />

EDBT, 2010.<br />

[16] Ye Ma, Derong Shen, Yue Kou, and Wei Liu. An effective<br />

query relaxation solution for the deep web. In Proceedings<br />

<strong>of</strong> APWeb, 2008, pp649-659.<br />

[17] Zhongtian He, Hong Jun, D A.Bell. A Prioritized<br />

Collective Selection Strategy for Schema Matching across<br />

Query Interfaces [C]. Proceedings <strong>of</strong> the 26th British<br />

national conference on Databases (BNCOD’09), LNCS<br />

5588, 2009: 21-32.<br />

[18] Stephen W.Liddle,David W.Embley, Del T. Scott.<br />

Extracting data behind web forms. Proceedings <strong>of</strong> the 28th<br />

VLDB Conference, 2008, pp402-413.<br />

[19] The UIUC Web Integration Repository.<br />

http://metaquerier.cs.uiuc.edu/repository.<br />

© 2012 ACADEMY PUBLISHER<br />

Xin Wang was born in HuLuDao,<br />

LiaoNing Province, China, on October 21,<br />

1981. He received his Master <strong>of</strong> computer<br />

science from Harbin Engineering<br />

University in 2008. Currently, he is a PH.<br />

D candidate with computer science at Jilin<br />

University since 2011. His main research<br />

interests include information retrieval,<br />

machine learning, and web mining.<br />

Ying Wang was born in 1981. She is a<br />

lecturer at the Jilin University and a CCF<br />

member. She received her Ph.D. degree<br />

from Jilin University. Her research area is<br />

Web Information Mining, Ontology and<br />

Web search engine.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2857<br />

Data Modeling <strong>of</strong> Knowledge Rules: An Oracle<br />

Prototype<br />

Rajeev Kaula<br />

Computer Information Systems Department, Missouri State University, Springfield, MO 65897 (USA)<br />

E-Mail: RajeevKaula@missouristate.edu<br />

Abstract—Knowledge rules are outlined declaratively in a<br />

knowledge base repository. Each rule is created<br />

independently for storage in the repository. This paper<br />

provides an approach to apply the techniques <strong>of</strong> traditional<br />

entity-relationship data modeling to structure the<br />

knowledge rules for storage as a database schema in a<br />

relational database management system. Utilization <strong>of</strong> entity<br />

relationship model and relational database for modeling<br />

knowledge rules provides for a more standardized<br />

mechanism for structuring knowledge rules. Storage <strong>of</strong><br />

knowledge rules in a relational database shall also bring<br />

about improved integration with business applications,<br />

besides having the availability <strong>of</strong> services provided for<br />

transactional database applications. The paper utilizes the<br />

Oracle database for illustrating the application <strong>of</strong> the<br />

concepts through a sample set <strong>of</strong> knowledge rules. The<br />

approach is explained through a prototype in Oracle's<br />

PL/SQL Server Pages.<br />

Index Terms—Data Modeling, Knowledge Rules, Expert<br />

Systems, Knowledge Base, Entity-Relationship Diagram,<br />

Relational model.<br />

I. INTRODUCTION<br />

Knowledge rules (or production rules) are the primary<br />

mechanisms to define knowledge in rule based systems<br />

like expert systems or knowledge-based systems [4, 5, 10,<br />

11, 12, 13, 17, 21, 25, 27, 28, 32]. Such rules typically<br />

express decision-making guidelines. Each knowledge rule<br />

is written declaratively in constraint-action terminology<br />

represented as IF constraint THEN action statements. A<br />

constraint is some condition, while the action clause<br />

reflects the decision or advice. Figure 1 shows an<br />

example <strong>of</strong> a knowledge rule that describes a set <strong>of</strong><br />

constraints applicable for approving a loan application.<br />

Figure 1. Sample Knowledge Rule<br />

Each rule is independently outlined in the knowledge<br />

base repository. In general the structuring and storage <strong>of</strong><br />

knowledge rules is done through special programming<br />

languages like Prolog or Lisp [26, 29] or some<br />

proprietary development environments like CLIPS [9],<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2857-2865<br />

and JESS [7]. This paper outlines an approach to<br />

structure knowledge rules as a database schema for<br />

storage in relational databases using traditional entity<br />

relationship (ER) modeling techniques. As relational<br />

database and the associated language SQL are widely<br />

considered the ANSI/ISO standard for data storage and<br />

manipulation (viz. SQL:2008), data modeling <strong>of</strong><br />

knowledge rules for storage as a relational database<br />

schema provides a more standardized structure for<br />

knowledge base (repository). Besides, representation <strong>of</strong><br />

the knowledge rules as a relational database schema<br />

enables utilization <strong>of</strong> SQL for rule definition,<br />

maintenance, and manipulation.<br />

Even though there have been attempts toward<br />

integration <strong>of</strong> knowledge base and database, such<br />

attempts have traditionally focused on (i) improving the<br />

database working in the form <strong>of</strong> intelligent databases [1,<br />

2, 18, 20, 22, 23, 30, 31], or (ii) using knowledge based<br />

techniques to extract meaningful data from databases in<br />

the form <strong>of</strong> knowledge discovery [6, 8, 15, 24]. Whereas<br />

intelligent databases deal with the utilization <strong>of</strong> artificial<br />

intelligence techniques to capture the heuristics needed to<br />

control data in databases, the knowledge discovery<br />

approach involves utilization <strong>of</strong> artificial intelligence<br />

techniques to discover new knowledge in the form <strong>of</strong> data<br />

mining. Modeling <strong>of</strong> knowledge rules as a knowledge<br />

repository in relational database is an alternative<br />

approach to structure knowledge rules and enhance its<br />

utilization or integration with application development.<br />

The modeling <strong>of</strong> knowledge rules as relational<br />

database schema is now outlined in the following sections.<br />

First the entity relationship concepts for modeling<br />

knowledge rules are outlined. This is followed by a<br />

prototype that illustrates the entity relationship modeling<br />

through a sample set <strong>of</strong> knowledge rules, along with their<br />

transformation and retrieval from an Oracle database. The<br />

approach is illustrated on an Oracle 11g database through<br />

a prototype in PL/SQL Server Pages [3, 14]. PL/SQL<br />

server pages is a server-side scripting approach for<br />

developing database driven dynamic Web pages. The<br />

PL/SQL server page uses Oracle's primary database<br />

language PL/SQL as a scripting language along with<br />

HTML to generate database driven Web pages. Even<br />

though the prototype utilizes Oracle technology, due to<br />

the standardization <strong>of</strong> relational database concepts, such<br />

modeling and manipulation can be accomplished through


2858 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

any other relational database product like MySQL, SQL<br />

Server, etc.<br />

II. RELATIONAL MODEL SCHEMA FOR KNOWLEDGE<br />

RULES<br />

The relational model schema for knowledge rules<br />

begins by modeling the structure <strong>of</strong> knowledge rules<br />

through entity relationship modeling followed by their<br />

transformation into a relational model. The modeling and<br />

transformation process consists <strong>of</strong> the following elements:<br />

(i) subject area schema specification, (ii) entity type<br />

structure specification, (iii) entity relationship<br />

specification, (iv) relational table representation, and (v)<br />

sharing <strong>of</strong> subject area schemas. Each element builds on<br />

one another.<br />

A. Subject Area Schema Specification<br />

Modeling <strong>of</strong> knowledge rules begins with the concept<br />

<strong>of</strong> categorizing organizational knowledge into subject<br />

areas. A subject area is the decision making area <strong>of</strong><br />

business. Each subject area contains knowledge rules<br />

specific to its domain <strong>of</strong> working. For example, there<br />

could be customer loan subject area, sales analysis<br />

subject area, and so on.<br />

While the collection <strong>of</strong> knowledge rules within a<br />

subject area provide the action or decision support for<br />

that area, from a data modeling perspective such rules<br />

define the schema <strong>of</strong> knowledge belonging to the subject<br />

area. In other words, each subject area is a database<br />

schema supporting the knowledge as defined through its<br />

knowledge rules. So, for instance, there could be a<br />

database schema for customer loan subject area<br />

knowledge rules, another one for sales analysis subject<br />

area knowledge rules, and so on. The specification <strong>of</strong><br />

entity types within a subject area schema is outlined now.<br />

B. Entity Type Structure<br />

The knowledge rules within a subject area are<br />

represented through a collection <strong>of</strong> entity types. Such<br />

entity types essentially follow the abstract structure <strong>of</strong> a<br />

knowledge rule statement as shown in Figure 2. In the<br />

figure each “constraint-i operator value” clause is some<br />

constraint, the “AND/OR” entries are logical operators<br />

joining constraint clauses, and the “subject area action”<br />

clause is some action representing the decision when the<br />

constraint conditions are true.<br />

Figure 2. Abstract Structure <strong>of</strong> Knowledge Rule<br />

Each constraint clause is represented through<br />

individual constraint entity types. Each constraint entity<br />

type will consist <strong>of</strong> three attributes as shown in Figure 3.<br />

The “Constraint Name” entry that defines the name <strong>of</strong> the<br />

constraint clause entity type is the name <strong>of</strong> the constraint<br />

entry in the constraint clause <strong>of</strong> the knowledge rule<br />

statement. The “Constraint ID” attribute is the primary<br />

© 2012 ACADEMY PUBLISHER<br />

key, the “Operator” attribute is the condition operator in<br />

the constraint clause, while the “Constraint Value”<br />

attribute is the value assigned to the constraint condition.<br />

Figure 3. Constraint Entity Type<br />

Instances <strong>of</strong> the constraint entity type are the<br />

individual constraint clauses in an associated knowledge<br />

rule statement. For example, consider two knowledge<br />

rules pertaining to subject area “customer loan” as shown<br />

in Figure 4.<br />

Figure 4. Sample Customer Loan Knowledge Rules<br />

The modeling <strong>of</strong> the constraint clause is shown in<br />

Figure 5. In the figure, part (a) shows the structure<br />

(definition) <strong>of</strong> constraint entity type, while part (b) shows<br />

the entity instances pertaining to the different clauses for<br />

the constraint in the two knowledge rule statements.<br />

Figure 5. Constraint Entity Instances for Customer Loan Example<br />

The subject area action clause is represented through a<br />

subject entity type. This entity type consists <strong>of</strong> two<br />

attributes as shown in Figure 6. To ensure symmetry<br />

within the modeling process, the subject entity type is<br />

named after the subject area. The “Action ID” attribute is<br />

the primary key, while the “Action Value” attribute is the<br />

value assigned to the subject area action entry in the


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2859<br />

associated knowledge rule statement. So, for instance if<br />

the knowledge rule belongs to “customer loan” subject<br />

area, then the subject entity type would be titled<br />

“customer loan.”<br />

Figure 6. Action Entity Type<br />

Instances <strong>of</strong> the subject entity type are the subject area<br />

action clauses within different knowledge rule statements.<br />

For example, consider the knowledge rules <strong>of</strong> Figure 4 to<br />

outline the details <strong>of</strong> subject entity type. Since the subject<br />

area for the knowledge rules is “customer loan” the<br />

subject entity type is also named “customer loan.” Figure<br />

7 shows the modeling <strong>of</strong> the subject area action clauses<br />

for these knowledge rules. Part (a) <strong>of</strong> the figure shows the<br />

structure (definition) <strong>of</strong> subject (Customer Loan) entity<br />

type. Part (b) <strong>of</strong> the figure shows the entity instances<br />

pertaining to the different clauses for the subject area<br />

action values in the associated knowledge rule statements.<br />

Figure 7. Action Entity Instance for Customer Loan Example<br />

C. Entity Relationship Specification<br />

The various entity types <strong>of</strong> a knowledge rule will have<br />

binary relationship with the subject entity type. The<br />

binary relationship will be one-to-many (1:N) as shown<br />

in Figure 8. The logical operator binding the constraint<br />

clauses within a knowledge rule shall become the<br />

relationship attribute <strong>of</strong> the binary relationship between<br />

the constraint entity type and the subject entity type. The<br />

minimum cardinality is optional to mandatory from the<br />

constraint entity type to subject entity type. Each instance<br />

<strong>of</strong> constraint entity type now will be associated with one<br />

or more subject entity instances. On the other hand, the<br />

subject entity instances may optionally be associated with<br />

different constraint entity instances.<br />

Figure 8. Knowledge Rule Entity-Relationship Model<br />

© 2012 ACADEMY PUBLISHER<br />

The 1:N relationship between the constraint and<br />

subject entity types binds the constraint entity instances<br />

with the subject entity instances to represent a complete<br />

knowledge rule statement. Further, as knowledge rules<br />

are structured into distinct entity types, the entity<br />

relationship model <strong>of</strong> a subject area represents a database<br />

schema <strong>of</strong> entity types. For example, there can be a<br />

schema <strong>of</strong> entity types for the customer loan subject area<br />

representing its various knowledge rules. The<br />

transformation <strong>of</strong> entity relationship model <strong>of</strong> a subject<br />

area into a relational model is outlined now.<br />

D. Relational Table Representation<br />

Each constraint entity type is represented as a separate<br />

table in a relational database. For example, Figure 9<br />

which is an extension <strong>of</strong> Figure 5 shows the table<br />

structure <strong>of</strong> the credit risk and loan requested constraint<br />

entity types.<br />

Figure 9. Database Tables for Customer Loan Example Constraints<br />

Similarly the subject entity type will be represented as<br />

a separate table in the relational database. For example,<br />

Figure 10 extends Figure 7 through the table structure <strong>of</strong><br />

the Customer Loan subject entity type. The<br />

CreditRisk_Logical attribute represents the logical<br />

operator value that binds credit risk constraint with loan<br />

requested constraint for this rule. The<br />

loanrequested_logical attribute being associated with the<br />

last constraint clause within the rule structure will be null.<br />

Part (a) <strong>of</strong> the figure shows the 1:N relationship between<br />

the subject (Customer Loan) entity type with the<br />

constraint Credit Risk and Loan Requested, while part (b)<br />

shows the table structure <strong>of</strong> the Customer Loan entity<br />

type. The foreign key CreditRisk_ID and<br />

LoanRequested_ID in Customer Loan table represents the<br />

1:N relationship with the CreditRisk and LoanRequested<br />

tables respectively. Included in the CustomerLoan table is<br />

also the value <strong>of</strong> the logical operators.<br />

The database schema <strong>of</strong> constraint entity types tables<br />

and subject entity type table represents a collection <strong>of</strong>


2860 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

knowledge rules for the subject area in a relational<br />

database.<br />

Figure 10. Database Tables for Customer Loan Example<br />

E. Sharing <strong>of</strong> Subject Area Schemas<br />

Subject area database schemas’ can share entity types<br />

among each other. Such sharing represents the chaining<br />

<strong>of</strong> knowledge among knowledge rules belonging to<br />

different subject areas. First type <strong>of</strong> sharing occurs when<br />

the constraint in one subject area set <strong>of</strong> knowledge rules<br />

is also a constraint in another subject area knowledge<br />

rules. For example, consider two knowledge rules in two<br />

subject areas. The first rule belongs to the credit risk<br />

subject area with three constraint clauses as shown below:<br />

IF credit score is less than 600 AND<br />

debt to income is greater than 40% OR<br />

house is investment<br />

THEN Credit Risk is High<br />

The second rule belongs to the customer loan subject<br />

area with three constraint clauses as shown below.<br />

IF credit score is less than 600 AND<br />

loan to value is less than 80% OR<br />

loan requested is less than $40,000<br />

THEN Approve with 5% APR<br />

The first constraint “credit score is less than 600” in<br />

both rules is the same. From a modeling perspective, the<br />

entity type representing this constraint is defined once in<br />

either <strong>of</strong> the two subject area schema, and then shared<br />

between the two subject area schemas. Such sharing <strong>of</strong><br />

constraint entity types across subject area schemas can be<br />

viewed symbolically in Figure 11.<br />

Figure 11. Sharing Constraints Entity Types among Subject Areas<br />

Second type <strong>of</strong> sharing occurs when action value in<br />

one subject area set <strong>of</strong> knowledge rules serves as a<br />

constraint clause in another subject area set <strong>of</strong> knowledge<br />

rules. For example, consider two knowledge rules in two<br />

© 2012 ACADEMY PUBLISHER<br />

subject areas. The first rule belongs to the credit risk<br />

subject area with three constraint clauses as shown below:<br />

IF credit score is less than 600 AND<br />

debt to income is greater than 40% OR<br />

house is investment<br />

THEN Credit Risk is High<br />

The second rule belongs to the customer loan subject<br />

area with three constraint clauses as shown below.<br />

IF credit risk is High AND<br />

loan to value is less than 80% OR<br />

loan requested is less than $40,000<br />

THEN Approve with 5% APR<br />

The action clause in credit risk subject area value is<br />

referred as a constraint “credit risk is High” in customer<br />

loan subject area. This reference in the customer loan<br />

subject area helps in the validation <strong>of</strong> the constraint value<br />

associated with a separate set <strong>of</strong> knowledge rules in credit<br />

risk subject area. From a modeling perspective, such<br />

reference is represented through the relationship between<br />

the subject entity types between the involved subject<br />

areas as shown symbolically in Figure 12.<br />

Figure 12. Sharing Action Entity Types among Subject Areas<br />

III. KNOWLEDGE RULES MODELING PROTOTYPE<br />

A prototype for modeling knowledge rules based on<br />

two subject areas belonging to finance discipline is<br />

outlined in this section. The proposed entity relationship<br />

model is transformed for storage in an Oracle database<br />

through the SQL language. The prototype also shows the<br />

retrieval <strong>of</strong> database stored knowledge rules in<br />

declarative format through a database procedure using the<br />

Oracle’s PL/SQL database language.<br />

A. Modeling Subject Area Knowledge Rules<br />

The subject areas for the prototype are customer loan<br />

and credit risk. The credit risk knowledge rules are listed<br />

first, followed by the entity relationship diagram for the<br />

credit risk subject area as shown in Figure 13.<br />

Credit Risk<br />

Rule 1:<br />

IF credit score is less than 600 AND<br />

debt to income is greater than 40% OR<br />

house is investment<br />

THEN High<br />

Rule 2:<br />

IF customer credit score is more than 600 AND


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2861<br />

debt to income is less than 40% OR<br />

house is primary<br />

THEN Low<br />

Figure 13. Credit Risk Knowledge Rules Entity-Relationship Model<br />

The customer loan knowledge rules are listed now,<br />

followed by the entity relationship diagram for the<br />

customer loan subject area as shown in Figure 14.<br />

Customer Loan<br />

Rule 1:<br />

IF credit risk is High AND<br />

loan to value is greater than 80% OR<br />

loan requested is greater than $40,000<br />

THEN Reject<br />

Rule 2:<br />

IF credit risk is High AND<br />

loan to value is less than 80% OR<br />

loan requested is less than $40,000<br />

THEN Approve with 5% APR<br />

Rule 3:<br />

IF credit risk is High AND<br />

loan to value is 100% OR<br />

loan requested is greater than $75,000<br />

THEN Reject<br />

Rule 4:<br />

IF credit risk is Low AND<br />

loan to value is less than 80% OR<br />

loan requested is greater than $150,000<br />

THEN Approve with 4.5% APR<br />

Figure 14. Customer Loan Knowledge Rules Entity-Relationship Model<br />

The prototype also illustrates the second type <strong>of</strong><br />

sharing between the two subject areas. The credit risk<br />

© 2012 ACADEMY PUBLISHER<br />

constraint entity type within the customer loan schema is<br />

itself a separate subject area. Consequently, there is<br />

sharing <strong>of</strong> credit risk subject entity type with customer<br />

loan subject entity type. The composite entity relationship<br />

model for the two subject area schemas is shown in<br />

Figure 15.<br />

Figure 15. Sharing among Customer Loan and Credit Risk Subject<br />

Areas<br />

B. Relational Model Representation<br />

The entity relationship model <strong>of</strong> the two subject area<br />

schemas is transformed into a relational model for storage<br />

in a relational database. The table structure along with the<br />

row values for the various entity types is now outlined.<br />

To facilitate understanding <strong>of</strong> the concepts, the credit risk<br />

schema tables are outlined first, followed by the customer<br />

loan schema tables.<br />

TABLE I.<br />

CREDITSCORE TABLE<br />

CreditScore_ID Operator Value<br />

1 is less than 600<br />

2 is more than 600<br />

TABLE II.<br />

DEBTTOINCOME TABLE<br />

DebtToIncome_ID Operator Value<br />

CreditRisk_I<br />

D<br />

CreditRisk<br />

_ID<br />

1 is less than 40%<br />

2 is greater than 40%<br />

TABLE III.<br />

HOUSE TABLE<br />

House_ID Operator Value<br />

1 is Investment<br />

2 is Primary<br />

Value<br />

TABLE IV.<br />

CREDITRISK TABLE (PART 1)<br />

CreditScore<br />

_ID<br />

CreditScore_<br />

Logical<br />

DebtToIn<br />

come_ID<br />

1 High 1 AND 2<br />

2 Low 2 AND 1<br />

TABLE V.<br />

CREDITRISK TABLE (PART 2)<br />

DebtToIncome_Logical House_ID House_Logical


2862 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

CreditRisk<br />

_ID<br />

TABLE V.<br />

CREDITRISK TABLE (PART 2)<br />

DebtToIncome_Logical House_ID House_Logical<br />

1 OR 1<br />

2 OR 2<br />

where CreditScore_ID is foreign key to CreditScore table;<br />

DebtToIncome_ID is foreign key to DebtToIncome table;<br />

and, House_ID is foreign key to House table.<br />

Customer<br />

Loan_ID<br />

TABLE VI.<br />

LOANTOVALUE TABLE<br />

LoanToValue_ID Operator Value<br />

1 is greater than 80%<br />

2 is 100%<br />

3 is less than 80%<br />

TABLE VII.<br />

LOANREQUESTED TABLE<br />

LoanRequested_ID Operator Value<br />

1 is greater than 40000<br />

2 is less than 40000<br />

3 is greater than 75000<br />

4 is greater than 150000<br />

TABLE VIII.<br />

CUSTOMERLOAN TABLE (PART 1)<br />

Value<br />

CreditRisk_<br />

ID<br />

CreditRisk_L<br />

ogical<br />

LoanToV<br />

alue_ID<br />

1 Reject 1 AND 1<br />

2<br />

Approve with<br />

5% APR<br />

1 AND 3<br />

3 Reject 1 AND 2<br />

4<br />

Approve with<br />

5% APR<br />

2 AND 3<br />

CustomerLoan<br />

_ID<br />

TABLE IX.<br />

CUSTOMERLOAN TABLE (PART 2)<br />

LoanToValue_Logical LoanReque<br />

sted_ID<br />

1 OR 1<br />

2 OR 2<br />

3 OR 3<br />

4 OR 4<br />

LoanRequested<br />

_Logical<br />

whereCreditRisk_ID is foreign key to CreditRisk table;<br />

LoanToValue_ID is foreign key to LoanToValue table;<br />

and, LoanRequested_ID is foreign key to LoanRequested<br />

table.<br />

C. Web Prototype<br />

The relational schema tables <strong>of</strong> the two subject areas<br />

are installed in an Oracle 11g database. Once the subject<br />

area schema is in the database, it can be queried for<br />

© 2012 ACADEMY PUBLISHER<br />

decision support. The prototype at this stage performs a<br />

simple retrieval <strong>of</strong> knowledge rules. The results <strong>of</strong> the<br />

retrieval in the form <strong>of</strong> selected knowledge rules is<br />

displayed in declarative format. The prototype consists <strong>of</strong><br />

two Web pages. The interaction <strong>of</strong> the two Web pages<br />

within the Web architecture is shown in Figure 16.<br />

Figure 16. Prototype Web Architecture<br />

The user requests for the first Web page titled “input<br />

rule.” This page displays a Web form with text boxes to<br />

input data needed to search for valid knowledge rule in<br />

the database (knowledge) repository. Figure 17 shows a<br />

view <strong>of</strong> the input rule Web page.<br />

Figure 17. input_rule Web Form<br />

The input rule Web page is generated through a Web<br />

procedure titled "input_rule_web." Once the user<br />

completes the Web form, the “Provide Advice” button in<br />

clicked which enables the browser to forward the form<br />

input data to the second Web page in the database<br />

through the Web (HTTP) Server.<br />

The second Web page is titled “select rule.” This Web<br />

page receives the form input data, completes the database<br />

processing for searching the valid knowledge rule, and<br />

returns the outcome to the Web server, which in turn<br />

forwards the page to the Web browser. Figure 18 shows a<br />

view <strong>of</strong> the output using the inputs entered in the first<br />

Web page.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2863<br />

Figure 18. Select rule Web output<br />

The select rule Web page is generated through two<br />

Web procedures. The first Web procedure titled<br />

“select_rule_web” searches for the valid knowledge rule,<br />

while the second Web procedure titled<br />

“cust_loan_output_web” formats the selected knowledge<br />

rule in declarative format for display in the Web browser.<br />

Figure 19 shows the pseudocode logic for knowledge rule<br />

search strategy. The select_rule_web Web procedure is<br />

listed in Appendix-A, while the cust_loan_output_web<br />

Web procedure is listed in Appendix-B.<br />

Figure 19. Select rule Web page logic<br />

IV. CONCLUSION<br />

Entity relationship model is generally utilized to model<br />

data in a transactional database or data warehouse [13,<br />

16]. However, modeling <strong>of</strong> knowledge rules through an<br />

entity relationship model and storing them in a relational<br />

database provides for a standard based mechanism for<br />

structuring knowledge rules. Storage <strong>of</strong> knowledge rules<br />

as a knowledge base in a relational DBMS allows for the<br />

utilization <strong>of</strong> services similar to those provided for<br />

transactional database like conceptually centralized<br />

management, access optimization, recovery and<br />

concurrency controls, and so on.<br />

The knowledge rules representation as a relational<br />

database schema can facilitate some additional features<br />

like:<br />

© 2012 ACADEMY PUBLISHER<br />

1. Any access to knowledge can be restricted to<br />

only those rules that are pertinent to that user.<br />

This is similar to how access is restricted to data<br />

in a transactional database.<br />

2. Rules shall be queryable and updatable through<br />

widely known SQL language in the form <strong>of</strong> (i)<br />

new rules can be added or dropped to keep the<br />

nature <strong>of</strong> knowledge rules current (ii) new<br />

constraints can be added or existing constraints<br />

can be dropped or modified, and (iii) even<br />

individual attributes can be modified since now<br />

the knowledge rules are stored as relational<br />

tables.<br />

3. Rule consistency can be maintained with regard<br />

to its format and relationships.<br />

4. Rules may be integrated with business or<br />

enterprise applications, wherein such<br />

applications shall always get current knowledge<br />

from the database.<br />

As the relational database SQL concepts are<br />

standardized since SQL was adopted as a standard by the<br />

American National Standards Institute (ANSI) in 1986<br />

and International Organization for Standardization (ISO)<br />

in 1987 (the current standard is SQL:2008), the data<br />

model (relational database schema) can be easily ported<br />

to all major enterprise DBMS like Oracle, SQL Server,<br />

DB2, MySQL, and so on. The manipulation <strong>of</strong> the<br />

schema through a database language as illustrated<br />

through the prototype will vary, even though the nature <strong>of</strong><br />

such manipulations will be conceptually similar.<br />

Further research is in progress to extend the modeling<br />

<strong>of</strong> knowledge rules. This involves (i) developing rule<br />

engine mechanisms to query rules for specific constraints,<br />

(ii) incorporate additional complexity in rule specification,<br />

(iii) techniques to link constraint values with transactional<br />

database, and (iv) exploring the notion <strong>of</strong> inferencing rule<br />

chains.<br />

APPENDIX A WEB PROCEDURE TO SEARCH VALID<br />

KNOWLEDGE RULE<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />


2864 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

if dti_in < 40 then<br />

select debttoincome_id into dti_key<br />

from debttoincome<br />

where operator = 'is less than' and value = '40%';<br />

else<br />

select debttoincome_id into dti_key<br />

from debttoincome<br />

where operator = 'is greater than' and value = '40%';<br />

end if;<br />

if h_in = 'Investment' then<br />

select house_id into h_key<br />

from house<br />

where value = 'Investment';<br />

else<br />

select house_id into h_key<br />

from house<br />

where value = 'Primary';<br />

end if;<br />

select creditrisk_id, value into cr_key, cr_value<br />

from creditrisk<br />

where creditscore_id = cs_key and debttoincome_id = dti_key<br />

and house_id = h_key;<br />

if (ltv_in < 80) then<br />

select loantovalue_id into ltv_key<br />

from loantovalue<br />

where operator = 'is less than' and value = '80%';<br />

end if;<br />

if ((ltv_in > 80) and (ltv_in < 100)) then<br />

select loantovalue_id into ltv_key<br />

from loantovalue<br />

where operator = 'is greater than' and value = '80%';<br />

end if;<br />

if (ltv_in = 100) then<br />

select loantovalue_id into ltv_key<br />

from loantovalue<br />

where operator = 'is' and value = '100%';<br />

end if;<br />

if (lr_in < 40000) then<br />

select loanrequested_id into lr_key<br />

from loanrequested<br />

where operator = 'is less than' and value = 40000;<br />

end if;<br />

if ((lr_in > 40000) and (lr_in < 75000)) then<br />

select loanrequested_id into lr_key<br />

from loanrequested<br />

where operator = 'is greater than' and value = 40000;<br />

end if;<br />

if ((lr_in > 75000) and (lr_in < 150000)) then<br />

select loanrequested_id into lr_key<br />

from loanrequested<br />

where operator = 'is greater than' and value = 75000;<br />

end if;<br />

if (lr_in > 150000) then<br />

select loanrequested_id into lr_key<br />

from loanrequested<br />

where operator = 'is greater than' and value = 150000;<br />

end if;<br />

select customerloan_id, value into cl_key, cl_value<br />

from customerloan<br />

where creditrisk_id = cr_key and loantovalue_id = ltv_key<br />

and loanrequested_id = lr_key;<br />

cust_loan_output_web(cr_key, cl_key); %><br />

APPENDIX B WEB PROCEDURE TO DISPLAY IN<br />

DECLARATIVE FORMAT<br />

© 2012 ACADEMY PUBLISHER<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Select Rule<br />

<br />

<br />

Knowledge Rules Query<br />

Prototype<br />

<br />

The appropriate knowledge rule for advice is:<br />

<br />

<br />

IF<br />

<br />

Credit Score is <br />

<br />

Debt to Income <br />

<br />

<br />

House is <br />

<br />

THEN &nbspCredit Risk<br />

<br />

<br />

<br />

<br />

IF<br />


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2865<br />

where creditrisk_id = cl_row.creditrisk_id; %><br />

Credit Risk is <br />

<br />

Loan to Value <br />

<br />

<br />

<br />

Loan Requested <br />

<br />

<br />

THEN &nbspCustomer Loan<br />

<br />

<br />

<br />

<br />

<br />

REFERENCES<br />

[1] S. Antony, D. Batra, and R. Santhanam, “The use <strong>of</strong> a<br />

knowledge-based system in conceptual data modeling,”<br />

Decision Support Systems, vol. 41, pp. 176 - 188, 2005.<br />

[2] E. Babiker, D. Simmons, R. Shannon, and N. Ellis, “A<br />

Model for Reengineering Legacy Expert Systems to<br />

Object-Oriented Architecture,” Expert Systems with<br />

Applications, vol. 12, pp. 363-371, 1997.<br />

[3] S. Boardman, M. Caffrey, S. Morse, and B. Rosenzweig,<br />

Oracle Web Application Programming for PL/SQL<br />

Developers, Upper Saddle River, NJ: Prentice-Hall, 2003.<br />

[4] R.J. Brachman and H. J. Levesque, Knowledge<br />

Representation and Reasoning, San Francisco, CA:<br />

Morgan Kaufmann, 2004.<br />

[5] Y. Duan and P. Burrell, “Some issues in developing expert<br />

marketing systems,” <strong>Journal</strong> <strong>of</strong> Business & Industrial<br />

Marketing, vol. 12, pp. 149-162, 1997.<br />

[6] U. Fayyad and R. Uthurusamy, “Data Mining and<br />

Knowledge Discovery in Databases,” Communications <strong>of</strong><br />

the ACM, vol. 39, pp. 24-26, 1996.<br />

[7] E. Friedman-Hill, Jess in Action: Rule Based Systems in<br />

Java, Greenwich, CT: Manning Publications, 2003.<br />

[8] C. Gertosio and A. Dussauchoy, “Knowledge discovery<br />

from industrial databases,” <strong>Journal</strong> <strong>of</strong> Intelligent<br />

Manufacturing, vol. 15, pp. 29-37, 2004.<br />

[9] J. C. Giarratano and G.D. Riley, Expert Systems:<br />

Principles and Programming, Boston, MA: Course<br />

Technology, 1998.<br />

[10] F. Gomez and C. Segami, “Semantic interpretation and<br />

knowledge extraction,” Knowledge-Based Systems, vol. 20,<br />

pp. 51–60, 2007.<br />

[11] Y. Guo, Z. Pan, and J. Heflin, “Choosing the best<br />

knowledge base system for large semantic web<br />

applications,” in Proceedings <strong>of</strong> the 13th international<br />

World Wide Web conference, New York, NY, pp. 302 -<br />

303, 2004.<br />

© 2012 ACADEMY PUBLISHER<br />

[12] H. Hayes-Roth and N. Jacobstein, “The State <strong>of</strong><br />

Knowledge-Based Systems,” Communications <strong>of</strong> the ACM,<br />

vol. 37, pp. 27-39, 1994.<br />

[13] R.D. Hull and F. Gomez, “Automatic acquisition <strong>of</strong><br />

biographic knowledge from encyclopedic texts,” Expert<br />

Systems with Applications, vol. 16, pp. 261–270, 1999 .<br />

[14] R. Kaula, Oracle 11g: Developing AJAX Applications with<br />

PL/SQL Server Pages, New York, NY: Mc-Graw-Hill,<br />

2008.<br />

[15] Y. Kim and W.N. Street, “An intelligent system for<br />

customer targeting: a data mining approach,” Decision<br />

Support Systems, vol. 37, pp. 215 - 228, 2004.<br />

[16] R. Kimball, The Data Warehouse Toolkit, New York, NY:<br />

John Wiley & Sons, 1996.<br />

[17] S. Liao, “Expert system methodologies and applications—<br />

a decade review from 1995 to 2004,” Expert Systems with<br />

Applications, vol. 28, pp. 93-103, 2005.<br />

[18] B. Lin, “An Overview <strong>of</strong> Intelligent Database,” <strong>Journal</strong> <strong>of</strong><br />

Computer Information Systems, vol. 33, pp. 8-12, 1993.<br />

[19] M. Mannino, Database Design, Application Development,<br />

and Administration , New York, NY: McGraw-Hill, 2006.<br />

[20] F. Manola, “Object-Oriented Knowledge Bases,” AI Expert,<br />

vol. 5, pp. 46 - 57, 1990.<br />

[21] Y. Ma, B. Jin, and Y. Feng, “Dynamic evolutions based on<br />

ontologies,” Knowledge-Based Systems, vol. 20, pp. 98–<br />

109, 2007.<br />

[22] B. Martin, A. Mitrovic, P. Suraweera, and A. Weerasinghe,<br />

“DB-Suite: Experiences with Three Intelligent, Web-Based<br />

Database Tutors,” <strong>Journal</strong> <strong>of</strong> Interactive Learning<br />

Research, vol. 15, pp. 409-432, 2004.<br />

[23] M.M.O. Owrang and F.H. Grupe, “Database Tools to<br />

Acquire Knowledge for Rule-Based Expert Systems,”<br />

Information and S<strong>of</strong>tware Technology, vol. 39, pp. 607-<br />

616, 1997.<br />

[24] S. K. Pal and P. Mitra, Pattern Recognition Algorithms for<br />

Data Mining, Boca Raton, FL: CRC Press, 2004.<br />

[25] J.B. Quinn, Intelligent Enterprise: A Knowledge and<br />

Service Based Paradigm for Industry, New York, NY: The<br />

Free Press, 1992.<br />

[26] P. Seibel, Practical Common Lisp, New York, NY: Apress,<br />

2005.<br />

[27] Y.P. Shao, “The Infusion <strong>of</strong> Expert Systems in Banking:<br />

An Exploratory Study,” Expert Systems with Applications,<br />

vol. 12, pp. 429-440, 1997.<br />

[28] J.F. Sowa, Knowledge Representation: Logical,<br />

Philosophical, and Computational Foundations, New<br />

York, NY: Brooks/Cole, 2000.<br />

[29] L. Sterling and E. Shapiro, The Art <strong>of</strong> Prolog, Second<br />

Edition: Advanced Programming Techniques (Logic<br />

Programming), Boston, MA: The MIT Press, 1994.<br />

[30] P. Suraweera and A. Mitrovic, “An Intelligent Tutoring<br />

System for Entity Relationship Modelling,” International<br />

<strong>Journal</strong> <strong>of</strong> Artificial Intelligence in Education, vol. 14, pp.<br />

375-417, 2004.<br />

[31] Z. Yuanhui, L. Yuchang, and S. Chunyi, “A Connectionist<br />

Approach to Extracting Knowledge from Databases,” in<br />

X.Liu, P. Cohen, and M. Berthold (ed.), Advances in<br />

Intelligent Data Analysis, Berlin, Germany: Springer-<br />

Verlag, pp. 465-475, 1997.<br />

[32] O.M. Vasil’ev, D. P. Vetrov, and D. A. Kropotov,<br />

“Knowledge Representation and Acquisition in Expert<br />

Systems for Pattern Recognition,” Computational<br />

Mathematics and Mathematical Physics, Vol. 47, pp.<br />

1373–1397, 2007.


2866 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

OPC (OLE for Process Control) based<br />

Calibration System for Embedded Controller<br />

Ming Cen<br />

School <strong>of</strong> Automation, Chongqing University <strong>of</strong> Posts and Telecommunications, Chongqing, P. R. China<br />

Email: m_cen0104@sina.com<br />

Qian Liu, Yi Yan<br />

School <strong>of</strong> Automation, Chongqing University <strong>of</strong> Posts and Telecommunications, Chongqing, P. R. China<br />

Email: liuqian.122678@163.com, yanyi210@126.com<br />

Abstract—During embedded s<strong>of</strong>tware development <strong>of</strong><br />

complex control system, the calibration is an important<br />

approach to obtain optimal parameters <strong>of</strong> embedded<br />

s<strong>of</strong>tware. Currently, typical calibration systems are with<br />

poor adaptability for various controllers which have<br />

different communication interfaces and calibration<br />

protocols. In order to solve the problem, an improved<br />

architecture for embedded controller calibration system is<br />

proposed to support more communication buses and<br />

protocols. In this architecture, by introducing OPC (OLE<br />

for Process Control) technology, the host s<strong>of</strong>tware <strong>of</strong><br />

calibration system is separated into OPC server and client.<br />

The OPC server masks the difference <strong>of</strong> various calibration<br />

protocols and detail <strong>of</strong> communication devices, and provides<br />

a unified access interface for controller parameters. The<br />

OPC client calibrates and acquires the parameters though<br />

calling the interface provided by the OPC server. By the<br />

method, when communication device or calibration protocol<br />

is varied, only the corresponding OPC server is required to<br />

be replaced. Then the details <strong>of</strong> communication devices and<br />

calibration protocols are no longer considered while<br />

developing a calibration system, and the generality and<br />

openness <strong>of</strong> the calibration system are enhanced greatly.<br />

The calibration system corresponding to the architecture<br />

was applied to an engine controller to verify the<br />

effectiveness <strong>of</strong> the method presented.<br />

Index Terms—Embedded s<strong>of</strong>tware, Embedded<br />

controller, Calibration system, OPC technology<br />

I. INTRODUCTION<br />

The wide application <strong>of</strong> embedded system in nearly all<br />

<strong>of</strong> industrial control fields, such as automotive, aerospace,<br />

military and other manufacturing, was grown extremely.<br />

For example, the safety, comfort and efficiency <strong>of</strong><br />

modern automotive mainly depend on various embedded<br />

electronic control systems, so modern automotives are<br />

equipped with more and more parts involving embedded<br />

controllers called electronic control units (ECU),<br />

including powertrain, chassis and body control, etc [1, 2].<br />

In new energy vehicles especially, such as hybrid electric<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2866-2873<br />

vehicles and pure electric vehicles, the number <strong>of</strong> ECUs<br />

is increasing greatly.<br />

Nowadays, electronics makes 90% <strong>of</strong> the innovations<br />

in automotive industry, and 80% out <strong>of</strong> that is from<br />

s<strong>of</strong>tware [3]. Because <strong>of</strong> increasing complexity and<br />

functionality <strong>of</strong> the systems, the size <strong>of</strong> s<strong>of</strong>tware in<br />

modern automotive raised continuously, and almost 50-<br />

70% <strong>of</strong> the development costs <strong>of</strong> the ECUs are s<strong>of</strong>tware<br />

costs [4]. For example, some cars contain more than 50<br />

controllers, more than 600,000 lines <strong>of</strong> code, three<br />

different bus systems and approximately 150 messages<br />

and 600 signals [5]. On the other hand, due to the high<br />

pressure <strong>of</strong> time and cost, the productivity <strong>of</strong> the s<strong>of</strong>tware<br />

development is <strong>of</strong> great importance for automotive<br />

manufacturers. It is similar in other industrial control<br />

fields also.<br />

To reduce the increasing s<strong>of</strong>tware development costs<br />

and time-to-market, and enhance the reliability, a series<br />

<strong>of</strong> approaches are applied to improve the efficiency <strong>of</strong> the<br />

s<strong>of</strong>tware development and the quality. One <strong>of</strong> the<br />

solutions is to increase reuse <strong>of</strong> development results,<br />

including requirements, models, functions, and s<strong>of</strong>tware<br />

components. For example, AUTOSAR (AUTomotive<br />

Open System ARchitecture) provides a group <strong>of</strong><br />

embedded s<strong>of</strong>tware architecture and interfaces<br />

standardization to facilitate the reuse <strong>of</strong> s<strong>of</strong>tware<br />

components between different vehicle platforms,<br />

OEMs and suppliers [6]. The other is to manage the<br />

s<strong>of</strong>tware development and maintenance processes,<br />

including requirements engineering, design, coding,<br />

s<strong>of</strong>tware and systems integration, quality assurance and<br />

maintenance. The international standard, IEC 61508 and<br />

ISO 26262, provide an automotive safety lifecycle to<br />

develop a safety-related system [7, 8].<br />

Other than ordinary embedded s<strong>of</strong>tware, because <strong>of</strong> the<br />

complexity <strong>of</strong> automotive or other industrial control<br />

systems, the performance <strong>of</strong> embedded s<strong>of</strong>tware highly<br />

dependents on the working parameters, including that <strong>of</strong><br />

controlled objects and controllers. The working<br />

parameters <strong>of</strong> embedded controllers must be determined


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2867<br />

and optimized by calibration and matching experiment<br />

from trial to finalizing <strong>of</strong> the products. So calibration is<br />

one <strong>of</strong> the key technologies in the development <strong>of</strong><br />

embedded controllers. The calibration system with high<br />

efficiency and adaptability can improve the development<br />

efficiency and the quality <strong>of</strong> the embedded controllers<br />

greatly [9].<br />

Currently, calibration systems mostly follow the<br />

ASAM standard architecture. ASAM [10, 11] is a<br />

standard system defined by Association for<br />

Standardization <strong>of</strong> Automation and Measuring Systems<br />

(ASAM). It provides a standard interface for<br />

measurement, calibration and fault diagnosis <strong>of</strong><br />

automotive ECUs and embedded controllers <strong>of</strong> other<br />

industrial field. In this architecture, the communication<br />

interfaces, such as serial, CAN, USB and Ethernet, and<br />

the calibration protocols, including CCP (CAN<br />

Calibration Protocol), XCP (eXtended Calibration<br />

Protocol) and KWP2000 are supported. Many calibration<br />

systems were introduced. For example, the calibration<br />

system based on serial communication had been used to<br />

calibrate the parameters <strong>of</strong> the vehicular battery<br />

management system [12]. The hybrid electric vehicle<br />

ECU calibration system based on CCP was developed<br />

with Labview, and implemented the calibration and<br />

measurement <strong>of</strong> ECU parameters by calling the driver<br />

library <strong>of</strong> CAN communication adapter [13]. The gas<br />

engine controller calibration system based on CCP was<br />

developed with Borland C++ builder, and the connector<br />

<strong>of</strong> the host and the ECU was USB-CAN adapter [14].<br />

There were other applications <strong>of</strong> CCP protocol in<br />

automotive controller also [15]. The KWP2000 protocol<br />

was used for diesel engine calibration system, and the<br />

serial port was as the connector <strong>of</strong> calibration system and<br />

high-pressure common rail diesel engine [16]. To support<br />

different types <strong>of</strong> ECUs with different parameters, a<br />

calibration system architecture supporting user interface<br />

customizing and reconstruction is provided [17].<br />

However, the calibration systems in above solutions<br />

are strongly coupled with a specifically communication<br />

device or calibration protocol. Once the communication<br />

device or calibration protocol changed, the calibration<br />

system must be updated correspondingly. Therefore, the<br />

solutions are insufficient to suit different calibration<br />

protocols and hardware interfaces, and the generality and<br />

openness <strong>of</strong> the calibration system are restricted greatly.<br />

An improved architecture <strong>of</strong> calibration system is<br />

presented to solve the problem, in which the different<br />

calibration protocols and communication devices are<br />

encapsulated with OPC technology to provide unified<br />

data access interface <strong>of</strong> ECUs. The development <strong>of</strong> OPC<br />

server and client <strong>of</strong> calibration system are discussed and<br />

verified also.<br />

II. ARCHITECTURE OF CALIBRATION SYSTEM BASED ON<br />

MIDDLEWARE<br />

A. ASAM architecture <strong>of</strong> Calibration System<br />

ASAM working Group defines the conception <strong>of</strong> MCD<br />

(Measurement, calibration and Diagnostics) model, and<br />

© 2012 ACADEMY PUBLISHER<br />

provides a corresponding standard architecture to direct<br />

the development <strong>of</strong> calibration system. The typical<br />

calibration system accorded with the ASAM standard<br />

architecture is shown in Figure 1.<br />

Automation system<br />

Measurement, Calibration<br />

and Diagnostic system<br />

ASAM 1a<br />

driver<br />

Adapter<br />

ASAM 1a<br />

driver<br />

Hardware Hardware<br />

ASAM MCD_3<br />

ASAM MCD_2<br />

ASAM MCD_1<br />

*.map<br />

ASAM<br />

data base<br />

ASAP<br />

editor<br />

Figure 1. ASAM standard architecture <strong>of</strong> calibration system<br />

In this architecture, there are three interfaces or<br />

protocols called ASAM MCD-1, ASAM MCD-2 and<br />

ASAM MCD-3. The calibration and measurement<br />

parameters <strong>of</strong> the ECU are originated from map file<br />

(*.map), which generated by the compiler <strong>of</strong> the micro<br />

controller firstly. The map file is transformed to ASAM<br />

MCD-2 data base file (*.a2l) by the ASAP editor.<br />

According to ASAM MCD-2 data base, the host <strong>of</strong> MCD<br />

system can upload or download parameters to the ECU<br />

by ASAM MCD-1 interface to implement calibration and<br />

measurement.<br />

In the architecture, the host s<strong>of</strong>tware user interface <strong>of</strong><br />

calibration system is strong coupled with calibration<br />

protocol and bottom hardware layer generally. For<br />

example, a calibration system supporting serial port can<br />

not be used for the calibration <strong>of</strong> the ECUs which have<br />

CAN interface only. The host calibration s<strong>of</strong>tware based<br />

on USB-CAN adapter can not support PCI-CAN adapter<br />

also. Furthermore, when the calibration protocol is<br />

changed to XCP, the original calibration system based on<br />

CCP would be failure. Once the calibration protocol or<br />

hardware interface layer is changed, the calibration<br />

system should be updated accordingly. So the calibration<br />

system can not meet the requirement <strong>of</strong> customizing and<br />

reconstruction according to the changing <strong>of</strong> ECUs.<br />

The calibration system which supports host s<strong>of</strong>tware<br />

interface customizing and automatically generating can<br />

provide the reconstruction <strong>of</strong> user interface, and the<br />

adaptability for different parameters or ECUs is improved<br />

[17]. For lack <strong>of</strong> the standard <strong>of</strong> abstract communication<br />

interface to encapsulate the different bottom hardware<br />

and calibration protocols, the host s<strong>of</strong>tware is coupled<br />

with bottom hardware or calibration protocol layer yet.<br />

So it is very necessary to introduce a mechanism to shield<br />

the difference <strong>of</strong> communication hardware layer and<br />

protocol layer, and provides a unified data access<br />

interface to improve the generality and adaptability <strong>of</strong><br />

calibration system.


2868 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

B. Architecture <strong>of</strong> Middleware based Calibration System<br />

There are mainly two approaches to mask different<br />

bottom hardware and calibration protocols, namely<br />

standard API and middleware technology. standard APIs<br />

can encapsulate the detail <strong>of</strong> communication hardware<br />

and calibration protocol, and provide unified access<br />

interface for calibration host s<strong>of</strong>tware. The scheme <strong>of</strong><br />

calibration system based on API is shown in Figure 2.<br />

But in fact, for lack <strong>of</strong> API specification, the API<br />

interface is varied for differnt communication device. If<br />

the driver interface or device are changed, the calibration<br />

system is required to be updated also.<br />

Device<br />

driver 1<br />

Device 1<br />

Calibration system<br />

API functions<br />

Device<br />

driver 2<br />

Device 2<br />

Figure 2. Scheme <strong>of</strong> calibration system based on API<br />

Middleware technology [18] can provide unified<br />

interface to shield the detail <strong>of</strong> bottom communication<br />

devices and calibration protocols also. Once the device<br />

driver or communication protocol changed, only the<br />

middleware is required to be updated, and the calibration<br />

host s<strong>of</strong>tware keeps the same. Then the development time<br />

and cost <strong>of</strong> calibration system are both reduced, and the<br />

development efficiency is improved to raise the<br />

development <strong>of</strong> embedded s<strong>of</strong>tware. The architecture <strong>of</strong><br />

calibration system based on middleware is shown in<br />

Figure 3.<br />

Communication middleware<br />

Device<br />

driver3<br />

Device 3<br />

Middleware interfaces<br />

USB CAN Ethernet LIN<br />

Figure 3. Architecture <strong>of</strong> calibration system based on middleware<br />

The middleware <strong>of</strong> calibration system can provide a<br />

unified standard interface to shield the difference <strong>of</strong><br />

network communication interfaces such as USB, Ethernet,<br />

CAN, LIN, etc, as well as the difference <strong>of</strong> calibration<br />

protocols such as CCP, XCP, and KWP2000 and so on.<br />

© 2012 ACADEMY PUBLISHER<br />

Calibration system<br />

Embedded controller<br />

…<br />

…<br />

So the adaptability and generality <strong>of</strong> calibration system<br />

would be improved greatly.<br />

III. CALIBRATION SYSTEM BASED ON OPC TECHNOLOGY<br />

A. Selection <strong>of</strong> Calibration System Middleware<br />

There are two basic middleware resolutions. The one is<br />

COM/DCOM (Component Object Model/Distributed<br />

COM) standard proposed by Micros<strong>of</strong>t Corporation [19,<br />

20], and the other is CORBA (Common Object Request<br />

Broker Architecture) standard proposed by OMG<br />

(Object Management Group) [21]. The OPC is a<br />

COM/DCOM based industrial standard which specifies<br />

the communication <strong>of</strong> real-time plant data between<br />

control devices from different manufacturers. By OPC<br />

technology, the problem <strong>of</strong> heterogeneity for bottom<br />

device driver design is solved effectively, and the<br />

development costs and incompatibilities between<br />

different devices are reduced. Meanwhile, the unified<br />

interface shielded the difference <strong>of</strong> bottom devices and<br />

improved the performance <strong>of</strong> industrial control systems.<br />

But this resolution can only be used in windows<br />

platform. CORBA is an open industry standard<br />

developed by OMG. The resolution provides the<br />

capability <strong>of</strong> platform independence, program language<br />

independence and transparent message passing, but it is<br />

too huge or too complicated.<br />

Currently, the hosts <strong>of</strong> calibration system are largely<br />

PC and industrial computer, and they are based on<br />

Windows platform mostly. Considering that the scale <strong>of</strong><br />

calibration system is small generally, the OPC approach<br />

is more suitable for proposed method than that <strong>of</strong><br />

CORBA.<br />

B. Architecture <strong>of</strong> OPC based General Calibration<br />

System<br />

The calibration <strong>of</strong> embedded control system is a<br />

process that adjusts the control parameters <strong>of</strong> embedded<br />

controller to optimize the system working state. A typical<br />

calibration system should have the functions <strong>of</strong> data<br />

acquisition, display, modification and storage, etc.<br />

Beyond the basic features, the presented calibration<br />

system is required to satisfy different calibration<br />

parameters <strong>of</strong> embedded controllers, HMI (humanmachine<br />

interface), calibration protocols and detail <strong>of</strong><br />

bottom devices based on various communication buses.<br />

To achieve the goals above, the calibration host s<strong>of</strong>tware<br />

must be with sufficient generality and adapbility.<br />

The configuration technique based approach introduces<br />

a XML (eXtensible Markup Language) file as interface to<br />

describe the configuration <strong>of</strong> HMI and parameters, and<br />

separates the calibration s<strong>of</strong>tware as editing environment<br />

and running environment. The editing environment<br />

provides a visualized development interface to customize<br />

the manifestation <strong>of</strong> calibration parameters as XML<br />

configuration file, and the running environment parses<br />

the XML file to generate the HMI <strong>of</strong> calibration host<br />

s<strong>of</strong>tware automatically. Once the parameters or<br />

embedded controller are updated, only the customizing <strong>of</strong><br />

HMI in the editing environment is necessary, any new


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2869<br />

update is not required. Then adaptability for different<br />

calibration parameters and HMI is obtained.<br />

Ulteriorly, by integrating the configuration and OPC<br />

approaches, a new solution with more generality and<br />

adapbility can be introduced to adapt various calibration<br />

protocols, bottom devices and communication buses.<br />

Then the generality <strong>of</strong> calibration system is further<br />

improved. The architecture <strong>of</strong> the corresponding<br />

calibration system is shown in Figure 4.<br />

Running<br />

environment<br />

OPC client<br />

OPC server<br />

ASAM<br />

MCD_1<br />

Embedded<br />

controller<br />

Calibration Host S<strong>of</strong>tware<br />

Import<br />

XML<br />

configuration<br />

file<br />

ASAP<br />

editor<br />

Generat<br />

Editing<br />

environment<br />

Figure 4. Architecture <strong>of</strong> OPC based general calibration system<br />

In the architecture, the calibration system running<br />

environment is separated into OPC server and client. The<br />

OPC server encapsulates calibration protocols and the<br />

driver <strong>of</strong> communication device, and provides a unified<br />

data access interface <strong>of</strong> embedded controller for the OPC<br />

client. Then the OPC client would be unrelated to the<br />

details <strong>of</strong> calibration protocol and communication device,<br />

and acquires and modifies the parameters <strong>of</strong> embedded<br />

controller through the OPC interface. The structure <strong>of</strong><br />

running environment based on OPC is shown in Figure 5.<br />

OPC Client<br />

*.map<br />

Monitor HMI Calibration HMI<br />

OPC Sever<br />

Data acquisition<br />

OPC interface layer<br />

Data management layer<br />

Communication layer<br />

Hardware driver interface layer<br />

Embedded controller<br />

ASAM MCD_2<br />

ASAM<br />

Data base<br />

Figure 5. Structure <strong>of</strong> calibration system based on OPC<br />

© 2012 ACADEMY PUBLISHER<br />

XML<br />

configuration<br />

file<br />

ASAM<br />

Data<br />

Base<br />

In the structure, like the user interface layer <strong>of</strong> the<br />

conventional calibration system, the OPC client provides<br />

HMI to implement measurement and calibration.<br />

Corresponding to measurement and calibration function<br />

respectively, there are two types <strong>of</strong> HMI that is the<br />

monitor interface and the calibration interface. The<br />

monitor interface is used for displaying the running state<br />

<strong>of</strong> the embedded controller in various forms, and the<br />

calibration interface are used for manipulating calibration<br />

parameters generally. Similarly, like the communication<br />

layer <strong>of</strong> the conventional calibration system, the OPC<br />

server accesses the parameters <strong>of</strong> the embedded controller<br />

by CCP or XCP protocol, but it provides the unified<br />

communication interface to upper OPC client. The OPC<br />

server consists <strong>of</strong> communication hardware driver,<br />

calibration protocol, data buffer and OPC interface. With<br />

the standard OPC interface, the detail <strong>of</strong> hardware driver<br />

and calibration protocol is concealed.<br />

Furthermore, because an OPC client can access<br />

multiple servers simultaneously, the client and server <strong>of</strong><br />

OPC based calibration system can be deployed at<br />

different network nodes to support distribute calibration.<br />

The OPC client can access data from different embedded<br />

controllers with different protocol and hardware<br />

concurrently. So repeated development <strong>of</strong> calibration<br />

system for different embedded controller is reduced, and<br />

the universality <strong>of</strong> the calibration system is improved to<br />

enhance the development efficiency <strong>of</strong> the embedded<br />

s<strong>of</strong>tware.<br />

C. Design <strong>of</strong> OPC Server<br />

As the same in the field <strong>of</strong> industrial control, the OPC<br />

server <strong>of</strong> calibration system is designed to shield the<br />

difference <strong>of</strong> bottom devices. Standard OPC server is a<br />

COM component according with OPC specification, an<br />

industrial standard established by OPC foundation. As the<br />

most foundational OPC specification, data access<br />

specification defines a mechanism for real-time data<br />

communication [20]. According to the functions, the OPC<br />

server can be divided into four layers, communication<br />

interface layer, communication layer or calibration<br />

protocol stack, data management and OPC interface layer.<br />

The OPC server structure <strong>of</strong> calibration system is shown<br />

in Figure 6.


2870 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

OPC interface layer<br />

Data management layer<br />

Communication interface layer<br />

FlexRay Ethernet CAN<br />

Embedded<br />

controller<br />

Communication layer<br />

DAQ processor Command processor<br />

Embedded<br />

controller<br />

Figure 6. Structure <strong>of</strong> calibration system OPC server<br />

The communication interface layer is the lowest layer<br />

<strong>of</strong> the OPC server, which includes different driving<br />

interfaces provided by different physical layer devices<br />

and different communication interfaces provided by<br />

various buses. Because the OPC client accesses data <strong>of</strong><br />

embedded controller by OPC interface rather than driver<br />

<strong>of</strong> bottom device, even if the device or driver changed,<br />

only the corresponding OPC server is required to be<br />

replaced, and it is not necessary to update the calibration<br />

system to adapt to new hardware. Then the calibration<br />

system can support various devices and buses, such as<br />

CAN, LIN, Ethernet, FlexRay and so on.<br />

The communication layer encapsulates calibration<br />

protocols. There are two typical calibration protocols<br />

supporting different buses, CCP and XCP. Similarly, the<br />

OPC client does not access calibration protocol stack<br />

directly, so only the corresponding OPC server is<br />

required to be replaced when calibration protocol is<br />

varied. Then the generality <strong>of</strong> calibration system is<br />

improved correspondingly.<br />

The data management layer provides the management<br />

for two kinds <strong>of</strong> data, one is metadata from ASAM<br />

database, and the other is measurement and calibration<br />

data from embedded controller. According to the ASAM<br />

architecture, the metadata from ASAM database<br />

describes the information <strong>of</strong> the parameters <strong>of</strong> embedded<br />

controller, such as variable name, data type, address and<br />

so on. The OPC server configures the DAQ-ODT (Data<br />

AcQuisition - Object Descriptor Table) tables <strong>of</strong><br />

embedded controller with the metadata, and then the<br />

controller can send specified data to the calibration host<br />

automatically according to DAQ-ODT configuration. The<br />

latter provides a data buffer to temporarily store the real<br />

time measurement data from the controller as well as the<br />

calibration data from the OPC client. Essentially, the data<br />

buffer is equivalent to a map <strong>of</strong> the embedded controller<br />

memory.<br />

The OPC interface layer provides standard interfaces<br />

according with OPC data access specification. By the<br />

© 2012 ACADEMY PUBLISHER<br />

Embedded<br />

controller<br />

...<br />

OPC interface, the calibration data from client can be sent<br />

to the controller, and the measurement data from the<br />

controller can be acquired also. Then the detail <strong>of</strong><br />

communication devices and calibration protocols are<br />

concealed completely.<br />

D. Design <strong>of</strong> OPC Client<br />

The goal <strong>of</strong> calibration system client is to provide a<br />

friendly HMI and effective communication capability.<br />

The former can be implemented by user interface<br />

customizing and configuration, and the latter can be<br />

implemented by accessing embedded controller through<br />

OPC Server.<br />

The OPC client <strong>of</strong> calibration system consists <strong>of</strong> three<br />

layers, HMI, data management and OPC interface layer.<br />

The OPC client model is shown in Figure 7.<br />

The OPC interface layer <strong>of</strong> the client provides an<br />

access mechanism to OPC server. By the interfaces, the<br />

callback mechanism is implemented to achieve<br />

bidirectional communication between client and server.<br />

Then the OPC client can send calibration data to the<br />

controller, and acquire the measurement data <strong>of</strong> the<br />

controller from OPC server asynchronously by polling or<br />

publish/subscribe mode.<br />

Monitor HMI Calibration HMI<br />

Data management layer<br />

ASAM data base<br />

parsing<br />

Human-machine interface layer<br />

Data storage<br />

Data conversion<br />

OPC interface layer<br />

Figure 7. Model <strong>of</strong> calibration system client<br />

The client side data management layer parses ASAM<br />

database to obtain calibration metadata, and provides a<br />

data buffer to store the real time measurement data <strong>of</strong><br />

embedded controller from OPC server and the calibration<br />

data. Similarly, the data buffer is corresponding to the<br />

memory <strong>of</strong> embedded controller, but the data is converted<br />

according to calibration metadata.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2871<br />

Figure 8. Sequence diagram <strong>of</strong> OPC based calibration system<br />

The human-machine interface layer includes<br />

calibration and monitor interfaces to display calibration<br />

and measurement parameters respectively. Calibration<br />

users can modify and calibration parameters through<br />

calibration interfaces, then the modified parameters<br />

should be sent to the server through OPC interface timely.<br />

Then OPC server sends the data to embedded controller<br />

after some data conversion. The monitor interfaces<br />

update the display <strong>of</strong> measurement data periodically by<br />

various styles, such as scopes, meters or grids.<br />

The OPC client and server described above are<br />

integrated to realize the host s<strong>of</strong>tware <strong>of</strong> calibration<br />

system. The sequence diagram <strong>of</strong> interaction process<br />

between OPC server and client is shown in Figure 8.<br />

During the calibration process, the OPC server connects<br />

to the embedded controller firstly, and configures the<br />

DAQ-ODT tables <strong>of</strong> the controller according to parsed<br />

calibration metadata, then starts the DAQ command to<br />

obtain the controller parameters continuously. Secondly,<br />

the OPC client connects to the server, and begins to<br />

perform measurement and calibration.<br />

IV. TEST AND APPLICATION<br />

To verify the effectiveness <strong>of</strong> the method presented,<br />

the calibration system according with the method is<br />

developed, and used for the calibration <strong>of</strong> an engine ECU.<br />

In the calibration bench shown in Figure 9, an industrial<br />

PC with USB interface is as host computer, and an USB-<br />

CAN adapter is used to connect the host and the ECU.<br />

© 2012 ACADEMY PUBLISHER<br />

Calibration host USB-CAN Engine ECU<br />

Figure 9. Calibration bench for engine ECU<br />

The OPC server is corresponding to the USB-CAN<br />

adaptor, and CCP is used as calibration protocol. Both the<br />

OPC server and client <strong>of</strong> calibration host s<strong>of</strong>tware are<br />

installed at the industrial PC.<br />

In calibration experiment, the OPC server runs firstly,<br />

and a series <strong>of</strong> initialization and configuration operations<br />

are executed, such as importing the ASAM database to<br />

obtain meta data <strong>of</strong> calibration parameters, connecting to<br />

the engine ECU and configurating DAQ-ODT tables.<br />

Then measurement data <strong>of</strong> the ECU running state is sent<br />

to the OPC server continuously.<br />

Subsequently, the OPC client starts and connects to the<br />

OPC server. Then the ASAM data base and XML<br />

configuration file are imported to generate the calibration<br />

and monitor interfaces automatically, and the<br />

measurement data are acquired and displayed<br />

continuously. At the same time, the control parameters <strong>of</strong><br />

engine ECU can be updated at HMI, sent to OPC server<br />

by OPC interface, and send to ECU afterwards to achieve<br />

the calibration. The corresponding host s<strong>of</strong>tware HMI <strong>of</strong><br />

engine ECU calibration system is shown in Figure 10.<br />

By means <strong>of</strong> the calibration bench and corresponding<br />

measurement instruments and equipments, the engine<br />

ECU is calibrated to obtain a group <strong>of</strong> optimal control<br />

parameters. The main parameters include fuel injection<br />

pulse width, ignition advance angle and so on. Because<br />

the fuel injection pulse width influences the air-fuel ratio<br />

directly, the calibration <strong>of</strong> the parameter is one <strong>of</strong> the<br />

most important parts for engine ECU. Figure 11 shows<br />

the calibration results <strong>of</strong> fuel injection pulse width as map<br />

graph, where blue-axis denotes the engine speed and the<br />

red-axis denotes intake manifold pressure. Figure 12 is<br />

the corresponding fuel injection pulse width table.<br />

Figure 10. The client interface <strong>of</strong> ECU


2872 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Figure 11. MAP graph <strong>of</strong> fuel injection pulse width<br />

Figure 12. Fuel Injection Pulse Width Table<br />

Replacing the USB-CAN adaptor by a PCI-CAN<br />

adaptor, developing corresponding OPC server for new<br />

adaptor, and repeating the calibration experiment, the<br />

same result as above is obtained. It is shown that while<br />

the bottom hardware interface changed, only the<br />

middleware is required to be updated, and the rest <strong>of</strong><br />

calibration host s<strong>of</strong>tware keeps the same. Subsequently,<br />

the vehicle test verified the effectiveness <strong>of</strong> the<br />

calibration parameters also. So the calibration system<br />

according with the method presented can adapt to<br />

different bottom hardware.<br />

The adaptability <strong>of</strong> the calibration system to different<br />

communication buses and calibration protocols can be<br />

verified similarly. So the method presented improves the<br />

adaptability and generality, and the development cost and<br />

time <strong>of</strong> calibration system are reduced. Finally, the<br />

development efficiency and quality <strong>of</strong> embedded<br />

controller s<strong>of</strong>tware are enhanced.<br />

V. CONCLUSIONS<br />

Calibration is one <strong>of</strong> the key technologies in the<br />

development <strong>of</strong> the s<strong>of</strong>tware <strong>of</strong> embedded controller. The<br />

existing calibration system is strongly coupled with a<br />

specifically communication device or calibration protocol.<br />

It is difficult to meet the fast, efficient and reliable<br />

development requirement <strong>of</strong> the embedded s<strong>of</strong>tware.<br />

The OPC based calibration system presented is<br />

separated into OPC server and client to isolate the bottom<br />

© 2012 ACADEMY PUBLISHER<br />

hardware and calibration protocol with the rest. The OPC<br />

server masks the difference <strong>of</strong> various calibration<br />

protocols and detail <strong>of</strong> communication devices, and<br />

provides a unified data access interface. Once the<br />

hardware or calibration protocol changed or updated,<br />

only the OPC server is required to be updated<br />

correspondingly, and the rest <strong>of</strong> calibration system keeps<br />

the same. So the adaptability and openness <strong>of</strong> the<br />

calibration system is enhanced to improve the<br />

development efficiency <strong>of</strong> embedded s<strong>of</strong>tware in<br />

industrial control fields.<br />

ACKNOWLEDGMENT<br />

This work is supported by Science and Technology<br />

Project <strong>of</strong> Chongqing Municipal Education Commission<br />

under the Grant No. KJ110521, and Chunhui Project <strong>of</strong><br />

the Ministry <strong>of</strong> education <strong>of</strong> China under the Grant No.<br />

z2009-1-63019.<br />

REFERENCES<br />

[1] Kiesel Rainer, Streubühr Martin, Haubelt Christian,<br />

Löhlein Otto and Teich Jürgen, “Calibration and validation<br />

<strong>of</strong> s<strong>of</strong>tware performance models for pedestrian detection<br />

systems,” In Int. Conf. Embedded Comput. Syst.: Archit.,<br />

Model. Simul., IC-SAMOS, pp.182-189, 2011<br />

[2] Huizong Feng, Ming Cen, Yu Zhang, Jianchun Jiang and<br />

Huasheng Dai, “A weak coupled calibration system<br />

architecture for electronic control unit,” In IEEE Veh.<br />

Power Propul. Conf., VPPC, pp.1-4, 2008<br />

[3] Bernd Hardung, Thorsten Kölzow and Andreas Krüger,<br />

“Reuse <strong>of</strong> s<strong>of</strong>tware in distributed embedded automotive<br />

systems,” In Fourth ACM Int. Conf. Embedded S<strong>of</strong>tw.,<br />

EMSOFT, pp.203-210, 2004<br />

[4] Manfred Broy, “Challenges in automotive s<strong>of</strong>tware<br />

engineering,” In Int. Conf. S<strong>of</strong>tware Eng., ICSE'06, pp.33-<br />

42, 2006<br />

[5] Klaus Grimm, “S<strong>of</strong>tware technology in an automotive<br />

company - Major challenges,” In Int. Conf. S<strong>of</strong>tware Eng.,<br />

pp.498-503, 2003<br />

[6] Th. Scharnhorst, H. Heinecke, K.-P. Schnelle and H.<br />

Fennel, et al. “AUTOSAR - Challenges and achievements<br />

2005,” VDI Berichte, no.1907, pp.395-408, 2005<br />

[7] Ron Bell, “Introduction & revision <strong>of</strong> IEC 61508,”<br />

Measurement and Control, vol.42, no.6, pp.174-179, 2009<br />

[8] B. Dion and J. Gartner, “Efficient development <strong>of</strong><br />

embedded automotive s<strong>of</strong>tware with IEC 61508 objectives<br />

using SCADE drive,” VDI Berichte, no.1907, pp.237-247,<br />

2005<br />

[9] M. Beham, M. Etzel, D. L. Yu, “Development <strong>of</strong> a new<br />

automatic calibration method for control <strong>of</strong> variable valve<br />

timing,” Proc. Inst. Mech. Eng. Part D J. Automob. Eng.,<br />

vol.218, pp.707-718, 2004<br />

[10] ASAM, “AE MCD-2MC: ASAP2 interface specification<br />

v.51, ” http://www.asam.net, 2009<br />

[11] S. Bienk, “ASAM ODX: syntax as semantics,” In Int. Conf.<br />

S<strong>of</strong>tware Eng., pp.583-592, 2008<br />

[12] John Chatzakis, Kostas Kalaitzakis, Nicholas C. Voulgaris<br />

and Stefanos N. Manias, “Designing a new generalized<br />

battery management system,” IEEE Trans. Ind. Electron.,<br />

vol.50, pp.990-996, 2003<br />

[13] C. M. Vong, P. K. Wong and H. Huang, “Case-based<br />

reasoning for automotive engine electronic control unit<br />

calibration,” In Int. IEEE Conf. Inf. Autom., ICIA, pp.1380-<br />

1385, 2009


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2873<br />

[14] Shiwei Yang, Lin Yang and Bin Zhuo, “Developing a<br />

multi-node calibration system for can bus based vehicle,”<br />

In IEEE Int. Conf. Veh. Electron. Saf., ICVES, pp.199-203,<br />

2006<br />

[15] G. S. King, R. Peter Jones, Andrew D. Bailey,<br />

“Application <strong>of</strong> systems modeling and simulation in the<br />

discrete ratio automatic transmission calibration process<br />

for an automotive,” ME Dyn Syst Control Div Publ DSC,<br />

vol.72, pp.935-944, 2003<br />

[16] Xiaojun Fang, Yinnan Yuan, Jiayi Du, Xing Wu and Mingquan<br />

Jia, “Development <strong>of</strong> ECU calibration system for<br />

electronic controlled engine based on Labview,” In Int.<br />

Conf. Electr. Inf. Control Eng., ICEICE - Proc., pp.4930-<br />

4933, 2011<br />

[17] Ming Cen, Yi Yan and Huasheng Dai, “General calibration<br />

system architecture <strong>of</strong> automotive electronic control unit,”<br />

<strong>Journal</strong> <strong>of</strong> computers, vol.5, pp.1894-1898, 2010<br />

[18] G. Blair, A. T. Campbell and D. C. Schmidt, “Middleware<br />

technologies for future communication networks,” IEEE<br />

Network, vol.18, pp.1-4, 2004<br />

© 2012 ACADEMY PUBLISHER<br />

[19] Al Chisholm, “Technical overview <strong>of</strong> the OPC data access<br />

interfaces,” ISA TECH EXPO Technol. Update, vol. 2, no.1,<br />

pp.63-72, 1998<br />

[20] Renjie Huang and Feng Liu, “Research on OPC UA based<br />

on electronic device description,” In IEEE Conf. Ind.<br />

Electron. Appl., ICIEA, pp.2162-2166, 2008<br />

[21] F. G. Chatzipapadopoulos, M. K. Perdikeas and I. S.<br />

Venleris, “Mobile agent and CORBA technologies in the<br />

broadband intelligent network,” IEEE Commun. Mag.,<br />

vol.38, pp.116-124, 2000<br />

Ming Cen received the PhD degree in Optical Engineering<br />

from Graduate University <strong>of</strong> the Chinese <strong>Academy</strong> <strong>of</strong> Sciences.<br />

He had worked on a number <strong>of</strong> projects related to automation<br />

and communication techniques. His research interests include<br />

information fusion, target tracking and recognition, embedded<br />

system and intelligent vehicle.<br />

Qian Liu and Yi Yan are Master Degree Candidates <strong>of</strong><br />

Chongqing University <strong>of</strong> Posts and Telecommunications in<br />

Control Theory and Control Engineering. The main research<br />

interest is automotive electronics and embedded system.


2874 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

WS-mcv: An Efficient Model Driven<br />

Methodology for Web Services Composition<br />

Fayçal Bachtarzi<br />

Department <strong>of</strong> Computer Science, University Mentouri, Constantine, Algeria<br />

Email: bachtarzi@misc-umc.org<br />

Allaoua Chaoui<br />

Department <strong>of</strong> Computer Science, University Mentouri, Constantine, Algeria<br />

Email: a chaoui2001@yahoo.com<br />

Elhillali Kerkouche<br />

Department <strong>of</strong> Computer Science, University <strong>of</strong> Jijel, Jijel, Algeria<br />

Email: elhillalik@yahoo.fr<br />

Abstract— Web services are available applications on the<br />

Web which can be invoked by users to accomplish a potentially<br />

business task. However, to meet user’s requirements, it<br />

becomes necessary to dynamically organize existent services<br />

and combine them, responding thus to a new purpose. In<br />

this paper, we propose a methodology called WS-mcv (Web<br />

Service Modeling, Composing and Verifying) that addresses<br />

the main problems arising in Web service composition<br />

area. WS-mcv represents an efficient and modular multistep<br />

approach achieved by breaking service composition into<br />

three processes: service modeling, automatic composition<br />

and formal verification. The proposed methodology makes<br />

use <strong>of</strong> the G-Net framework to allow an easiest modeling<br />

<strong>of</strong> basic and existent services. We propose a collection <strong>of</strong><br />

expressive G-Net based operators that successfully solves<br />

complex Web service composition. WS-mcv also defines<br />

means to ensure composition correctness. All the processes<br />

<strong>of</strong> WS-mcv have been successfully automated in a model<br />

transformation based visual environment.<br />

Index Terms— Web services composition, G-Nets, MDE,<br />

Graph transformation, ATOM 3 , G-Net Algebra<br />

I. INTRODUCTION<br />

Web services are s<strong>of</strong>tware components available on the<br />

Web that implement business collaborations between corporations.<br />

They can be invoked via Internet to accomplish<br />

a potentially business task making possible interactions<br />

between applications and e-customers. Programs or external<br />

users can access Web services using standard Internet<br />

protocols such as Universal Description, Discovery, and<br />

Integration (UDDI) [1], Web Service Description Language<br />

(WSDL) [2], and Simple Object Access Protocol<br />

(SOAP) [3]. Web services have the particularity to provide<br />

specific and general functionalities and, in most cases,<br />

cannot respond to user’s requirements. To provide users<br />

customized services, it becomes then necessary to combine<br />

existent basic services. The process achieving this<br />

task is called Web service composition. Current solutions<br />

based on UDDI, WSDL and SOAP <strong>of</strong>fer solutions for<br />

description, publication, discovery and interoperability <strong>of</strong><br />

Web services but do not accomplish their complex composition.<br />

Research in the area <strong>of</strong> service composition has<br />

focused on trying to provide models expressed in different<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2874-2885<br />

formalisms. Some <strong>of</strong> the propositions used different kinds<br />

<strong>of</strong> Petri Nets, basic Petri nets [4], colored Petri Nets [5]<br />

[6] and Object oriented Petri Nets [7]. Other proposals exploit<br />

semantic features <strong>of</strong>fered by Ontologies [8] [9] [10].<br />

In this paper, we address the Web service composition<br />

problem by defining an efficient multistep methodology<br />

called WS-mcv (Web Service Modeling Composing and<br />

Verifying). WS-mcv has the advantage to resolve the<br />

main problems arising in Web service composition area. It<br />

breaks service composition process into several phases to<br />

<strong>of</strong>fer solutions for both 1) specifying services, 2) automatically<br />

composing them and 3) ensuring their correctness.<br />

For Web services specification, we have proposed a set<br />

<strong>of</strong> modeling rules which allows modeling Web services<br />

in a high level Petri Nets framework called G-Nets [11].<br />

For services composition, we have defined a G-Net based<br />

algebra that successfully solves complex composition.<br />

The proposed algebra supports basic constructs as well as<br />

more elaborate ones. All the operators within the algebra<br />

are syntactically and semantically defined by means <strong>of</strong><br />

G-Nets. To ensure Web services correctness, we exploit<br />

translation rules [12] which enables to transform G-Net<br />

specifications into their equivalent Predicate/Transition<br />

Nets (PrT-Nets) [13]. Unlike others approaches which<br />

develop their own verification tools [14], we perform this<br />

transformation in order to exploit existing tools with a<br />

variety <strong>of</strong> analysis techniques for PrT-Nets. Each <strong>of</strong> the<br />

underlying well-defined phases <strong>of</strong> our methodology is performed<br />

by a different process which has been successfully<br />

automated. As the main requirement <strong>of</strong> our approach is<br />

to <strong>of</strong>fer a high level <strong>of</strong> genericity and to make abstraction<br />

<strong>of</strong> a particular implementation, we propose to use<br />

Model Driven Engineering (MDE) techniques that support<br />

model evolution and manipulate models as instances <strong>of</strong><br />

meta-models. The modeling process is implemented as<br />

a visual environment that allows designing the services<br />

according to a G-Net meta-model. The composition and<br />

verification processes, including the proposed operators,<br />

are implemented by graph transformation techniques. The<br />

remainder <strong>of</strong> this paper is organized as follows. In the next<br />

section, we present some related work. Section 3 outlines


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2875<br />

the overall approach and presents the different phases <strong>of</strong><br />

WS-mcv methodology. We introduce modeling, composition<br />

and verification processes in Section 4, 5 and 6<br />

respectively. For each <strong>of</strong> them, we describe the operating<br />

mode and the solutions adopted for its implementation.<br />

We finally conclude the paper by summarizing the main<br />

contributions and identifying future research directions.<br />

II. RELATED WORK<br />

Various techniques for web service composition have<br />

been suggested in the literature. Most <strong>of</strong> them try to<br />

provide languages, semantic models and platforms in<br />

order to propose efficient solutions to this problem.<br />

Syntactic (XML-based) service composition [15] has a<br />

limited ability to support automatic composition. This is<br />

essentially due to the absence <strong>of</strong> semantic representations<br />

<strong>of</strong> the available services. Indeed, composition languages<br />

such as BPEL4WS [16] provide a set <strong>of</strong> primitives that<br />

allows interaction between services being composed. In<br />

these approaches, flow <strong>of</strong> processes and bindings between<br />

ervices are specified in advance. On the contrary, semantic<br />

approaches [8] [10] [5] [6] allow describing various<br />

aspects <strong>of</strong> Web services using machine-understandable semantics<br />

or solid mathematical basis. Semantic approaches<br />

are mainly classified into two categories: ontology-driven<br />

approaches and Petri Nets based approaches. In the following,<br />

we present some works related to each <strong>of</strong> the<br />

identified classes.<br />

A. Ontology-driven approaches<br />

Ontology-driven approaches for Web services composition<br />

[8] [9] [17] [10] use terms from pre-agreed<br />

ontologies to declare preconditions and effects <strong>of</strong> the<br />

concerned services. Works <strong>of</strong> [10] lead to OWL-S, which<br />

is a particular ontology for declaring and describing<br />

services. OWL-S provides a standard vocabulary that can<br />

be used together with the other aspects <strong>of</strong> the OWL<br />

description language to create service descriptions. Similarly,<br />

SAWSDL [8] defines a set <strong>of</strong> extension attributes<br />

useful to annotate WSDL interfaces and operations. These<br />

latter are used to publish a web service in a registry.<br />

The proposal <strong>of</strong> [17] is different as it makes use <strong>of</strong><br />

semantic graph transformations to model web services.<br />

In the proposed model, each web service operation is<br />

associated with a semantic annotation that describes the<br />

input and output messages specifications using RDF graph<br />

patterns. The main difference here is that in [10] and<br />

[8] the inputs and outputs are expressed by concepts,<br />

while [17] describe them in terms <strong>of</strong> instance-based graph<br />

patterns. If these approaches present the advantage <strong>of</strong><br />

clearly understanding the meaning <strong>of</strong> the messages, their<br />

main drawback remains the difficulty to discover the<br />

explicit goal <strong>of</strong> the services. This latter constitutes a key<br />

element when composing by AI planners [18]. WSML [9]<br />

also provides a formal syntax for web service modeling<br />

based on Description Logics, First-Order Logic and Logic<br />

Programming. It allows specifying axioms with variables<br />

in the pre- and post-conditions <strong>of</strong> a service capability.<br />

© 2012 ACADEMY PUBLISHER<br />

However, it does not have an explicit model to define<br />

the components <strong>of</strong> a message and their semantics. In all<br />

these works, the composition problem is modeled as a<br />

planning problem based on a reasoning process which<br />

uses semantic descriptions <strong>of</strong> services. Composing by<br />

reasoning is a challenging task as it is time consuming<br />

and it relies on a set <strong>of</strong> goals, plans, and rules to design<br />

complex processes.<br />

B. Petri-nets based approaches<br />

Existing web service composition works also uses Petri<br />

nets framework, simple Petri nets [4] [19] as well as High<br />

level Petri nets [7] [5] [6]. In [4] the authors propose<br />

a Petri net-based algebra for modeling Web services<br />

control flows. Their model is suitably expressive to make<br />

possible the creation <strong>of</strong> dynamic and temporary relationships<br />

among services. However, the main drawback<br />

is that the data types cannot be distinguishable because<br />

an elementary Petri net model is used. The work <strong>of</strong> [6]<br />

also deals with this problem by modeling and composing<br />

Web services using Colored Petri nets (CPN) [20]. Their<br />

proposal <strong>of</strong>fers semantic support improving the reliability<br />

and maintainability <strong>of</strong> composite services. It also allows<br />

analyzing availability, confidentiality and integrity <strong>of</strong> the<br />

composite services. CPN framework is also exploited<br />

by [5] where an efficient algebra is suggested to model<br />

Web service composition. Algorithms to construct and<br />

execute a composite service are also delivered. These<br />

two works seems especially connected, even if in [5]<br />

the service composition sequence cannot be generated<br />

automatically because pre-defined conditions are required.<br />

In the Object-Oriented Petri Nets (OOPN) based approach<br />

[7], the Web service composition relies on mapping a<br />

service as the collaborative objects. Therefore, describing<br />

their behavior and communications is easily performed<br />

using the OOPN model. Their approach is much interesting<br />

since they <strong>of</strong>fer a Web process design tool (WPDT)<br />

allowing to graphically doing the composition. The behavior<br />

and performances <strong>of</strong> a system can be checked when<br />

studying the process in action. This survey highlights<br />

the challenges and the proposed solutions for integrating<br />

existing services to create new value-added ones. Due<br />

to solid theoretical basis <strong>of</strong> semantic methods, they are<br />

well suited for not only modeling and composing Web<br />

services, but also verifying their behavioral correctness.<br />

Ontologies are not expressive enough to accomplish this<br />

task, because they are better to describe the features <strong>of</strong><br />

a system rather than its behavior. In our work, we use<br />

a kind <strong>of</strong> object-oriented Petri-Nets for the specification<br />

<strong>of</strong> complex Web services, namely the G-Net framework<br />

which is powerful enough to capture the semantics <strong>of</strong> Web<br />

services combinations. The following section outlines the<br />

proposed methodology along with the involved phases and<br />

technologies.<br />

III. WS-MCV METHODOLOGY OVERVIEW<br />

Our approach aims to achieve Web service composition<br />

through a simple yet powerful methodology. WS-mcv


2876 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Figure 1. WS-mcv methodology<br />

breaks the composition process into four phases:<br />

1) Modeling <strong>of</strong> Web services using the basic concepts<br />

<strong>of</strong> the G-Net framework,<br />

2) Pre-verification <strong>of</strong> each modeled Web service,<br />

3) Composition <strong>of</strong> the verified Web services using the<br />

G-Net algebra, and<br />

4) Post-verification <strong>of</strong> the resulting service.<br />

The separation <strong>of</strong> the Web service composition process<br />

into a number <strong>of</strong> well-defined phases has several advantages.<br />

First, it simplifies the composition process, since<br />

each phase has a specific goal. Second, it facilitates the<br />

verification process, since it becomes easier to target<br />

the potential errors. Third, if <strong>of</strong>fers more flexibility for<br />

automating the whole composition process, since each<br />

phase can be independently implemented. The complete<br />

composition process based on the proposed methodology<br />

is illustrated by UML activity diagram <strong>of</strong> Fig. 1. We can<br />

see the execution order <strong>of</strong> the different phases as well<br />

as the interactions between them. We specify that each<br />

phase uses the results <strong>of</strong> the previous one and achieved<br />

by an independent process. In the following, we give more<br />

details about each phase.<br />

A. Modeling phase<br />

The modeling phase is the first step <strong>of</strong> WS-mcv. Its role<br />

is to translate the services specifications into G-Nets. The<br />

basic concepts <strong>of</strong> G-Nets are: the interface and the internal<br />

structure. These two concepts are used for designing<br />

the component services while taking into account the<br />

modeling constraints imposed by the G-Net framework.<br />

The intention is to gain benefits <strong>of</strong> the modularity and the<br />

flexibility <strong>of</strong>fered by this formalism on the one hand and<br />

to exploit its ease <strong>of</strong> conceptual modeling on the other<br />

hand. This phase is achieved by the modeling process<br />

which will be wholly described in Section 4.<br />

B. Composition phase<br />

The composition phase takes as input G-Nets representing<br />

the services to compose, together with a composition<br />

formula and generates a new value added service as a<br />

G-Net. To perform this operation, we propose a G-Net<br />

based algebra. This algebra <strong>of</strong>fers a representative set<br />

<strong>of</strong> operators that can be applied to the G-Net services.<br />

The composition formula provided as input is in fact<br />

an algebraic expression where operands are the handled<br />

services and operators are graph manipulating operations<br />

© 2012 ACADEMY PUBLISHER<br />

performed on them. The complete composition process<br />

accomplishing this phase is presented in detail in Section<br />

5.<br />

C. Pre/Post-verification phases<br />

These two phases represent in WS-mcv the second<br />

and the fourth phases respectively and are both achieved<br />

by the verification process. Accomplishing verification<br />

before and after the composition has the main advantage<br />

to facilitate this operation. Traditional approaches don’t<br />

accomplish verification at all or only verify the resulting<br />

service. In doing so, it becomes difficult to localize the<br />

potential errors. Unlike other approaches, ours detects if<br />

the anomalies occur in the component services or in the<br />

composite one. Pre-verification phase is carried out before<br />

composition. It intends to verify whether the obtained<br />

G-Net models will be executing as expected and don’t<br />

contain behavioral inconsistencies such as deadlock or<br />

livelock. It is convenient to detect and correct possible<br />

errors as early as possible. If necessary, steps (1) and (2)<br />

are repeated until the specification <strong>of</strong> the modeled services<br />

passes the verification. Post-verification phase is applied<br />

after composition in order to check the correctness <strong>of</strong> the<br />

resulting composition; i.e. the integration <strong>of</strong> the partner<br />

services correctly runs. Hence, steps (3) and (4) may<br />

also be repeated until the composition <strong>of</strong> the concerned<br />

services passes the verification.<br />

D. WS-mcv realization<br />

As we have defined above, WS-mcv methodology intends<br />

to accomplish Web service composition into several<br />

steps, each one achieved by a specific process. Our proposal,<br />

as we will see in the next sections, doesn’t remain at<br />

the descriptive level. We propose to describe not only the<br />

operating mode <strong>of</strong> each process, but also the techniques<br />

adopted for its implementation. To implement the WSmcv<br />

processes, we have identified three requirements that<br />

must be met by our system:<br />

1) It shall support the evolution <strong>of</strong> the used modeling<br />

language, i.e. possible extensions <strong>of</strong> the G-Net<br />

framework.<br />

2) It shall be convivial, to allow users designing and<br />

manipulating models (G-Net specifications) in a<br />

direct and intuitive way.<br />

3) It shall <strong>of</strong>fer a high level <strong>of</strong> genericity that allows<br />

users to make abstraction <strong>of</strong> a particular implementation.<br />

To meet these requirements, we propose to:<br />

1) Use the syntax <strong>of</strong> the visual modeling language (G-<br />

Net) by means <strong>of</strong> meta-modeling.<br />

2) Exploit a visual environment that allows designing<br />

the services according to the G-Net meta-model.<br />

3) Express model manipulation (i.e. composition) by<br />

means <strong>of</strong> graph-transformation.<br />

4) Use MDE (Model Driven Engineering) techniques<br />

to provide a generic approach that manipulates<br />

models as instances <strong>of</strong> meta-models.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2877<br />

IV. MODELING USING G-NET FRAMEWORK<br />

In this section, we first present the G-Net framework,<br />

and then we give formal definitions <strong>of</strong> G-Net services<br />

and web service together with some modeling rules. We<br />

finally describe the operating mode and the implementation<br />

<strong>of</strong> the modeling process.<br />

A. The G-net framework<br />

G-Net is a Petri Net based framework introduced by<br />

[11]. It is used for the modular design and specification<br />

<strong>of</strong> complex and distributed information systems. This<br />

framework provides a formalism that extensively adopts<br />

object oriented structuring into Petri Nets. The intention<br />

is to take advantages from the formal treatment and the<br />

expressive comfort <strong>of</strong> Petri Nets and at the same time<br />

to gain benefits from object-oriented approach (reusable<br />

s<strong>of</strong>tware, extensible components, encapsulation, etc...). A<br />

system designed by the G-Net framework consists <strong>of</strong> a<br />

set <strong>of</strong> autonomous and loosely coupled modules called<br />

G-Nets. Similarly to an object in the object oriented<br />

programming concept, a G-Net satisfies the property <strong>of</strong><br />

encapsulation i.e. a module can only access another one<br />

throw a well defined mechanism called G-Net abstraction.<br />

A G-Net is composed <strong>of</strong> two parts: the Generic Switch<br />

Place (GSP) and the Internal Structure <strong>of</strong> the G-Net (IS).<br />

The GSP is a special place and represents the visible<br />

part <strong>of</strong> the G-Net i.e. the interface between a G-Net and<br />

other ones. The Internal structure is the hidden part <strong>of</strong><br />

the G-Net; it represents the internal realization <strong>of</strong> the<br />

designed system. The notation used for IS specification<br />

is very close to the Petri Net notation [21]. For more<br />

elaborate introduction to G-Nets, the reader is referred<br />

to [11] [22]. Like a G-Net system, Web services are<br />

assimilated to a distributed system that consists <strong>of</strong> a set<br />

<strong>of</strong> loosely coupled modules which communicate throw<br />

messages exchange. Thus, modeling Web services using<br />

G-Net is straightforward.<br />

B. Web services as G-nets<br />

In order to reduce the specification ambiguity and to<br />

help designers to understand description and possible behaviors<br />

<strong>of</strong> Web services, we give some formal definitions<br />

about G-Net service and Web service.<br />

Definition 1. ( G-Net Service) A G-net service is a<br />

G-Net S(GSP,IS) where:<br />

• GSP(MS,AS) is a special place that represents the<br />

abstraction <strong>of</strong> the service where:<br />

– MS is a set <strong>of</strong> executable methods in the<br />

form <strong>of</strong> < MtdName >< description >=<br />

{[P1 : description,...,Pn : description](<<br />

InitPL >)}<br />

where < MtdName > and < description ><br />

are the name and the description <strong>of</strong> the method<br />

respectively.<br />

< P1 : description,...,Pn : description ><br />

is a set <strong>of</strong> arguments for the method and <<br />

© 2012 ACADEMY PUBLISHER<br />

InitPl > is the name <strong>of</strong> the initial place for<br />

the method.<br />

– AS is a set <strong>of</strong> attributes in the form <strong>of</strong> <<br />

attribute − name >= {< type >} where <<br />

attribute−name > is the name <strong>of</strong> the attribute<br />

and < type > is the type <strong>of</strong> the attribute.<br />

• IS(P,T,W,l) is the internal structure <strong>of</strong> the service,<br />

a modified predicate/transition net [13], where:<br />

– P = NP ∪ ISP ∪ GP is a finite and nonempty<br />

set <strong>of</strong> places where NP is a set <strong>of</strong> normal<br />

places denoted by circles, ISP is the set <strong>of</strong><br />

instantiated switch places denoted by ellipses<br />

used to interconnect G-Nets, GP is the set <strong>of</strong><br />

goal places denoted by double circles used to<br />

represent final state <strong>of</strong> method’s execution.<br />

– T is a set <strong>of</strong> transitions<br />

– W is a set <strong>of</strong> directed arcs W ⊆ (P×T)∪(T×<br />

P) (the flow relation)<br />

– l : P → O ∪{τ} is a labeling function where<br />

O is a set <strong>of</strong> operation names and τ is a silent<br />

operation.<br />

Definition 2. (Web Service) A Web service is a tuple<br />

S = (NameS,Desc,Loc,URL,CS,SGN) where:<br />

• NameS is the name <strong>of</strong> the service used as its unique<br />

identifier<br />

• Desc is the description <strong>of</strong> the provided service. It<br />

summarizes what functionalities the service <strong>of</strong>fers<br />

• Loc is the server in witch the service is located<br />

• URL is the invocation <strong>of</strong> the Web service<br />

• CS is a set <strong>of</strong> the component services <strong>of</strong> the Web<br />

service, ifCS = {NameS} then S is a basic service,<br />

otherwise S is a Composite service<br />

• SGN = (GSP,IS) is the G-Net modeling the<br />

dynamic behavior <strong>of</strong> the service<br />

Since Web service designer may be unfamiliar with G-<br />

Nets, we present modeling rules <strong>of</strong> a Web service into<br />

G-Net concepts.<br />

1) Each Web service is represented by a different G-<br />

Net.<br />

2) A service operation is modeled by a method in the<br />

G-Net. Then each method is associated a piece <strong>of</strong><br />

Petri Net in the IS <strong>of</strong> the G-Net.<br />

3) Messages exchanged by the service and its customers<br />

are modeled by tokens.<br />

4) The state <strong>of</strong> the service is modeled by the position<br />

<strong>of</strong> the tokens in the G-Net.<br />

5) Synchronization and coordination <strong>of</strong> information<br />

exchange between places is modeled by a transition<br />

associated with input and output arcs.<br />

6) Interconnection between different G-Nets is carried<br />

by the ISP notation that represents the primary communication<br />

mechanism (for example, integrating the<br />

ISP <strong>of</strong> a server in the IS <strong>of</strong> a customer service<br />

specifies a client/server relation).<br />

C. Operating mode<br />

MDE approach is founded on the massive use <strong>of</strong> models<br />

during all the steps <strong>of</strong> an application life cycle. It en-


2878 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

sures model stability by using meta-models as structuring<br />

elements. For designer’s applications, using these techniques<br />

prevents them to hardly encode their applications<br />

when creating custom modeling environments (domainspecific<br />

tools), as MDE raises the level abstraction from<br />

source code to models. Once the meta-model is defined, it<br />

is easy to make small modifications to obtain customized<br />

variations <strong>of</strong> the modeling formalism for specific use.<br />

To implement the modeling process, we exploit the<br />

powerful features <strong>of</strong> a tool called ATOM 3 , A Tool<br />

for Multi-formalism and Meta-Modeling [23]. ATOM 3<br />

allows describing (or meta-modeling) different kinds <strong>of</strong><br />

formalisms used to model systems. In ATOM 3 , Entity<br />

Relation-ship (ER) formalism extended with constraints<br />

is available at the meta-meta-level. Therefore,<br />

the designer must use the ER formalism when modeling<br />

new meta-formalisms. Given the meta-model <strong>of</strong><br />

the G-Net formalism, ATOM 3 can automatically generate<br />

a visual modeling tool to create and edit models<br />

in this formalism. In the context <strong>of</strong> our work,<br />

we make use <strong>of</strong> the G-Net meta-model defined by<br />

[12]. As shown in Fig. 2, the meta-model contains<br />

four classes (G − NetsGSP,G − NetsIS,G −<br />

NetsPlace,G − NetsTransition) and five relations<br />

(GNetsRealisation,G−Nets−hasPlaceInsid,G−<br />

Nets − hasTransitionInsid,G − NetsPl2Tr,G −<br />

NetsTr2Pl). To ensure a correct appearance <strong>of</strong> G-<br />

Nets models, the G-Nets meta-model associates graphical<br />

constraints to each G-Net entity. For example, a place<br />

is associated to a circle and a transition is associated<br />

to a rectangle. These constraints are specified when<br />

creating the meta-model in ATOM 3 . Once the tool is<br />

generated (according to the meta-model), the user interface<br />

buttons allow the designer to create entities <strong>of</strong><br />

his model defined in the G-Nets meta-model. He then<br />

applies the modeling rules defined above to conceptualize<br />

any service in the G-Net formalism. The created G-<br />

Net services can be stored, edited and modified. Fig.<br />

3 illustrates the complete modeling process. After the<br />

compilation <strong>of</strong> the G-Net meta-model, ATOM 3 only<br />

accepts syntactically correct models in this formalism.<br />

The right window in the figure shows an example <strong>of</strong> a<br />

modeled service edited by the generated tool. The G-<br />

Net service reproduces the behavior <strong>of</strong> a checkout system<br />

service. The GSP <strong>of</strong> the service contains one method<br />

(mtd.Collect[Bill : data](PMC)(GP)) which receives<br />

the attribute ’Bill’ and have PMC and GP as initial and<br />

goal places respectively. The Checkout service checks the<br />

payment mode that the client invokes (PMC). According<br />

to the payment mode, the service performs the necessary<br />

operations.<br />

V. COMPOSING USING THE G-NET ALGEBRA<br />

This section first presents the G-Net based algebra that<br />

allows combining G-Net services and then shows how<br />

the proposed set <strong>of</strong> operators is implemented using Graph<br />

transformation techniques.<br />

© 2012 ACADEMY PUBLISHER<br />

A. The G-net based algebra<br />

Figure 2. The G-Nets meta-model<br />

WS-mcv allows combining existing G-Net services to<br />

obtain a new value added one that best meets end users’<br />

requirements. For example, a service <strong>of</strong> hotel booking<br />

can collaborate with a Web mapping service like Google<br />

Maps API Web Service [24] to inform customers about<br />

the location <strong>of</strong> hotels. The collaboration <strong>of</strong> these services<br />

generates a composed Web service which performs the<br />

original individual tasks as well as a new one. Various<br />

constructs for Web service composition were discussed<br />

in later works [4] [25] [26]. Based in these works, we<br />

present an algebra that combines existing Web services<br />

for building more complex ones. We will take Sequence,<br />

Parallel, Alternative, Iteration and Arbitrary Sequence as<br />

basic constructs. We also define three more developed<br />

constructs which are Discriminator, Delegation and Selection.<br />

The BNF-like notation below describes the grammar<br />

defining the set <strong>of</strong> services that can be generated using<br />

our algebra’s operators.<br />

S ::= ǫ | X | S ◮ S | S ◭◮ S | � S | S ⇔ S |<br />

S�S | (S ⊡S) ≫ S | Deleg(S1,o,S2) |<br />

Select[S1: Sn]<br />

In what follows, we first give an informal definition <strong>of</strong><br />

each operator and then we define its syntax and formal<br />

semantics in terms <strong>of</strong> G-Nets.<br />

The Empty service (ǫ) is the Zero Service; i.e. it performs<br />

no operation. It is used for technical and theoretical<br />

reasons.<br />

The Sequence operator (S1 ◮ S2) allows the construction<br />

<strong>of</strong> a service composed <strong>of</strong> two services executed one<br />

after the other. This construction is used when a service<br />

should wait the execution result <strong>of</strong> another one before<br />

starting its execution. For example when subscribing to<br />

a forum, the service Registration is executed before the<br />

service Confirmation.<br />

The Alternative operator or Mutual Exclusion operator<br />

(S1 ◭◮ S2) is a composite service. When applied to<br />

a pair <strong>of</strong> services S1 and S2, it reproduces either the


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2879<br />

behavior <strong>of</strong> S1 or S2, but not both. For example the<br />

service Identification is followed either by the service<br />

Allow-access or the service Deny-access.<br />

The Iteration operator (� S) represents a composite<br />

service where one service is successively executed multiple<br />

times in a row. An example <strong>of</strong> use <strong>of</strong> this construct is<br />

when a customer orders from a service, a good a certain<br />

number <strong>of</strong> times.<br />

The Arbitrary Sequence operator (S1 ⇔ S2) is an<br />

unordered operator that performs the execution <strong>of</strong> two<br />

services that must not be executed concurrently. This construct<br />

is useful when there is no benefit to execute services<br />

in parallel. For example when there is no deadline to<br />

accomplish the global task and the parallelism generates<br />

additional costs.<br />

The Parallel Operator (S1�S2) builds a composite<br />

service. Given two services S1 and S2, it performs S1<br />

and S2 at the same time and independently (without<br />

communication and without interaction between them).<br />

The accomplishment <strong>of</strong> the resulting service is achieved<br />

when the two services are completed. This construct is<br />

useful when a service executes multiple atomic services<br />

completely independent.<br />

The Discriminator operator ((S1 ⊡ S2) ≫ S3) is a<br />

composite service built on three services S1, S2 and S3. It<br />

submits redundant orders to different services performing<br />

the same task (S1 and S2 for example) and waits the<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 3. Customized modeling tool with ATOM 3<br />

outputs from S1 and S2. The first service (among S1 and<br />

S2) which responds to the request activates the service S3.<br />

All other late responses will be ignored. Note that S1 and<br />

S2 are performed in parallel and without communication.<br />

The main goal <strong>of</strong> this operator is to increase reliability and<br />

delays <strong>of</strong> the services through the Web. For customers,<br />

best services are those which respond in optimal time<br />

and are constantly available.<br />

The Delegation operator (Deleg(S1,o,S2)), where o<br />

is an operation (o ∈ O1, O1 being the set <strong>of</strong> operations<br />

<strong>of</strong> S1) which is replaced by the ISP <strong>of</strong> another more<br />

specialized service (S2). In a given service, this operator<br />

is used to delegate a task to another service that has<br />

more abilities to execute it. This operator contributes to<br />

increase quality <strong>of</strong> service, enhances cooperation between<br />

enterprises and decreases the development efforts.<br />

The Selection operator (Select[S1 : Sn]) is a complex<br />

operator that is applied to n services (S1,,Sn); it sends<br />

requests to different services through messages passed by<br />

their ISPs. According to the responses and rank criteria,<br />

the Selection operator chooses the best service between<br />

its competitors for performing a particular task that a<br />

company would to subcontract. This operator provides<br />

ways to maintain relationships with different suppliers<br />

which can <strong>of</strong>fer different prices and provide different level<br />

<strong>of</strong> quality <strong>of</strong> service. It contributes then to increase the


2880 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

independency <strong>of</strong> a company against its suppliers.<br />

The proposed algebra verifies the closure property. This<br />

property ensures that the product <strong>of</strong> any operation on<br />

services is itself a service to which we can apply algebra<br />

operators. We are thus able to build more complex services<br />

by aggregating and reusing existing services through<br />

declarative expressions <strong>of</strong> service algebra. Semantics <strong>of</strong><br />

the composition operators is characterized by description<br />

<strong>of</strong> the GSP and IS parts <strong>of</strong> the component services.<br />

We also focus on the dynamic behavior <strong>of</strong> the resulting<br />

service and this to address the Web service composition<br />

problem. Table 1 summarizes the G-Net algebra operators;<br />

in particular, it gives their syntax and formal semantics.<br />

The notations which are common to all the operators are:<br />

• NameS is the name <strong>of</strong> the new service,<br />

• Desc is the description <strong>of</strong> the new service,<br />

• Loc is the location <strong>of</strong> the new service. It can be in<br />

the same server as one <strong>of</strong> the component service (s)<br />

or in a new server,<br />

• URL is the invocation <strong>of</strong> the new service.<br />

B. Operator’s implementation<br />

For the implementation <strong>of</strong> the composition process, we<br />

make use <strong>of</strong> meta-modeling and model transformation<br />

techniques based on the G-Net modeling language. The<br />

syntax <strong>of</strong> the class <strong>of</strong> models (G-Net) is graphically<br />

meta- modeled in an appropriate formalism, the Entity-<br />

Relationship Diagrams. Since the abstract syntax <strong>of</strong> the<br />

used models is graph-like, graph rewriting can be used<br />

to perform model transformation. Regarding to existing<br />

classification criteria, the kind <strong>of</strong> transformation that is<br />

applied in our approach is:<br />

• Endogenous (in contrast with exogenous model<br />

transformation), since the meta- model used to express<br />

both the source and target models is the same<br />

and,<br />

• Horizontal (in contrast with vertical model transformation),<br />

since the source and target models reside<br />

on the same level <strong>of</strong> abstraction.<br />

To implement the G-Net algebra’s operators, we have<br />

defined a graph grammar which consists in a set <strong>of</strong><br />

transformation rules. The complete grammar includes<br />

twelve rules which can be applied to perform any operator<br />

present in a submitted composition formula. When the<br />

graph grammar execution finishes, we obtain a new G-<br />

Net service that models the composite service. Due to<br />

page limitations we show in Fig. 4 only three rules. In<br />

all <strong>of</strong> these rules, the nodes and different connections are<br />

labeled by numbers that identify them. These identifiers<br />

are used during the application <strong>of</strong> the rules.<br />

If an identifier is present in both the left hand side<br />

(LHS) and right hand side (RHS) <strong>of</strong> a rule, the corresponding<br />

element (node or connection) will be preserved<br />

in the result. If this identifier appears only in LHS, the<br />

corresponding element will be deleted. If this identifier<br />

appears only in RHS, the corresponding element will be<br />

created. As we will see, the identifiers are also used<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 4. Some rules <strong>of</strong> the graph grammar for G-nets services<br />

composition<br />

in the python code to compute the attributes values<br />

′ < SPECIFIED > ′ . The elements attributes values<br />

in LHSs <strong>of</strong> the rules are compared with the elements<br />

attributes values <strong>of</strong> the host graph during the matching<br />

process. The first rule aims to implement the working<br />

<strong>of</strong> the Sequence operator. The LHS <strong>of</strong> the rule corresponds<br />

to the GSPs <strong>of</strong> the two G-Net operands. When<br />

representing only the G-Net interface (GSP), we make<br />

abstraction <strong>of</strong> the internal structure. In LHS, we have<br />

set all the attributes values to < ANY >. The RHS<br />

represents the resulting G-Net service. In this latter, the<br />

attributes <strong>of</strong> the nodes 3, 4 and 6 have the additional<br />

label ′ < SPECIFIED > ′ . This label specifies that<br />

the attribute value is computed by python code defined<br />

in the ′ Actions ′ . The code is executed only if the rule is<br />

applied and the computation <strong>of</strong> the value is based on the<br />

attributes’ nodes <strong>of</strong> the LHS. For example, in the first<br />

rule, the action: nodeWithLabel(4).InvokedGnet =<br />

LHS.nodeWithLabel(1).name.getValue() assigns the<br />

value <strong>of</strong> the attribute ’name’ <strong>of</strong> the node (1) to the value<br />

<strong>of</strong> the attribute ’InvokedGnet’ <strong>of</strong> the node (4). The two<br />

other rules are based on the same reasoning to perform<br />

Arbitrary Sequence and Discriminator operators.<br />

Like the modeling process, the composition process<br />

is also performed with AToM 3 , since this tool <strong>of</strong>fers<br />

capabilities for model manipulation by graph transformation.<br />

The graph grammar presented above is stored in the


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2881<br />

Operator Syntax Semantic<br />

Sequance<br />

Alternative<br />

Iteration<br />

Arbitrary Sequence<br />

Parallel<br />

Discriminator<br />

Delegation<br />

Selection<br />

S1 ◮ S2 = (NameS,<br />

Desc,Loc,URL,CS,SGN)<br />

S1 ◭◮ S2 = (NameS,<br />

Desc,Loc,URL,CS,SGN)<br />

� S1 = (NameS,<br />

Desc,Loc,URL,CS,SGN)<br />

S1 ⇔ S2 = (NameS,<br />

Desc,Loc,URL,CS,SGN)<br />

S1�S2 = (NameS,<br />

Desc,Loc,URL,CS,SGN)<br />

(S1 ⊡ S2) ≫ S3 =<br />

(NameS,Desc,Loc,URL,<br />

CS,SGN)<br />

Deleg(S1,o,S2) =<br />

(NameS,Desc,Loc,URL,<br />

CS,SGN)<br />

Select[S1 : Sn] =<br />

(NameS,Desc,Loc,URL,<br />

CS,SGN)<br />

TABLE I.<br />

THE G-NETS BASED ALGEBRA FOR WEB SERVICE COMPOSITION<br />

CS = CS1 ∪ CS2. SGN = (GSP,IS) where GSP = (MS,AS)|MS =<br />

Mtd.seq{[...](p1)}, AS = ∅ ; IS = (P,T,W,L)|P = {p1,p2,p3},<br />

T = {t1,t2}, W = {(p1,t1),(t1,p2),(p2,t2),(t2,p3)}, L = {(P1,Isp(S1)),<br />

(P2,Isp(S2)),(P3,goal)}.<br />

user area <strong>of</strong> ATOM 3 . The actions associated to each<br />

rule are specified by Python code. Fig. 5 illustrates the<br />

implementation <strong>of</strong> the first rule in AToM 3 . The reader<br />

can see the LHS and RHS <strong>of</strong> the rule as well as the<br />

python code (in the top <strong>of</strong> the figure) which specifies the<br />

action discussed above. The composition process starts<br />

by the importation <strong>of</strong> G-Net services previously modeled.<br />

The user enters the composition formula according to the<br />

defined algebra. Since the formula may involve several<br />

operators, the corresponding rule(s) <strong>of</strong> each operator is<br />

(are) applied to the imported operand services. Consider<br />

the example composition scenario that occurs when a<br />

customer wants to get a product as soon as possible.<br />

The customer submits redundant orders to two Provider<br />

services. Once he obtains a response from the fastest<br />

service, he starts the payment procedure. This scenario<br />

can be performed using the Discriminator operator. The<br />

payment is achieved by the Checkout G-Net service<br />

presented above and the providers are modeled by the<br />

G-Net services Provider1 and Provider2. The Provider1<br />

and Provider2 services start by checking availability <strong>of</strong><br />

the required product (CA). If the product is available, they<br />

make a bill and send it to the customer. In the case where<br />

© 2012 ACADEMY PUBLISHER<br />

CS = CS1 ∪ CS2. SGN = (GSP,IS) where GSP = (MS,AS)|MS =<br />

Mtd.Alt{[...](p1)}, AS = ∅ ; IS = (P,T,W,L) where P = {p1,p2,p3,p4},<br />

T = {t1,t2,t3,t4}, W = {(p1,t1),(t1,p2),(p2,t3),(t3,p4),(p1,t2),<br />

(t2,p3),(p3,t4),(t4,p4)},L = {(P1,τ), (P2,Isp(S1)),(P3,Isp(S2)),(P4,goal)}<br />

CS = CS1. SGN = (GSP,IS) where GSP = (MS,AS)|MS =<br />

Mtd.iter{[...](p1)}, AS = ∅ ;IS = (P,T,W,l) where P = {p1,p2},T = {t1,t2},<br />

W = {(p1,t1),(t1,p1),(p1,t2),(t2,p2)}, l = {(P1,Isp(S1)),(p2,goal)}<br />

CS = CS1 ∪ CS2. SGN = (GSP,IS) where GSP =<br />

(MS,AS)|MS = Mtd.ar.seq{[...](p1)}, AS = ∅ ; IS =<br />

(P,T,W,L) where P = {p1,p2,p3,p4,p5,p6,p7,p8,p9}, T =<br />

{t1,t2,t3,t4,t5,t6}, W = {(p1,t1),(t1,p2),(t1,p3),(t1,p4),(p2,t2),<br />

(t2,p5),(p5,t4),(t4,p7),(t4,p3),(p7,t6),(t6,p9),(p3,t3),(p3,t6),(p4,t3),(t3,p6),<br />

(p6,t5),(t5,p3),(t5,p8),(p8,t6)} L = {(P1,τ),(P2,τ),(P3,τ),(P4,τ),(P7,τ),<br />

(P8,τ),(P5,Isp(S1)),(P6,Isp(S2)),(P9,goal)}<br />

CS = CS1 ∪ CS2. SGN = (GSP,IS) where GSP = (MS,AS)|MS =<br />

Mtd.par{[...](p1)}, AS = ∅ ; IS = (P,T,W,l) where P = {p1,p2,p3,p4},T =<br />

{t1,t2}, W = {(p1,t1),(t1,p2),(t1,p3),(p2,t2), (p3,t2),(t2,p4)} l =<br />

{(P1,τ),(P2,Isp(S2)),(P3,Isp(S2)),(p4,goal)}<br />

CS = CS1 ∪ CS2 ∪ CS3. SGN = (GSP,IS) where GSP =<br />

(MS,AS)|MS = Mtd.disc{[...](p1)}, AS = ∅ ; IS = (P,T,W,l)<br />

where P = {p1,p2,p3,p4,P5,P6,p7}, T = {t1,t2,t3,t4,t5}, W =<br />

{(p1,t1),(t1,p2),(t1,p3),(t1,p5), (p2,t2),(p3,t3),(t2,p4),(t3,p4),(p4,t4),<br />

(p5,t4),(t4,p6),(p6,t5),(t5,p7)} l = {(P1,τ),(P4,τ),(P5,τ),(P2,Isp(S1)),<br />

(P3,Isp(S2)),(P6,Isp(S3)),(p7,goal)}<br />

CS = CS1 ∪ CS2, SGN = (GSP,IS) where GSP = (MS,AS)|MS =<br />

MS1, AS = AS1; IS = (P,T,W,L)| P = P1\L −1 (o) ∪ Isp(S2), T = T1,<br />

W = W1 ∪ {(t,Isp(S2))|t ∈ •L −1 (o)} ∪ {(Isp(S2),t)|t ∈ L −1 (o)•}\{(p,t)|p ∈<br />

L −1 (o)}\{(t,p)|p ∈ L −1 (o)} L = L1∪{(Px,Isp(S2))}<br />

CS = �n i=1CSi,SGN = (GSP,IS) where GSP = (MS,AS)|MS =<br />

Mtd.Select[](p1),AS = ASn+1; IS = (P,T,W,L)| P = p1,...,p2n+3,<br />

T = t1,...,t2n+2, W = (p1,t1) ∪ �n+1 i=2 (t1,pi) ∪ �n+1 i=2 (pi,t2) ∪<br />

(t2,pn+2) ∪ �n i=1 (pn+2,ti) ∪ �2n+2 i=3 (ti,pn+i) ∪ �2n+2 i=n+3 (pi,ti) ∪<br />

�2n+2 i=n+3 (pi,t2n+3), L = {(P1,τ)}∪ {(p2,Isp(S1.req)),...,(pn+1,Isp(Sn.req))}<br />

∪{(pn+2,SelectService)}∪ {(pn+3,Isp(S1.mtd)),..., (p2n+2,Isp(Sn.mtd))} ∪<br />

{(p2n+2,goal)}<br />

the product is not available, they trigger their respective<br />

restock procedure and recheck availability.<br />

In Fig. 6, we present the services composition using<br />

our graph transformation based tool. The three services<br />

being modeled and imported in the tool, the user enters<br />

the formula (Provider1 ⊡ Provider2) ≫ Checkout .<br />

ATOM 3 applies our graph grammar. At the end <strong>of</strong><br />

grammar execution, we obtain the composite service Disc<br />

shown in the right side <strong>of</strong> Fig. 4. We can see that Disc<br />

invokes Provider1 and Provider2 through their ISPs. The<br />

first service which responds to the request activates the<br />

Checkout service.<br />

VI. VERIFICATION PROCESS<br />

WS-mcv methodology deals with the formal verification<br />

in order to test and repair design errors even before<br />

actual running <strong>of</strong> the (composed) service. The intention is<br />

to raise reliability <strong>of</strong> Web service composition by ensuring<br />

that a composite G-Net service will behave as required<br />

by its specification and that the system and its components<br />

contain no errors or behavioral anomalies (such as<br />

deadlock and livelock). To perform formal verification on<br />

systems modeled by Petri-Nets like languages, current


2882 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

researches exploit the powerful features <strong>of</strong> reachability<br />

graph analysis techniques. Since there is no reachability<br />

analyzer tool for the G-Net framework, we make use<br />

<strong>of</strong> translation rules which enables to transform G-Net<br />

specifications into their equivalent Predicate/Transition<br />

Nets (PrT-Nets). This transformation is performed in<br />

order to exploit an existing tool with a variety <strong>of</strong> analysis<br />

techniques for PrT-Nets namely PROD reachability<br />

analyzer [27]. PROD creates a reachability graph <strong>of</strong> a<br />

system modeled as PrT-Nets. From that graph, users can<br />

search for terminal nodes, path leading to that terminal<br />

nodes and path which satisfy some given properties.<br />

The complete manual <strong>of</strong> PROD can be found in [28].<br />

Unlike other approaches, WS-mcv methodology allows<br />

performing verification before and after the composition<br />

in order to detect if the anomalies occur in the component<br />

services or in the composite one. The two phases <strong>of</strong> Pre<br />

and Post verification occur in the same way except that<br />

the former concerns the operand services and the latter<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 5. The first rule in AToM 3<br />

Figure 6. G-nets services composition using our tool<br />

concerns the resulting service. In this way we guarantee<br />

a correct Web service modeling and composition. The<br />

verification process is then divided in two tasks: 1) the<br />

transformation <strong>of</strong> a G-Net service into an equivalent PrT-<br />

Net and 2) the translation <strong>of</strong> the obtained PrT-Net into<br />

PROD description.<br />

A. G-net/PrT-net transformation<br />

To perform this task, we still use MDE techniques in<br />

order to make model transformation. The works <strong>of</strong> [12]<br />

present a graph transformation based framework that allows<br />

transforming a G-Net specification into its equivalent<br />

PrT-Net using a defined graph grammar. This latter has a<br />

slight inconvenient as, when applied to a source model,<br />

it progressively deletes it. As a consequence, we have<br />

improved these grammar rules in order to preserve the<br />

source model (G-Net model). We propose to exploit the<br />

modified grammar in ATOM 3 environment. Once we<br />

provide our tool the meta-model <strong>of</strong> the PrT-Net formalism


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2883<br />

[12] and the modified G-Net/PrT-Net grammar, it can then<br />

support the two formalisms <strong>of</strong> G-Net and PrT-Net. It can<br />

also automatically generate PrT-Net specifications from<br />

G-Net ones. The verification process starts by specifying<br />

the G-Net service the user wants to analyze. The transformation<br />

rules are then applied to the G-Net model. Once<br />

it finishes, we obtain an equivalent PrT-Net specification.<br />

This transformation is illustrated by the user interface <strong>of</strong><br />

ATOM 3 in Fig. 7. In the left side <strong>of</strong> the figure, we<br />

can see the Provider1 service in the G-Net formalism.<br />

The right side <strong>of</strong> the same figure represents its equivalent<br />

resulting PrT-Net.<br />

B. Prt-net/PROD net description transformation<br />

To perform the analysis using PROD, we need to convert<br />

the PrT-Net specification into PROD’s Net description<br />

language. This language is C preprocessor language<br />

extended with net description directives. PROD compiles<br />

this net description and generates the full reachability<br />

graph. However, at present time, this task is still manually<br />

performed. Later, when the user interface <strong>of</strong> our tool<br />

will be complete, the user doesn’t have to be familiar<br />

with PROD. Using the reachability graph, we can verify<br />

many important properties such as boundedness, liveness<br />

and reachability which can be used as general criteria<br />

<strong>of</strong> correctness <strong>of</strong> composition. The result <strong>of</strong> this transformation<br />

is illustrated by Fig. 8. This figure represents<br />

the resulting PROD net description file <strong>of</strong> the service<br />

Provider1 previously described in PrT-Net formalism.<br />

VII. CONCLUSION<br />

In this paper, an efficient model-driven methodology<br />

for Web service composition has been presented. The<br />

proposed methodology <strong>of</strong>fers solutions for both modeling<br />

existent services, successfully composing them and verifying<br />

their correctness. The main contributions <strong>of</strong> this<br />

paper are:<br />

• The definition <strong>of</strong> a set <strong>of</strong> modeling rules for Web<br />

service specification into G-Net concepts.<br />

• The proposition <strong>of</strong> a G-Net based algebra that allows<br />

combining G-Net services by means <strong>of</strong> basic and<br />

complex operators.<br />

• The formal definitions <strong>of</strong> G-Net services as well as<br />

the introduced operators.<br />

• The implementation <strong>of</strong> the proposed operators by an<br />

efficient graph grammar.<br />

• The specification <strong>of</strong> a verification method to ensure<br />

composition correctness.<br />

All the phases <strong>of</strong> our methodology have been realized<br />

under different processes. The modeling and composition<br />

processes have been implemented with a customized<br />

visual tool which allows editing and manipulating models<br />

in the G-Net formalism. The verification process, which<br />

is partially automated, is based on model transformations<br />

performed by ATOM 3 to produce models that can be<br />

verified by PROD. To the best <strong>of</strong> our knowledge, WSmcv<br />

is the only approach that makes use <strong>of</strong> the G-<br />

Net framework to provide a complete solution for Web<br />

© 2012 ACADEMY PUBLISHER<br />

service composition. Compared to other Petri Nets based<br />

approaches, ours presents several advantages. It requires<br />

less effort when modeling complex services and produces<br />

more reduced models. Furthermore it <strong>of</strong>fers a visual tool<br />

and deals with the formal verification. In future work,<br />

we will propose to meta-model the WSDL description<br />

language and to define a graph grammar which allows<br />

translating Web services described in WSDL language<br />

into equivalent G-Net services. Then we will extend our<br />

tool with a new module that can import existing services<br />

in WSDL and automatically model them into G-Net<br />

concepts. We also plan to improve the verification process<br />

by automating the transformation task from PrT-Nets to<br />

PROD’s Net description language. This will avoid users<br />

to be familiar with PROD Net descriptions.<br />

REFERENCES<br />

[1] F. Curbera, M. Duftler, R. Khalaf, W. Nagy, N. Mukhi,<br />

and S. Weerawarana, “Unraveling the web services web<br />

an introduction to soap, wsdl, and uddi,” IEEE INTERNET<br />

COMPUTING.<br />

[2] E. Christensen, F. Curbera, G. Meredith, and<br />

S. Weerawarana, “Web services description language<br />

(wsdl) 1.1,” Mar 2001, [Online]. Available:<br />

http://www.w3.org/TR/wsdl.<br />

[3] D. Box, D. Ehnebuske, G. Kakivaya, A. Layman,<br />

N. Mendelsohn, , H. F. Nielsen, S. Thatte, and D. Winer,<br />

“Simple object access protocol (soap) 1.1,” May 2000,<br />

[Online]. Available: http://www.w3.org/TR/2000/NOTE-<br />

SOAP-20000508/.<br />

[4] R. Hamadi and B. Benatallah, “A petri net based-model for<br />

web service composition,” in proc. the 14th australasian<br />

database conference, adelaide. Darlinghurst: Australian<br />

Computer Society, 2003, pp. 191–200.<br />

[5] G. Yubin, D. Yuyue, and X. Jianqing, “A cp-net model and<br />

operation properties for web service composition,” Chinese<br />

<strong>Journal</strong> <strong>of</strong> Computers (Chinese edition), vol. 29, Number<br />

7, p. 10671075, 2006.<br />

[6] Z. Zhang, F. hong, and H. xiao, “A colored petri net-based<br />

model for web service composition,” <strong>Journal</strong> <strong>of</strong> Shanghai<br />

University (English Edition), vol. 12, Number 4, pp. 323–<br />

329, 2008.<br />

[7] X. Feng, Q. Liu, and Z. Wang, “A web service composition<br />

modeling and evaluation method used petri net,” in Proc.<br />

APWeb Workshops, 2006, pp. 905–911.<br />

[8] R. Akkiraju and B. Sapkota, “Semantic annotations for<br />

wsdl and xml schema usage guide,” (2007), [Online].<br />

Available: http://www.w3.org/TR/sawsdl-guide/.<br />

[9] J. Bruijn, D. Fensel, U. Keller, H. M Lausen, R. Krummenacher,<br />

A. Polleres, and L. Predoiu, “The web service<br />

modeling language wsml,” 2005, [Online]. Available:<br />

http://www.wsmo.org/wsml/.<br />

[10] D. Martin, M. Burstein, J. Hobbs, and al, “Owl-s: Semantic<br />

markup for web services,” [Online]. Available:<br />

http://www.w3.org/Submission/OWL-S/.<br />

[11] Y. Deng, S. K. Chang, J. C. A. De Figueiredo, and<br />

A. Psrkusich, “Integrating s<strong>of</strong>tware engineering methods<br />

and petri nets for the specification and prototyping <strong>of</strong><br />

complex information systems,” in Proc. The 14th International<br />

Conference on Application and Theory <strong>of</strong> Petri<br />

Nets, Chicago, June21–25, 1993, pp. 206–223.<br />

[12] E. H. Kerkouche and A. Chaoui, “A formal framework and<br />

a tool for the specification and analysis <strong>of</strong> g-nets models<br />

based on graph transformation,” in proc. <strong>of</strong> International<br />

Conference on Distributed Computing and Networking<br />

CDCN09, India, January 2009, p. 206211.


2884 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

[13] H. J. Genrich and K. Lautenbach, “System modeling with<br />

high level petri nets,” Theorical Computer Science, vol. 13,<br />

pp. 109–136, 1981.<br />

[14] T. He and L. Li, “Research on verification tool for s<strong>of</strong>tware<br />

requirements,” JOURNAL OF SOFTWARE, vol. 07, Issue<br />

7, pp. 1069–1616, JULY 2012.<br />

[15] M. Ter Beek, A. Bucchiarone, and S. Gnesi, “Formal<br />

methods for service composition,” Annals <strong>of</strong> Mathematics,<br />

Computing and Teleinformatics, vol. 1, Issue 5, pp. 1–10,<br />

2007.<br />

[16] F. Curbera, Y. Goland, J. Klein, F. Leymann, D. Roller,<br />

S. Thatte, and S. Weerawarana, . Business Process Execution<br />

Language for Web Service (BPEL4WS) 1.0. Published<br />

on the World Wide Web by BEA Corp, IBM Corp and<br />

Micros<strong>of</strong>t Corp, Aug 2002.<br />

[17] Z. Liu, A. Ranganathan, and A. Riabov, “Modeling web<br />

services using semantic graph transformations to aid automatic<br />

composition,” in IEEE International Conference on<br />

Web Services (ICWS 2007), Salt Lake City, Utah, July13–<br />

19, 2007.<br />

[18] B. Srivastava and J. Koehler, “Web service composition<br />

- current solutions and open problems,” in ICAPS 2003<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 7. Provider1 G-net service and its equivalent PrT-Net<br />

Figure 8. PROD net description for the Provider1 PrT-Net<br />

workshop on Planning for Web Services, July22 2003.<br />

[19] B. Li, Y. Xu, J. Wu, and J. Zhu, “A petri-net and qos based<br />

model for automatic web service composition,” JOURNAL<br />

OF SOFTWARE, vol. 07, Issue 1, pp. 149–155, JANUARY<br />

2012.<br />

[20] K. Jensen, “Coloured petri nets- a high level language for<br />

system design and analysis,” in Lecture Notes in Computer<br />

Science 483. Advances in Petri Nets 1990 Springer-verlag,<br />

1990.<br />

[21] C. A. Petri, “Kommunikation mit automaten (in german),”<br />

Ph.D. dissertation, University <strong>of</strong> Bonn, Germany, 1962.<br />

[22] A. Perkusich and J. C. A. De Figueiredo, “G-nets: A<br />

petri net based approach for logical and timing analysis<br />

<strong>of</strong> complex s<strong>of</strong>tware systems,” <strong>Journal</strong> <strong>of</strong> Systems and<br />

S<strong>of</strong>tware, vol. 39, Issue 1, pp. 39–59, Oct 1997.<br />

[23] J. De Lara and H. Vangheluwe, “Atom3: A tool for multiformalism<br />

modelling and meta-modelling,” in proc. <strong>of</strong><br />

European Conferences on Theory And Practice <strong>of</strong> S<strong>of</strong>tware<br />

Engineering ETAPS02, 2002, p. 174 188.<br />

[24] Google, “Google maps api web service,”<br />

(2005), [Online]. Available: From:<br />

http://code.google.com/intl/com/apis/maps/.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2885<br />

[25] S. Narayanan and S. McIlraith, “Analysis and simulation<br />

<strong>of</strong> web services,” Computer Networks, vol. 42, Number 5,<br />

pp. 675–693, 2003.<br />

[26] D. Zhovtobryukh, “Context-aware web service composition,”<br />

Ph.D. dissertation, University <strong>of</strong> Jyvaskyla, Finland,<br />

2006.<br />

[27] PROD, “Prod: An advanced tool for efficient reachability<br />

analysis, version 3.4.01.” 1995, [Online]. Available:<br />

http://www.tcs.hut.fi/S<strong>of</strong>tware/prod/.<br />

[28] K. Varpaaniemi, J. Halme, K. Hiekkanen, and T. Pyssysalo,<br />

Helsinki University <strong>of</strong> technology, Tech. Rep.<br />

Fayçal Bachtarzi is currently a Ph.D. candidate at Mentouri<br />

University <strong>of</strong> Constantine, Algeria. He received his Master in<br />

computer science from the same University in 2010. His research<br />

interests include web service compostion, model driving<br />

engeneering, formal verification and distributed systems.<br />

Allaoua Chaoui is full Pr<strong>of</strong>essor with the department <strong>of</strong><br />

computer science, Faculty <strong>of</strong> Engineering, University Mentouri<br />

Constantine, Algeria. He received his PhD degree in 1998 from<br />

the University <strong>of</strong> Constantine (in cooperation with the CEDRIC<br />

Laboratory <strong>of</strong> CNAM in Paris, France). His research interests<br />

include Mobile Computing, formal specification and verification<br />

<strong>of</strong> distributed systems, and graph transformation systems.<br />

Elhillali Kerkouche is Associate Pr<strong>of</strong>essor in the department<br />

<strong>of</strong> Computer science, University <strong>of</strong> Jijel, Algeria. His research<br />

field is Formal Methods and Distributed Systems.<br />

© 2012 ACADEMY PUBLISHER


2886 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Object Search for the Internet <strong>of</strong> Things Using<br />

Tag-based Location Signatures<br />

Jung-Sing Jwo, Ting-Chia Chen<br />

Department <strong>of</strong> Computer Science, Tunghai University, Taichung, Taiwan<br />

Email: {jwo, g96350005}@thu.edu.tw<br />

Abstract—In this paper, an object search solution for the<br />

Internet <strong>of</strong> Things (IoT) is proposed. This study first<br />

differentiates localization and searching. Localization is to<br />

calculate an object’s current location. Searching is to return<br />

a set <strong>of</strong> locations where a target object could be. It is<br />

possible that the locations <strong>of</strong> the returned set are not<br />

contiguous. Searching accuracy can be improved if the<br />

number <strong>of</strong> the returned locations is small. Even though<br />

localization technique is applicable to searching applications,<br />

a simpler and easier solution will attract more enterprise<br />

users. In this paper, based on a concept called location<br />

signature, defined by a set <strong>of</strong> reference tags, an object<br />

searching method named Location Signature Search (LSS)<br />

is proposed. The study <strong>of</strong> LSS shows that the searching<br />

accuracy can be very high if a location signature is not<br />

shared by too many locations. Since location signatures are<br />

affected by the deployment <strong>of</strong> the reference tags, trade-<strong>of</strong>f<br />

between searching accuracy and implementation cost is<br />

achievable. A real world experiment is conducted in this<br />

research. The results show that LSS indeed is a practical<br />

method for object searching applications.<br />

Index Terms—Internet <strong>of</strong> Things, location signature, object<br />

search, RFID, ubiquitous computing<br />

I. INTRODUCTION<br />

The Internet <strong>of</strong> Things (IoT) envisions a world where<br />

each everyday object has a unique identity and is able to<br />

connect to a wireless data network [1][3]. Being a digital<br />

identity for an object, Radio Frequency Identification<br />

(RFID) technology has recently been adopted by a wide<br />

range <strong>of</strong> industries such as retail and pharmaceuticals.<br />

The successful utilization <strong>of</strong> RFID technology can also<br />

help realizing the IoT vision – a global infrastructure <strong>of</strong><br />

networked physical objects [2]. In fact, with IoT, people<br />

can live in a smarter world [4].<br />

Recent IoT applications to support enterprise<br />

operations can be seen on manufacturing [5][6][7][8] and<br />

supply chain [9][10][11]. The ability <strong>of</strong> bridging the<br />

virtual world <strong>of</strong> digital information and the real world <strong>of</strong><br />

products and logistical units is the key reason why IoT<br />

Corresponding author: Jung-Sing Jwo.<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2886-2893<br />

Mengru Tu<br />

Industrial Technology Research Institute, Hsinchu, Taiwan<br />

Email: tuarthur@itri.org.tw<br />

becomes more and more promising in solving existing<br />

business problems [7][12]. On the other hand, IoT has<br />

also attracted great attention from indoor tracking and<br />

localization applications [13][15-20][22-26][28-35].<br />

Indoor localization, especially accurately positioning,<br />

is crucial for many ubiquitous computing applications<br />

[21][27]. In fact, for many enterprise applications,<br />

searching and identifying where an important asset is, for<br />

example, a specific mold inside a factory, is very<br />

important [27]. Even though Global Positioning System<br />

(GPS) technology is widely used to track moving objects<br />

outdoors, it performs quite poorly when operating indoors.<br />

Solutions using RFID technology for indoor<br />

localization or positioning have been proposed recently<br />

by many research teams. Examples include SpotON [20],<br />

and LANDMARC [23]. SpotON utilizes the RF signal<br />

strength to perform location calculation. LANDMARC<br />

uses reference tags, RF map and a large number <strong>of</strong><br />

received signal strength data stored in a database to<br />

position an active tagged object’s location. Triangulation<br />

is another popular technique for RFID-based localization<br />

and positioning. In recent years, many researches employ<br />

triangulation algorithm to help indoor localization in<br />

places like factor’s assembly lines or conveyer belts<br />

[31][32][33]. To track so many tagged objects in an<br />

enterprise, many RFID readers must be deployed to help<br />

track these objects. Thus, integrating RFID technology<br />

with wireless sensor network to form a wireless RFID<br />

network [35] is another burgeoning trend in IoT-based<br />

localization.<br />

Instead <strong>of</strong> tracking the tag attached on the object,<br />

another IoT indoor localization solution uses tags as<br />

known location references and it tracks the moving reader<br />

mounted on the object [15][18][19][22][26][34]. In order<br />

to know where a given object is, with mathematical<br />

analysis <strong>of</strong> the sampling set <strong>of</strong> the references tags sensed<br />

by its attached reader, an object’s current location can be<br />

estimated. These types <strong>of</strong> solutions are especially useful<br />

for moving robot systems or tracking moving wafer<br />

boxes in semiconductor manufacturing or testing<br />

facilities [30].<br />

In this paper, in stead <strong>of</strong> emphasizing localization, we<br />

are more interested in the issue <strong>of</strong> searching an object in


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2887<br />

a known area where locations in that area are well<br />

marked. The difference between localization and<br />

searching is that localization is to calculate an object’s<br />

current coordinates while searching is to identify a set <strong>of</strong><br />

limited locations an object could appear. If all the<br />

locations in an area are well marked, knowing a restrict<br />

set <strong>of</strong> positions regarding an object being searched in that<br />

area can greatly increase searching accuracy; but the<br />

same set <strong>of</strong> positions may not return a meaningful<br />

coordinate for that object since those positions may be<br />

totally irrelevant with respect to actual coordinates.<br />

In order to develop a simpler and easier object<br />

searching solution, a concept called location signature is<br />

introduced. By first deploying reference tags on a target<br />

area, each location inside the area will have its own<br />

location signature defined by a subset <strong>of</strong> the deployed<br />

tags. Based on location signature, an indoor searching<br />

solution named LSS (Location Signature Search) is<br />

proposed. In order to study the characteristics <strong>of</strong> LSS,<br />

simulations and experiments are conducted. The results<br />

show that a good reference tag deployment scheme can<br />

dramatically reduce the number <strong>of</strong> reference tags used to<br />

build location signatures and still maintain the uniqueness<br />

property for each location. However, if some positions <strong>of</strong><br />

an area allow lower accuracy resolution, i.e. their location<br />

signatures are shared by other locations, the number <strong>of</strong><br />

reference tags used to build location signatures can be<br />

further reduced. In fact, if 95% searching accuracy is<br />

acceptable, the number <strong>of</strong> the reference tags used to build<br />

location signatures is less than 200 in a 100 ×100 logical<br />

grid area.<br />

This paper is organized as follows. Section 2 describes<br />

the concept <strong>of</strong> location signature and object searching<br />

solution LSS. Section 3 studies the characteristics <strong>of</strong> LSS.<br />

Experiments and observations are given in Section 4.<br />

Section 5 is the concluding remarks.<br />

II. LOCATION SIGNATURES AND OBJECT SEARCHING<br />

In an enterprise, objects required to be searched,<br />

usually valuable assets, are either mounted with mobile<br />

readers or loaded on a recyclable pallet/trolley equipped<br />

with a mobile reader. Figure 1 shows an example <strong>of</strong> a<br />

RFID-equipped trolley from a semiconductor testing firm.<br />

A trolley is mounted with a RFID reader and two<br />

antennas: one for sensing the RFID tagged wafer boxes<br />

loaded on the trolley (antenna 1), and the other (antenna 2)<br />

for detecting the location tags placed beneath the floor. In<br />

this research, UHF RFID technology with frequency<br />

range 902-928 MHz is used to conduct the experiments.<br />

Instead <strong>of</strong> placing reference tags beneath the floor we<br />

deploy the tags on the ceiling, which is considered as a<br />

more cost effective approach for experiment environment.<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 1. A trolley equipped with RFID reader to facilitate enterprise<br />

asset tracking<br />

Even though localization solutions can be used to<br />

perform object searching, searching is not necessary as<br />

complicated as localization. Therefore, it is possible that<br />

there exists a simpler searching solution than those<br />

utilizing the addressed RFID positioning techniques.<br />

In order to develop a simpler and easier object<br />

searching solution, location signature is introduced. By<br />

first deploying reference tags on an area carefully, each<br />

location inside the area has its own signature which is<br />

defined by a set <strong>of</strong> the deployed tags related to the<br />

location. If the location signature can be uniquely decided<br />

for each location in the area, indoor searching solution<br />

with expected accuracy becomes possible. Also, since the<br />

location signatures <strong>of</strong> a given area are fixed and can be<br />

pre-computed, the location <strong>of</strong> any given spot can be<br />

easily retrieved by using location signature as the<br />

corresponding index. Therefore, instead <strong>of</strong> tracking and<br />

calculating the location <strong>of</strong> a given object, an object can be<br />

easily searched by checking its current location signature.<br />

Consider a target area A. Define the expected accuracy<br />

resolution <strong>of</strong> a given searching requirement as r.<br />

Accuracy resolution r means that an object locating<br />

inside a r × r square is considered as at the same position.<br />

If r is not a large value, for example let’s say one meter, it<br />

means an object can be identified inside a one squaremeter<br />

large area which is good enough for object<br />

searching. Also the boundary between any two square<br />

areas is assumed to be belonging to one specific square.<br />

That is, there is no ambiguous position. In order to<br />

simplify our future discussion, let A be an N × N square<br />

area where N is a multiple <strong>of</strong> r and therefore the area A<br />

becomes an n × n grid where each grid size is r × r and n<br />

= N/r.<br />

Let P = { pij | where 1≦i≦n and 1≦j≦n} be the set<br />

<strong>of</strong> all the physical locations inside area A. Assume the<br />

effective detecting radius <strong>of</strong> a mobile reader attached on<br />

an object is d. Let<br />

S(pij) = {taguv | where taguv is located inside the circle<br />

centering at position pij with radius d}. (2.1)


2888 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Then, S(pij) is recognized as the location signature <strong>of</strong><br />

pij. Consider an arbitrary position named pst. If S(pst) ≠<br />

S(pij) for all 1≦i≦n and 1≦j≦n, it is clear that the<br />

location pst can be uniquely identified by S(pst). In other<br />

words, when an object is on this location, it can be<br />

identified by the location signature S(pst) with 100%<br />

accuracy. If the reference tag deployment is not good<br />

enough, it is possible that many neighboring locations are<br />

sharing the same signature. Assume there are another m<br />

locations sharing the same location signature S(pst), then<br />

the searching accuracy for location pst is:<br />

(n×n– m ) / (n × n) × 100%. (2.2)<br />

In the real world, with the uncertainty <strong>of</strong> equipments<br />

and environment, tags detected by a reader may not<br />

always be the same even when at the same location.<br />

Therefore, there exist various situations required to be<br />

discussed. First, let S be the set <strong>of</strong> the reference tags<br />

sensed by the reader attached on some object x at the<br />

location p. Assume the location signature <strong>of</strong> p is T.<br />

If S = T, the location(s) with the location signature T<br />

is (are) returned as the identified location(s) for searching<br />

object x.<br />

If S ≠ T, there exist two possible cases:<br />

1. S also is a valid location signature,<br />

2. S is not a valid location signature.<br />

.<br />

For the first case, it is clear that wrong location(s) will<br />

be returned for searching and therefore the object x<br />

cannot be found at the returned location(s).<br />

For the second case, less or more tags are detected at<br />

the location p. Since S is not a valid signature, no<br />

location(s) can be returned for searching. Let Ŝ denote a<br />

set <strong>of</strong> location signatures such that the members in Ŝ are<br />

either subsets or supersets <strong>of</strong> S. In other words, by adding<br />

or removing some tags, S becomes a valid location<br />

signature. Let mi be the number <strong>of</strong> the locations sharing<br />

the same location signature Si where Si ∈ Ŝ. Then, we say<br />

that the searching accuracy for object x at position p is:<br />

n<br />

× ∑ ∈<br />

n − ˆ m<br />

∀S<br />

S i<br />

i × 100%<br />

(2.3)<br />

n×<br />

n<br />

Based on the above definitions, LSS can be described<br />

in the following:<br />

Step 1. Let A be the searching target area. Choose values<br />

for r and d. These two values decide the<br />

searching precision <strong>of</strong> the target area.<br />

Step 2. Based on r and d, define a reference tag<br />

deployment scheme for the area A. Tag<br />

deployment scheme can be arbitrary or any<br />

preferred pattern. It is obvious that the location<br />

signatures are highly related to the chosen<br />

deployment scheme.<br />

Step 3. Following the equation 2.1, build location<br />

signatures for all the locations on the area A.<br />

Each location and its location signature are<br />

© 2012 ACADEMY PUBLISHER<br />

paired together. It is possible that more than two<br />

locations are sharing the same signature.<br />

Step 4. When searching an object x, LSS requests the<br />

corresponding mobile reader <strong>of</strong> x to return its<br />

current detected reference tags through wireless<br />

network. LSS uses the returned tags to represent<br />

x‘s current location S.<br />

Step 5. If a location signature T is identified to be equal<br />

to S, the location(s) paired with T is (are)<br />

returned for searching. If object x cannot be<br />

found in the returned location(s), go back to Step<br />

4.<br />

Step 6. If no any location signature is identified to be<br />

equal to S, build set Ŝ and return all the<br />

location(s) paired with the location signatures in<br />

Ŝ. Search object x within the returned location(s).<br />

If object x cannot be found in the returned<br />

location(s), go back to Step 4.<br />

One <strong>of</strong> the major issues <strong>of</strong> using tag-based location<br />

signatures for LSS is how to guarantee that each location<br />

is paired with a unique location signature. This issue<br />

depends on how many reference tags are used and how<br />

they are deployed. In order to investigate the searching<br />

accuracy problem caused by the tag deployment, further<br />

studies with experiments are given in the next section.<br />

III. CHARACTERISTICS OF LSS<br />

In order to study the characteristics <strong>of</strong> LSS, an LSS<br />

simulation is developed. It provides a user interface to<br />

show the deployed reference tags in green dots on the<br />

target area. Based on the mobile reader mounted on the<br />

object, the simulator calculates all the location signatures<br />

and shows a visualized accuracy map with the<br />

corresponding searching accuracy. The dot on the map<br />

with deep blue color represents its location signature is<br />

unique and therefore the searching accuracy on that<br />

location is 100%. The dot with lighter blue color means<br />

the location is sharing the location signature with other<br />

locations and following the searching accuracy equation<br />

2.2, the computation is less than 100% for the location.<br />

When the blue color getting even lighter, it means the<br />

location is sharing the location signature with even more<br />

other locations and therefore the location’s searching<br />

accuracy is far less than 100%.<br />

The simulation parameters <strong>of</strong> LSS in this section are<br />

N = 100, r = 1, n = N / r = 100, and d =8. It is clear that<br />

the N × N square area is divided into n × n =10,000 grid<br />

locations. Before continuing the discussions, an extreme<br />

case is introduced first. Assume each location in the<br />

target area is deployed by a reference tag. It is obvious<br />

that the sets <strong>of</strong> tags detected at all locations are all<br />

different and therefore it guarantees the uniqueness <strong>of</strong><br />

every location in the area. However, this extreme case<br />

requires 10,000 reference tags and it is not realistic when<br />

considering the deployment cost. Therefore, in the<br />

following studies this case is treated as the benchmark for<br />

searching accuracy and deployment cost.<br />

The first case we are interested in is a random case.<br />

Let 800 reference tags are deployed randomly in the


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2889<br />

target area. In this case, the deployment cost is only 8%<br />

<strong>of</strong> the benchmark case. There are around 70% locations<br />

in the whole area having unique location signatures and<br />

therefore the searching accuracies for these locations are<br />

100%. In fact, the worst searching accuracy in this area is<br />

still larger than 99.8% and it represents that under this<br />

random tag deployment, the worst situation is that there<br />

exists a location signature shared by no more than 20<br />

locations. In other words, instead <strong>of</strong> going through all<br />

10,000 locations, any object inside the area can be<br />

identified within 20 locations. The tag deployment and<br />

searching accuracy for this case are given in Figure 2 (a)<br />

and (b), respectively. Figure 2 (c) shows the distribution<br />

<strong>of</strong> the searching accuracy for all the locations in the area.<br />

Figure 2. Case 1: (a) 800 reference tags randomly deployed in the area,<br />

(b) accuracy map <strong>of</strong> the area, (c) distribution <strong>of</strong> the searching accuracies<br />

for all locations.<br />

With the results <strong>of</strong> the random case, a new question is<br />

raised: is it possible to design a better tag deployment<br />

such that it can increase the searching accuracy but<br />

further reducing the deployment cost? Figure 3 shows the<br />

results for this new case. This deployment uses 576<br />

reference tags. They are deployed as a mesh in the area.<br />

The distance between any two vertical or horizontal tags<br />

is 4 grid locations. The deployment cost is less than the<br />

cost <strong>of</strong> the random case and its value is 5.76% <strong>of</strong> the<br />

benchmark case. There are 74.1% locations having<br />

unique location signatures and therefore the searching<br />

accuracies for those locations are 100%. The worst<br />

searching accuracy is larger than 99.9%. In other words,<br />

any object inside the area can be searched in less than 10<br />

locations. It is obvious that either deployment cost or<br />

search accuracy, this case is better than the previous<br />

random case, i.e., a good deployment design really can<br />

improve the searching accuracy and reduce the<br />

deployment cost.<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 3. Case 2: (a) 576 reference tags deployed as a mesh in the area,<br />

(b) accuracy map <strong>of</strong> the area, (c) distribution <strong>of</strong> the searching accuracies<br />

for all locations.<br />

In the above two cases, there still exist some locations<br />

sharing their signatures with other locations. Therefore,<br />

another question is raised: is it possible to design a tag<br />

deployment such that the searching accuracy in the whole<br />

area is 100% but using fewer tags? Figure 4 is the results<br />

for Case 3. By observing the accuracy map <strong>of</strong> the<br />

previous case, it is obvious that the location signatures in<br />

the boundary area are not unique. Therefore, we redesign<br />

the tag deployment <strong>of</strong> the previous case by refining the<br />

boundary. The distance between any two vertical or<br />

horizontal tags in the boundary is changed to 2 grid<br />

locations. In this case, 1,161 reference tags are deployed<br />

on the area and the deployment cost is 11.61% <strong>of</strong> the<br />

benchmark case which is higher than the values <strong>of</strong> the<br />

previous two cases. However, in this case every location<br />

has its own unique location signature and therefore the<br />

searching accuracy is 100% for all locations in the area.<br />

In other word, any object appeared in the area can be<br />

identified exactly in its location without any other<br />

consideration.<br />

Based on the above discussions, it is clear that with<br />

enough tags well deployed in the target area, 100%<br />

searching accuracy can be achieved. A curious question is<br />

again raised: if only few tags can be deployed as<br />

reference tags, then how bad LSS will perform. Figure 5<br />

is the results for an example using less than 100 tags. In<br />

this case, only 98 tags are deployed in the area. The<br />

deployment design is in diamond pattern. It is obvious<br />

that the deployment cost is very low. In this case, there<br />

are only 2.16% locations having unique location<br />

signatures. It means if an object appeared in this area, it<br />

looks like the object is very difficult to be identified in an<br />

exact location. However, the whole area’s searching<br />

accuracy is still higher than 99.5%, that is, the worst<br />

situation to search an object is going through no more<br />

than 50 different locations. Since LSS can return the<br />

exact positions <strong>of</strong> the locations, the above issue,<br />

searching over 50 locations, it should not cause too much<br />

trouble for general enterprise applications.


2890 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Figure 4. Case 3: (a) 1,161 reference tags deployed as a mesh with fine<br />

grained boundary, (b) accuracy map <strong>of</strong> the area, (c) distribution <strong>of</strong> the<br />

searching accuracies for all locations.<br />

Figure 5. Case 4: (a) 98 reference tags deployed in the area with<br />

diamond pattern, (b) accuracy map <strong>of</strong> the area, (c) distribution <strong>of</strong> the<br />

searching accuracies for all locations.<br />

The studies <strong>of</strong> the previous four cases have shown<br />

some fundamental characteristics <strong>of</strong> LSS. Next, we want<br />

to explore the usages <strong>of</strong> LSS with some real world<br />

constraints.<br />

First, we consider the constraint such that some<br />

locations in the target area require higher searching<br />

accuracy while other locations do not. As an example,<br />

Figure 6 shows a rectangle hotspot in the area requiring<br />

100% search accuracy. The tag deployment design for<br />

this case includes two different schemes. In the hotspot<br />

area, tags are deployed equally with 4 location distances.<br />

For the remaining area, tags are deployed equally with 8<br />

location distances. With this hybrid deployment, totally<br />

248 tags are used. The worst searching accuracy in the<br />

remaining area is 99.7%.<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 6. Case 5: (a) 248 tags deployed in the area, (b) accuracy map<br />

<strong>of</strong> the area.<br />

Finally, we consider another situation such that the<br />

target area is not a completely open space, i.e., there<br />

exists non-free locations for putting objects on them.<br />

Figure 7 gives an example <strong>of</strong> this kind. In this case, 504<br />

reference tags are deployed equally with 4 location<br />

distances. It is trivial that no reference tags are deployed<br />

on those non-free locations. However, the searching<br />

accuracy in this area still can be maintained better than<br />

99.8%.<br />

Figure 7. Case 6: (a) 504 tags deployed in the open area, (b) accuracy<br />

map <strong>of</strong> the open area.<br />

By observing the above six simulations, it shows that<br />

LSS indeed can be developed as a practical object<br />

searching solution for IoT applications. In order to further<br />

verify LSS behavior in the real world, an experiment is<br />

introduced in the next section.<br />

IV. EXPERIMENTS<br />

The schematic view <strong>of</strong> an LSS solution is depicted in<br />

Figure 8. The Location Signature Deployment (LSD)<br />

process begins with devising and simulating various<br />

reference tag deployment schemes. Then, a tag<br />

deployment scheme is adopted and saved in the location<br />

signature database. Upon receiving a query from a user<br />

who is inquiring where an enterprise asset is, LSS is<br />

performed to return a set <strong>of</strong> possible locations for<br />

searching.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2891<br />

Figure 8. A schematic view <strong>of</strong> LSS system.<br />

In this section, the above addressed system is<br />

implemented for conducting a real experiment. First, we<br />

use our lab as the target area. The size <strong>of</strong> the lab is a 24 ×<br />

12 m 2 rectangle area. The RFID reader mounted on the<br />

object in this experiment is an UHF AWID MPR-<br />

2010BN reader with frequency range 902-928 MHz and<br />

reader range 5 meters. The reference tags deployed in the<br />

area are UPM Raflatac UHF tags with frequency range<br />

860-960 MHz. The location resolution chosen for the<br />

experiment is 0.6 meters. It means there are 800 different<br />

locations can be identified for searching in the area. The<br />

tag deployment is designed as a mesh and the reference<br />

tags are attached on the ceiling as shown in Figure 9.<br />

Distance between each pair <strong>of</strong> tags is 2.4 meters, i.e., the<br />

location distance between any two tags is four. This<br />

deployment has been first evaluated. It shows that 66 tags<br />

are required to use, 45.5% locations possess unique<br />

location signatures, and the worst searching accuracy in<br />

the area is 99.25%.<br />

Figure 9. Experiment environment: a 24×12 m 2 rectangle area with<br />

reference tags deployed on the ceiling.<br />

© 2012 ACADEMY PUBLISHER<br />

When performing an experiment, first the target<br />

object with mounted reader is randomly put on any<br />

available location in the area. Since the uncertainty<br />

caused by the experiment environment and equipment,<br />

the number <strong>of</strong> the location signature may be none, only<br />

one or larger than one. Therefore, based on LSS Step 6<br />

given in Section 2, the returned locations may be quite<br />

large. It should be noticed that it is possible the object is<br />

not on any <strong>of</strong> the returned locations.<br />

In this section, twenty experiments are conducted and<br />

Table 1 contains the experiment results. The second<br />

column <strong>of</strong> the table represents the number <strong>of</strong> the location<br />

signatures returned by LSS. The third column is the<br />

number <strong>of</strong> the locations identified by the signatures. The<br />

forth column is the searching accuracy. If the target<br />

object cannot be found in the returned locations, the value<br />

should be 0%. If the target object can be found in the<br />

returned locations, the searching accuracy is computed<br />

based on equations 2.2 or 2.3.<br />

TABLE I.<br />

RESULTS OF TWENTY EXPERIMENTS<br />

Number <strong>of</strong> Number <strong>of</strong><br />

Possible Locations Search<br />

Experiment Signatures Returned Accuracy<br />

1 29 54 93.4%<br />

2 13 28 96.6%<br />

3 29 64 92.1%<br />

4 15 40 95.1%<br />

5 12 34 95.9%<br />

6 12 34 95.9%<br />

7 12 34 95.9%<br />

8 15 42 94.9%<br />

9 14 26 96.9%<br />

10 14 26 96.9%<br />

11 3 7 99.3%<br />

12 3 7 99.3%<br />

13 3 3 99.8%<br />

14 12 12 98.6%<br />

15 1 1 100.0%<br />

16 1 1 100.0%<br />

17 1 1 100.0%<br />

18 1 1 100.0%<br />

19 4 7 99.3%<br />

20 4 7 99.3%<br />

The first observation <strong>of</strong> these experiments is that<br />

there is no any experiment its searching accuracy is 0%.<br />

In other words, the target object can be 100% searched in<br />

all these experiments.<br />

The Second observation is that in some <strong>of</strong> these cases<br />

the exact location signature indeed cannot be identified.<br />

However, even under this kind <strong>of</strong> situations, the<br />

searching accuracies are still maintained better than<br />

92.1%.<br />

The third observation is that the number <strong>of</strong> the<br />

locations returned by the worst case is 64. Since the size<br />

<strong>of</strong> each location is 0.6 × 0.6 square meter area, searching


2892 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

a target object in such a location is really not a timeconsuming<br />

job. In fact, searching through these 64<br />

locations may take around ten minutes only.<br />

Finally, the average searching accuracy <strong>of</strong> these<br />

twenty experiments is 97.4%. The average locations<br />

returned for searching is 21.45. From these real world<br />

experiments, LSS shows its potential usage for object<br />

searching applications.<br />

V. CONCLUSION<br />

In this paper, object localization and searching are<br />

first differentiated. For some IoT searching applications,<br />

knowing where the possible locations the target object<br />

could be is good enough. To satisfy the above<br />

requirement, an object searching solution named LSS is<br />

proposed. Idea behind LSS is based on a concept called<br />

location signature. Not like those known positioning and<br />

localization techniques, LSS is an easier and applicable<br />

object searching solution. The simulations and<br />

experiments conducted in this research show that the<br />

searching accuracy and the implementation cost <strong>of</strong> LSS<br />

are highly related to the tag deployment design. Therefore,<br />

the study <strong>of</strong> the above issue will be our future work.<br />

REFERENCES<br />

[1] N. Gershenfeld, R. Krikorian, and D. Cohen, “The internet<br />

<strong>of</strong> things,” Scientific American, vol. 291, no. 4, pp. 76–81,<br />

2004.<br />

[2] G. Kortuem, F. Kawsar, D. Fitton, and V. Sundramoorthy,<br />

“Smart objects as building blocks for the Internet <strong>of</strong><br />

Things,” IEEE Internet Computing , vol.14, no.1, pp.44-51,<br />

2010.<br />

[3] E. Welbourne, L. Battle, G. Cole, K. Gould, K. Rector, S.<br />

Raymer, M. Balazinska, and G. Borriello, “Building the<br />

Internet <strong>of</strong> Things using RFID,” IEEE Internet Computing,<br />

vol.13, no.3, pp.48-55, 2009.<br />

[4] Till Quack, Herbert Bay, and Luc Van Gool, “Object<br />

Recognition for the Internet <strong>of</strong> Things,” Proceedings <strong>of</strong> the<br />

1st International Conference on Internet <strong>of</strong> Things (IOT<br />

08), pp.230-246, 2008.<br />

[5] Ruey-Shun Chen, Yung-Shun Tsai, and Arthur Tu, “An<br />

RFID-based manufacturing control framework for loosely<br />

coupled distributed manufacturing system supporting mass<br />

customization,” IEICE Transactions on Information and<br />

Systems, vol.E91-D, no.12, pp.2834-2845, 2008.<br />

[6] Luciana Moreira S´a de Souza, Patrik Spiess, Dominique<br />

Guinard, Moritz Kohler, Stamatis Karnouskos, and<br />

Domnic Savio, “SOCRADES: A web service based shop<br />

floor integration infrastructure,” Proceedings <strong>of</strong> the 1st<br />

International Conference on Internet <strong>of</strong> Things (IOT 08),<br />

pp.50-67, 2008.<br />

[7] Ruey-Shun Chen, Mengru Arthur Tu, and Jung-Sing Jwo,<br />

“An RFID-based enterprise application integration<br />

framework for real-time management <strong>of</strong> dynamic<br />

manufacturing processes,” International <strong>Journal</strong> <strong>of</strong><br />

Advanced Manufacturing Technology, published online: 18<br />

March 2010.<br />

[8] Mengru (Arthur) Tu, Jia-Hong Lin, Ruey-Shun Chen, Kai-<br />

Ying Chen, and Jung-Sing Jwo, “Agent-Based Control<br />

Framework for mass customization manufacturing with<br />

UHF RFID technology,” IEEE Systems <strong>Journal</strong>, vol.3,<br />

no.3, pp.343-359, 2009.<br />

© 2012 ACADEMY PUBLISHER<br />

[9] Chris Kurschner, Cosmin Condea, Oliver Kasten, and<br />

Frédéric Thiesse, “Discovery Service Design in the<br />

EPCglobal Network,” Proceedings <strong>of</strong> the 1st International<br />

Conference on Internet <strong>of</strong> Things (IOT 08), pp.19-34, 2008.<br />

[10] Ali Dada and Frédéric Thiesse, “Sensor Applications in the<br />

Supply Chain: The Example <strong>of</strong> Quality-Based Issuing <strong>of</strong><br />

Perishables,” Proceedings <strong>of</strong> the 1st International<br />

Conference on Internet <strong>of</strong> Things (IOT 08), pp.140-154,<br />

2008.<br />

[11] Bo Yan and Guangwen Huang, “Supply Chain Information<br />

Transmission based on RFID and Internet <strong>of</strong> Things,”<br />

ISECS International Colloquium on Computing,<br />

Communication, Control, and Management, pp.166-169,<br />

2009.<br />

[12] Patrik Spiess, Stamatis Karnouskos, Dominique Guinard,<br />

Domnic Savio, Oliver Baecker, Luciana Moreira S´a de<br />

Souza, and Vlad Trifa, “SOA-based Integration <strong>of</strong> the<br />

Internet <strong>of</strong> Things in Enterprise Services,” IEEE<br />

International Conference on Web Services, pp.968-975,<br />

2009.<br />

[13] K. Tanaka, Y. Kimuro, K. Yamano, M. Hirayama, E.<br />

Kondo, and M. Matsumoto, “A supervised learning<br />

approach to robot localization using a short-range RFID<br />

sensor,” IEICE Transactions on Information and Systems,<br />

vol.E90-D, no.11, pp.1762-1771, 2007.<br />

[14] Pedro Coronel, Simeon Furrer, Wolfgang Schott, and Beat<br />

Weiss, “Indoor Location Tracking Using Inertial<br />

Navigation Sensors and Radio Beacons,” Proceedings <strong>of</strong><br />

the 1st International Conference on Internet <strong>of</strong> Things<br />

(IOT 08), pp.325-340, 2008.<br />

[15] X. Bao and G. Wang, “Random sampling algorithm in<br />

RFID indoor location system,” 3rd IEEE International<br />

Workshop on Electronic Design, Test and Applications, pp.<br />

168-176, Jan. 2006.<br />

[16] K. Cho, S. Pack, T. Kwon, and Y. Choi, “SRMS: SIPbased<br />

RFID management system,” IEEE International<br />

Conference on Pervasive Services, pp.11-18, July 2007.<br />

[17] E. Coca and V. Popa, “Experimental results and EMC<br />

considerations on RFID location systems,” Proceedings <strong>of</strong><br />

the 1st Annual RFID Eurasia, pp.1-5, Sept. 2007.<br />

[18] F. Dellaert, D. Fox, W. Burgard, and S. Thrun, “Monte<br />

Carlo localization for mobile robots,” Proceedings <strong>of</strong> the<br />

IEEE International Conference on Robotics and<br />

Automation, pp.1322-1328, May1999.<br />

[19] S. Han, H. Lim, and J. Lee, ”An Efficient Localization<br />

Scheme for a Differential-Driving Mobile Robot Based on<br />

RFID System ,” IEEE Trans. Ind. Electron., vol. 54, no. 6,<br />

pp. 3362-3369, Dec. 2007.<br />

[20] J. Hightower, R. Want , and G. Borriello, “SpotON: An<br />

indoor 3D location sensing technology based on RF signal<br />

strength,” University <strong>of</strong> Washington, Department <strong>of</strong><br />

Computer Science and Engineering, Seattle, Feb. 2000.<br />

[21] J. Hightower, and G. Borriello, “Location systems for<br />

ubiquitous computing,” IEEE Computer, vol. 34, no. 8, pp.<br />

57-66, Aug. 2001.<br />

[22] J.-H. Lee and H. Hashimoto, “Controlling mobile robots in<br />

distributed intelligent sensor network,” IEEE Trans. Ind.<br />

Electron., vol. 50, no. 5, pp. 890-902, Oct. 2003.<br />

[23] L. M. Ni, Y. Liu, Y. C. Lau, and A. P. Patil,<br />

“LANDMARC: Indoor location sensing using active<br />

RFID,” Wireless Network, pp. 701–710, Nov. 2004.<br />

[24] S. Polito, D. Biondo, A. Iera, M. Mattei, and A. Molinaro,<br />

“Performance Evaluation <strong>of</strong> Active RFID Location<br />

Systems based on RF Power Measures,” The 18th Annual<br />

IEEE International Symposium on Personal, Indoor and<br />

Mobile Radio Communications, pp. 1-5, Sept. 2007.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2893<br />

[25] C. Roduner , and C. Floerkemeier ,”Towards an Enterprise<br />

Location Service,” International Symposium on<br />

Applications and the Internet Workshops (SAINTW'06),<br />

pp. 84-87, Jan. 2006.<br />

[26] K. Yamano, K. Tanaka, M. Hirayama, E. Kondo, Y.<br />

Kimuro, and M. Matsumoto, “Self-localization <strong>of</strong> mobile<br />

robots with RFID system by using support vector<br />

machine,” Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst.,<br />

vol. 4, pp. 3756-3761, Sep. 2004.<br />

[27] L. Yan, Y. Zhang, L. T. Yang, and H. Ning, The Internet<br />

<strong>of</strong> Things: From RFID to the Next-Generation Pervasive<br />

Networked Systems (Wireless Networks and Mobile<br />

Communications), Auerbach Publications, Taylor &<br />

Francis Group, FL, USA, 2008.<br />

[28] T. Zhang, Z. Xiong, and Y. Ouyang, “A Framework <strong>of</strong><br />

Networked RFID System Supporting Location<br />

Tracking,”2nd IEEE/IFIP International Conference in<br />

Central Asia on Internet, pp. 1-4, Sept. 2006.<br />

[29] J. Zhao, Y. Zhang, and M. Ye, “Research on the received<br />

signal strength indication location algorithm for RFID<br />

system,” International Symposium on Communications<br />

and Information Technologies, pp. 881-885, Sept. 2006.<br />

[30] Frédéric Thiesse Thiesse, Markus Dierkes, and Elgar<br />

Fleisch, "LotTrack: RFID-Based Process Control in the<br />

Semiconductor Industry," IEEE Pervasive Computing, vol.<br />

5, no. 1, pp. 47-53, Jan.-Mar. 2006.<br />

[31] Jiahao Wang, Zongwei Luo, and Edward C Wong, “RFIDenabled<br />

tracking in flexible assembly line,” International<br />

<strong>Journal</strong> <strong>of</strong> Advance Manufacturing Technology, 46:351–<br />

360, June 2009.<br />

[32] Yimin Zhang, Moeness G. Amin, and Shashank Kaushik,<br />

“Localization and Tracking <strong>of</strong> Passive RFID Tags Based<br />

on Direction Estimation,” International <strong>Journal</strong> <strong>of</strong><br />

Antennas and Propagation, vol. 2007, Article ID 17426, 9<br />

pages, 2007.<br />

[33] Guang-yao Jin, Xiao-yi Lu, and Myong-Soon Park, “An<br />

Indoor Localization Mechanism Using Active RFID Tags,”<br />

in Proceedings <strong>of</strong> the IEEE International Conference on<br />

Sensor Networks, Ubiquitous, and Trustworthy Computing<br />

(SUTC'06), vol.1, pp. 40–43, Taichung, Taiwan, June 2006.<br />

© 2012 ACADEMY PUBLISHER<br />

[34] Jurgen Bohn, “Prototypical implementation <strong>of</strong> locationaware<br />

services based on a middleware architecture for<br />

super-distributed RFID tag infrastructures,” Personal and<br />

Ubiquitous Computing, 12:155-166, 2008.<br />

[35] Ching-Hsien Hsu, Yi-Min Chen, and Heau-Jo Kang,<br />

“Performance-Effective and Low-Complexity Redundant<br />

Reader Detection in Wireless RFID Networks,” EURASIP<br />

<strong>Journal</strong> on Wireless Communications and Networking, vol.<br />

2008, Article ID 604747, 9 pages, 2008.<br />

Jung-Sing Jwo received his BSE degree from the National<br />

Taiwan University in 1984, MSE and PhD degrees from the<br />

University <strong>of</strong> Oklahoma, in 1988 and 1991 respectively, both in<br />

computer science. He is currently with the Department <strong>of</strong><br />

Computer Science, Tunghai University, Taiwan. His research<br />

interests include distributed computing, enterprise computing<br />

and s<strong>of</strong>tware engineering.<br />

Ting-Chia Chen is a graduate student at the Department <strong>of</strong><br />

Computer Science, Tunghai University, Taiwan. His research<br />

interests are in RFID and Internet <strong>of</strong> Things (IoT).<br />

Mengru Tu received his MBA degree in Information<br />

Management from the University <strong>of</strong> Texas at Austin and M.S.<br />

degree in Computer Science from the Northwestern Polytechnic<br />

University, United States, in 1998 and 2002 respectively. He<br />

received his PhD degree in Information Management from the<br />

National Chiao Tung University, Taiwan, in Jan 2011.<br />

He is currently a full-time researcher at the Industrial<br />

Technology Research Institute <strong>of</strong> Taiwan and has been working<br />

there since 2004. His research interests include Internet <strong>of</strong><br />

Things (IoT) and RFID, intelligent agents, logistics information<br />

systems, e-commerce, and empirical research in information<br />

systems.


2894 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Fractional Order Ship Tracking Correlation<br />

Algorithm<br />

Mingliang Hou<br />

School <strong>of</strong> Computer Engineering /Huaihai Institute <strong>of</strong> Technology, Lianyungang,China<br />

Email: ioehml@yahoo.cn<br />

Yuran Liu<br />

School <strong>of</strong> Computer Engineering /Huaihai Institute <strong>of</strong> Technology, Lianyungang,China<br />

Email:cnlyr@sina.com.cn<br />

Abstract—Aiming at the radar and AIS sensor's fuzzy<br />

association to ship tracking which caused by different error,<br />

this article provided fractional order ship tracking<br />

correlation model. From the mathematical point <strong>of</strong> view, the<br />

model used in this thesis extended the integer-order<br />

correlation measurement to the fractional-order correlation<br />

measurement; from the correlation <strong>of</strong> view, elongated the<br />

non-process correlation <strong>of</strong> the point information to the<br />

process correlation <strong>of</strong> the line information. Example shows<br />

that, fractional-order association algorithm can provide<br />

much more related information; and enhance the ship<br />

tracking correlative accuracy.<br />

Index Terms—fractional order, ship tracking association,<br />

process association, association.<br />

I. INTRODUCTION<br />

In recent years, the rapid economic development in<br />

various regions and countries in the world and the global<br />

economic integration have paved the way for the<br />

prosperous development <strong>of</strong> shipping industry. With the<br />

thriving <strong>of</strong> water transportation and the increasing <strong>of</strong><br />

maritime navigation density, ships encounter more<br />

frequently and <strong>of</strong>fshore traffic accidents happen<br />

inevitably on the increase. Consequently the accurate<br />

tracking and detecting for ships has become one <strong>of</strong> the<br />

research subjects. Currently radar and automatic<br />

identification system (AIS) are the main means for ship<br />

tracking detection, nevertheless, the information provided<br />

by radar is subject to the influences <strong>of</strong> sea conditions and<br />

topography while the non-autonomous detection <strong>of</strong> AIS<br />

and the fact that not all ships are installed with AIS also<br />

make AIS application under limitations. Therefore, in<br />

order to integrate the complementary radar information<br />

and AIS information, first <strong>of</strong> all AIS information and<br />

radar information needs to be correlated, namely to<br />

establish tracking correlation. Tracking correlation is the<br />

Manuscript received January 1, 2011; revised June 1, 2011; accepted<br />

July 1, 2011.<br />

Corresponding Author: Yu-ran Liu is with the Huaihai Institute <strong>of</strong><br />

Technology, Lianyungang,China.<br />

Tel: 86-18061342113.E-mail: cnlyr@sina.com.cn<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2894-2898<br />

process <strong>of</strong> comparing the degree <strong>of</strong> similarity between<br />

two tracking and judging whether the tracking from<br />

different sensors with different errors is <strong>of</strong> the same target.<br />

II. REVIEW<br />

A. Tracking-related Review<br />

Tracking-related issues are essentially time series<br />

correlation[1,2] which were first put forward by Singer<br />

and Kanyuck. At present, the major algorithms include<br />

the weighted statistical distance test, the revised weighted<br />

statistical distance test, the nearest neighbor(NN), the<br />

classic distribution method[3], the likelihood ratio test,<br />

the maximum likelihood method, K neighbor, multivariant<br />

hypothesis test, generalized correlation method,<br />

interacting multi-model method[4], grey correlation<br />

algorithm[5-8] and various other fuzzy methods[9].<br />

Due to the fact that targets are more concentrated in<br />

the port, target tracking is usually intersected and there<br />

are much mobile tracking, as well as the fact that the data<br />

are <strong>of</strong> great grayscale and without typical regularity <strong>of</strong><br />

distribution, the application <strong>of</strong> the algorithm above will<br />

produce lots <strong>of</strong> wrong or missing related tracking, thus<br />

failing to meet the accuracy requirement <strong>of</strong> the tracking<br />

correlation. Nevertheless, the method <strong>of</strong> gray correlation<br />

analysis which is based on grey system will fill in this<br />

gap. Gray correlation analysis to analyze the correlation<br />

degree between various factors <strong>of</strong> the system by<br />

comparing the geometric relations <strong>of</strong> system data<br />

sequences.<br />

In recent years, gray correlation algorithm obtained a<br />

significant development, and many scholars have made<br />

great contributions. From the relational degree itself, it<br />

experienced from the gray relational algorithm <strong>of</strong> no<br />

differential measurement information (such as Tang's<br />

correlation, the absolute correlation Ⅱ , the relative<br />

correlation, correlation interval Ⅰ, range correlation Ⅱ)<br />

to gray relational algorithm with first-order differential<br />

metrical information (such as absolute relational degree<br />

Ⅰ, slope correlation, and T-type correlation), and then<br />

turned to be the gray relational algorithm with second-


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2895<br />

order differential metrical information (B-type correlation,<br />

C-type correlation).<br />

The abovementioned indicates that the introduction <strong>of</strong><br />

the high order information and the fractional information<br />

into the associated metrics <strong>of</strong> the series is the<br />

development trend <strong>of</strong> related algorithms and it is also<br />

correspond with the tracking accurate associated needs.<br />

In the paper, the notion <strong>of</strong> fractional order is<br />

introduced into the tracking correlation model and the<br />

similarities between global shape and local shape are<br />

taken into consideration. Besides, the point identification<br />

is expanded to the line identification so as to improve<br />

spatial resolution and system reliability and to reduce the<br />

uncertainty <strong>of</strong> system information, thus enhancing the<br />

accuracy <strong>of</strong> tracking correlation.<br />

B. Summary <strong>of</strong> Fractional Differential<br />

Fractional calculus refers to the calculus with order <strong>of</strong><br />

any real number order. For more than three centuries,<br />

many famous scientists did a lot <strong>of</strong> basic work on<br />

fractional calculus; however, fractional calculus really<br />

began to grow till the last 30 years. Oldham and Spanier<br />

discussed mathematical calculations <strong>of</strong> the fractional<br />

number and their application in areas like physics,<br />

engineering, finance, biology, etc. In 1993, Samko made<br />

systematic and comprehensive exposition on fractional<br />

integral and derivative related properties and their<br />

applications. Many researchers have found that, fractional<br />

derivative model can more accurately describe the nature<br />

<strong>of</strong> a memory and the genetic material and the distribution<br />

process than integer order derivative model[10]. The<br />

overall and memory characteristic <strong>of</strong> fractional are widely<br />

used in physics, chemistry, materials, fractal theory[11],<br />

image processing[12] and other fields. Currently, the<br />

analysis <strong>of</strong> fractional differential has become a new<br />

active researched area that aroused great attention <strong>of</strong><br />

domestic and foreign scholars, and turned to be the<br />

world's leading edge and hot research field.<br />

III. ALGORITHM PRINCIPLE<br />

In this paper, the notion <strong>of</strong> fractional order is<br />

introduced into the tracking correlation model, both the<br />

similarities <strong>of</strong> overall shape and partial shape are<br />

considered so that the original point recognition is<br />

expanded to the line recognition, thus to reduce the<br />

uncertainty <strong>of</strong> information system and improve the<br />

accuracy <strong>of</strong> tracking correlation.[13,14]<br />

A. Fractional Order Differential<br />

Differential operations can enhance the high-frequency<br />

and weaken low-frequency <strong>of</strong> the signals. Fractional<br />

differential operation can nonlinearly improve more highfrequency<br />

and weaken less low-frequency <strong>of</strong> the signals<br />

with the growth <strong>of</strong> the order. From the perspective <strong>of</strong> the<br />

information extraction, the order <strong>of</strong> integer order<br />

operations is discrete whereas fractional one is<br />

continuous, and can provide more tracking correlation<br />

information to help the identification <strong>of</strong> the target<br />

tracking.<br />

© 2012 ACADEMY PUBLISHER<br />

Each observed value on the tracking is the common<br />

result <strong>of</strong> variety <strong>of</strong> subjective and objective factors and<br />

the development <strong>of</strong> all previous observations; therefore<br />

tracking is <strong>of</strong> overall and memory characteristics.<br />

Fractional differential operator is intended differential<br />

operator with overall and memory characteristics whereas<br />

integral order doesn’t have this feature. Therefore, from<br />

the description <strong>of</strong> the tracking it can conclude that,<br />

fractional differential could more accurately describe the<br />

memory nature <strong>of</strong> tracking comparing with the integral<br />

order one, and was imported to calculate the relevancy <strong>of</strong><br />

the tracking.<br />

B. Fractional Differential Difference Form<br />

Since time series is discrete, when using the fractional<br />

differentials in it's associate calculation, the definition<br />

pattern <strong>of</strong> fractional differential algorithms must be<br />

change into the difference form. Then, we derive the<br />

fractional differential difference formula via Grümwald-<br />

Letnikov definition.<br />

Known, v order fractional differential Grümwald-<br />

Letnikov definition is<br />

n<br />

G v v −v −v<br />

a t t ∑ r<br />

h→0 h→0<br />

nh→− t a r=<br />

0<br />

Dst () = lim s() t = lim h C st ( −rh)<br />

(1)<br />

Where in<br />

−v ( −v)( − v+ 1)...( − v+ r−1)<br />

Cr<br />

=<br />

r!<br />

According to Expression(1), if the persistent period <strong>of</strong><br />

s(t) is: t ∈ [a ,t], divide [a ,t] into equal parts<br />

corresponding to one unit interval h=1, it can be got that<br />

h=<br />

1<br />

⎡t−a⎤ n= ⎢<br />

= [ t−a] ⎣ h ⎥<br />

⎦<br />

Then, v order fractional differential difference<br />

expression to unitary signal s(t) can be get<br />

v<br />

dst () ( −v)( − v+<br />

1)<br />

≈ st () + ( −vst ) ( − 1) + st ( −2)<br />

v<br />

dt<br />

2<br />

( −v)( − v+ 1)( − v+<br />

2)<br />

+ st ( − 3) + ...<br />

6<br />

Γ− ( v + 1)<br />

+ st ( −n)<br />

n! Γ− ( v+ n+<br />

1)<br />

From this differential expression, the difference<br />

coefficient <strong>of</strong> the fractional is<br />

( −v)( − v+<br />

1)<br />

a0 = 1, a1 =− v, a2<br />

=<br />

,<br />

2<br />

( −v)( − v+ 1)( − v+ 2) Γ( − v+<br />

1)<br />

a3= ,..., an=<br />

6 n! Γ− ( v+ n+<br />

1)<br />

(2)<br />

C. The Nature <strong>of</strong> Fractional Differential<br />

Fractional differential operator can meet the exchange<br />

rate and the overlay standard<br />

v1 v2 v2 v1 v1+ v2<br />

D D st () = D D st () = D st ()<br />

.


2896 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

(0, 1) differential order measures the overall situation<br />

<strong>of</strong> the sequence, other differential order results can all be<br />

acquired through the iterate integer-order differential on it.<br />

First-order differential reflects the slope <strong>of</strong> the tracking,<br />

second-order differential reflects the curvature <strong>of</strong> the<br />

tracking, and they all response to the partial trends <strong>of</strong> the<br />

tracking. To give consideration to the measurements <strong>of</strong><br />

both global and local trends, non-integral order emphasis<br />

on (0, 1) order, integer order taking into account <strong>of</strong> the<br />

first, second order, therefore, this paper is only analysis<br />

the (0, 3)-order differential related information.<br />

IV. ALGORITHM MODEL<br />

Based on the time series <strong>of</strong> tracking in x, y and z<br />

directions, figure out the respective correlation curve and<br />

analyze the degree <strong>of</strong> correlation <strong>of</strong> each curve at each<br />

differential so as to confirm tracking correlation.<br />

Based on the t tracking are acquired<br />

s11, s12,..., s1ms<br />

, 21, s22,..., s2m,<br />

... s<br />

, t1, st2,..., s tm,wh<br />

Sij = ( xij , yij ), i = 1, 2,..., t; j = 1, 2,..., m<br />

ere<br />

,<br />

( xij, yij<br />

)<br />

is the spatial three-dimensional coordinate <strong>of</strong><br />

S ij s<br />

. Set 11, s12,..., s1mas<br />

reference vector sequence,<br />

and figure out the correlation degree between<br />

si1, si2,..., sim, i = 2,3,..., t<br />

and reference vector<br />

sequence. Then find out the sequence correlated with the<br />

reference sequence, so as to discover correlation tracking.<br />

A. Fractional Order Correlation<br />

Based on the vector sequence <strong>of</strong><br />

Sij = ( xij , yij ), i = 1, 2,..., t; j = 1, 2,..., m<br />

, generate<br />

the following sequences in the direction <strong>of</strong> x, y<br />

respectively.<br />

X i = xi1, xi2,..., xim; i = 1,2,..., t<br />

Yi = yi1, yi2,..., yim; i= 1,2,..., t<br />

Calculate the correlation degree <strong>of</strong> the above<br />

sequences respectively and assume the correlation degree<br />

Qi() v<br />

between sequence 1 Q and sequence<br />

Qi, i = 2,3,..., t<br />

as:<br />

1<br />

Qi v Q Q i t v<br />

m =<br />

m<br />

v v 2<br />

( ) = ( 1 j − ij)<br />

; = 2,3,..., ; ∈(0,3)<br />

− 7 j 8<br />

∑<br />

Where:<br />

j<br />

v<br />

1j= ∑ 1 d ( j− d + 1)<br />

j<br />

v<br />

ij = ∑ id ( j− d + 1)<br />

d= j− 5 d= j−5<br />

Q q * a , Q q * a ;<br />

i=2,3,…,t; Q=X,Y;<br />

q = x, y<br />

.<br />

B. Correlation Judgment<br />

(1) Judgment for numerical value <strong>of</strong> correlation:<br />

© 2012 ACADEMY PUBLISHER<br />

The greater the value <strong>of</strong><br />

Qi() v<br />

is, the smaller the<br />

correlation degree between sequence Qi and Q1 is;<br />

whereas, the smaller the value <strong>of</strong><br />

Qi() v<br />

is, the greater the<br />

correlation degree between sequence Qi and Q1 is.<br />

(2) Relation between order and correlation:<br />

Comparing with high order differential, low order<br />

differential extract more <strong>of</strong> the low-frequency<br />

information and less high-frequency information. As for<br />

the tracking, low order differential extract more longterm-effect<br />

information while high order differential<br />

extract more short-term-effect information.<br />

When<br />

Qi( v) < Qj( v), i, j = 2,3,..., t<br />

and v ranges<br />

between 0 and 1, sequence Qi has a greater correlation<br />

with sequence Q1 than sequence Qj does in the long term;<br />

when v ranges between 1 and 3, sequence Qi has a<br />

greater correlation with sequence Q1 than sequence Qj<br />

does in the short term.<br />

V. ALGORITHM SIMULATION<br />

Based on the tracking <strong>of</strong><br />

Sij= ( xij , yij ), i = 1,2,...,7; j = 1,2,...,26<br />

,<br />

generate the following sequences in the direction <strong>of</strong> x, y<br />

respectively.<br />

Xi = xi1, xi2,..., xi26, i=<br />

2,3,...,7<br />

xij ∈[0,1000]<br />

where<br />

,see Fig.1,<br />

Yi = yi1, yi2,..., yi26, i = 2,3,...,7<br />

yij ∈[0,1000]<br />

where<br />

,see Fig.2,<br />

Figure 1. Tracking data in x direction


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2897<br />

Figure 2. Tracking data in y direction<br />

Taking Radar and AIS's detecting error into account<br />

which is about 20 meters and 2 meters respectivly,<br />

simulation experiments are structured as follows. Add<br />

noise with range <strong>of</strong> [-2, 2] into the reference<br />

X , 1 Y X<br />

to get 11 , 11 Y ; add noise with range <strong>of</strong><br />

sequences 1<br />

[-20, 20] into all the tracking to get i2<br />

X<br />

, i2<br />

Y , in which<br />

i=1 , 2,..., 7. Then calculate separately the curve <strong>of</strong><br />

correlation degree (see Fig.3,4) at the order <strong>of</strong> (0, 3)<br />

X<br />

between i2<br />

X<br />

and 11 Y<br />

, i2<br />

and 11 Y . In the figure, mqhk<br />

stands for the correlation degree between qh and qk, in<br />

which m stands for correlation degree,<br />

q = x, y<br />

, h and k<br />

are the subscripts <strong>of</strong> the sequences generated after adding<br />

noise.<br />

Figure 3. Curve <strong>of</strong> correlation degree at the order <strong>of</strong> (0, 3) between<br />

X i2<br />

X<br />

and 11 , i=1,2,...,7<br />

© 2012 ACADEMY PUBLISHER<br />

Figure 4. Curve <strong>of</strong> correlation degree at the order <strong>of</strong> (0, 3) between<br />

Yi 2 and 11 Y , i=1,2,...,7<br />

In Fig.3,4, from the curves <strong>of</strong> correlation degree at the<br />

X<br />

order <strong>of</strong> (0, 3) between i2<br />

X<br />

and 11 Y<br />

, i2<br />

and 11 Y , it can<br />

be seen that all the correlation values between<br />

X i2<br />

X<br />

and 11 Y<br />

, i2<br />

and 11 Y at the order <strong>of</strong> (0,3) are far<br />

smaller than other correlation values. Therefore, it can be<br />

X<br />

concluded that i2<br />

X<br />

and 11 Y<br />

, i2<br />

and 11 Y are correlated<br />

S<br />

and thus 11 S<br />

and 12 are the tracking <strong>of</strong> the same target.<br />

The results agree with the experimental expectation.<br />

VI. CONCLUSIONS<br />

It is proved in the experiments that the addition <strong>of</strong><br />

error will affect high-frequency information <strong>of</strong> the<br />

sequence and moreover, with the increase <strong>of</strong> the error, the<br />

influence will gradually expand from higher order to<br />

lower order. On account <strong>of</strong> the effects <strong>of</strong> errors, the order<br />

can be adjusted to calculate correlation degree. The<br />

greater the error is, the smaller the order needs to choose<br />

at. It is also proven in the experiments that when adding<br />

noises with range <strong>of</strong> [-20,20] and [-2,2] into the sequence<br />

with the threshold <strong>of</strong> [0, 1000], the required correlated<br />

accuracy can still be acquired with this algorithm.<br />

ACKNOWLEDGMENT<br />

This work was financially supported by the National<br />

Natural Science Foundation <strong>of</strong> China (Grant No.<br />

10731050) and Ministry <strong>of</strong> Education Innovation Team<br />

<strong>of</strong> China(No. IRT00742).<br />

REFERENCES<br />

[1] Agafonov E, Bargiela A, and Burke E. "Mathematical<br />

justification <strong>of</strong> a heuristic for statistical correlation <strong>of</strong> reallife<br />

time series". European <strong>Journal</strong> <strong>of</strong> Operational<br />

Research, vol.198,pp. 275-286,2009.<br />

[2] Kharrat A., Chabchoub H., and Aouni B. "Serial<br />

correlation estimation through the imprecise Goal<br />

Programming model". European <strong>Journal</strong> <strong>of</strong> Operational<br />

Research, vol.177,pp.1839-1851.2007.


2898 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

[3] Chang C.B. and Youens L.C.. "Measurement correlation<br />

for multiple sensors tracking in a dense target<br />

environment". IEEE Trans AC ,vol.27,pp.1250-1252,1982.<br />

[4] Zhang J. S. , Yang W. Q. and Hu S. Q.. "Target Tracking<br />

Using the Interactive Multiple Model Method". <strong>Journal</strong> <strong>of</strong><br />

Beijing Institute <strong>of</strong> Technology, vol.7,pp.299-304,1998.<br />

[5] Deng J. L. and Zhou C. S.. "Sufficient conditions for the<br />

stability <strong>of</strong> a class <strong>of</strong> interconnected dynamic systems".<br />

Systems & Control Letters. vol.7,pp.105-108,1986.<br />

[6] Deng J. L.. "Introduction to grey mathematical resources.<br />

<strong>Journal</strong> <strong>of</strong> Grey System". vol.20,pp.87-92,2008.<br />

[7] Guan X. , He Y. and Yi X.. "Gray track-to-track<br />

correlation algorithm for distributed multitarget tracking<br />

system". Signal Processing, vol.86,pp.3448-3455,2006.<br />

[8] Tsai M. S. and Hsu F. Y.. "Application <strong>of</strong> in grey<br />

correlation analysis Evolutionary Programming for<br />

Distribution System Feeder Reconfiguration". IEEE<br />

Transactions on Power Systems.vol.25,pp.1126-<br />

1133,2010.<br />

[9] Ye. J.. "Fuzzy decision-making method based on the<br />

weighted correlation coefficient under intuitionistic fuzzy<br />

environment". European <strong>Journal</strong> <strong>of</strong> Operational Research,<br />

vol.205,pp.202-204,2010.<br />

[10] Valdes-Parada F.J., Oehoa-Tapia J.A. and Alvarez-<br />

Ramirez J.."Effective Medium Equation for Fractional<br />

Cattaneo’s Diffusion and Heterogeneous Reaction in<br />

Disordered Porous Media". Physica A: Statistical<br />

Mechanics and its Applications , vol.369,pp.318-<br />

328,2006.<br />

[11] Carpinteri A., Cornetti.P.."A Fractional Calculus<br />

Approach to the Description <strong>of</strong> Stress and Strain<br />

Localization in Fractal Media".Chaos,Solitons and<br />

Fractals,vol.13,pp.85-94,2002.<br />

[12] Hou M. L., Liu Y. R., Wang Q.. "An image information<br />

extraction algorithm for salt and pepper noise on<br />

fractional differentials". Advanced Materials Research,<br />

vol.179, pp.1011-1015,2011.<br />

[13] Liu Y. R., Luo M. K., Ma H., Hou M. L.."Fractional<br />

Order Correlation Algorithm <strong>of</strong> Uncertain Time<br />

Sequence". <strong>Journal</strong> <strong>of</strong> Grey System. vol.14,pp.55-60,2011.<br />

[14] Liu Y. R.,Hu Y., Hou M. L. "Fractional Order Gray<br />

Prediction Algorithm". vol.14,pp.5-10,2011.<br />

© 2012 ACADEMY PUBLISHER<br />

Ming-Liang Hou received his M.S.<br />

degree in China University <strong>of</strong> Petroleum<br />

in 2004 and Ph. D. degree in Institute <strong>of</strong><br />

Optics and Electronics, Chinese <strong>Academy</strong><br />

<strong>of</strong> Sciences in 2008. He is now a Lecturer<br />

in School <strong>of</strong> Computer Engineering,<br />

Huaihai Institute <strong>of</strong> Technology,<br />

Lianyungang, China. His current research<br />

interests ranged over the fields <strong>of</strong> Grey<br />

Theory, Pattern Recognition, Virtual Simulation, Intelligent<br />

Fault Diagnosis Technology.<br />

Yu-Ran Liu received her M.S. degree in<br />

China University <strong>of</strong> Petroleum in 2004 and<br />

PhD degree in Institute <strong>of</strong> Optics and<br />

Electronics, Chinese <strong>Academy</strong> <strong>of</strong> Sciences<br />

in 2009. She is now an Associate Pr<strong>of</strong>essor<br />

in School <strong>of</strong> Computer Engineering,<br />

Huaihai Institute <strong>of</strong> Technology,<br />

Lianyungang, China. Her current research<br />

interests lied in the fields <strong>of</strong> Grey Theory,<br />

Operational Research, Image Processing,<br />

Pattern Recognition, etc.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2899<br />

A Label Correcting Algorithm for Dynamic<br />

Tourist Trip Planning<br />

Abstract—One <strong>of</strong> the most important considerations for<br />

tourist in tourism is how to design an optimal trip planning.<br />

Selecting the most interesting points <strong>of</strong> interest and<br />

designing a personalized tourist trip is called a tourist trip<br />

design problem (TTDP) and, it can be modeled as a<br />

orienteering problem. However, most previous researches<br />

solve this problem in static network, which leads to<br />

unreasonable results. In this paper, to formulate this<br />

orienteering problem in a time-dependent network, a<br />

mathematical programming model is built with introducing<br />

a time-aggregated graph. Then a novel label correcting<br />

algorithm (LCA) is presented to solve this problem based on<br />

the idea <strong>of</strong> network planning and dynamic programming.<br />

Finally, a numerical example is given to show the<br />

effectiveness and feasibility <strong>of</strong> the algorithm.<br />

Index Terms—tourist trip planning, orienteering problem,<br />

time-dependent network, label correcting algorithm,<br />

tourism<br />

I. INTRODUCTION<br />

Recently, China has held various sightseeing and<br />

exhibition activities, such as Beijing Olympic Games,<br />

Shanghai World Expo and many types <strong>of</strong> commercial<br />

exhibitions, etc. However, many tourists visit a region or<br />

a city during one or more days. Obviously, it is<br />

impossible to visit everywhere and tourists want to select<br />

what they believe to be the most attractive points <strong>of</strong><br />

interest (POI). Nowadays, their selection can be made<br />

according to information <strong>of</strong> web sites, articles in<br />

magazines, or on guidebooks available in bookstores.<br />

Once the decision is made, the tourists will decide on the<br />

time to visit each point and choose a route between the<br />

points. However, it is difficult for tourists to design<br />

schedule, as many factors, such as many places are<br />

crowded, the traffic accidents may happen, or the road is<br />

under construction or closed, will lead to uncertainties for<br />

trip plans. The goal for tourists is to make a decision on<br />

trip plan where the POIs are visited as many as possible<br />

within a time budget. In fact, the traditional tourist trip<br />

design in static network has not been able to meet the<br />

demand. With the help <strong>of</strong> mobile and sensing technology,<br />

and taking the real-time traffic information into account,<br />

only tourist trip design in dynamic network is able to<br />

© 2012 ACADEMY PUBLISHER<br />

doi:10.4304/jsw.7.12.2899-2905<br />

Jin Li<br />

School <strong>of</strong> Computer and Information Engineering,<br />

Zhejiang Gongshang University, Hangzhou, P.R.China<br />

Email: jinli@mail.zjgsu.edu.cn<br />

Peihua Fu<br />

School <strong>of</strong> Computer and Information Engineering,<br />

Zhejiang Gongshang University, Hangzhou, P.R.China<br />

Email: fph@mail.zjgsu.edu.cn<br />

provide personalized and high-quality services for<br />

tourists.<br />

Nowadays, the tourist trip design problem (TTDP) is<br />

commonly seen as an extension <strong>of</strong> orienteering problem<br />

(OP)[1]. The OP is also known as the Selective Traveling<br />

Salesperson Problem (STSP)[2-4], the knapsack<br />

problem[5], the Maximum Collection Problem (MCP)[6]<br />

and the bank robber problem[7]. Furthermore, the OP can<br />

be formulated as a special case <strong>of</strong> the Resource-<br />

Constrained TSP (RCTSP)[8]. Since these kinds <strong>of</strong><br />

problems are NP-hard, most researches have focused on<br />

heuristics and metaheuristics [9-14], e.g. guided local<br />

search, the ant colony algorithms, etc. Dynamic trip<br />

design relies mainly on the mobile communication<br />

technology to provide tourist location-based real-time and<br />

fast navigation services. In the meanwhile, it can also<br />

help the tourists choose target points and find the shortest<br />

route to reach there. This kind <strong>of</strong> mobile tourist guides<br />

include Cyberguide[15], Gulliver’s Genie[16], GUIDE<br />

[17], CRUMPET[18], etc. However, tourists preferences<br />

are diverse[19] with the rising quality <strong>of</strong> life and aesthetic<br />

taste. Static trip design does not take into account the<br />

specific situation <strong>of</strong> the tourist, e.g. tourist’s start and end<br />

visiting time, current time, total time budget and weather<br />

conditions, etc. So the personalized mobile tourist guides<br />

based on context and location become an inevitable trend.<br />

Ten Hagen et al.[20] designed a mobile tourist guide, i.e.<br />

Dynamic Tour Guide (DTG) to decide on the tour <strong>of</strong><br />

visiting a city during a period <strong>of</strong> time. He saw the tour as<br />

a set <strong>of</strong> Tour Building Blocks (TBB), which denotes<br />

attractions, hotels and something else chosen by tourist.<br />

Then, TBB receive interest matching points by a semantic<br />

matching algorithm, which calculates the degree <strong>of</strong><br />

similarity between the TBB and the pr<strong>of</strong>ile <strong>of</strong> the user.<br />

Finally, a heuristic approximation algorithm is used to<br />

calculate the tour. Souffria et al.[21] proposed a<br />

personalized tourist trip design algorithm for mobile<br />

tourist guides. By combining an artificial intelligence and<br />

a guided local search metaheuristic approach, this<br />

algorithm provided fast decision support for tourist using<br />

the mobile devices, and was compared with other


2900 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

algorithms making use <strong>of</strong> a real data set from the city <strong>of</strong><br />

Ghent.<br />

The above researches just study the TTDP in a static<br />

network based on the start point, destination point and<br />

time budget without involving tourist trip design problem<br />

in a dynamic time-dependent network. However, the<br />

tourist trip network is actually time-dependent in real<br />

exhibitions or tourism due to the crowed places,<br />

emergencies, temporary shows, and promotions, etc. For<br />

example, the tourist travel time is significantly different<br />

between peak time and valley time in exhibitions. With<br />

the development <strong>of</strong> advanced sensor network,<br />

information system and databases, dynamic traffic<br />

information is available. Therefore, to formulate the<br />

tourist trip design problem in time-dependent network,<br />

based on the previous research on time-aggregated<br />

graph[20][21], this paper proposes a mathematical<br />

programming model, and puts forward a label correcting<br />

algorithm (LCA) to solve this problem.<br />

This paper is organized as follows. The problem<br />

formulation for tourist trip design problem in timedependent<br />

network is described in Section 2. In Section 3,<br />

the label correcting algorithm is given. Moreover, Section<br />

4 validates the proposed label correcting algorithm by<br />

numerical example. Finally, the concluding remarks and<br />

further research are included in Section 5.<br />

II. PROBLEM DESCRIPTION<br />

A. Prolbem Assumptions<br />

Tourist trip design problem in time-dependent network<br />

can be expressed as follows. Given a set <strong>of</strong> visiting points<br />

and the tourist preference value, each visiting point has<br />

an average stay time. And each visiting point can only be<br />

visited once. Then the objective <strong>of</strong> this problem is how to<br />

decide on the time to visit each point and select a route<br />

between the points in order to maximize the total utility<br />

<strong>of</strong> tourist trip ( that is, the sum <strong>of</strong> preference value <strong>of</strong> all<br />

selected visiting points) within a given time budget. This<br />

paper will solve the tourist trip design problem in the<br />

time-dependent network based on the following<br />

assumptions:<br />

� In time-dependent network, the travel time on an<br />

edge depends on the time entering it, i.e., once an<br />

edge is entered, the travel time is given by the start<br />

time <strong>of</strong> entering it. It is assumed that time is<br />

discredited into small units (such as 1 hour or less<br />

than 10 minutes).<br />

� A tourist has a preference value for every visiting<br />

point, which is set as an random integer from<br />

interval [1, 10]. This value represents the tourist’s<br />

interest in the point. To be practical application,<br />

this preference value can be obtained using<br />

information retrieval or semantic identification<br />

technology via mobile tourist guide devices [20]<br />

[21].<br />

� Tourist <strong>of</strong>ten decides trip plan in terms <strong>of</strong> the<br />

schedule, set the time budget to be fixed and<br />

constant.<br />

© 2012 ACADEMY PUBLISHER<br />

� Generally speaking, a tourist avoids going to a<br />

visiting point more than once, so each point is<br />

assumed to be visited at most once.<br />

� We don’t consider the phenomenon <strong>of</strong> return and<br />

round in traveling road.<br />

� Taking into account the wide use <strong>of</strong> traffic sensor<br />

network, information system and the databases<br />

[23][24], the travel time on discrete time is set to<br />

be dynamic and available.<br />

B. Time-aggregated Network<br />

Given a transportation network G � ( V , E)<br />

, where<br />

V � { Vi<br />

| i �1,<br />

2,<br />

�,<br />

n}<br />

is the node set, E � { eij<br />

| Vi<br />

, V j �V}<br />

is<br />

the edge set, if V is adjacent with i<br />

V , then there is one<br />

j<br />

edge e between them, ij<br />

| E | � m . Since the edge and the<br />

travel time on a edge are time-dependent, it is not easy to<br />

denote the tourist moves on each edge. We use a timeaggregated<br />

graph[22] to represent the network change at<br />

each time instant.<br />

In time-aggregated graph, each arc e has two<br />

ij<br />

properties: time series ET indicating the time instants at<br />

ij<br />

which they are present and travel time series TT ij<br />

representing the travel times at various instants.<br />

ETij � [ 1,<br />

2,<br />

�,<br />

T]<br />

represents the existing state <strong>of</strong> arcs at<br />

each instant, and is a set <strong>of</strong> the corresponding time when<br />

the arcs are connected, which indicates a network<br />

topology varies with time. Travel time series<br />

TTij � ( Tij<br />

( 1),<br />

Tij<br />

( 2),<br />

�,<br />

Tij<br />

( T )) denote the travel time when<br />

the edge is present, Tij (t)<br />

represents the travel time on<br />

edge e ij when the entry time is t . If the edge e ij isn’t<br />

connected at time t , then (t)<br />

� � , which means this<br />

Tij edge cannot be passed and must wait. For example, a<br />

time-dependent network at time instant t =1,2,3 is shown<br />

in Figure 1. The topological structure and travel time <strong>of</strong><br />

this network vary with time. For edge e 21 , it is present at<br />

time t =1,2, but disappears at time t=3, i.e., no passing.<br />

Moreover, the travel time <strong>of</strong> edge e 21 equals 1 at time<br />

t =1, and becomes 5 at time t =2. This time-aggregated<br />

graph is illustrated in Figure 1(d), where edge e 21 has<br />

two series properties: [1,2] represents the time series<br />

when the edge is present, and (1,5,∞) is the travel time<br />

series representing the travel time at time instant 1 and 2.<br />

C. Trip Denotation<br />

In the time-dependent network, temporal and spatial<br />

dimensions are used to represent the tourist trip, where<br />

time is described as discrete unit and space is expressed<br />

as V � { Vi<br />

| i �[<br />

1,<br />

| V |]} . So, the tourist trip is a list<br />

consisting in elements V i( ti<br />

) , where V i( ti)<br />

denotes that<br />

the node V i is reached at time t i . The tourist trip is<br />

presented as P V , V ) � { V ( t ), V ( t ), �,<br />

V ( t )} , where<br />

( 1 n 1 1 2 2 n n


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2901<br />

V 1 is the source node and n<br />

V is the destination node.<br />

According to the time-aggregated graph, if the stay time<br />

at node V i is vt i , then the earliest arrival time at edge<br />

e ij is te � min{ t | t � ti<br />

� vti,<br />

t � ETij}<br />

. For the two<br />

V 1<br />

V 3<br />

V 1<br />

V 3<br />

nodes V i ( ti<br />

) and V j( t j)<br />

on edge e ij , the time constraints<br />

is expressed as: t j � ti<br />

� vti<br />

� Tij<br />

( te)<br />

.<br />

Figure 1. Denotation <strong>of</strong> time-dependent network using time-aggregated graph.<br />

D. Mathmatical Model<br />

Notations and Meanings:<br />

G � (V, E ) : Time-dependent network;<br />

P (i)<br />

: Set <strong>of</strong> predecessor nodes <strong>of</strong> node V ; i<br />

S (i)<br />

: Set <strong>of</strong> successor nodes <strong>of</strong> node V ; i<br />

T : The total time budget <strong>of</strong> the trip;<br />

t 0 : The traveling start time;<br />

p i : Tourist preference value for node V ; i<br />

vt i : Stay time on node V ; i<br />

t i : Arrival time at node V ; i<br />

tij (t)<br />

: Travel time on edge e when the entry time is<br />

ij<br />

t ;<br />

�1,<br />

if edge e is entered at time ij<br />

t<br />

xij (t)<br />

� �<br />

�0,<br />

otherwise<br />

Choose node V as the source point and node V as the<br />

1<br />

n<br />

destination point. And we establish the following mixed<br />

integer programming model as follows.<br />

© 2012 ACADEMY PUBLISHER<br />

2<br />

2<br />

1<br />

1<br />

1<br />

V 2<br />

V 4<br />

2<br />

(a) t=1 (b) t=2<br />

2<br />

3<br />

V 2<br />

V 4<br />

2<br />

(2,1,2)<br />

[1,2,3]<br />

4<br />

(1,∞,4) [1,3]<br />

(c) t=3 (d) Time-aggregated graph<br />

T<br />

n�1<br />

�� �<br />

max p x ( t)<br />

(1)<br />

i<br />

t�t0<br />

i�2j�S(i) T<br />

��<br />

1 j<br />

t�t0 j�S(<br />

1)<br />

T<br />

ij<br />

T<br />

��<br />

s.<br />

t.<br />

x ( t)<br />

� x ( t)<br />

�1<br />

(2)<br />

��<br />

ik<br />

t�t0 i�P(<br />

k)<br />

T<br />

�� ij ( t<br />

t�t0 j�S(<br />

i)<br />

T<br />

��<br />

t�t0<br />

i�P(<br />

j)<br />

T<br />

��<br />

V 1<br />

V 3<br />

V 1<br />

V 3<br />

ij<br />

t�t0 j�S(<br />

i)<br />

1<br />

T<br />

in<br />

t�t0i�P( n)<br />

x ( t)<br />

� x ( t)<br />

, � k � 2, �,<br />

n � 1<br />

��<br />

kj<br />

t�t0j�S( k)<br />

x ) �1<br />

, � i � 2, �,<br />

n � 1<br />

(3)<br />

(4)<br />

( t � t ( t))<br />

x ( t)<br />

� t , � j � 2, �,<br />

n (5)<br />

ij<br />

i<br />

1<br />

5<br />

2<br />

(1,1,∞) [1,2]<br />

(1,5,∞) [1,2]<br />

(∞,2,2) [2,3]<br />

ij<br />

i<br />

j<br />

tx ( t)<br />

� t � vt , � i � 1,<br />

� , n �1<br />

(6)<br />

t1 � t , 0 tn � T<br />

(7)<br />

t i � 0 , � i � 1,<br />

�,<br />

n<br />

(8)<br />

x(t ij ) � 0,<br />

1,<br />

� eij � E , � t �1,<br />

�,<br />

T<br />

(9)<br />

The objective <strong>of</strong> the problem is to maximize the total<br />

utility, as shown in (1). In this formulation, constraint (2)<br />

and (3) are flow-conservation constraints. Constraint (4)<br />

ensures that every point is visited at most once.<br />

V 2<br />

V 4<br />

(∞,∞,3) [3]<br />

2<br />

V 2<br />

(2,2,2)<br />

[1,2,3]<br />

V 4


2902 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

Constraint (5) and (6) guarantees that if one edge is<br />

visited in a given tour, the arrival time <strong>of</strong> the edge<br />

following node is the sum <strong>of</strong> the preceding arrival time,<br />

visiting time and the edge travel time. Constraint (7) is<br />

the start time and end time constraint. Constraint (8) and<br />

(9) are the variables constraint.<br />

III. LABEL CORRECTING ALGORITHM<br />

A. The Ideas <strong>of</strong> Algorithm<br />

The objective <strong>of</strong> the time-dependent tourist trip design<br />

problem is to decide an optimal trip to maximize the<br />

tourist’s total utility within time budget taking into<br />

account tourist preference and time-dependent network,<br />

and provide the tourist with real-time navigation service<br />

via the mobile communication devices (e.g. PDA, cell<br />

phone). In this dynamic network, the trip design and<br />

travel time depend on the start time <strong>of</strong> the source node.<br />

Consequently, starting from an optimal start time, a best<br />

trip is produced to help the tourist visit his interesting<br />

points within a time budget. We present a label correcting<br />

algorithm to solve this problem. This algorithm can<br />

produce an optimal trip plan and achieve maximum<br />

utility within a given time budget.<br />

Some notations used in the algorithm are defined in the<br />

following.<br />

Definition 1: Q is the priority queue <strong>of</strong> the node to be<br />

processed and satisfies first-in-first-out (FIFO) principles.<br />

Definition 2: Ci (t)<br />

is the cost <strong>of</strong> the source node V at i<br />

time t , which represents the travel time from node V to i<br />

the destination node at time t .<br />

Definition 3: U i ( V j , t)<br />

represents the total utility<br />

arriving at node V at time t ( i t � ET ), where ij V is the<br />

i<br />

successor node( V j � S(i)<br />

).<br />

The start time is variable. In order to seek the optimal<br />

start time and travel route, we use a label correcting<br />

algorithm from the destination node back to the source<br />

node. As the edge travel time series represent the edge<br />

travel time in every time unit, the label records the travel<br />

time and total utility every time from the current node to<br />

the destination node. This algorithm calculates the node’s<br />

trip utility and updates the pre-node’s label. Repeat these<br />

iterations until we get the optimal route with the best start<br />

time.<br />

B. The Detail Steps <strong>of</strong> Algorithm<br />

According to the idea <strong>of</strong> network planning and<br />

dynamic programming[25], a novel label correcting<br />

algorithm is presented in the following.<br />

Step 1: Initialization<br />

Given every edge eij two properties: the edge time<br />

series ET and travel time series ij<br />

TT . ij V is the source<br />

1<br />

node and V is the destination node. p n<br />

i represents the<br />

tourist’s preference value for each visiting point V , the i<br />

stay time is vt i . Let p p � 0 , vt vt � 0 .<br />

1 � n<br />

© 2012 ACADEMY PUBLISHER<br />

1 � n<br />

Step 2: For the destination node V , n Cn ( t)<br />

� 0 ,<br />

U n(<br />

Vn�<br />

, t)<br />

� p , 1 n t � 1,<br />

2,<br />

�T<br />

,where V is the virtual<br />

n�1<br />

successor node <strong>of</strong> source node V , n Q � { Vn}<br />

.<br />

Step 3: Processing the node in priority queue Q<br />

3.1. For j V in Q , delete j V from Q;<br />

3.2. For Vi � P(<br />

j)<br />

, calculate Ci ( t)<br />

� C j ( t � vt j<br />

� Tij ( t))<br />

� Tij<br />

( t)<br />

� vt , j � t � ET . If ij ci ( t)<br />

� T , then<br />

Tij (t)<br />

� � , else if ci ( t)<br />

� T , then go to step 3.3;<br />

3.3. Calculate the tourist’s total utility and label<br />

Calculate the total utility from the source node V to i<br />

the destination node at time t .<br />

U i ( V j , t)<br />

� U j ( Vk<br />

, t � vt j � Tij<br />

( t))<br />

� P , i V j � S(i)<br />

,<br />

Vk � S(<br />

j)<br />

, � t � ET ; ij<br />

Label ( V j , t,<br />

Ci<br />

( t),<br />

U i ( V j , t))<br />

;<br />

3.4. Node V i is inserted into Q , and update it;<br />

Step 4: Judgment <strong>of</strong> whether all the nodes have<br />

been processed<br />

If Q � � , go to step 3, else go to step 5;<br />

Step 5: Calculation <strong>of</strong> the route’s total utility<br />

Calculate V ) � max U ( V , t)<br />

, � ET e � E<br />

U ( 1<br />

1 r<br />

Vr�S ( 1)<br />

�t 1 r , ; 1r<br />

Step 6: Backward the tourist’s route with<br />

maximum total utility<br />

According to the label with maximum utility, we can<br />

get the optimal start time t best . And go back based on this<br />

start time, we will obtain the optimal route from the<br />

source node 1 V to the destination node Vn in the<br />

following: P( V1,<br />

Vn<br />

) � { V1(<br />

tbest<br />

), V2(<br />

t2),<br />

�,<br />

Vn<br />

( tn<br />

)} . If<br />

there are several routes with maximum total utility,<br />

choose the route with minimum 1( ) t C as the final<br />

optimal route.<br />

C. Time Complexity Analysis <strong>of</strong> Algorithm<br />

According to the steps <strong>of</strong> the algorithm, we can see<br />

that when the travel time and label <strong>of</strong> the node is a scalar,<br />

2<br />

the time complexity in worst case is O ( V E ) . As each<br />

label is generated when the length <strong>of</strong> time series is T , the<br />

2<br />

total computational time is O ( V E T ) .<br />

The above analysis indicates that our algorithm is a<br />

polynomial algorithm, and can meet the real-time<br />

applications.<br />

IV. NUMERICAL EXAMPLE<br />

The efficiency and feasibility <strong>of</strong> the algorithm would<br />

be demonstrated by the following numerical example in<br />

this section.<br />

Example: Given an exhibition graph as shown in<br />

Figure 2, where V 1 is the entrance (source node) and V 6<br />

is the exit (destination node), other nodes are visiting<br />

point; The first figure at each node denotes the stay time<br />

and the second figure denotes the preference value <strong>of</strong> a


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2903<br />

tourist. The time budget <strong>of</strong> the trip is T =10 and the<br />

figures on the edges are travel time series. To simplify the<br />

problem, all the time series on the edges are set<br />

as ETij � [ 1,<br />

2,<br />

�,<br />

T]<br />

, � eij � E . If t � T , then<br />

Tij ( t)<br />

� Tij<br />

( T ) .<br />

Figure 2. Time-dependent exhibition graph.<br />

TABLE I.<br />

TRACE OF THE LABEL USING LABEL CORRECTING ALGORITHM<br />

We shall use the proposed label correcting algorithm to<br />

solve the above example, and the optimal trip is<br />

calculated in detail as follows.<br />

steps V1 V2 V3 V4 V5 V6 Q<br />

1<br />

2<br />

3 {4,(5,6,5,5,4,5,4,4,4,5),5}<br />

4<br />

5<br />

6<br />

(4,4,1,1,1,2,2,3,3,3)<br />

(0,0)<br />

V1<br />

(1,1,1,2,2,2,2,3,3,4)<br />

{2,(10,9,6,7,6,7,8,9,9,9),<br />

5}<br />

{2,(9,10,7,6,7,9,9,10,10,<br />

10),9}<br />

{2,(-,-,9,8,8,10,10,-,-,-<br />

),14}<br />

{2,(-,-,9,-,-,-,-,-,-,-),12}<br />

{2,(-,-,10,-,-,-,-,-,-,-),17}<br />

{3,(8,8,7,8,8,9,9,10,10,-<br />

),11}<br />

{3,(-,10,9,9,9,10,10,-,-,-<br />

),16}<br />

© 2012 ACADEMY PUBLISHER<br />

(1,1) (2,2,3,3,2,2,1,1,1,2)<br />

(1,5)<br />

V2<br />

V3<br />

(1,3)<br />

(1,1,1,1,1,2,2,3,3,4)<br />

{4,(5,6,5,5,4,5,4,4,4,5),5}<br />

{5,(7,7,6,6,5,4,5,5,6,6),9}<br />

{5,(10,10,9,8,7,6,6,6,7,7),1<br />

4}<br />

{4,(5,6,5,5,4,5,4,4,4,5),5}<br />

{5,(7,7,6,6,5,4,5,5,6,6),9}<br />

{5,(10,10,9,8,7,6,6,6,7,7),1<br />

4}<br />

{3,(8,8,7,8,7,9,9,10,10,-<br />

),12}<br />

{3,(-,10,9,9,8,10,10,-,-,-<br />

),17}<br />

{4,(5,6,5,5,4,5,4,4,4,5),5}<br />

{5,(7,7,6,6,5,4,5,5,6,6),9}<br />

{5,(10,10,9,8,7,6,6,6,7,7),1<br />

4}<br />

{3,(8,8,7,8,7,9,9,10,10,-<br />

),12}<br />

{3,(-,10,9,9,8,10,10,-,-,-<br />

),17}<br />

(4,4,3,3,2,1,1,1,2,2)<br />

(4,4,3,3,2,2,1,1,2,2)<br />

{5,(7,7,6,6,5,6,5<br />

,5,6,6),11}<br />

{5,(10,10,9,8,7,<br />

7,6,6,7,7),16}<br />

{5,(7,7,6,6,5,6,5<br />

,5,6,6),11}<br />

{5,(10,10,9,8,7,<br />

7,6,6,7,7),16}<br />

{5,(7,7,6,6,5,6,5<br />

,5,6,6),11}<br />

{5,(10,10,9,8,7,<br />

7,6,6,7,7),16}<br />

V4<br />

V5<br />

(1,8)<br />

{7,(0,0,0,0,0,<br />

0,0,0,0,0),0} V6<br />

{6,(1,1,2,2,3, {6,(4,4,3,3,2, {7,(0,0,0,0,0, V4,<br />

3,1,1,2,2),5} 2,2,2,3,3),8} 0,0,0,0,0),0} V5<br />

{6,(4,4,3,3,2,<br />

2,2,2,3,3),8}<br />

{6,(1,1,2,2,3,<br />

{7,(0,0,0,0,0, V2,<br />

{4,(5,6,5,5,4,<br />

3,1,1,2,2),5}<br />

0,0,0,0,0),0} V5<br />

5,5,4,4,4),<br />

13}<br />

{6,(4,4,3,3,2,<br />

2,2,2,3,3),8}<br />

{6,(1,1,2,2,3,<br />

{7,(0,0,0,0,0, V2,<br />

{4,(5,6,5,5,4,<br />

3,1,1,2,2),5}<br />

0,0,0,0,0),0} V3<br />

5,5,4,4,4),<br />

13}<br />

{6,(1,1,2,2,3,<br />

3,1,1,2,2),5}<br />

{6,(1,1,2,2,3,<br />

3,1,1,2,2),5}<br />

(2,2,3,3,2,2,2,1,1,1)<br />

(1,1,2,2,3,3,1,1,2,2)<br />

{6,(4,4,3,3,2,<br />

2,2,2,3,3),8}<br />

{4,(5,6,5,5,4,<br />

5,5,4,4,4),<br />

13}<br />

{6,(4,4,3,3,2,<br />

2,2,2,3,3),8}<br />

{4,(5,6,5,5,4,<br />

5,5,4,4,4),<br />

13}<br />

V6<br />

(0,0)<br />

(4,4,3,3,2,2,2,2,3,3)<br />

{7,(0,0,0,0,0,<br />

0,0,0,0,0),0}<br />

V2<br />

{7,(0,0,0,0,0,<br />

0,0,0,0,0),0} V1


2904 JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012<br />

First, initialization:<br />

Given the time series ET and travel time series ij<br />

TT ij<br />

on each edge e ij ; V is the source node and 1<br />

V is the<br />

n<br />

destination node. For every node i V , the preference value<br />

is i p and the stay time is vt ; i p 1 � pn<br />

� 0 , vt 1 � vtn<br />

� 0 .<br />

For the destination node V , n Cn ( t)<br />

� 0 , U n(<br />

vn�<br />

, t)<br />

� p ,<br />

1 n<br />

t � 1,<br />

2,<br />

�T<br />

, where it is assumed that the successor node<br />

<strong>of</strong> n V isV n�1<br />

( virtual node), Q � { Vn}<br />

.<br />

Each node in priority queue Q is processed in order,<br />

and the trace <strong>of</strong> the label is shown in table 1. It is noted<br />

that the label for each node is denoted as a triple<br />

{ Sub , TS,<br />

TU}<br />

, where Sub represents the sub index <strong>of</strong><br />

the successor <strong>of</strong> the labeled node, TS is the travel time<br />

series from the labeled node to the destination node, and<br />

TU is the total utility from the labeled node to the<br />

destination node. For each travel time series, if the travel<br />

time exceeds the time budget at any time, it is denoted as<br />

“–”.<br />

According to the label at the source node V , the 1<br />

maximal total utility is U ( V1<br />

) =17 and the best start time is<br />

t =3. best<br />

Backward the route based on the node label, the<br />

optimal route is obtained in the following:<br />

P( V1,<br />

V6<br />

) � { V1(<br />

3),<br />

V2(<br />

4),<br />

V3(<br />

6),<br />

V5(<br />

8),<br />

V4(<br />

10),<br />

V6<br />

( 13)}<br />

.<br />

From the above implementation <strong>of</strong> the algorithm, it is<br />

clear that the presented label correcting algorithm is<br />

effective to decide on optimal start time, and provide a<br />

best trip to improve the tourist satisfaction.<br />

V. CONCLUSION<br />

A variety <strong>of</strong> sightseeing and exhibition activities<br />

develop rapidly in China, such as urban tourism, business<br />

exhibitions, theme parks etc. And they have played an<br />

important role in promoting the economic growth. The<br />

tourist trip design problem is not only the vital content <strong>of</strong><br />

their trip plans, but also the key to provide high-quality<br />

service for tourists. With the development <strong>of</strong> the mobile<br />

communication technology and the popularization <strong>of</strong> cell<br />

phone, PDA, etc., the mobile tourist guides turn into<br />

possible. They are able to provide the tourists with the<br />

real-time and personalized services based on context and<br />

location. The previous researches ignored the time-<br />

dependent characteristics in exhibition networks. The<br />

traffic network in tourism is one <strong>of</strong> the complex systems,<br />

which has great uncertainties. The tourist travel time in<br />

the exhibition network may change because <strong>of</strong> many<br />

things such as crowed places, temporary shows,<br />

promotions, and so on. Therefore, by introducing a timeaggregated<br />

graph, this paper establishes a time-dependent<br />

tourist trip design model, and proposes a label correcting<br />

algorithm. The time complexity is also analyzed. Then<br />

the efficiency and feasibility <strong>of</strong> the algorithm are<br />

demonstrated by a numerical example.<br />

Further studies will focus on multi-trips design<br />

problem during several days, and provide the tourists<br />

© 2012 ACADEMY PUBLISHER<br />

more satisfied and high-quality services, simultaneously<br />

considering more realistic factors such as the location<br />

open time and capacity constraints.<br />

ACKNOWLEDGMENT<br />

The authors wish to thank the reviewers for their<br />

valuable comments. This work was supported in part by<br />

the National Natural Science Foundation <strong>of</strong> China (Grant<br />

No.71171178), Humanities and Social Sciences<br />

Foundation <strong>of</strong> Ministry <strong>of</strong> Education <strong>of</strong> China (Grant No.<br />

12YJC630091), Zhejiang Provincial Natural Science<br />

Foundation <strong>of</strong> China (Grant No. LQ12G02007), and<br />

Zhejiang Provincial Commonweal Technology Applied<br />

Research Projects <strong>of</strong> China (Grant No.2011C23076).<br />

REFERENCES<br />

[1] P. Vansteenwegen, D. Van Oudheusden, “The mobile<br />

tourist guide: an OR opportunity,” OR Insights, vol.20, no.<br />

3, pp.21–27, 2007.<br />

[2] G. Laporte, S. Martello, “The selective traveling salesman<br />

problem,” Discrete Applied Mathematics, vol.26, pp.193–<br />

207, 1990.<br />

[3] J. Pekny, D. Miller, “An exact parallel algorithm for the<br />

resource constrained traveling salesman problem with<br />

application to scheduling with an aggregate deadline,” In:<br />

Proceedings <strong>of</strong> the 1990 ACM annual conference on<br />

cooperation,1990.<br />

[4] D. Feillet, P. Dejax, M. Gendreau, “Traveling salesman<br />

problems with pr<strong>of</strong>its,” Transportation Science, vol.39,<br />

pp.188–205, 2005.<br />

[5] S. Martello, and P. Toth, “Knapsack problems-algorithm<br />

and computer implementations,” John Wiley & Sons. New<br />

York, NY, USA, 1990.<br />

[6] S. Butt, T.A. Cavalier, “heuristic for the multiple tour<br />

maximum collection problem,” Computers & Operations<br />

Research, vol.21, pp.101–11, 1994.<br />

[7] E. Arkin, J. Mitchell, G. Narasimhan, “Resourceconstrained<br />

geometric network optimization,” In:<br />

Proceedings <strong>of</strong> the 14th ACM symposium on<br />

computational geometry, pp.307–316, 1998.<br />

[8] G. Righini, M. Salani, “Decrement state space relaxation<br />

strategies and initialization heuristics for solving the<br />

orienteering problem with time windows with dynamic<br />

programming,” Computers & Operations Research, vol.4,<br />

pp.1191–203, 2009.<br />

[9] P. Vansteenwegen, W. Souffriau, G. Vanden Berghe, D.<br />

Van Oudheusden, “Metaheuristics for tourist trip<br />

planning,” Metaheuristics in the Service Industry. In:<br />

Lecture notes in economics and mathematical systems, vol.<br />

624. Berlin: Springer; to appear (ISBN: 978-3-642-00938-<br />

9), 2009.<br />

[10] P. Vansteenwegen, W. Souffriau, G. Vanden Berghe, D.<br />

Van Oudheusden, “A guided local search metaheuristic for<br />

the team orienteering problem,” European <strong>Journal</strong> <strong>of</strong><br />

Operational Research, vol.196, no.1, pp.118–27, 2009.<br />

[11] L. Ke, C. Archetti, Z. Feng, “Ants can solve the team<br />

orienteering problem,” Computers & Industrial<br />

Engineering, vol.54, pp.648–65, 2008.<br />

[12] J. Li, “Research on team orienteering problem with<br />

dynamic travel times,” <strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware, vol.7, no.2, pp.<br />

249-255, 2012.<br />

[13] F.Q. Zhao. “An improved PSO algorithm with decline<br />

disturbance index,” <strong>Journal</strong> <strong>of</strong> Computers, vol.6, no.4,<br />

pp.691-697, 2011.


JOURNAL OF SOFTWARE, VOL. 7, NO. 12, DECEMBER 2012 2905<br />

[14] X.Y. Liu, H.F. Lin, C. Zhang. “An improved HITS<br />

algorithm based on page-query similarity and page<br />

popularity,” <strong>Journal</strong> <strong>of</strong> Computers, vol.7, no.1, pp.130-134,<br />

2012.<br />

[15] D. Abowd, G. Atkeson, J. Hong, S. Long, R. Kooper, and<br />

M. Pinkerton, “Cyberguide: a mobile context-aware tour<br />

guide,” ACM Wireless Networks, vol.3, pp.421–433, 1997.<br />

[16] G. O’Hare, M. O’Grady, “Gulliver’s Genie, a multi-agent<br />

system for ubiquitous and intelligent content delivery,”<br />

Computer Communications, vol.26,pp.1177–1187, 2003.<br />

[17] N. Davies, K. Cheverst, K. Mitchell, A. Efrat, “Using and<br />

determining location in a context sensitive tour guide”,<br />

IEEE Computer, vol.34, no.8, pp.35–41, 2001.<br />

[18] B. Schmidt-Belz, H. Laamanen, S. Poslad, A. Zipf,<br />

“Location-based mobile tourist services– first user<br />

experiences,” In: Enter 2003, Helsinki, Finland.<br />

[19] R. Kramer, M. Modsching, and K. ten Hagen, “A city<br />

guide agent creating and adapting individual sightseeing<br />

tours based on field trial results,” International <strong>Journal</strong> <strong>of</strong><br />

Computational Intelligence Research, vol.2, no.2, pp.191–<br />

206, 2006.<br />

[20] K. ten Hagen, R. Kramer, M. Hermkes, B. Schumann, and<br />

P. Mueller, “Semantic matching and heuristic search for a<br />

dynamic tour guide,” In: Information and Communication<br />

Technologies in Tourism, eds. Frew A. J., M. Hitz, and P.<br />

O’Connor, Vienna: Springer, 2005.<br />

[21] W. Souffriau, P. Vansteenwegen, J. Vertommen, G.<br />

Vanden Berghe, D. Van Oudheusden, “A personalized<br />

tourist trip design algorithm for mobile tourist guides,”<br />

Applied Artificial Intelligence, vol.22, no.10,pp.964-985,<br />

2008.<br />

[22] B. George, and S. Shekhar, “Time aggregated graphs: a<br />

model for spatial-temporal network,” <strong>Journal</strong> on Data<br />

Semantics, vo.11, December 2007.<br />

© 2012 ACADEMY PUBLISHER<br />

[23] B. George, S. Kim, and S. Shekhar “Spatial-temporal<br />

network databases and routing algorithms: a summary <strong>of</strong><br />

results,” Proceedings <strong>of</strong> International Symposium on<br />

Spatial and Temporal Databases (SSTD’07), July 2007.<br />

[24] B. George, S. Shekhar, “Time-aggregated graphs for<br />

modeling spatial-temporal networks-an extended abstract,”<br />

Proceedings <strong>of</strong> Workshops at International Conference on<br />

Conceptual Modeling, 2006.<br />

[25] B.V. Cherkassky, A.V. Goldberg, T. Radzik, “Shortest<br />

paths algorithms: theory and experimental evaluation,”<br />

Mathematical Programming, vol.73, pp.129–174, 1996.<br />

Jin Li was born in Jiangsu province, China. He received the B.S.<br />

and M.S. degrees from Nanchang University, Nanchang,<br />

Jiangxi Province, China in 2004 and 2007 respectively. He<br />

received the Ph.D. degree in management science and<br />

engineering department, School <strong>of</strong> management, at Fudan<br />

University, Shanghai, China in 2010.<br />

From July 2010 until now he works as an assistant pr<strong>of</strong>essor<br />

in the Department <strong>of</strong> Management Science and Engineering,<br />

School <strong>of</strong> Computer Science and Information Engineering,<br />

Zhejiang Gongshang University, Hangzhou, Zhejiang Province,<br />

China. He has authored/coauthored more than 20 scientific<br />

papers. His research interests include logistics and supply chain<br />

management, system modeling and simulation, network<br />

optimization, and emergency management.<br />

Dr. Li is a fellow <strong>of</strong> China Society <strong>of</strong> Logistics (CSL),<br />

Chinese Computer Federation (CCF), and Chinese Association<br />

for System Simulation(CASS).


Aims and Scope.<br />

Call for Papers and Special Issues<br />

<strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware (JSW, ISSN 1796-217X) is a scholarly peer-reviewed international scientific journal focusing on theories, methods, and<br />

applications in s<strong>of</strong>tware. It provide a high pr<strong>of</strong>ile, leading edge forum for academic researchers, industrial pr<strong>of</strong>essionals, engineers, consultants,<br />

managers, educators and policy makers working in the field to contribute and disseminate innovative new work on s<strong>of</strong>tware.<br />

We are interested in well-defined theoretical results and empirical studies that have potential impact on the construction, analysis, or management<br />

<strong>of</strong> s<strong>of</strong>tware. The scope <strong>of</strong> this <strong>Journal</strong> ranges from the mechanisms through the development <strong>of</strong> principles to the application <strong>of</strong> those principles to<br />

specific environments. JSW invites original, previously unpublished, research, survey and tutorial papers, plus case studies and short research notes,<br />

on both applied and theoretical aspects <strong>of</strong> s<strong>of</strong>tware. Topics <strong>of</strong> interest include, but are not restricted to:<br />

• S<strong>of</strong>tware Requirements Engineering, Architectures and Design, Development and Maintenance, Project Management,<br />

• S<strong>of</strong>tware Testing, Diagnosis, and Validation, S<strong>of</strong>tware Analysis, Assessment, and Evaluation, Theory and Formal Methods<br />

• Design and Analysis <strong>of</strong> Algorithms, Human-Computer Interaction, S<strong>of</strong>tware Processes and Workflows<br />

• Reverse Engineering and S<strong>of</strong>tware Maintenance, Aspect-Orientation and Feature Interaction, Object-Oriented Technology<br />

• Component-Based S<strong>of</strong>tware Engineering, Computer-Supported Cooperative Work, Agent-Based S<strong>of</strong>tware Systems, Middleware Techniques<br />

• AI and Knowledge Based S<strong>of</strong>tware Engineering, Empirical S<strong>of</strong>tware Engineering and Metrics<br />

• S<strong>of</strong>tware Security, Safety and Reliability, Distribution and Parallelism, Databases<br />

• S<strong>of</strong>tware Economics, Policy and Ethics, Tools and Development Environments, Programming Languages and S<strong>of</strong>tware Engineering<br />

• Mobile and Ubiquitous Computing, Embedded and Real-time S<strong>of</strong>tware, Database, Data Mining, and Data Warehousing<br />

• Internet and Information Systems Development, Web-Based Tools, Systems, and Environments, State-Of-The-Art Survey<br />

Special Issue Guidelines<br />

Special issues feature specifically aimed and targeted topics <strong>of</strong> interest contributed by authors responding to a particular Call for Papers or by<br />

invitation, edited by guest editor(s). We encourage you to submit proposals for creating special issues in areas that are <strong>of</strong> interest to the <strong>Journal</strong>.<br />

Preference will be given to proposals that cover some unique aspect <strong>of</strong> the technology and ones that include subjects that are timely and useful to the<br />

readers <strong>of</strong> the <strong>Journal</strong>. A Special Issue is typically made <strong>of</strong> 10 to 15 papers, with each paper 8 to 12 pages <strong>of</strong> length.<br />

The following information should be included as part <strong>of</strong> the proposal:<br />

• Proposed title for the Special Issue<br />

• Description <strong>of</strong> the topic area to be focused upon and justification<br />

• Review process for the selection and rejection <strong>of</strong> papers.<br />

• Name, contact, position, affiliation, and biography <strong>of</strong> the Guest Editor(s)<br />

• List <strong>of</strong> potential reviewers<br />

• Potential authors to the issue<br />

• Tentative time-table for the call for papers and reviews<br />

If a proposal is accepted, the guest editor will be responsible for:<br />

• Preparing the “Call for Papers” to be included on the <strong>Journal</strong>’s Web site.<br />

• Distribution <strong>of</strong> the Call for Papers broadly to various mailing lists and sites.<br />

• Getting submissions, arranging review process, making decisions, and carrying out all correspondence with the authors. Authors should be<br />

informed the Instructions for Authors.<br />

• Providing us the completed and approved final versions <strong>of</strong> the papers formatted in the <strong>Journal</strong>’s style, together with all authors’ contact<br />

information.<br />

• Writing a one- or two-page introductory editorial to be published in the Special Issue.<br />

Special Issue for a Conference/Workshop<br />

A special issue for a Conference/Workshop is usually released in association with the committee members <strong>of</strong> the Conference/Workshop like<br />

general chairs and/or program chairs who are appointed as the Guest Editors <strong>of</strong> the Special Issue. Special Issue for a Conference/Workshop is<br />

typically made <strong>of</strong> 10 to 15 papers, with each paper 8 to 12 pages <strong>of</strong> length.<br />

Guest Editors are involved in the following steps in guest-editing a Special Issue based on a Conference/Workshop:<br />

• Selecting a Title for the Special Issue, e.g. “Special Issue: Selected Best Papers <strong>of</strong> XYZ Conference”.<br />

• Sending us a formal “Letter <strong>of</strong> Intent” for the Special Issue.<br />

• Creating a “Call for Papers” for the Special Issue, posting it on the conference web site, and publicizing it to the conference attendees.<br />

Information about the <strong>Journal</strong> and <strong>Academy</strong> <strong>Publisher</strong> can be included in the Call for Papers.<br />

• Establishing criteria for paper selection/rejections. The papers can be nominated based on multiple criteria, e.g. rank in review process plus<br />

the evaluation from the Session Chairs and the feedback from the Conference attendees.<br />

• Selecting and inviting submissions, arranging review process, making decisions, and carrying out all correspondence with the authors.<br />

Authors should be informed the Author Instructions. Usually, the Proceedings manuscripts should be expanded and enhanced.<br />

• Providing us the completed and approved final versions <strong>of</strong> the papers formatted in the <strong>Journal</strong>’s style, together with all authors’ contact<br />

information.<br />

• Writing a one- or two-page introductory editorial to be published in the Special Issue.<br />

More information is available on the web site at http://www.academypublisher.com/jsw/.


(Contents Continued from Back Cover)<br />

Reputation Based Academic Evaluation in a Research Platform<br />

Kun Yu and Jianhong Chen<br />

Analyzing ChIP-seq Data based on Multiple Knowledge Sources for Histone Modification<br />

Dafeng Chen, Deyu Zhou, and Yuliang Zhuang<br />

A New Semi-supervised Method for Lip Contour Detection<br />

Kunlun Li, Miao Wang, Ming Liu, Ruining Xin, and Pan Wang<br />

Trusted S<strong>of</strong>tware Constitution Model Based on Trust Engine<br />

Junfeng Tian, Ye Zhu, and Jianlei Feng<br />

Fuzzy Evaluation on Supply Chains’ Overall Performance Based on AHM and M(1,2,3)<br />

Jing Yang and Hua Jiang<br />

A Novel Combine Forecasting Method for Predicting News Update Time<br />

Mengmeng Wang, Xianglin Zuo, Wanli Zuo, and Ying Wang<br />

Information-based Study <strong>of</strong> E-Commerce Website Design Course<br />

Xinwei Zheng<br />

An Empirical Study on the Correlation and Coordination Degree <strong>of</strong> Linkage Development between<br />

Manufacturing and Logistics<br />

Rui Zhang and Chunhua Ju<br />

Tourism Crisis Management System Based on Ecological Mechanism<br />

Xiaohua Hu, Xuan Zhou, Weihui Dai, Zhaozong Zhan, and Xiaoyi Liu<br />

Image Fusion Method based on Non-Subsampled Contourlet Transform<br />

Hui Liu<br />

Research on Intrusion Detection Model <strong>of</strong> Heterogeneous Attributes Clustering<br />

Linquan Xie, Ying Wang, Fei Yu, Chen Xu, and Guangxue Yue<br />

Vector-Distance and Neighborhood Development for High Dimensional Data<br />

Ping Ling, Xiangsheng Rong, Xiangyang You, and Ming Xu<br />

Evaluation and Comparison on the Techniques <strong>of</strong> Vertex Chain Codes<br />

Linghua Li, Yining Liu, Yongkui Liu, and Borut Zalik<br />

Research on Web Query Translation based on Ontology<br />

Xin Wang and Ying Wang<br />

Data Modeling <strong>of</strong> Knowledge Rules: An Oracle Prototype<br />

Rajeev Kaula<br />

OPC (OLE for Process Control) based Calibration System for Embedded Controller<br />

Ming Cen, Qian Liu, and Yi Yan<br />

WS-mcv: An Efficient Model Driven Methodology for Web Services Composition<br />

Faycal Bachtarzi, Allaoua Chaoui, and Elhillali Kerkouche<br />

Object Search for the Internet <strong>of</strong> Things Using Tag-based Location Signatures<br />

Jung-sing Jwo, Ting-chia Chen, and Mengru Tu<br />

Fractional Order Ship Tracking Correlation Algorithm<br />

Mingliang Hou and Yuran Liu<br />

A Label Correcting Algorithm for Dynamic Tourist Trip Planning<br />

Jin Li and Peihua Fu<br />

2749<br />

2755<br />

2763<br />

2771<br />

2779<br />

2787<br />

2794<br />

2800<br />

2808<br />

2816<br />

2823<br />

2832<br />

2840<br />

2849<br />

2857<br />

2866<br />

2874<br />

2886<br />

2894<br />

2899

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!