Journal of Software - Academy Publisher
Journal of Software - Academy Publisher
Journal of Software - Academy Publisher
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  Credit 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  Customer 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