Journal of Software - Academy Publisher
Journal of Software - Academy Publisher
Journal of Software - Academy Publisher
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware<br />
ISSN 1796-217X<br />
Volume 6, Number 5, May 2011<br />
Contents<br />
REGULAR PAPERS<br />
User Requirements Notation: The First Ten Years, The Next Ten Years (Invited Paper)<br />
Daniel Amyot and Gunter Mussbacher<br />
Stochastic Process Algebra with Value-Passing and Weak Time Restrictions<br />
Guang Zheng, Jinzhao Wu, and Aiping Lu<br />
Study on Visual Knowledge Structure Reasoning<br />
Huimin Lu, Liang Hu, and Gang Liu<br />
An Automated X-corner Detection Algorithm (AXDA)<br />
Fuqing Zhao, Chunmiao Wei, Jizhe Wang, and Jianxin Tang<br />
Research on Dynamic Rescheduling Program Base On Improved Contract Net Protocol<br />
Fuqing Zhao, Jizhe Wang, and Jianxin Tang<br />
Multilevel Network Security Monitoring and Evaluation Model<br />
Jin Yang, Tang Liu, Lingxi Peng, XueJun Li, and Gang Luo<br />
Research on Family and Shops Real-time Status <strong>of</strong> 3G Wireless Remote Monitoring System<br />
Qian Zhao<br />
Sliding Mode Control <strong>of</strong> Surface-Mount Permanent-Magnet Synchronous Motor Based on Error<br />
Model with Unknown Load<br />
Bao-jun Wang and Jia-jun Wang<br />
Information Fusion Based Fault Location Technology for Distribution Network<br />
Qingle Pang<br />
Study on Remote Aided Diagnosis System <strong>of</strong> Mental Health Base on Export Knowledge Base<br />
Xiaoyong Wang and Yuefeng Fang<br />
Application <strong>of</strong> Fault Phenomenon Vector Distance Discriminance in Woodworking Machinery<br />
System Fault Diagnosis<br />
Yun-Jie Xu, Shu-Dong Xiu, Quan-Sheng Men, and Liang Fang<br />
A Novel Gray Image Watermarking Scheme<br />
Yongqiang Chen, Yanqing Zhang, Hanping Hu, and Hefei Ling<br />
An Efficient Method for Improving Query Efficiency in Data Warehouse<br />
Zhiwei Ni, Junfeng Guo, Li Wang, and Yazhuo Gao<br />
Co-simulation Study <strong>of</strong> Vehicle ESP System Based on ADAMS and MATLAB<br />
Shengqin Li and Le He<br />
747<br />
769<br />
783<br />
791<br />
798<br />
806<br />
814<br />
819<br />
826<br />
834<br />
842<br />
849<br />
857<br />
866
An Improved Fuzzy C-means Clustering Algorithm based on PSO<br />
Qiang Niu and Xinjian Huang<br />
Classification <strong>of</strong> Bio-potential Surface Electrode based on FKCM and SVM<br />
Hao Liu, Xiaoming Tao, Pengjun Xu, and Guanxiong Qiu<br />
Consonant Recognition <strong>of</strong> Dysarthria Based on Wavelet Transform and Fuzzy Support Vector<br />
Machines<br />
Zhuo-ming Chen, Wei-xin Ling, Jian-hui Zhao, and Tao-tao Yao<br />
ELECTRE I Decision Model <strong>of</strong> Reliability Design Scheme for Computer Numerical Control Machine<br />
Jihong Pang, Genbao Zhang, and Guohua Chen<br />
Fractional Modeling Method Research on Education Evaluation<br />
Chunna Zhao, Yu Zhao, Liming Luo, and Yingshun Li<br />
Immune Genetic Evolutionary Algorithm <strong>of</strong> Wavelet Neural Network to Predict the Performance in<br />
the Centrifugal Compressor and Research<br />
Shengzhong Huang<br />
Development <strong>of</strong> Optimization Design S<strong>of</strong>tware for Bevel Gear Based on Integer Serial Number<br />
Encoding Genetic Algorithm<br />
Xiaoqin Zhang, Yu Rong, Jingjing Yu, Liling Zhang, and Lina Cui<br />
Study on Operating Mechanisms and Dynamics Behavior <strong>of</strong> Agile Supply Chain<br />
Guohua Chen, Genbao Zhang, and Jihong Pang<br />
Unified Service Platform for Accessing Grid Resources<br />
Shaochong Feng, Yuanchang Zhu, and Yanqiang Di<br />
Research on an Improved Terrain Aided Positioning Model<br />
Shidan Li, Liguo Sun, Xin Li, and Desheng Wang<br />
Research on Integrated Information Platform <strong>of</strong> Agricultural Supply Chain Management Based on<br />
Internet <strong>of</strong> Things<br />
Yan-e Duan<br />
873<br />
880<br />
887<br />
894<br />
901<br />
908<br />
915<br />
923<br />
930<br />
937<br />
944
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 747<br />
User Requirements Notation:<br />
The First Ten Years, The Next Ten Years<br />
Abstract—The User Requirements Notation (URN),<br />
standardized by the International Telecommunication<br />
Union in 2008, is used to model and analyze requirements<br />
with goals and scenarios. This paper describes the first ten<br />
years <strong>of</strong> development <strong>of</strong> URN, and discusses ongoing efforts<br />
targeting the next ten years. We did a study inspired by the<br />
systematic literature review approach, querying five major<br />
search engines and using the existing URN Virtual Library.<br />
Based on the 281 scientific publications related to URN we<br />
collected and analyzed, we observe a shift from a more<br />
conventional use <strong>of</strong> URN for telecommunications and<br />
reactive systems to business process management and<br />
aspect-oriented modeling, with relevant extensions to the<br />
language being proposed. URN also benefits from a global<br />
and active research community, although industrial<br />
contributions are still sparse. URN is now a leading<br />
language for goal-driven and scenario-oriented modeling<br />
with a promising future for many application domains.<br />
Index Terms—Goals, Goal-oriented Requirement Language<br />
(GRL), modeling, review, scenarios, tools, Use Case Maps<br />
(UCM), User Requirements Notation (URN)<br />
I. INTRODUCTION<br />
The User Requirements Notation (URN) is a modeling<br />
language that aims to support the elicitation, analysis,<br />
specification, and validation <strong>of</strong> requirements. URN is the<br />
first international standard to address explicitly, in a<br />
graphical way and in one unified language, goals and<br />
scenarios, and the links between them [106]. URN<br />
models can be used to specify and analyze various types<br />
<strong>of</strong> reactive systems as well as telecommunications<br />
standards and business processes. URN allows s<strong>of</strong>tware<br />
and requirements engineers as well as business analysts<br />
to discover and specify requirements for a proposed<br />
system or process (or evolving ones), and analyze such<br />
requirements for correctness and completeness.<br />
The kind <strong>of</strong> modeling supported by URN is different<br />
from the detailed specification <strong>of</strong> “how” functionalities<br />
are to be supported, as described with languages such as<br />
UML [146]. Here the modeler is primarily concerned<br />
with exposing “why” certain choices for behavior and/or<br />
structure were introduced, combined with an abstract<br />
view <strong>of</strong> “what” capabilities and architecture are required.<br />
The modeler is not yet interested in the operational details<br />
<strong>of</strong> internal component behavior or component<br />
interactions. Omitting these kinds <strong>of</strong> details during early<br />
development allows working at a higher level <strong>of</strong><br />
abstraction when modeling a current or future s<strong>of</strong>tware<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.747-768<br />
(Invited Paper)<br />
Daniel Amyot and Gunter Mussbacher<br />
University <strong>of</strong> Ottawa, Canada<br />
Email: {damyot, gunterm}@site.uottawa.ca<br />
system, business process, or standard, and its embedding<br />
environment. Modeling and answering “why” questions<br />
leads us to consider the opportunities stakeholders seek<br />
out and vulnerabilities they try to avoid within their<br />
environment, whereas modeling and answering “what”<br />
questions helps identify capabilities, services, and<br />
architectures required to satisfy stakeholder goals.<br />
Based on a systematic literature review, this paper<br />
provides a historical perspective on the development <strong>of</strong><br />
URN together with trends related to future constructs and<br />
application domains for this notation. Such study is<br />
important at this point not only to appreciate the richness<br />
<strong>of</strong> URN and the substantial body <strong>of</strong> work that already<br />
exists, but also to step back, understand current trends,<br />
and anticipate future needs for evolving the notation in<br />
the right direction.<br />
Section II introduces URN’s basic concepts and<br />
notational elements, together with its standard analysis<br />
techniques. As it is important to understand why URN<br />
was created, a historical description <strong>of</strong> the origins <strong>of</strong> the<br />
notation is presented in Section III. Then, Section IV<br />
summarizes the main results <strong>of</strong> our literature survey,<br />
especially with regards to the sources <strong>of</strong> contributions to<br />
URN. In Section V, some <strong>of</strong> the main research<br />
contributions that have shaped URN in the past decade<br />
are categorized and reviewed, whereas section VI<br />
identifies current and future development activities and<br />
research areas related to URN for the next decade.<br />
Finally, section VII provides our conclusions.<br />
II. OVERVIEW OF URN<br />
The User Requirements Notation standard combines<br />
two sub-languages [106]: the Goal-oriented Requirement<br />
Language for modeling actors and their intentions, and<br />
the Use Case Maps notation for describing scenarios and<br />
architectures. In this section, we give a brief overview <strong>of</strong><br />
each <strong>of</strong> these sub-languages, supported by a simple URN<br />
model example that targets the evaluation <strong>of</strong> an<br />
architectural decision about where to put the data and the<br />
logic <strong>of</strong> the authorization service <strong>of</strong> a wireless system.<br />
A. Goal-oriented Requirement Language (GRL)<br />
GRL is a visual modeling notation for intentions,<br />
business goals, and non-functional requirements (NFR) <strong>of</strong><br />
many stakeholders, for alternatives that have to be<br />
considered, for decisions that were made, and for<br />
rationales that helped make these decisions.
748 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
A GRL goal graph is a connected graph <strong>of</strong> intentional<br />
elements that optionally reside within an actor. An actor<br />
( , e.g., Service Provider, Figure 1.a) represents a<br />
stakeholder <strong>of</strong> a system, or the system itself. A goal graph<br />
shows the non-functional requirements and business<br />
goals <strong>of</strong> interest to the system and its stakeholders, as<br />
well as the alternatives for achieving these high-level<br />
elements. Actors are holders <strong>of</strong> intentions; they are the<br />
active entities in the system or its environment who want<br />
goals to be achieved, tasks to be performed, resources to<br />
be available, and s<strong>of</strong>tgoals to be satisfied. S<strong>of</strong>tgoals ( ,<br />
e.g., Low Cost) differentiate themselves from goals ( ,<br />
e.g., Determine Data Location) in that there is no clear,<br />
objective measure <strong>of</strong> satisfaction for a s<strong>of</strong>tgoal whereas a<br />
goal is quantifiable, <strong>of</strong>ten in a binary way. S<strong>of</strong>tgoals are<br />
<strong>of</strong>ten more related to NFR, whereas goals are more<br />
related to functional requirements. Tasks ( , e.g., Install<br />
Service Node) represent solutions to (or<br />
operationalizations <strong>of</strong>) goals or s<strong>of</strong>tgoals. In order to be<br />
achieved or completed, s<strong>of</strong>tgoals, goals, and tasks may<br />
require resources (�, e.g., Service Node) to be available.<br />
Various kinds <strong>of</strong> links connect the elements in a goal<br />
graph. Decomposition links allow an element to be<br />
decomposed into sub-elements ( , e.g., High<br />
Performance is decomposed into Maximum Hardware<br />
Utilisation and High Throughput). AND, IOR, as well as<br />
XOR decompositions are supported. Contribution links<br />
indicate desired impacts <strong>of</strong> one element on another<br />
element (→, e.g., Minimum Changes to Infrastructure<br />
contributes to Low Cost). A contribution link has a<br />
qualitative contribution type (Figure 1.b) or a quantitative<br />
contribution (an integer value between -100 and 100).<br />
Correlation links ( ) are similar in nature, but describe<br />
side effects rather than desired impacts. Dependency<br />
links model relationships between actors ( , e.g.,<br />
System depends on Vendor for Service Node).<br />
GRL supports reasoning about goals and requirements,<br />
especially NFR and quality attributes, as it shows the<br />
impact <strong>of</strong> <strong>of</strong>ten conflicting goals and various global<br />
alternative solutions proposed to achieve the goals. A<br />
GRL strategy describes a particular configuration <strong>of</strong><br />
alternatives in the GRL model by assigning an initial<br />
qualitative satisfaction level (Figure 1.c) or a quantitative<br />
one (an integer value between -100 and 100) to some <strong>of</strong><br />
the intentional elements in the model (indicated by a star<br />
(*) and a dashed outline), <strong>of</strong>ten leaves in the GRL graph.<br />
An evaluation mechanism propagates these low-level<br />
decisions regarding alternatives to satisfaction ratings <strong>of</strong><br />
high-level stakeholder goals and NFR. Strategies can<br />
therefore be compared with each other to help reach the<br />
most appropriate trade-<strong>of</strong>fs among <strong>of</strong>ten conflicting goals<br />
<strong>of</strong> stakeholders. A good strategy <strong>of</strong>fers rationale and<br />
documentation for decisions leading to requirements, thus<br />
providing better context for systems and s<strong>of</strong>tware<br />
engineers while avoiding unnecessary re-evaluations <strong>of</strong><br />
worse alternative strategies. Color coding <strong>of</strong> the<br />
intentional elements also reflect their satisfaction level<br />
(the greener, the more satisfied).<br />
GRL takes into account that not all high-level goals<br />
and NFR are equally important to a stakeholder.<br />
© 2011 ACADEMY PUBLISHER<br />
Therefore, GRL supports the definition <strong>of</strong> an importance<br />
attribute for intentional elements inside actors (again<br />
quantitative or qualitative, and shown between<br />
parentheses, e.g., 50 for Low Cost). This attribute is also<br />
taken into account when evaluating strategies for the goal<br />
model, resulting in satisfaction levels measured at the<br />
actor level (e.g., 32 for the Service Provider).<br />
The current URN standard does not enforce a specific<br />
evaluation mechanism as GRL can be used in different<br />
ways by different modelers, e.g., for qualitative<br />
evaluations or quantitative ones, but provides three nonnormative<br />
examples <strong>of</strong> evaluation algorithms. A hybrid<br />
algorithm combining qualitative contributions and<br />
quantitative satisfaction levels is used for one strategy in<br />
Figure 1.a. A different strategy would lead to different<br />
results, enabling comparisons and documenting decisions.<br />
B. Use Case Maps (UCM)<br />
The UCM visual scenario notation focuses on the<br />
causal flow <strong>of</strong> behavior optionally superimposed on a<br />
structure <strong>of</strong> components. UCM depict the causal<br />
interaction <strong>of</strong> architectural entities while abstracting from<br />
message and data details.<br />
The basic elements <strong>of</strong> the UCM notation are shown<br />
in Figure 2. A map contains any number <strong>of</strong> paths and<br />
components. Paths express causal sequences and may<br />
contain several types <strong>of</strong> path nodes. Paths start at start<br />
points (�, e.g., StartConnection) and end at end points (▌,<br />
e.g., Done), which capture triggering and resulting<br />
conditions respectively. Responsibilities (�, e.g.,<br />
LogReject) describe required actions or steps to fulfill a<br />
scenario. OR-forks ( ), possibly including guarding<br />
conditions such as [NotOk], and OR-joins ( ) are used<br />
to show alternatives, while AND-forks ( ) and ANDjoins<br />
( ) depict concurrency. Loops can be modeled<br />
implicitly with OR-joins and OR-forks. As the UCM<br />
notation does not impose any nesting constraints, joins<br />
and forks may be freely combined and a fork does not<br />
need to be followed by a join. Waiting places (�) and<br />
timers ( ) denote locations on the path where the<br />
scenario stops until a condition is satisfied.<br />
UCM models can be decomposed using stubs that<br />
contain sub-maps called plug-in maps (see Figure 2.b and<br />
c). Plug-in maps are reusable units <strong>of</strong> behavior and<br />
structure. Plug-in bindings define the continuation <strong>of</strong> a<br />
path on a plug-in map by connecting in-paths and outpaths<br />
<strong>of</strong> a stub (IN1 and OUT1 in Figure 2) with start and<br />
end points <strong>of</strong> its plug-in maps, respectively. Plug-in<br />
bindings also describe the relationship <strong>of</strong> components on<br />
the parent map with the ones on the plug-in map (e.g., the<br />
parent component <strong>of</strong> the plug-in map in Figure 2.c refers<br />
to a component in the parent map, ControlFunction in this<br />
example). A stub may be static (�), which means that it<br />
can have at most one plug-in map, whereas a dynamic<br />
stub ( , e.g., Authorization) may have many plug-in maps<br />
that can be selected at runtime according to a selection<br />
policy. In Figure 2, the two plug-in maps represent<br />
alternative ways <strong>of</strong> supporting authorization, with<br />
different locations for the data and the logic <strong>of</strong> the service<br />
(i.e., different allocations <strong>of</strong> responsibilities to<br />
components).
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 749<br />
Make Help Some Positive Unknown Some Negative Break Hurt<br />
(b) GRL Contributions Types<br />
(a) GRL graph for a system with two stakeholders<br />
Denied<br />
Weakly<br />
Denied<br />
Figure 1 GRL example: Where should the data and the service be located in the system?<br />
a) Top-level map: Connection request to a mobile switch<br />
b) Plugin 1: Service in mobile switch,<br />
data in external service node<br />
Weakly<br />
Satisfied<br />
Satisfied Conflict Unknown None<br />
(c) GRL Satisfaction Levels<br />
c) Plugin 2: Service and data in<br />
mobile switch<br />
Figure 2 UCM example: Connection scenario (a), with two potential architectural solutions (b and c) for the authorization service.<br />
© 2011 ACADEMY PUBLISHER
750 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Components (�, e.g., MobileSwitch) are used to<br />
specify the structural aspects <strong>of</strong> a system. Map elements<br />
which reside inside a component are said to be bound to<br />
it. Components may contain sub-components and have<br />
various types and characteristics. For example, a<br />
component <strong>of</strong> kind object ( , e.g., LocationDB) does not<br />
have its own thread <strong>of</strong> control whereas a component <strong>of</strong><br />
kind process (�, e.g., ControlFunction) does. A<br />
component <strong>of</strong> kind actor ( , e.g., MobileStation)<br />
represents someone or something interacting with the<br />
system under design.<br />
UCM support the definition <strong>of</strong> scenarios including preand<br />
postconditions. A scenario describes a specific path<br />
through the UCM model where only one alternative at<br />
any choice point is taken. The UCM notation supports a<br />
simple but formal data model that can be used to<br />
formalize the conditions at selection points (e.g., dynamic<br />
stubs and OR-forks). Responsibilities can also include<br />
code that modifies the values <strong>of</strong> the variables used in this<br />
data model. A scenario definition can hence be expressed<br />
with initial values for these variables, combined with a<br />
sequence <strong>of</strong> start points being triggered.<br />
Given the definition <strong>of</strong> a scenario or combination <strong>of</strong><br />
scenarios, a path traversal mechanism can highlight the<br />
scenario path being simulated. Figure 2 shows in red the<br />
paths traversed for the scenario where the service logic<br />
remains in the mobile switch but the service data is<br />
located in a new external service node (which<br />
corresponds to the strategy being evaluated for the GRL<br />
model in Figure 1.a), and where the authorization is OK.<br />
The traversal mechanism essentially provides the<br />
operational semantics <strong>of</strong> the UCM language. It also turns<br />
the scenario definitions into a test suite for the UCM<br />
model, which is especially useful for regression testing as<br />
the model evolves.<br />
Different elements in a UCM model can also be<br />
annotated with specific performance information,<br />
enabling early performance analysis at the requirements<br />
level. For example, resources can be defined and<br />
components assigned to them, selection points can<br />
include probabilities, responsibilities can specify<br />
demands on resources, and start points can include<br />
workload definitions.<br />
The UCM notation enables a seamless transition from<br />
the informal to the formal by bridging the modeling gap<br />
between goal models and natural language requirements<br />
(e.g., use cases) and design artefacts, in an explicit and<br />
visual way.<br />
C. Integration <strong>of</strong> Goals and Scenarios in URN<br />
Modeling goals and scenarios is complementary and<br />
may aid in identifying additional or spurious goals and<br />
scenarios, thus contributing to the completeness and<br />
accuracy <strong>of</strong> requirements. In the language, URN links<br />
( ) can connect any two URN model elements,<br />
establishing traceability links that further tighten the<br />
relationship between GRL and UCM models while<br />
enabling completeness and consistency analysis.<br />
The URN language also supports the concept <strong>of</strong><br />
metadata in the form <strong>of</strong> name/value pairs that can be<br />
associated with any URN model element. This allows for<br />
© 2011 ACADEMY PUBLISHER<br />
domain-specific extensions to be added to URN and<br />
exploited by specialized tool support.<br />
III. PRE-URN HISTORY (1990-1999)<br />
The roots <strong>of</strong> URN go back to the early 90’s. Use Case<br />
Maps originate from Carleton University, where Buhr<br />
used them as a high-level notation in their project Design<br />
<strong>of</strong> Object-Oriented Real-time Systems (DOORS ―<br />
http://www.sce.carleton.ca/rads/doors.html). Vigder’s<br />
early work on design slices [186] used a scenario-like<br />
notation with a connection to the LOTOS formal<br />
specification language [99]. Buhr then coined the term<br />
timethread as a name for this graphical notation, which<br />
was used in a few papers and theses until the release, in<br />
1995, <strong>of</strong> a seminal book co-authored with Casselman<br />
where the term Use Case Maps emerged [52]. This book<br />
focused on the application <strong>of</strong> UCM to object-oriented<br />
systems, with an emphasis on role modeling concepts<br />
developed in Casselman’s thesis [56]. Another important<br />
milestone for the UCM notation was the publication <strong>of</strong> a<br />
revised and more powerful version <strong>of</strong> the language in a<br />
major journal [49]. In those years, typical applications<br />
that were explored with this notation included design<br />
activities [13][40] (including architecture [46][49] and<br />
patterns [47][50]), performance analysis [170], and the<br />
modeling <strong>of</strong> telecommunication [8][10], agentoriented<br />
[51][68], and e-commerce [79] systems. Miga<br />
provided tool support for the creation and analysis <strong>of</strong><br />
UCM models [129], based on an earlier prototype from<br />
Carrière (UCMEdit, discussed in [113]). This multiplatform<br />
UCM Navigator tool (UCMNAV) was used in<br />
academia and industry mainly between 1998 and<br />
2005 [181].<br />
Work on goal modeling for requirements, agents, and<br />
organizations that was being done at that time at the<br />
University <strong>of</strong> Toronto guided the development <strong>of</strong> the<br />
GRL language. The syntax <strong>of</strong> GRL is in fact based on the<br />
i* framework described in Yu’s thesis [197], which was<br />
developed for describing strategic relationships in<br />
organization models. The reasoning mechanisms behind<br />
another goal-oriented notation, namely the Non-<br />
Functional Requirements (NFR) Framework (best<br />
described in the seminal book <strong>of</strong> Chung, Mylopoulos,<br />
Nixon, and Yu [62]), also inspired the evaluation and<br />
propagation mechanisms now found in GRL. Tool<br />
support for modeling and analyzing goal models (in i*,<br />
the NFR Framework, and GRL) was then provided by the<br />
Java-based OME 3, Yu’s Organization Modelling<br />
Environment [198].<br />
The idea <strong>of</strong> creating a new standard notation was first<br />
proposed in 1999 by Visser and Hodges from Nortel, as<br />
they were deeply involved in standardization activities<br />
with the International Telecommunication Union (ITU-T)<br />
and with the Wireless Intelligent Network initiative [96].<br />
Through collaborative research projects with Logrippo<br />
(University <strong>of</strong> Ottawa) and his team [10][21], it was<br />
observed that UCMs would likely be more appropriate<br />
than natural language and Message Sequence Charts<br />
(MSC) [104] for early descriptions <strong>of</strong> wireless<br />
telecommunication features. Monkewich (also from
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 751<br />
Nortel) brought the idea <strong>of</strong> creating a Use Case Maps<br />
standard to the language experts at ITU-T, who then<br />
suggested renaming it to “User Requirements Notation”.<br />
This potential standard captured the attention <strong>of</strong> another<br />
Ottawa-based company, Mitel, where Pinard, Weiss,<br />
Gray, and Mankovski had also used UCM for modeling<br />
telecommunications features. However, they were also<br />
interested in i* and the NFR Framework for goal-oriented<br />
and agent-based modeling. They were collaborating with<br />
the University <strong>of</strong> Toronto on projects that led to the<br />
creation <strong>of</strong> a new goal modeling language by Yu and Liu,<br />
which became the first version <strong>of</strong> GRL [126].<br />
Gray and the Mitel experts expected great benefits in<br />
combining goals with scenarios and regarded this<br />
combination essential for the understanding <strong>of</strong> highly<br />
dynamic and reflective systems, and for feature<br />
personalization. This potential integration led to the<br />
introduction <strong>of</strong> dynamic stubs in the UCM notation in the<br />
mid-90’s. Gray convinced the Nortel experts and other<br />
stakeholders to revise the URN proposal as a Canadian<br />
contribution to ITU-T that would include both GRL and<br />
UCM. This was then accepted as a new work item at<br />
ITU-T in 2000, and Hodges became the first Rapporteur<br />
for the URN question.<br />
IV. SYSTEMATIC LITERATURE REVIEW<br />
A. Methodology<br />
Inspired by the work <strong>of</strong> Kitchenham et al. [43][118],<br />
we did a systematic literature review targeting the<br />
following three questions:<br />
• Who contributed to the development <strong>of</strong> URN?<br />
• What research contributed to the development <strong>of</strong><br />
URN?<br />
• What are the current and future development<br />
activities and research areas related to URN?<br />
In July 2010, we used five major search engines for<br />
publications in computer science and engineering (IEEE<br />
Xplore, ACM Digital Library, Google Scholar,<br />
SpringerLink, and Scopus). Our query was simply "User<br />
Requirements Notation" OR "Use Case Map" OR<br />
"Goal-oriented Requirement Language", which<br />
covered the essential keywords. The URN, GRL, and<br />
UCM acronyms were not included because an early<br />
assessment led us to believe they were polluting the<br />
results without really identifying more valid citations.<br />
Over 700 references were collected in the end, mostly<br />
coming from Google Scholar. These were combined with<br />
the references already present in the URN Virtual<br />
Library [182].<br />
We restricted the results to scientific publications<br />
appearing in journals, conferences, workshops, books,<br />
and theses. Furthermore, we excluded papers that:<br />
• Only cited URN (or GRL/UCM) to acknowledge<br />
its existence or to discuss it in a comparison.<br />
• Simply used URN (or GRL/UCM) to illustrate<br />
some requirements or design (e.g., with a few<br />
diagrams), without discussing the usage <strong>of</strong> the<br />
language itself.<br />
© 2011 ACADEMY PUBLISHER<br />
• Focused on the “other” Use Case Map concept<br />
developed by Constantine and Lockwood [63],<br />
which is a variant <strong>of</strong> UML use case diagrams<br />
used to model the interrelationships among use<br />
cases (different from URN’s Use Case Maps).<br />
We finally included seminal work produced prior to<br />
the use <strong>of</strong> the terms UCM [56][186] and GRL [62][197].<br />
B. Contributors and Contributions<br />
Our selection led to a total <strong>of</strong> 281 scientific<br />
publications related to research on and with URN. More<br />
specifically, we have found 38 journals papers, 183<br />
conference and workshop papers, 15 books and book<br />
chapters, as well as 45 theses (13 Ph.D., 31 Master’s, and<br />
1 B.Sc.) The URN Virtual Library was updated to include<br />
the 31 publications that were missing prior to this<br />
literature review. Figure 3 shows the distribution <strong>of</strong> our<br />
four types <strong>of</strong> publications over the years.<br />
To answer our first question, this data shows that there<br />
were 263 different authors involved (with an average <strong>of</strong><br />
2.7 authors per paper, <strong>of</strong>ten from different locations).<br />
Given the origins <strong>of</strong> URN, it is not surprising to see that<br />
the majority <strong>of</strong> the papers (66%) and theses (80%)<br />
published since 1992 include co-authors from Canada,<br />
especially from the University <strong>of</strong> Ottawa and from<br />
Carleton University (see Table I). Actually, all papers and<br />
theses prior to 1999 came from Canada.<br />
TABLE I.<br />
NUMBER OF CO-AUTHORS PER COUNTRY<br />
Country Papers Theses Total<br />
Canada 162 36 198<br />
U. <strong>of</strong> Ottawa 103 21 124<br />
Carleton U. 64 10 74<br />
Concordia U. 15 4 19<br />
U. <strong>of</strong> Toronto 7 1 8<br />
Other places 19 19<br />
The Netherlands 10 4 14<br />
UK 11 1 12<br />
USA 9 9<br />
Japan 8 8<br />
Hungary 6 6<br />
Norway 4 1 5<br />
Italy 4 4<br />
Australia 4 4<br />
Brazil 4 4<br />
Germany 3 1 4<br />
Argentina 3 1 4<br />
Spain 3 3<br />
China 3 3<br />
Belgium 3 3<br />
Portugal 3 3<br />
Korea 2 2<br />
Viet-Nam 2 2<br />
South Africa 2 2<br />
United Arab Emirates 2 2<br />
Switzerland 1 1 2<br />
Serbia 1 1<br />
Latvia 1 1<br />
Poland 1 1<br />
Venezuela 1 1<br />
Libya 1 1<br />
Thailand 1 1<br />
Sweden 1 1<br />
Chile 1 1
752 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Number <strong>of</strong> publications<br />
40<br />
35<br />
30<br />
25<br />
20<br />
15<br />
10<br />
5<br />
0<br />
Year 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010<br />
<strong>Journal</strong>s Conf. & Workshops Books & Chapters Theses<br />
Figure 3 Number <strong>of</strong> URN-related scientific publications per year.<br />
However, work on URN then started to draw<br />
international involvement. Between 1999 and July 2010,<br />
we observed that 43% <strong>of</strong> the papers had at least one coauthor<br />
from outside Canada, 34% <strong>of</strong> the papers had all<br />
their co-authors from outside Canada, and 23% <strong>of</strong> the<br />
theses were from outside Canada. Collaboration between<br />
Canadian and non-Canadian authors has also increased<br />
substantially over the past four years. As shown in<br />
Table I, researchers and industrial participants from over<br />
29 different countries on all continents have contributed<br />
publications on URN. Incidently, in our data set, we also<br />
detected papers written in seven languages other than<br />
English: Chinese (4), French (3), Spanish (3), Serbian (2),<br />
Japanese (2), Korean (1), and German (1).<br />
Although our results support that scientific<br />
contributions related to URN are numerous and<br />
international, industrial contributions are still sparse: only<br />
22 papers (9% <strong>of</strong> our data set) involved co-authors with<br />
industrial affiliations, mainly from the telecom industry<br />
(Nortel, Mitel, Cisco, and others). This may partially be<br />
explained by the fact that we excluded many papers<br />
where URN was simply used.<br />
C. Bias<br />
The content <strong>of</strong> the URN Virtual Library and our<br />
selection <strong>of</strong> papers are somewhat biased towards UCM<br />
because the work related on UCM is all included in<br />
URN’s, whereas prior and subsequent work on the NFR<br />
Framework and especially on i*, on which GRL is<br />
initially based, is not included. i* is different from GRL<br />
and has a community <strong>of</strong> its own (e.g., four i* workshops<br />
and 55 research teams are listed so far on the i*<br />
Wiki [97]). This is also reflected in the numbers <strong>of</strong><br />
references we collected (e.g., from Google Scholar, we<br />
found 442 for UCM, 294 for URN, and 186 for GRL).<br />
Consequently, many <strong>of</strong> the topics discussed in the next<br />
two sections focus on UCM and fewer will address GRL<br />
exclusively.<br />
Note that we have done the collection and filtering <strong>of</strong><br />
the papers ourselves. However, to mitigate internal bias,<br />
an exhaustive search using Google Scholar and other<br />
engines (see previous section) was performed. Given that<br />
we have been involved with URN since its inception, that<br />
we co-authored about a third <strong>of</strong> the scientific papers on<br />
© 2011 ACADEMY PUBLISHER<br />
URN, that we co-edited the standard and that we are<br />
responsible for its evolution at ITU-T, we believe we are<br />
uniquely positioned to perform a rigorous assessment <strong>of</strong><br />
the past and future research on URN.<br />
V. THE FIRST TEN YEARS (2000-2009)<br />
After ITU-T’s approval <strong>of</strong> a new question on a User<br />
Requirements Notation, the URN standardization took<br />
another eight years. Cameron (Nortel) took over from<br />
Hodges as Rapporteur in 2001, followed by Amyot<br />
(University <strong>of</strong> Ottawa) in 2002. The first standard (Z.150,<br />
in 2003) described the goals and requirements for the<br />
URN language [105]. In 2008, the definition <strong>of</strong> the URN<br />
language itself (including a URN metamodel based on the<br />
new meta-metamodel <strong>of</strong> ITU-T Z.111 [103]) finally<br />
became available [106].<br />
This section summarizes some <strong>of</strong> the most important<br />
research contributions that have led to this standard,<br />
together with emerging application domains.<br />
A. Specification and Validation <strong>of</strong> Protocols and Services<br />
One <strong>of</strong> the main drivers behind the creation <strong>of</strong> URN<br />
was to enable standards bodies such as ITU-T to specify<br />
and perform early validation <strong>of</strong> new telecommunication<br />
protocols and services. UCM models, in particular,<br />
provide a view that abstracts from messages and<br />
potentially from component architectures, which<br />
simplifies the description <strong>of</strong> services. This view also<br />
helps multiple stakeholders such as vendors and carriers<br />
(with conflicting agendas and investments in different<br />
legacy networks) reach consensus on the essence <strong>of</strong> these<br />
services.<br />
There were indeed several services specified with<br />
UCM and proposed for standardization, in the early<br />
2000s, to ITU-T, the Telecommunications Industry<br />
Association (TIA), and the Internet Engineering Task<br />
Force (IETF). In the literature, we notice the International<br />
Mobile Telecommunications-2000 (IMT-2000) [27] and<br />
other mobile wireless protocols [25][26], the Open<br />
Shortest Path First (OSPF) routing protocol [132], Mobile<br />
IPv6 [187], Call Name Presentation (CNAP) [196], and<br />
GPRS mobile group call [20], among others. All <strong>of</strong> these
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 753<br />
specifications helped further shape the notation as well as<br />
stylistic guidelines for its application to telecom services.<br />
More recently, URN was revisited in a service<br />
engineering context. Amyot et al. [12] described a URNbased<br />
approach for specifying Next Generation Network<br />
(NGN) services, where service models (combining GRL,<br />
UCM, and UML views) provide information and<br />
mechanisms that help dynamic composition and<br />
adaptation at runtime. In his thesis, Castejón focuses<br />
more on the concept <strong>of</strong> collaboration for compositional<br />
service descriptions, with both UML and UCM [58].<br />
These two approaches to service engineering helped<br />
explore and understand the synergy between URN and<br />
UML collaborations.<br />
B. Multi-Agent Systems<br />
In the past decade, there was quite a bit <strong>of</strong> attention<br />
devoted to the use <strong>of</strong> URN in the domain <strong>of</strong> agent<br />
systems, beyond what was already done in the 90’s by<br />
Buhr and others as part <strong>of</strong> their High-Level Design and<br />
Prototyping <strong>of</strong> Agent Systems project [51][68].<br />
Bush et al. [53] introduced their Styx agent<br />
methodology, where UCM are used to capture high-level<br />
system processes. A similar use <strong>of</strong> UCM is discussed in<br />
the approaches proposed by Araya and Antillanca [28]<br />
and by Abdelaziz et al. [2], the latter with an interesting<br />
application to a medical diagnosis system. In his<br />
thesis [1], Abdelaziz further enhanced his Multi-Agent<br />
System Development approach by integrating UML use<br />
case, activity, and sequence diagrams (and to some extent<br />
GRL dependency models) with the UCM view.<br />
Lavendelis and Grunspenkis proposed the MASITS tool,<br />
similar in intent to Buhr’s [51], for capturing several<br />
views <strong>of</strong> agent systems, including goal and use case<br />
views à la URN. Saleh and Al-Zarouni [165] described<br />
the use <strong>of</strong> GRL for capturing non-functional requirements<br />
for mobile agent systems. Amyot et al. [14] specified and<br />
analyzed, with UCM, an agent-based telecommunication<br />
system being built by an industrial partner.<br />
While Billard captured a collection <strong>of</strong> eight agent<br />
interaction patterns with UCM, with an analysis <strong>of</strong> their<br />
performance [34], Weiss exploited the NFR Framework<br />
(at the basis <strong>of</strong> GRL) to describe and exploit the<br />
relationships between patterns used in the design <strong>of</strong> agent<br />
systems [188].<br />
C. Web Applications and Web Services<br />
In the mid-2000s, URN was also used in the context <strong>of</strong><br />
Web applications. Yu and Liu, following seminal work<br />
where they first proposed an iterative methodology that<br />
combines GRL and UCM and demonstrate the<br />
complementary nature <strong>of</strong> these two views [124],<br />
successfully specified a Web-based training application<br />
with URN [125]. Around the same period, Kaewkasi and<br />
Rivepiboon also proposed a methodology for Web<br />
application modeling, but this time based on a<br />
combination <strong>of</strong> UCM and UML [111]. Around 2005,<br />
Weiss started to describe patterns (partly with UCM) for<br />
Web applications [189], while also exploring with others<br />
the UCM-driven testing <strong>of</strong> Web applications [22].<br />
© 2011 ACADEMY PUBLISHER<br />
Web services also captured the attention <strong>of</strong> URN<br />
contributors. Weiss and Esfandiari provided preliminary<br />
results on the analysis <strong>of</strong> personalized Web services<br />
where service goals are specified with GRL and service<br />
functionalities with UCM [191]. van der Raadt explored<br />
Web services from a business perspective with the<br />
Business-oriented Approach Supporting web Service Idea<br />
Exploration (BASSIE) methodology. BASSIE combines<br />
three types <strong>of</strong> models: a) i* (instead <strong>of</strong> GRL) for<br />
describing strategic goals and the impact <strong>of</strong> service<br />
realization alternatives, Gordijn’s e 3 value framework [77]<br />
(originating from UCM) for evaluating alternatives based<br />
on their pr<strong>of</strong>itability, and UCM for describing other<br />
details <strong>of</strong> the services.<br />
These two approaches to the development <strong>of</strong> Web<br />
applications and services helped clarify the relationships<br />
that exist between GRL and UCM views, with an impact<br />
on the inclusion <strong>of</strong> the concept <strong>of</strong> URN link in the<br />
standard.<br />
D. Formalization<br />
The URN standard describes the URN abstract and<br />
concrete syntaxes formally, together with wellformedness<br />
constraints. However, the semantics is<br />
currently described more informally using traversal<br />
requirements for UCM (with which many algorithms<br />
could comply) and with propagation requirements for<br />
GRL (with, again, many potential evaluation algorithms).<br />
Hence, these textual requirements do not fully alleviate<br />
the risk that different tools could implement different<br />
semantics while still satisfying the standard’s<br />
requirements.<br />
It was judged premature to agree on a unique<br />
semantics to the notation in the standard, although many<br />
had already been proposed, especially for UCM. One <strong>of</strong><br />
the first attempts was done by Amyot and Logrippo [8],<br />
and was based on the LOTOS process algebra [99]. The<br />
mapping from UCM to LOTOS was further explored by<br />
Guan [82], who also provided a compiler for UCMNav<br />
models. This mapping was used in 9 theses and 13<br />
publications, and contributed to the understanding <strong>of</strong><br />
UCM behavior.<br />
van der Poll et al. proposed an initial, informal<br />
mapping from UCM to Z in order to formally analyze<br />
models capturing user interface scenarios [183]. This<br />
work was further extended by Dongmo [67], who defined<br />
a framework to derive Object-Z [176] class schemas from<br />
UCM models. Similarly, Truong et al. [180] proposed a<br />
mapping from UCM to the B formal method [171] in<br />
order to support the verification <strong>of</strong> component behavior<br />
against the UCM scenario requirements. To facilitate the<br />
analysis <strong>of</strong> component interfaces and composition, de<br />
Bruin explored a mapping from UCM models enhanced<br />
with interface information to the object-oriented<br />
programming language BCOOPL [64].<br />
Hassine et al. also provided a formal semantics for<br />
UCM, but this time based on Abstract State Machines<br />
(ASM, [38]), with tool support for simulation [88]. They<br />
further investigated the use <strong>of</strong> quantitative time<br />
constraints in UCM models with a UCM extension called<br />
Timed Use Case Maps, for which they provided
754 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
additional semantics based on more appropriate<br />
formalisms, namely timed automata [90], clocked<br />
transition systems [89], and again ASM [86]. Hassine’s<br />
thesis [85] is the best document where these extensions<br />
and semantics are used, and a recent survey provides a<br />
comparison with related timed scenario languages [92].<br />
There is no formal semantics for GRL at this point.<br />
However, the initial description <strong>of</strong> GRL [126], which did<br />
not include a meta-model at the time, was evaluated by<br />
Heymans et al. [95] from an ontological perspective.<br />
Some <strong>of</strong> their conclusions were actually taken into<br />
consideration in the definition <strong>of</strong> the URN metamodel.<br />
Ayala et al. also provided an interesting analysis <strong>of</strong> GRL<br />
compared to other goal-oriented modeling languages, but<br />
again this is based on the original version proposed in<br />
2001 (not the standard definition). A comparison between<br />
i* and van Lamsweerde’s KAOS is <strong>of</strong>fered by<br />
Matulevičius et al. [127] and also by [17] from an<br />
analysis point <strong>of</strong> view. The i* Wiki [97] is also an<br />
interesting source <strong>of</strong> information on formalization for<br />
related goal-oriented languages. For comparisons<br />
between UCM and other scenario languages (too<br />
numerous to mention them all here), the reader is referred<br />
to the studies <strong>of</strong> Saiedian et al. [164], Amyot and<br />
Eberlein [16], and Mussbacher and Amyot [136].<br />
E. Transformations to Design Models<br />
Scenario models such as those specified with UCM<br />
represent a good basis for transformations to more<br />
detailed design representations. Such transformations<br />
enable the generation <strong>of</strong> design artifacts with less effort<br />
and, yet, higher consistency with the requirements.<br />
Bordeleau, Buhr, and Cameron were among the first to<br />
explore systematic relationships and transformation<br />
between UCM models and (High-level) Message<br />
Sequence Charts [41]. Miga et al. [130] have then<br />
demonstrated that lengthy scenarios resulting from UCM<br />
path traversals can be transformed to MSC in order to<br />
visualize them in a more scalable and linear form. They<br />
implemented this transformation in the UCMNAV<br />
tool [181]. The main challenges in this transformation is<br />
to infer or synthesize necessary messages ensuring that<br />
causal relationships between responsibilities in different<br />
components are correctly supported, and to handle the<br />
well-formedness rules <strong>of</strong> a linear scenario representation<br />
like MSC, which are stricter than the general graph<br />
representation <strong>of</strong> UCM. New results partly addressing<br />
these challenges were provided by Amyot et al. [15].<br />
However, the best implementation so far is the one now<br />
found in the jUCMNav tool [110], as provided by Kealey<br />
in his thesis [114]. Along the way, Kealey redefined and<br />
greatly improved the power, flexibility, and robustness <strong>of</strong><br />
the path traversal algorithm initially proposed by Miga,<br />
and this contribution had a major impact on the definition<br />
<strong>of</strong> the path traversal rules now found in the<br />
standard [114].<br />
The synthesis <strong>of</strong> state machines from scenarios was a<br />
topic <strong>of</strong> high interest in the 2000’s [16][164]. Bordeleau,<br />
Corriveau, and Selic were among the first to provide<br />
guidelines for the transformation <strong>of</strong> UCM models to<br />
hierarchical state machines [42]. Sales and Probert also<br />
© 2011 ACADEMY PUBLISHER<br />
proposed transformation guidelines [165], only this time<br />
the target language was SDL [102]. He et al. [93]<br />
explored an automatic transformation from UCM to SDL<br />
via the intermediate generation <strong>of</strong> MSC from UCM and<br />
the synthesis <strong>of</strong> SDL models from these MSC (based on a<br />
commercial MSC-to-SDL synthesizer). Castajón also<br />
reported on an experiment on the synthesis <strong>of</strong> state<br />
machine behavior from UML collaborations whose<br />
dependencies are captured with UCM models [57].<br />
On the goal side, we notice the combination <strong>of</strong> GRL<br />
and a security extension to UML (UMLsec) proposed by<br />
Saleh and Elshahry to model security requirements across<br />
goal and design views [166]. Abid et al. also proposed a<br />
UML pr<strong>of</strong>ile for GRL, hence enabling the integration <strong>of</strong> a<br />
GRL view in UML design models [3].<br />
F. Feature Interaction Analysis<br />
The various formalisms used to analyze URN models,<br />
as seen by the many transformations and formalizations<br />
discussed in the previous sections, are important to<br />
support the detection <strong>of</strong> undesirable interactions between<br />
features or service descriptions, a problem well known in<br />
telecommunications and other domains [55].<br />
Amyot et al. used a mapping from UCM to LOTOS,<br />
combined with a testing approach, to support the rigorous<br />
detection <strong>of</strong> interactions between telecommunication<br />
features [8][14]. Due to the numerous test cases that have<br />
to be checked for large sets <strong>of</strong> features, the need for<br />
identifying situations where interaction tests are needed<br />
became apparent. Nakamura et al. hence proposed an<br />
interaction filtering approach based on the stub/plug-in<br />
structure <strong>of</strong> UCM models and formalized with stub<br />
configuration matrices [144]. This technique helped<br />
reduce the number <strong>of</strong> test cases needed to detect<br />
undesirable interactions by focusing on interaction-prone<br />
combinations. This seminal work led to various<br />
improvements by Cheng et al. [61] and Zhang and<br />
Liu [200] in terms <strong>of</strong> the required pre-conditions, and by<br />
Leelaprute et al. [121] who added a second phase for the<br />
generation <strong>of</strong> error-prone scenarios from the interactionprone<br />
configurations. Hassine also adapted this filtering<br />
technique to identify interaction-prone combinations<br />
targeting LOTOS specifications, which were then<br />
checked formally using tests and goal-oriented<br />
executions [84]. In his thesis, Gorse proposed a different<br />
filtering technique, this time based on a logic<br />
representation <strong>of</strong> the feature requirements in Prolog. The<br />
filtering results are used for testing a LOTOS<br />
specification that formalizes features modeled with<br />
UCM [80].<br />
Shiri et al. [174] combined UCM with Birk<strong>of</strong>f’s<br />
Formal Concept Analysis [35] to assist maintainers in<br />
identifying feature modification impacts at the<br />
requirements level, and minimizing the need for<br />
regression testing.<br />
Weiss and Esfandiari studied the feature interaction<br />
problem in terms <strong>of</strong> functional and non-functional<br />
interactions [192]. They used GRL to analyze conflicting<br />
goals, trade<strong>of</strong>fs between s<strong>of</strong>tgoals, inadequate interfaces,<br />
ownership and policy issues, and resource contention.<br />
They also used UCM to analyze concurrency issues,
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 755<br />
violations <strong>of</strong> assumptions, and incorrect invocation<br />
ordering. This work led to the first classification <strong>of</strong><br />
undesirable interactions for Web services.<br />
More recently, Mussbacher et al. [143] studied<br />
semantic-based interactions in aspect-oriented models.<br />
Their approach differs from the syntactic approaches like<br />
filtering, and is more lightweight than detection methods<br />
that rely on the use <strong>of</strong> underlying formal languages. This<br />
approach requires the manual annotation <strong>of</strong> aspects with<br />
domain-specific markers, and a GRL model that specifies<br />
how markers from different domains influence each<br />
other. Automated analysis can then be used both to<br />
highlight semantic aspect conflicts and to trade-<strong>of</strong>f<br />
aspects. This approach is demonstrated on academic and<br />
industrial examples that use aspect-oriented extensions <strong>of</strong><br />
UCM [134] and other languages.<br />
G. Performance Analysis<br />
In URN, modelers may supplement UCM elements<br />
with standard performance annotations to describe<br />
resources associated with components, demands <strong>of</strong><br />
responsibilities, workloads on scenario start points,<br />
allocations <strong>of</strong> UCM components to devices, and<br />
probabilistic behavior at selection points [106]. These<br />
annotations are not taken into consideration for the path<br />
traversal mechanism, but they can be used in<br />
transformations <strong>of</strong> UCM models to specialized<br />
performance models. This enables performance analysis<br />
from URN requirements models, before serious barriers<br />
to performance are frozen into the design and<br />
implementation.<br />
This part <strong>of</strong> the standard was strongly influenced by<br />
Woodside and his research team at Carleton University.<br />
In his PERFECT method, Scratchley used annotated<br />
UCM for evaluating concurrency architectures for a<br />
system that executes a given set <strong>of</strong> scenarios [169]. His<br />
annotations included timestamps and response-time<br />
requirements (implemented in the original UCMNAV<br />
tool), which were replaced in the URN standard by more<br />
generic metadata and URN links.<br />
The generation <strong>of</strong> Layered Queueing Network (LQN)<br />
performance models [177] directly from UCM models<br />
was first explored and prototyped by Petriu [152][153].<br />
LQN performance models can be used as a basis for<br />
exploring the performance solution space <strong>of</strong> a system.<br />
Different kinds <strong>of</strong> analyses (e.g., sensitivity, scalability,<br />
concurrency, and configuration) can be performed<br />
through the use <strong>of</strong> LQN solver and simulation tools.<br />
Siddiqui et al. [175] improved upon this approach to<br />
consider the notions <strong>of</strong> budget and completions in the<br />
analysis <strong>of</strong> performance, while Liu focused on a multilevel<br />
methodology, with application to large presence<br />
systems [123]. Wu and Woodside explored the hybrid use<br />
<strong>of</strong> LQN and generalized stochastic Petri Nets for the<br />
performance analysis <strong>of</strong> annotated UCM models [194]. A<br />
good summary <strong>of</strong> the UCM-LQN performance<br />
engineering vision is found in [154].<br />
The original annotations influenced the early<br />
development <strong>of</strong> the UML pr<strong>of</strong>ile for schedulability,<br />
performance, and time [147]. More recent work on the<br />
development <strong>of</strong> the Core Scenario Model (CSM)<br />
© 2011 ACADEMY PUBLISHER<br />
representation [155], led to new annotations that are now<br />
part <strong>of</strong> the URN standard. These annotations have also<br />
evolved in synergy with the creation <strong>of</strong> the new UML<br />
pr<strong>of</strong>ile for real time and embedded systems<br />
(MARTE) [148].<br />
CSM’s purpose is to capture the essence <strong>of</strong> a range <strong>of</strong><br />
scenario notations (e.g., from URN and UML) and enable<br />
simple transformations to various target formalisms (e.g.,<br />
LQN, regular queueing networks, and stochastic Petri<br />
Nets), hence reducing the number and complexity <strong>of</strong> tools<br />
needed to analyze various aspects <strong>of</strong> the same system.<br />
Accordingly, newer URN-based approaches now target<br />
the generation <strong>of</strong> CSM models rather than LQN directly.<br />
A transformation from UCM to CSM was defined by<br />
Zeng in his thesis [199], with an implementation in<br />
UCMNAV. This transformation was adapted by<br />
Sincennes and others and is implemented in jUCMNav.<br />
One <strong>of</strong> the main benefits <strong>of</strong> this approach is that the<br />
acquisition and release <strong>of</strong> resources is inferred implicitly<br />
from UCM models rather than requiring them to be<br />
defined explicitly as in pr<strong>of</strong>iled UML models. This<br />
simplifies substantially the creation and maintenance <strong>of</strong><br />
models. Transformations from CSM models to LQN<br />
models and other types <strong>of</strong> performance models are<br />
discussed in [155] and are now supported by prototype<br />
tools.<br />
Other types <strong>of</strong> s<strong>of</strong>tware performance analysis based on<br />
UCM do not make use <strong>of</strong> the standard performance<br />
annotations. Billard used his own queueing simulator to<br />
analyze the UCM model <strong>of</strong> an object-oriented operating<br />
system [33], whereas Hassine used Timed Use Case<br />
Maps and a mapping to ASM to analyze resource<br />
allocation, worst-case time execution, and schedulability<br />
issues in an automatic protection switching feature [87].<br />
Cai and Yu [54], on the other hand, investigated a<br />
GRL-based approach for qualitatively addressing and<br />
refining performance requirements. Operationalizations<br />
<strong>of</strong> such requirements are linked to UCM scenarios.<br />
H. Architecture Evaluation<br />
By combining goals with scenarios, URN provides a<br />
unique perspective on the evaluation <strong>of</strong> architectures. The<br />
previous section discussed performance-oriented<br />
approaches that <strong>of</strong>ten require the generation <strong>of</strong><br />
mathematical performance models, where the quantitative<br />
parameters are difficult to choose and set. de Bruin and<br />
van Vliet explored a more qualitative approach to<br />
architecture evaluation, where a feature model describes<br />
the alternatives and refinements <strong>of</strong> the problem domain,<br />
whereas the solution domain is captured with a UCM<br />
model (with stubs and plug-ins) [65]. Links between the<br />
two models enables the evaluation and selection <strong>of</strong> an<br />
appropriate architecture, with its behavioral description.<br />
This approach shares similarities with the method <strong>of</strong> Liu<br />
and Yu [124], where a GRL goal model is used to capture<br />
actor intentions and coarse-grain alternatives, whose<br />
operationalizations are linked to the UCM view.<br />
Many surveyed approaches also focus on specific<br />
architectural qualities. For instance, Amyot describes an<br />
approach where alternative architectures can be evaluated<br />
on the complexity and cost <strong>of</strong> the resulting message
756 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
exchanges [9] as in the UCM example in Section II. Wu<br />
and Kelly have explored architecture evaluation from a<br />
security angle. They proposed a negative scenario<br />
framework where they explore “deviations” <strong>of</strong> UCM<br />
scenarios as potential security issues that impact<br />
architectural design decisions. Similar work was done by<br />
Karpati et al. [112], who introduced Misuse Case Maps<br />
as a modeling technique that is the anti-behavioral<br />
complement to UCM, which is used to visualize how<br />
cyber attacks are performed in an architectural context.<br />
The work <strong>of</strong> Folmer et al. [70] focuses on the use <strong>of</strong><br />
scenarios (described with UCM and other means) for<br />
evaluating the usability <strong>of</strong> architectures before their<br />
implementation.<br />
I. System Comprehension and Evolution<br />
URN models are not just useful in a forward<br />
engineering development cycle. They can also be used in<br />
reverse-engineering, program comprehension, and<br />
evolution contexts to describe existing systems,<br />
architectures, and services.<br />
Amyot et al. have proposed a static approach to<br />
recovering UCM scenarios from code, based on a manual<br />
tagging approach and a commercial tool [19]. A dynamic<br />
approach was explored by Hamou-Lhadj et al., where<br />
execution traces are transformed to UCM scenarios [83].<br />
One key step is the identification <strong>of</strong> utility functions in<br />
the code, which can be eliminated in order to shorten the<br />
resulting scenarios without loss <strong>of</strong> understandability.<br />
Hewitt and Rilling proposed a lightweight approach to<br />
identify the impact <strong>of</strong> requirement changes on a system<br />
based on the dependencies and potential ripple effects<br />
that can be inferred from a UCM model [94]. Shiri’s<br />
thesis expanded on this work with UCM-based<br />
techniques for impact analysis at the requirements level,<br />
prediction <strong>of</strong> regression testing effort, and feature<br />
interaction analysis, in order to support system evolution<br />
activities [173].<br />
In his thesis, Störmer proposed the S<strong>of</strong>tware Quality<br />
Attribute Analysis by Architecture Reconstruction<br />
(SQUA3RE) method, where architectures are recovered<br />
based on a combination <strong>of</strong> UCM scenarios and timeperformance<br />
models [179]. The UCM models are built<br />
manually based on interviews. His study highlights that<br />
the participants appreciated the intuitiveness <strong>of</strong> UCM for<br />
showing flows <strong>of</strong> events and mappings to architectural<br />
components, and for decomposing structure and behavior.<br />
Störmer developed his own UCM tool, called<br />
Architecture Explorer, with support for timestamps and<br />
response-time requirements similar to Scratchley’s [169].<br />
More recently, Díaz-Pace et al. [66] presented an<br />
approach called ArchSync (supported by an Eclipsebased<br />
UCM tool with the same name and initially<br />
developed by Blech) that helps architects synchronize<br />
architectural documentation expressed through UCM<br />
with Java source code, as modifications are being made<br />
on the code. Execution traces are used as an input, and<br />
inconsistencies with the architectural UCM model are<br />
then highlighted. ArchSync is actually complementing<br />
another tool (FLABot), discussed by Soria et al. [178].<br />
FLABot is a fault-localization tool that uses a UCM<br />
© 2011 ACADEMY PUBLISHER<br />
specification and a set <strong>of</strong> architecture-to-code mappings<br />
in order to guide the architect in the identification <strong>of</strong> code<br />
regions with possible faults. UCMs were used as they “fit<br />
well with the exploration <strong>of</strong> cause-effect paths for faults”.<br />
Note that an interesting study by Ölvingson et al.<br />
evaluated UCM as a requirements engineering and<br />
system comprehension technique for the development <strong>of</strong><br />
information systems in inter-organizational public health<br />
settings [149]. The UCM notation was found to be at a<br />
suitable level <strong>of</strong> abstraction and useful in generating<br />
intuitive requirements. At the time (2002), the authors<br />
also identified the absence <strong>of</strong> guidelines on how to use<br />
the notation as well as the difficulty in distinguishing asis<br />
models from to-be models as weaknesses that could<br />
benefit from further attention.<br />
J. Testing and Verification<br />
The availability <strong>of</strong> scenarios in URN models makes<br />
URN attractive for requirements-based testing. Beyond<br />
the various analysis techniques discussed so far in the<br />
sections on formalization, transformations, and feature<br />
interactions, we distinguish three main categories <strong>of</strong><br />
approaches for the generation <strong>of</strong> test purposes from UCM<br />
models [23].<br />
The first category is based on the usage <strong>of</strong> UCM<br />
models as is. For example, Amyot’s thesis defines a<br />
collection <strong>of</strong> testing patterns that can be used to manually<br />
cover a UCM model [8]. Charfi’s thesis also proposes an<br />
approach that generates test goals (this time, as LOTOS<br />
processes) by automatically covering the paths in UCM<br />
models [59]. Feng and Lee take into consideration<br />
statistical usage at the UCM level in order to guide the<br />
selection <strong>of</strong> important test cases for frequent paths [69].<br />
The second category exploits standard UCM scenario<br />
definitions and path traversal algorithms. The techniques<br />
used for generating MSC scenarios can be reused as is to<br />
generate test purposes in MSC or in other formats. For<br />
example, Amyot et al. have used scenario definitions and<br />
the UCMNAV tool to generate test cases automatically for<br />
a Web application [22].<br />
The third category requires the transformation <strong>of</strong> the<br />
UCM model to a formal specification from which<br />
existing test generation methods can be used. All <strong>of</strong> the<br />
mappings discussed in the formalization section are hence<br />
useful in this context.<br />
In order to turn test purposes extracted from UCM<br />
models into executable test cases, several issues must be<br />
addressed. For instance: UCM models do not include<br />
domain data, implementation messages and interfaces are<br />
unknown as UCM abstract from inter-component<br />
communication, and unfeasible test purposes might be<br />
selected depending on the chosen coverage strategy.<br />
While these concepts currently are not first-class URN<br />
modeling entities, some <strong>of</strong> them might be modeled<br />
indirectly with URN metadata and links.<br />
Although Jaskó et al. suggest that GRL can be used to<br />
provide rationale for test purposes and test<br />
strategies [108], Arnold et al. observe that URN in<br />
general should be augmented with a testable model for<br />
functional and non-functional requirements, an<br />
implementation under test, and explicit bindings between
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 757<br />
the two views [29]. Through their experience in<br />
developing a model-based testing environment for .NET<br />
applications, they show the feasibility <strong>of</strong> having a URNbased<br />
testing approach where a URN model can be<br />
transformed into a testable requirements model from<br />
which executable test cases can be generated and then<br />
tested against an instrumented implementation (from<br />
which additional information is generated at run-time to<br />
check compliance with non-functional requirements).<br />
Hassine et al. take a different angle and consider UCM<br />
as a property specification language rather than a source<br />
<strong>of</strong> test purposes [91]. The resulting pattern system is<br />
mapped to popular temporal logics such as CTL, TCTL<br />
and ArTCTL (architectural real-time temporal logic, an<br />
extension to TCTL that provides temporal logics with<br />
architectural scopes). Properties extracted from UCM<br />
models can then be verified against designs and<br />
implementations using model checkers.<br />
K. Patterns<br />
As anticipated by Buhr in the 90’s [50], URN had a<br />
positive impact on the pattern-oriented development<br />
community. URN also benefited directly from some work<br />
in that community as well.<br />
In her thesis, Andrade developed a substantial UCMbased<br />
pattern language to describe common aspects <strong>of</strong><br />
mobile telecommunication systems [25], whereas Billard<br />
used UCM to describe patterns <strong>of</strong> interactions in agent<br />
systems [34].<br />
How to create UCM scenario models and exploit them<br />
are also the topics <strong>of</strong> several contributions. For example,<br />
Mussbacher and Amyot proposed a collection <strong>of</strong> UCM<br />
modeling patterns for describing and composing<br />
telecommunication features [135], whereas Amyot<br />
described a pattern language to derive test purposes from<br />
UCM models [8].<br />
UCM can help describe the solution space <strong>of</strong> patterns,<br />
but GRL can also capture the various forces at play. This<br />
had already been observed for other goal-oriented<br />
languages such as the NFR framework, used by Gross<br />
and Yu to document pattern forces [81]. The GRL-UCM<br />
combination was exploited by Weiss in the description <strong>of</strong><br />
various patterns for agent systems [188] and for Web<br />
applications [189].<br />
GRL strategies can additionally be used to assess the<br />
qualitative impact <strong>of</strong> various solutions to a functional<br />
goal, in context, enabling users to select appropriate<br />
solutions. UCM level solutions can also be linked to each<br />
other with a proper use <strong>of</strong> stubs and plug-ins. This is at<br />
the basis <strong>of</strong> the URN-based formalization <strong>of</strong> patterns<br />
done by Mussbacher et al. and illustrated with an<br />
architectural pattern language [140]. Rather than using<br />
GRL strategies, Weiss and Mouratidis provided a<br />
mapping from GRL to Prolog to perform an evaluation <strong>of</strong><br />
goal models describing the trade-<strong>of</strong>fs that exist when<br />
selecting amongst a number <strong>of</strong> security patterns [193].<br />
More recently, Behnam et al. used URN to formalize a<br />
pattern-based framework for goal-driven business process<br />
modeling, which can be used to derive suitable business<br />
processes (traceable to its objectives) for an organization<br />
whose context is also formalized with GRL. They<br />
© 2011 ACADEMY PUBLISHER<br />
illustrated the framework with a healthcare example.<br />
Pourshahid et al. [158] also explored business process<br />
reengineering patterns that require the combination <strong>of</strong><br />
goals, scenarios (for processes), aspects, and indicators,<br />
as supported by the Aspect-oriented URN notation [134].<br />
They demonstrated the potential <strong>of</strong> such patterns for<br />
evolving business processes at run-time.<br />
URN was also influenced by the literature on<br />
workflow patterns [162], which led directly to the<br />
introduction <strong>of</strong> new types <strong>of</strong> UCM stubs (synchronization<br />
and blocking) in the standard. The resulting<br />
expressiveness <strong>of</strong> UCM is compared to other scenario<br />
languages (i.e., BPMN, UML activity diagrams, and<br />
BPEL4WS) with the help <strong>of</strong> 43 workflow patterns<br />
in [136].<br />
L. User Interface Engineering<br />
In our literature survey, we detected an original use <strong>of</strong><br />
URN in the domain <strong>of</strong> user interface engineering, which<br />
was unforeseen when the standardization work was<br />
initiated.<br />
Folmer et al. [70] proposed a scenario-based usability<br />
assessment method to evaluate whether a given s<strong>of</strong>tware<br />
architecture meets its usability requirements. Their<br />
Scenario-based Architecture Level UsabiliTy Assessment<br />
(SALUTA) makes use <strong>of</strong> UCM in its scenario evaluation<br />
step. One research issue they identified is the need for<br />
UCM to express static properties <strong>of</strong> usability.<br />
Such properties are actually proposed as UCM<br />
extensions in Alsumait’s thesis [6]. Alsumait et al. started<br />
investigating UCM as a medium for integrating task<br />
analysis (a topic already explored by Lethbridge and<br />
Singer [122]) and usability into a user-centered<br />
requirements engineering process [7]. The UCM notation<br />
was extended with concepts for supporting tasks, dialogs,<br />
and grouping/layout <strong>of</strong> user interface elements. They<br />
observed the potential <strong>of</strong> their extended UCM models for<br />
capturing user interface requirements. van der Poll et al.<br />
extended this work to provide a Z-based interpretation <strong>of</strong><br />
UCM models, which enables formal usability<br />
analysis [183]. They provided an e-mail system as an<br />
example.<br />
Alsumait’s Scenario and Use Case-based for<br />
Requirements Engineering (SUCRE) framework provides<br />
the latest details on this work. The extended UCM<br />
notation for user interface modeling is presented together<br />
with examples as well as a set <strong>of</strong> analysis techniques<br />
based on metrics and on mappings to Z and LOTOS.<br />
These extensions were not included in the URN<br />
standard because usability engineering was not one <strong>of</strong> the<br />
original objectives. In addition, the extensibility <strong>of</strong> URN<br />
in terms <strong>of</strong> metadata and links enables the support <strong>of</strong><br />
most <strong>of</strong> the extensions proposed here, except for their<br />
graphical representation.<br />
M. E-Business and Business Process Modeling<br />
For more than a decade, UCM have been used in the<br />
design <strong>of</strong> e-business applications. In particular, Gordijn<br />
and Akkermans, with the help <strong>of</strong> de Bruin and van Vliet,<br />
defined UCM extensions and ontological concepts for<br />
capturing (economic) value that became very successful
758 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
over the years [77]. This work resulted in a framework<br />
for value-based requirements engineering known as e 3 -<br />
value and detailed in Gordijn’s thesis [78]. e 3 -value,<br />
which has now become an independent language with its<br />
own tools and user community (see www.e3value.com),<br />
is used to model organizations in a value web,<br />
exchanging things <strong>of</strong> economic value with each other.<br />
Relationships between e 3 -value and goal modeling à la<br />
GRL are explored in [184].<br />
Rather than focusing on value exchanges, Lethbridge<br />
and Singer [122] used UCM as one <strong>of</strong> their techniques for<br />
representing the work (i.e., the processes) <strong>of</strong> s<strong>of</strong>tware<br />
engineers after observing it through shadowing. Later,<br />
Bleinstein et al. [36] proposed to use GRL combined with<br />
Jackson’s problem frames [107] and role activity<br />
diagrams in a requirements engineering approach that<br />
captures both business strategy and process requirements<br />
for e-business systems. In their approach, projections<br />
(rather than URN links) are used to connect the views.<br />
Additional work focusing on business process alignment<br />
was done in [37].<br />
The combination <strong>of</strong> GRL and UCM for describing<br />
business objectives and processes/workflows then<br />
became very apparent. Weiss and Amyot argued that<br />
URN is a suitable notation for business process modeling,<br />
business evolution, and business alignment, and they<br />
illustrated their case with a supply chain management<br />
example [190]. Pourshahid and Tran have also shown the<br />
usefulness <strong>of</strong> URN in the modeling and analysis <strong>of</strong> trust<br />
in e-commerce systems [159].<br />
In order to better handle business management<br />
concepts and be able to capture quantities in terms <strong>of</strong><br />
domain-specific units, Pourshahid and Chen have<br />
extended GRL with the concept <strong>of</strong> Key Performance<br />
Indicators (KPI) [157]. A KPI converts a value observed<br />
in a running business process or context to a satisfaction<br />
level in the [-100,100] range understood by GRL. Target,<br />
threshold, and worst-case values are defined in each KPI<br />
to assist this conversion. In jUCMNav, GRL strategy<br />
definitions were also extended to access external sources<br />
<strong>of</strong> information (e.g., data warehouses, sensors, business<br />
intelligence application, or performance management<br />
tools) for online monitoring, management, and runtime<br />
adaptation <strong>of</strong> business processes [60]. These extensions<br />
were used in methodologies applied to several real<br />
healthcare process examples by, e.g., Pourshahid [156]<br />
and Kuziemsky et al. [119].<br />
N. URN Tools<br />
Several tools have been developed over the years to<br />
support GRL, UCM, or URN modeling. On the UCM<br />
side, the development <strong>of</strong> the C++, multi-platform<br />
UCMNav tool [181] ended around 2005 in favor <strong>of</strong> the<br />
new Eclipse-based jUCMNav [110][137], a Java tool that<br />
actually started as an undergraduate student project [117].<br />
jUCMNav (see Figure 4) was originally a simple UCM<br />
tool that prevents the creation <strong>of</strong> syntactically incorrect<br />
URN models. As part <strong>of</strong> his thesis [161], Roy added a<br />
GRL editor and invented the concept <strong>of</strong> GRL strategy,<br />
supported by a hybrid propagation algorithm with color<br />
feedback, as seen in Figure 1 [160]. He also provided<br />
© 2011 ACADEMY PUBLISHER<br />
goal-scenario traceability management (via URN links)<br />
and support for GRL catalogues. Kealey, in his<br />
thesis [114], implemented a flexible UCM traversal<br />
mechanism with color highlight (see Figure 2), together<br />
with an MSC export feature [115]. Kealey developed a<br />
mechanism where GRL evaluation results can influence<br />
the traversal <strong>of</strong> UCM paths, and vice-versa. Numerous<br />
semantic variation points in UCM were also identified for<br />
further clarification. Many <strong>of</strong> the contributions by Roy<br />
and Kealey found their way into the URN standard. Yan<br />
added a mechanism for the verification <strong>of</strong> user-defined<br />
static semantic rules and constraints written in OCL [24],<br />
whereas Gao recently contributed support for the import<br />
and export <strong>of</strong> URN models in the XML-based standard<br />
interchange format [71]. Other features, some <strong>of</strong> which<br />
are discussed in the previous sections, from dozens <strong>of</strong><br />
contributors are also present in this tool.<br />
Figure 4 Overview <strong>of</strong> the jUCMNav tool interface.<br />
jUCMNav is for the moment the only tool that<br />
supports both goal and scenario modeling and analysis.<br />
As discussed earlier, other tools with partial and<br />
specialized support for UCM also exist: Störmer’s<br />
Architecture Explorer for architecture recovery<br />
activities [179] and ArchSync for the documentation,<br />
maintenance and diagnosis <strong>of</strong> applications written in<br />
Java [66].<br />
On the GRL side, Liu extended Yu’s Organization<br />
Modelling Environment (OME 3) to support an early<br />
version <strong>of</strong> the notation and an interactive propagation<br />
mechanism [198]. This was the only GRL tool available<br />
for a long time, and it helped shape GRL as it is known<br />
today. OME 3 was also deprecated in favor <strong>of</strong> an Eclipsebased<br />
version called OpenOME [150], a project led by<br />
Yu whose major contributors include Ernst, Hork<strong>of</strong>f, Ng,<br />
Olinescu, and Y. Yu. OpenOME integrates with other<br />
platforms (such as Protégé and Visio) to support goaloriented<br />
and agent-oriented modeling. Strategy-based<br />
evaluation is not supported, but there are a variety <strong>of</strong><br />
analysis features, including interactive propagation.<br />
There also exists a Visio-based tool, named Sandrila<br />
SDL [163], which supports GRL modeling, without<br />
analysis capabilities. Other goal-oriented modeling tools<br />
are discussed and evaluated on the i* Wiki [97].
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 759<br />
O. Requirements Management and Compliance<br />
URN models capture only a fraction <strong>of</strong> the<br />
requirements <strong>of</strong> telecommunication standards and<br />
s<strong>of</strong>tware products. Accordingly, such models need to be<br />
used in cooperation with complementary general<br />
requirements, and both views must be linked in a way<br />
that supports traceability, navigation, and analysis. The<br />
proposed URN standard ensures that model elements are<br />
uniquely identifiable inside a specification, which helps<br />
supporting such links. However, one important challenge<br />
that remains is the maintenance <strong>of</strong> these links as models<br />
and general requirements evolve.<br />
Jiang proposed an approach to export UCM scenario<br />
models to the IBM Rational DOORS requirements<br />
management system and to maintain relationships as both<br />
views evolve over time [109]. Originally developed for<br />
UCMNAV, this functionality is now supported as an<br />
export filter for jUCMNav, thanks to the efforts <strong>of</strong> Kim et<br />
al. [116]. The tool also provides a link auto-completion<br />
mechanism to minimize the possibly large number <strong>of</strong><br />
links that have to be created manually by DOORS users<br />
between external and UCM requirements. Roy later<br />
extended this mechanism to support GRL and URN<br />
links [161].<br />
Ghanavati built on this work to study the compliance<br />
<strong>of</strong> organization goals and business processes against laws<br />
and policies [73]. URN is used both to capture the goals<br />
and processes <strong>of</strong> the organization and to model<br />
legislation. Exporting and linking both views to DOORS<br />
enables one to assess the legal compliance <strong>of</strong> business<br />
processes, as well as maintain it when laws or processes<br />
evolve [74]. Her original framework was extended to<br />
exploit contributions <strong>of</strong> processes to the elements <strong>of</strong> the<br />
law/policy model, enabling the measure <strong>of</strong> partial<br />
compliance [76].<br />
All <strong>of</strong> the above contributions convinced us that URN<br />
models can indeed be combined with other types <strong>of</strong><br />
requirements and design artifacts in a requirements<br />
management context.<br />
P. Aspect-oriented Modeling<br />
Over the last decade, aspect-oriented modeling (AOM)<br />
techniques have been developed for many requirements<br />
and design notations in order to better address separation<br />
<strong>of</strong> concern issues found in complex models.<br />
The UCM notation’s ability to model aspects was<br />
identified in the late 90’s by Buhr [48] but received little<br />
attention since then with the exception <strong>of</strong> work by de<br />
Bruin and van Vliet [65]. The top-down approach by de<br />
Bruin and van Vliet explicitly added a “Pre” stub and a<br />
“Post” stub for each location on a map that requires a<br />
change. The stubs allowed behavior to be added before or<br />
after the location by plugging refinement maps into the<br />
stubs.<br />
In 2005, work started on the Aspect-oriented User<br />
Requirements Notation (AoURN), which is best<br />
described in Mussbacher’s thesis [134]. Mussbacher<br />
proposed aspect-oriented extensions to UCM and GRL<br />
models to unify goal-oriented, scenario-based, and<br />
aspect-oriented techniques in one modeling framework.<br />
© 2011 ACADEMY PUBLISHER<br />
AoURN allows a concern to be encapsulated even if it is<br />
crosscutting other concerns, thus leading to<br />
improvements in the modularity, maintainability, and<br />
reusability <strong>of</strong> URN models. The concept <strong>of</strong> a concern was<br />
deemed important enough to be included in the URN<br />
standard. In AoURN, patterns and composition rules are<br />
described with URN itself, thus allowing for a flexible<br />
and exhaustive approach that is not limited to a particular<br />
composition language but can harness the full expressive<br />
power <strong>of</strong> URN [141]. In AOM, patterns specify where an<br />
aspect is to be applied, and composition rules specify<br />
how an aspect is to be applied at the location identified by<br />
a pattern. The matching and composition mechanism <strong>of</strong><br />
AoURN goes well beyond typical composition operators<br />
and includes among others concurrent, loop, and<br />
interleaved composition. AoURN’s mechanism is further<br />
enhanced by taking semantic equivalences <strong>of</strong> URN<br />
related to hierarchical structuring into account [142]. This<br />
approach allows common refactoring operations to be<br />
performed on an AoURN model without breaking<br />
aspectual specifications.<br />
AoURN has been used for various applications and<br />
some <strong>of</strong> them are discussed here as examples. A large<br />
challenge problem posed by the aspect-oriented modeling<br />
community involved a safety-critical, reactive<br />
system [139]. In the context <strong>of</strong> business process<br />
monitoring and improvement, AoURN enabled changes<br />
to business processes based on business process redesign<br />
patterns and an assessment <strong>of</strong> the shortcomings <strong>of</strong> the<br />
current business process with the help <strong>of</strong> goal<br />
models [158]. Crosscutting concerns were also described<br />
with AoURN for a SOA-based application and added to<br />
composite services based on an assessment <strong>of</strong> nonfunctional<br />
properties modeled with URN [31]. Finally,<br />
AoURN has also been applied to model commonalities<br />
and variabilities in S<strong>of</strong>tware Product Lines [138].<br />
Q. Support for Standardization<br />
Several authors have emphasized the role <strong>of</strong> URN in<br />
the development <strong>of</strong> standards and systems, beyond the<br />
vision described by Hodges and Visser in 1999 [96]. For<br />
instance, Sales described how UCM can fit in the<br />
development <strong>of</strong> IETF protocol standards [167]. Adamis et<br />
al. briefly compared ITU-T languages (including URN)<br />
with UML, and illustrated how the former can be used<br />
together to model systems [4]. Medve also studied the<br />
ITU-T languages (with an emphasis on UCM) and UML,<br />
this time in the context <strong>of</strong> system re-engineering [128].<br />
From the perspective <strong>of</strong> ITU-T standardization<br />
processes, URN’s capability to model goals and scenarios<br />
fits well the so-called “stage 1” requirements descriptions<br />
described in Recommendation I.130 [100]. In the<br />
telecommunications networks management domain,<br />
Recommendation M.3020 proposes the description <strong>of</strong><br />
various types <strong>of</strong> requirements (functional, non-functional,<br />
administrative, etc.) with textual use case and UML use<br />
case diagrams [101]. Again, URN models fit nicely in<br />
such a process as they bring formality and executability<br />
to the use cases while enabling concrete support for goal<br />
models, which are useful to derive and analyze nonfunctional<br />
and administrative requirements.
760 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
More recently, the growing interest in standards for<br />
Next-Generation Networks (NGN) brought new needs for<br />
improved service description and engineering<br />
approaches. Ideally, one would like to specify and<br />
analyze services and standards at a high level <strong>of</strong><br />
abstraction, using modeling concepts close to the user and<br />
problem domain rather than at the platform and<br />
implementation domain, and then be able to derive design<br />
components and implementations from service models<br />
with a high degree <strong>of</strong> automation. This is essentially the<br />
abstraction level targeted by URN, as discussed in [12].<br />
GRL goal models <strong>of</strong>fer a holistic view that integrates<br />
stakeholder goals, non-functional requirements, and<br />
alternative operational solutions for design time<br />
decisions, supplemented with indicators that enable<br />
adaptive behavior at runtime. UCM <strong>of</strong>fer scenarios that<br />
express variability points explicitly while <strong>of</strong>fering much<br />
flexibility in ordering activities, which may be bound to<br />
components or not. The integration <strong>of</strong> GRL and UCM,<br />
combined with strategies and scenario definitions, and<br />
possibly with aspect-oriented concepts, emphasizes the<br />
importance <strong>of</strong> enabling dynamic choices in the service<br />
modeling and design phases in order to take into account<br />
contextual information and differentiated service<br />
availability requirements in dynamic service composition,<br />
which are key aspects <strong>of</strong> NGN services.<br />
VI. THE NEXT TEN YEARS<br />
The previous section proved that much development<br />
related to URN has happened in the past ten years. Yet,<br />
we expect the next ten years to be even more exciting in<br />
terms <strong>of</strong> the diversity <strong>of</strong> application domains for URN,<br />
and <strong>of</strong> new modeling and analysis features that will be<br />
emerging. In particular, we predict major developments<br />
in the following eight areas.<br />
A. Domain-Specific Pr<strong>of</strong>iles<br />
There will be a need to tailor and extend URN for<br />
specific application domains. The need for extensions<br />
was already raised on several occasions in the previous<br />
section, for instance in the areas <strong>of</strong> user interface<br />
engineering and testing. It has been observed for other<br />
domains as well, including the popular area <strong>of</strong> s<strong>of</strong>tware<br />
product lines [44], or emerging domains like home<br />
network systems [151].<br />
The URN standard already <strong>of</strong>fers mechanisms that,<br />
when combined, support the pr<strong>of</strong>iling <strong>of</strong> the language to a<br />
particular domain. 1) Metadata are name-value pairs that<br />
can be used to tag any URN element, similar to<br />
stereotypes in UML. 2) URN links can be used to specify<br />
relationships between any pair <strong>of</strong> URN elements. 3) URN<br />
concerns can be used to group any collection <strong>of</strong> URN<br />
elements (including other concerns). 4) OCL constraints<br />
can be defined to restrict the use <strong>of</strong> the language or <strong>of</strong> its<br />
extensions [24]. For example, a URN pr<strong>of</strong>ile for i* is<br />
defined and implemented in [18], demonstrating that<br />
URN can represent concepts and constraints found in<br />
another language.<br />
ITU-T is also inviting contributions on the definition<br />
<strong>of</strong> UML pr<strong>of</strong>iles for all its languages. Abid et al. have<br />
© 2011 ACADEMY PUBLISHER<br />
already defined a tool-supported UML pr<strong>of</strong>ile for<br />
GRL [3] (based on ITU-T guidelines). Molina et al. also<br />
proposed a UML pr<strong>of</strong>ile for measurable goal modeling<br />
(i.e., with indicators), with the GRL syntax as its concrete<br />
notation [131]. However, much work remains to be done<br />
to cover URN entirely. Progress in this direction may also<br />
cause the URN standard to include the capability <strong>of</strong><br />
creating pr<strong>of</strong>iles (including changing the shapes <strong>of</strong> some<br />
elements) as first-class entities.<br />
B. Enhanced Workflow Executions<br />
The URN standard defines advanced workflow<br />
operators (e.g., blocking stubs with threshold and<br />
replication factors) together with the corresponding<br />
traversal rules. However, at this time, no tool is currently<br />
supporting them at the analysis/simulation level.<br />
URN is also missing important constructs to specify<br />
properly cancellation scenarios and situations akin to<br />
exception handling. Mussbacher proposed the addition <strong>of</strong><br />
failure points and failure start points, which would enable<br />
the concise representation and analysis <strong>of</strong> cancellation<br />
situations [134]. This topic was actually adopted in a<br />
revised version <strong>of</strong> Recommendation Z.150 in February<br />
2011.<br />
These new operators will require proper tool support to<br />
be useful. In addition, tools could consider supporting<br />
other execution modes like debuggers, which would be<br />
useful during the analysis <strong>of</strong> workflow models.<br />
C. Performance Management<br />
The concept <strong>of</strong> indicator (KPI) is another addition<br />
being considered in the short term for the URN standard<br />
and recently adopted in the revised Recommendation<br />
Z.150. We have had over three years <strong>of</strong> experience with<br />
KPI in jUCMNav and numerous models [60][157], and<br />
they have quickly become an essential part <strong>of</strong> any<br />
description <strong>of</strong> business process or adaptive system in a<br />
performance management context.<br />
Dynamic adaptation <strong>of</strong> systems based on KPI is an<br />
exciting area <strong>of</strong> research that is expected to benefit from<br />
URN’s simultaneous support for goal modeling and<br />
scenario modeling. With KPI, real-world values may<br />
influence the evaluation <strong>of</strong> goal models and drive the<br />
simulation <strong>of</strong> what-if scenarios to guide and inform<br />
dynamic adaptation at run-time.<br />
There might however be a need for a more flexible<br />
definition <strong>of</strong> what a KPI is at the metamodel level. For<br />
example, the mapping <strong>of</strong> an observed value to a GRL<br />
satisfaction level could be done differently than the<br />
current simple linear correspondence. KPI in a model<br />
could also influence or contribute to each other, enabling<br />
the computation <strong>of</strong> aggregate KPI. Trends computed from<br />
external data sources could also be integrated in GRL<br />
models. Such improved KPI definitions are actually being<br />
explored in the Business Intelligence Model<br />
language [30], inspired partly from URN.<br />
D. Compliance Management<br />
The assessment <strong>of</strong> compliance <strong>of</strong> business goals and<br />
processes with laws and policies is also a domain where<br />
URN is expected to have an impact in the next ten years.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 761<br />
Following the initial work <strong>of</strong> Ghanavati et al. [76], there<br />
are still important challenges to be addressed, including<br />
the systematic extraction <strong>of</strong> URN models from textual<br />
laws and policies, and the prioritization <strong>of</strong> efforts to<br />
improve a partial degree <strong>of</strong> compliance. Other research<br />
questions include the potential need for deontic<br />
modalities (e.g., obligations, permissions, and<br />
interdictions) or Hohfeldian classes <strong>of</strong> rights in URN<br />
models <strong>of</strong> laws and policies [75], as well as the role <strong>of</strong><br />
indicators for measuring compliance [172].<br />
E. Formal Semantics<br />
URN has a formal description <strong>of</strong> its abstract syntax,<br />
but only a natural language description <strong>of</strong> its semantics in<br />
terms <strong>of</strong> rules constraining the propagation in GRL and<br />
the traversal <strong>of</strong> UCM paths. There is a need to reduce the<br />
number <strong>of</strong> semantic variation points (known and<br />
unknown) in the language. This could be done with a<br />
complete mapping to an underlying formalism. Many<br />
partial mappings were discussed in Section V.D, but<br />
complete mappings are much more difficult to achieve,<br />
especially if they are to span GRL and UCM. There<br />
might also be a way to provide a formal description in the<br />
form <strong>of</strong> a virtual machine describing the interpretation <strong>of</strong><br />
URN models.<br />
F. Improved Analysis Techniques<br />
There are many opportunities to add to the set <strong>of</strong><br />
analysis techniques currently used in URN. For example,<br />
the current GRL propagation algorithms based on<br />
strategies are mainly bottom-up, in a way similar to test<br />
cases. The availability <strong>of</strong> top-down algorithms would<br />
provide substantial benefits to many users, who would<br />
simply ask the model how to optimize one or several<br />
actors or intentional elements given an initial context.<br />
The main difficulty is usually that top-down algorithms<br />
correspond to a kind <strong>of</strong> search problem and are hence<br />
much more complex than bottom-up algorithms. Weiss<br />
and Mouratidis [193] have a mapping from GRL to<br />
Prolog that might help solve this issue. Okamura et<br />
al. [151] may also have elements <strong>of</strong> answers.<br />
The analysis <strong>of</strong> aspect-oriented GRL and UCM in<br />
AoURN is still an open issue [134], and this may even<br />
have an impact on how strategies and scenarios are<br />
defined in URN.<br />
Time extensions and analysis for UCM, as proposed by<br />
Hassine et al [85], are also relevant to URN and hence<br />
deserve some attention.<br />
Finally, from an analysis perspective, there is a need<br />
for a tighter integration between GRL and UCM, which<br />
could result in the combination <strong>of</strong> strategies and scenarios<br />
in one logical unit in the URN standard.<br />
G. Improved Model Representations<br />
Recent analyses <strong>of</strong> the graphical syntaxes <strong>of</strong> UCM by<br />
Genon et al. [72] and <strong>of</strong> i* by Moody et al. [133] reveal<br />
that there are many problems with the cognitive fitness <strong>of</strong><br />
the symbols used, and with the completeness <strong>of</strong> the<br />
language’s concrete syntax. For instance, performance<br />
annotations and stub bindings do not have any visual<br />
representation in URN. The concrete visual syntaxes<br />
© 2011 ACADEMY PUBLISHER<br />
could be reviewed and completed in the standard.<br />
Additional concrete syntaxes, such as textual or tabular<br />
for GRL graphs, also deserve to be explored.<br />
H. Guidelines and Methodologies<br />
Last but not least, there is currently a lack <strong>of</strong> guidelines<br />
and methodologies for URN modeling, both in isolation<br />
and in combination with other modeling languages. This<br />
was already raised as an issue for UCM in 2002 by<br />
Ölvingson et al. [149], and this is unfortunately still true<br />
to some extent today. A related challenge is the<br />
automated or semi-automated transformation <strong>of</strong> URN<br />
models to other modeling techniques. While many<br />
transformations have already been investigated in Section<br />
V.E, there is a need to revisit some <strong>of</strong> these<br />
transformations and new transformations to emerging<br />
modeling techniques in the light <strong>of</strong> recent technologies<br />
and applications such as AOM, domain-specific<br />
languages, dynamic adaptation <strong>of</strong> systems, and SOAbased<br />
systems. ITU-T also invites contributions to the<br />
definition <strong>of</strong> a URN-based methodology. Better<br />
guidelines and methodologies could have a strong impact<br />
on the adoption <strong>of</strong> URN in industry.<br />
VII. CONCLUSIONS<br />
This paper reports on a systematic literature survey<br />
about the development <strong>of</strong> the User Requirements<br />
Notation. Section II first gives an overview <strong>of</strong> the<br />
notation and typical analysis techniques, followed by a<br />
discussion <strong>of</strong> the origins <strong>of</strong> URN in the 1990’s. In<br />
Section IV, the analysis <strong>of</strong> the 281 papers selected for this<br />
study reveals that URN is a growing, global language,<br />
both in terms <strong>of</strong> contributors and users.<br />
In section V, we introduce and commented on 17<br />
categories <strong>of</strong> contributions to URN during its first ten<br />
years. This period is mainly characterized as follows:<br />
• Simple formalization <strong>of</strong> URN in terms <strong>of</strong> abstract<br />
and concrete syntaxes;<br />
• The definition <strong>of</strong> analysis techniques such as<br />
GRL strategies with forward propagation and<br />
UCM scenario definitions with a path traversal<br />
mechanism;<br />
• The completion <strong>of</strong> a first version <strong>of</strong> the URN<br />
standard;<br />
• Simple combinations <strong>of</strong> GRL and UCM in<br />
models, with traceability, completeness, and<br />
consistency analysis, and with GRL strategies<br />
and UCM scenarios that can influence each<br />
others;<br />
• Emerging techniques for the analysis <strong>of</strong> feature<br />
interactions, performance, and architectures;<br />
• The availability <strong>of</strong> open-source, Eclipse-based<br />
tool support (jUCMNav);<br />
• A multitude <strong>of</strong> application domains explored,<br />
mainly related to telecommunication systems and<br />
reactive systems at the beginning, and later<br />
mainly related to business processes and aspectoriented<br />
modeling;<br />
• Many formalizations and transformations also<br />
explored.
762 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
We believe that the next ten years <strong>of</strong> URN<br />
development will be even more active than the first ten<br />
and will focus on the major topics identified in Section<br />
VI, including domain-specific pr<strong>of</strong>iles, enhanced<br />
workflow executions, performance and compliance<br />
management, formal semantics, improved analysis<br />
techniques and model representations, and guidelines and<br />
methodologies.<br />
We hope this survey paper represents a useful one-stop<br />
document for URN beginners and experts alike. We also<br />
take the opportunity to invite users and other interested<br />
parties to get actively involved in future developments <strong>of</strong><br />
the User Requirements Notation.<br />
ACKNOWLEDGMENT<br />
The authors wish to thank the many people who have<br />
contributed to the success <strong>of</strong> the User Requirements<br />
Notation over the years, with special thanks to C.M.<br />
Woodside and T. Gray for comments on an earlier draft<br />
<strong>of</strong> this paper. This work was supported in part by the<br />
Discovery grants and Postgraduate Scholarships<br />
programs from NSERC (Canada) and by the Ontario<br />
Graduate Scholarship Program.<br />
REFERENCES<br />
[1] T. Abdelaziz, Towards a Comprehensive Agent-Oriented<br />
S<strong>of</strong>tware Engineering Methodology, Doctoral<br />
Dissertation, Universität Duisburg-Essen, Germany,<br />
October 2008<br />
[2] T. Abdelaziz, M. Elammari, and R. Unland, “Visualizing<br />
a Multiagent-Based Medical Diagnosis System Using a<br />
Methodology Based on Use Case Maps”, in MATES<br />
2004: multiagent system technologies, LNCS 3187,<br />
Springer, pp. 198–212, 2004. doi:10.1007/978-3-540-<br />
30082-3_15<br />
[3] M.R. Abid, D. Amyot, S.S. Somé, and G. Mussbacher, “A<br />
UML Pr<strong>of</strong>ile for Goal-Oriented Modeling”, in SDL 2009:<br />
Design for Motes and Mobiles, 14th Int. SDL Forum,<br />
LNCS 5719, Springer, pp. 133–148, September 2009.<br />
doi:10.1007/978-3-642-04554-7_9<br />
[4] G. Adamis, R. Horváth, Z. Pap, and K. Tarnay,<br />
“Standardized languages for telecommunication systems”.<br />
Computer Standards & Interfaces, 27(3), Elsevier, pp.<br />
191–205, March 2005. doi:10.1016/j.csi.2004.09.005<br />
[5] C.P. Ayala, C. Cares, J.P. Carvallo, G. Grau, M. Haya, G.<br />
Salazar, X. Franch, E. Mayol, and C. Quer, “A<br />
Comparative Analysis <strong>of</strong> i*-Based Goal-Oriented<br />
Modelling Languages”, in Int. Workshop on Agent-<br />
Oriented S<strong>of</strong>tware Development Methodologies (AOSDM<br />
@SEKE), Taipei, China, pp. 43–50, July 2005<br />
[6] A. Alsumait, User Interface Requirements Engineering: A<br />
Scenario-Based Framework. Ph.D. thesis, Concordia<br />
University, Canada, August 2004.<br />
[7] A. Alsumait, A. Seffah, and T. Radhakrishnan, “Use Case<br />
Maps: A Roadmap for Usability and S<strong>of</strong>tware Integrated<br />
Specification”, in 17th World Computer Congress - TC13<br />
Stream on Usability, IFIP, pp. 119–131, August 2002,<br />
[8] D. Amyot, Specification and Validation <strong>of</strong> Telecommunications<br />
Systems with Use Case Maps and LOTOS. Ph.D.<br />
thesis, SITE, University <strong>of</strong> Ottawa, Canada, Sept. 2001.<br />
[9] D. Amyot, “Introduction to the User Requirements<br />
Notation: Learning by Example”. Computer Networks,<br />
© 2011 ACADEMY PUBLISHER<br />
42(3), pp. 285–301, June 2003. doi:10.1016/S1389-<br />
1286(03)00244-5<br />
[10] D. Amyot and R. Andrade, “Description <strong>of</strong> Wireless<br />
Intelligent Network Services with Use Case Maps”, in<br />
17th Brazilian Symposium on Computer Networks<br />
(SBRC'99), Salvador, Brazil, pp. 418–433, May 1999.<br />
[11] D. Amyot, R. Andrade, L. Logrippo, J. Sincennes, and Z.<br />
Yi, “Formal Methods for Mobility Standards”, in IEEE<br />
1999 Emerging Technology Symposium on Wireless<br />
Communications & Systems, Dallas, USA, pp. 14.1–14.7,<br />
April 1999. doi:10.1109/ETWCS.1999.897332<br />
[12] D. Amyot, H. Becha, R. Bræk, and J.E.Y. Rossebø, “Next<br />
Generation Service Engineering”, in ITU-T Innovations in<br />
NGN - Kaleidoscope Academic Conference, Geneva,<br />
Switzerland, pp. 195–202, May 2008. doi:10.1109/<br />
KINGN.2008.4542266<br />
[13] D. Amyot, F. Bordeleau, R.J.A. Buhr, and L. Logrippo,<br />
“Formal support for design techniques: a Timethreads-<br />
LOTOS approach”, in FORTE VIII, 8th Int. Conf. on<br />
Formal Description Techniques, Chapman & Hall, pp.<br />
57–72, 1995.<br />
[14] D. Amyot, L. Charfi, N. Gorse, T. Gray, L. Logrippo, J.<br />
Sincennes, B. Stepien, and T. Ware, “Feature Description<br />
and Feature Interaction Analysis with Use Case Maps and<br />
LOTOS”, in Sixth International Workshop on Feature<br />
Interactions in Telecommunications and S<strong>of</strong>tware Systems<br />
(FIW'00), IOS Press, pp. 274–289, May 2000.<br />
[15] D. Amyot, D.Y. Cho, X. He, and Y. He, “Generating<br />
Scenarios from Use Case Map Specifications”, in Third<br />
Int. Conf. on Quality S<strong>of</strong>tware (QSIC'03), IEEE CS, pp.<br />
108–115, Nov. 2003. doi:10.1109/QSIC.2003.1319092<br />
[16] D. Amyot and A. Eberlein, “An Evaluation <strong>of</strong> Scenario<br />
Notations and Construction Approaches for<br />
Telecommunication”. Telecommunications Systems<br />
<strong>Journal</strong>, 24(1), Kluwer, pp. 61–94, September 2003.<br />
doi:10.1023/A:1025890110119<br />
[17] D. Amyot, S. Ghanavati, J. Hork<strong>of</strong>f, G. Mussbacher, L.<br />
Peyton, and E. Yu, “Evaluating Goal Models within the<br />
Goal-oriented Requirement Language”. Int. <strong>Journal</strong> <strong>of</strong><br />
Intelligent Systems, 25(8), Wiley, pp. 841–877, August<br />
2010. doi:10.1002/int.20433<br />
[18] D. Amyot, J. Hork<strong>of</strong>f, D. Gross, and G. Mussbacher, “A<br />
Lightweight GRL Pr<strong>of</strong>ile for i* Modeling”, in 3rd Int.<br />
Work. on Requirements, Intentions and Goals in<br />
Conceptual Modeling (RIGiM 2009), LNCS 5833,<br />
Springer, pp. 254–264, Nov. 2009. doi:10.1002/int.20433<br />
[19] D. Amyot, M. Mussbacher, and N. Mansurov,<br />
“Understanding Existing S<strong>of</strong>tware with Use Case Map<br />
Scenarios”, in 3 rd SDL and MSC Workshop (SAM02),<br />
LNCS 2599, Springer, pp. 124–140, June 2002.<br />
doi:10.1007/3-540-36573-7_9<br />
[20] D. Amyot and L. Logrippo, “Use Case Maps and LOTOS<br />
for the Prototyping and Validation <strong>of</strong> a Mobile Group Call<br />
System”. Computer Communications, 23(12), pp. 1135–<br />
1157, July 2000. doi:10.1016/S0140-3664(99)00242-X<br />
[21] D. Amyot, L. Logrippo, R.J.A. Buhr, and T. Gray, “Use<br />
Case Maps for the Capture and Validation <strong>of</strong> Distributed<br />
Systems Requirements”, in Fourth Int. Symposium on<br />
Requirements Engineering (RE'99), IEEE CS, pp. 44–53,<br />
June 1999. doi:10.1109/ISRE.1999.777984<br />
[22] D. Amyot, J.-F. Roy, and M. Weiss, “UCM-Driven<br />
Testing <strong>of</strong> Web Applications”, in 12th SDL Forum (SDL<br />
2005), LNCS 3530, Springer, pp. 247–264, June 2005.<br />
doi:10.1007/11506843_18<br />
[23] D. Amyot, M. Weiss, and L. Logrippo, “Generation <strong>of</strong><br />
Test Purposes from Use Case Maps”. Computer
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 763<br />
Networks, 49(5), Elsevier, pp. 643–660, December 2005.<br />
doi:10.1016/j.comnet.2005.05.006<br />
[24] D. Amyot and J.B. Yan, “Flexible Verification <strong>of</strong> User-<br />
Defined Semantic Constraints in Modelling Tools”, in<br />
18th Int. Conf. <strong>of</strong> Computer Science and S<strong>of</strong>tware<br />
Engineering (CASCON), IBM CAS, October 2008.<br />
doi:10.1145/1463788.1463798<br />
[25] R. Andrade, Capture, Reuse, and Validation <strong>of</strong><br />
Requirements and Analysis Patterns for Mobile Systems.<br />
Ph.D. thesis, SITE, Univ. <strong>of</strong> Ottawa, Canada, May 2001.<br />
[26] R. Andrade and L. Logrippo, “Reusability at the Early<br />
Development Stages <strong>of</strong> the Mobile Wireless<br />
Communication Systems”, in 4th World Multiconference<br />
on Systemics, Cybernetics and Informatics (SCI 2000),<br />
IIIS, Orlando, USA, pp. 11–16, July 2000.<br />
[27] R. Andrade, W. Viana, and D.P. Menezes, “A high-level<br />
application framework for mobile system development:<br />
IMT-2000 case study”, in 9th Int. Conf. on<br />
Telecommunications, IEEE, Beijing, China, pp. 321–325,<br />
June 2002.<br />
[28] P. Araya and H. Antillanca, “Una metodología de agents”,<br />
in 1er. Workshop Chileno de Ingeniería de S<strong>of</strong>tware,<br />
Punta Arenas, Chile, November 2001.<br />
[29] D. Arnold, J.-P. Corriveau, and W. Shi, “Scenario-Based<br />
Validation: Beyond the User Requirements Notation”, in<br />
21st Australian S<strong>of</strong>tware Engineering Conf. (ASWEC<br />
2010), IEEE CS, pp 75–84, April 2010. doi:10.1109/<br />
ASWEC.2010.29<br />
[30] D. Barone, E. Yu, J. Won, L. Jiang, and J. Mylopoulos,<br />
“Enterprise Modeling for Business Intelligence”, in The<br />
Practice <strong>of</strong> Enterprise Modeling, LNBIP 68, Springer, pp.<br />
31–45, 2010. doi:10.1007/978-3-642-16782-9_3<br />
[31] H. Becha, G. Mussbacher, and D. Amyot, “Modeling and<br />
Analyzing Non-Functional Requirements in Service<br />
Oriented Architecture with the User Requirements<br />
Notation”. Non-functional Properties in Service Oriented<br />
Architecture: Requirements, Models and Methods, IGI<br />
Global, USA, pp. 48–72, 2011. doi:10.4018/978-1-60566-<br />
794-2.ch003<br />
[32] S.A. Behnam, D. Amyot, and G. Mussbacher, “Towards a<br />
Pattern-Based Framework for Goal-Driven Business<br />
Process Modeling”, in 8th Int. Conf. on S<strong>of</strong>tware<br />
Engineering Research, Management and Applications<br />
(SERA2010), IEEE CS, pp. 137–145, May 2010.<br />
doi:10.1109/SERA.2010.27<br />
[33] E.A. Billard, “Operating system scenarios as Use Case<br />
Maps”, in Fourth Int. Work. on S<strong>of</strong>tware and<br />
Performance (WOSP 2004), ACM Press, pp. 266–277,<br />
January 2004. doi:10.1145/974044.974087<br />
[34] E.A. Billard, “Patterns <strong>of</strong> agent interaction scenarios as<br />
Use Case Maps”. IEEE Transactions on Systems, Man<br />
and Cybernetics, 24B:4, pp. 1933–1939, August 2004.<br />
doi:10.1109/TSMCB.2004.828192<br />
[35] G. Birkh<strong>of</strong>f, Lattice theory. American Mathematical<br />
Society, 1967.<br />
[36] S.J. Bleistein, K. Cox, and J. Verner, “Requirements<br />
Engineering for e-Business Systems: Integrating Jackson<br />
Problem Diagrams with Goal Modeling and BPM”, in<br />
11th Asia Pacific S<strong>of</strong>tware Engineering Conference<br />
(APSEC 2004), IEEE CS, pp. 410–417, November 2004.<br />
doi:10.1109/APSEC.2004.84<br />
[37] S.J. Bleistein, K., Cox, J. Verner, and K.T. Phalp,<br />
“Requirements engineering for e-business advantage”,<br />
Requirements Engineering, 11(1), pp. 4–16, March 2006.<br />
doi:10.1007/s00766-005-0012-7<br />
© 2011 ACADEMY PUBLISHER<br />
[38] E. Börger and R. Stärk, Abstract State Machines: A<br />
Method for High-Level System Design and Analysis.<br />
Springer-Verlag, 2003.<br />
[39] F. Bordeleau, A Systematic and Traceable Progression<br />
from Scenario Models to Communicating Hierarchical<br />
State Machines. Ph.D. thesis, SCE Dept., Carleton<br />
University, Canada, December 1999.<br />
[40] F. Bordeleau and R.J.A. Buhr, “The UCM-ROOM Design<br />
Method: from Use Case Maps to Communicating State<br />
Machines”, in Conf. on the Engineering <strong>of</strong> Computer-<br />
Based Systems (ECBS), pp. 167–179, March 1997.<br />
doi:10.1109/ECBS.1997.581850<br />
[41] F. Bordeleau and D. Cameron, “On the Relationship<br />
between Use Case Maps and Message Sequence Charts”,<br />
in 2nd Workshop on SDL and MSC (SAM 2000),<br />
Grenoble, France, pp. 123–138, June 2000.<br />
[42] F. Bordeleau, J.-P. Corriveau, and B. Selic, “A Scenario-<br />
Based Approach to Hierarchical State Machine Design”,<br />
in ISORC 2000: 3rd IEEE Int. Symp. on Object-Oriented<br />
Real-time distributed Computing, IEEE CS, pp. 78–85,<br />
March 2000. doi:10.1109/ISORC.2000.839514<br />
[43] P. Brereton, B.A. Kitchenham, D. Budgen, M. Turner,<br />
and M. Khalil, “Lessons from applying the systematic<br />
literature review process within the s<strong>of</strong>tware engineering<br />
domain”. J. <strong>of</strong> Systems and S<strong>of</strong>tware, 80(4), pp. 571–583,<br />
April 2007. doi:10.1016/j.jss.2006.07.009<br />
[44] J. Brown, R. Gawley, I. Spence, P. Kilpatrick, C. Gillan,<br />
and R Bashroush, “Requirements Modelling and Design<br />
Notations for S<strong>of</strong>tware Product Lines”, in First Int.<br />
Workshop on Variability Modelling <strong>of</strong> S<strong>of</strong>tware-intensive<br />
Systems (VaMoS), Limerick, Ireland, January 2007.<br />
[45] H. de Bruin, “A Grey-Box Approach to Component<br />
Composition”, in Generative and Component-Based<br />
S<strong>of</strong>tware Engineering (GCSE 99), pp. 195–209, 1999.<br />
[46] R.J.A. Buhr, “Use Case Maps for Attributing Behaviour<br />
to System Architecture”, in Fourth Int. Work. on Parallel<br />
and Distributed Real Time Systems (WPDRTS), pp. 3–10,<br />
1996.<br />
[47] R.J.A. Buhr, “Design Patterns at Different Scales”, in<br />
Pattern Languages <strong>of</strong> Programs (PLoP96), June 1996.<br />
[48] R.J.A. Buhr, “A Possible Design Notation for Aspect<br />
Oriented Programming”, in ECOOP Workshop on Aspect<br />
Oriented Programming, Brussels, Belgium, July 1998.<br />
[49] R.J.A. Buhr, “Use Case Maps as Architectural Entities for<br />
Complex Systems”. IEEE Transactions on S<strong>of</strong>tware<br />
Engineering, 24(12), pp. 1131–1155, December 1998.<br />
doi:10.1109/32.738343<br />
[50] R.J.A. Buhr, “Understanding Macroscopic Behaviour<br />
Patterns in Object-Oriented Frameworks, with Use Case<br />
Maps (chapter 18)”. Building Application Frameworks:<br />
Object-Oriented Foundations <strong>of</strong> Framework Design,<br />
Wiley, pp. 415–440, September 1999.<br />
[51] R.J.A. Buhr, D. Amyot, M. Elammari, D. Quesnel, T.<br />
Gray, and S. Mankovski, “Feature-Interaction Visualization<br />
and Resolution in an Agent Environment”, in Fifth<br />
Int. Work. on Feature Interactions in Telecommunications<br />
and S<strong>of</strong>tware Systems (FIW'98), IOS Press, pp. 135–149,<br />
July 1998.<br />
[52] R.J.A. Buhr and R.S. Casselman, Use Case Maps for<br />
Object-Oriented Systems. Prentice-Hall, November 1995.<br />
[53] G. Bush, S. Cranefield, and M.K. Purvis, “The Styx agent<br />
methodology”. Information Science Discussion Paper<br />
Series, 2001/02, University <strong>of</strong> Otago, New Zealand, 2001.<br />
[54] Z. Cai and E.Yu, “Addressing Performance Requirements<br />
Using a Goal and Scenario-Oriented Approach”, in<br />
CAISE'02: 14th Int. Conf. on Advanced Information
764 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Systems Engineering, LNCS 2348, Springer, pp. 706–710,<br />
May 2002. doi:10.1007/3-540-47961-9<br />
[55] M. Calder, M. Kolberg, E.H. Magill, and S. Reiff-<br />
Marganiec, “Feature interaction: a critical review and<br />
considered forecast”. Computer Networks, 41, pp. 115–<br />
141, 2003.<br />
[56] R.S. Casselman, A Role-Based Architectural Model<br />
Applied to Object-Oriented Systems. Master’s thesis, SCE<br />
Dept., Carleton University, Canada, August 1993.<br />
[57] H.N. Castejón Martínez, “Synthesizing State-Machine<br />
Behaviour from UML Collaborations and Use Case<br />
Maps”, in 12th SDL Forum (SDL 2005), LNCS 3530,<br />
Springer, pp. 339–359, June 2005. doi:10.1007/<br />
11506843_24<br />
[58] H.N. Castejón, Collaborations in Service Engineering:<br />
Modeling, Analysis and Execution. Ph.D. thesis, Dept. <strong>of</strong><br />
Telematics, NTNU, Norway, November 2008.<br />
[59] L. Charfi, Formal Modeling and Test Generation<br />
Automation with Use Case Maps and LOTOS. M.Sc.<br />
thesis, SITE, University <strong>of</strong> Ottawa, Canada, Feb. 2001.<br />
[60] P. Chen, Goal-Oriented Business Process Monitoring: An<br />
Approach based on User Requirement Notation combined<br />
with Business Intelligence and Web Services. M.Sc.<br />
thesis, SCS Dept., Carleton University, Canada,<br />
December 2007.<br />
[61] J. Cheng, L. Yang, Y.-J. Kuai, and D.-F. Zhang, “Nondeterministic<br />
feature interaction filtering method based on<br />
scenarios with Use Case Map” (基于用例图呼叫处理场景的不<br />
确定性冲突过滤方法), Hunan Daxue Xuebao / <strong>Journal</strong> <strong>of</strong><br />
Hunan University Natural Sciences, 32(2), pp. 104–109,<br />
April 2005.<br />
[62] L. Chung, B.A. Nixon, E. Yu, and J. Mylopoulos, Non-<br />
Functional Requirements in S<strong>of</strong>tware Engineering.<br />
Kluwer Academic <strong>Publisher</strong>, 2000.<br />
[63] L. Constantine and L. Lockwood, S<strong>of</strong>tware for Use: A<br />
Practical Guide to the Models and Methods <strong>of</strong> User-<br />
Centered Design. Addison-Wesley, April 1999.<br />
[64] H. de Bruin, “Scenario-Based Analysis <strong>of</strong> Component<br />
Compositions”, in Generative and Component-Based<br />
S<strong>of</strong>tware Engineering (GCSE'00), LNCS 2177, Springer,<br />
pp. 129–146, Oct. 2000. doi:10.1007/3-540-44815-2_10<br />
[65] H. de Bruin and H. van Vliet, “Quality-Driven S<strong>of</strong>tware<br />
Architecture Composition”. <strong>Journal</strong> <strong>of</strong> Systems and<br />
S<strong>of</strong>tware, 66(3), Elsevier, pp. 269–284, June 2003.<br />
doi:10.1016/S0164-1212(02)00079-1<br />
[66] J.A. Díaz-Pace, J.P. Carlino, M. Blech, A. Soria, and<br />
M.R. Campo, “Assisting the Synchronization <strong>of</strong> UCMbased<br />
Architectural Documentation with<br />
Implementation”, in IEEE/IFIP Conf. on S<strong>of</strong>tware<br />
Architecture and European Conference on S<strong>of</strong>tware<br />
Architecture (WICSA/ECSA 2009), IEEE CS, pp. 151–<br />
160, September 2009. doi:10.1109/WICSA.2009.5290801<br />
[67] C. Dongmo and J. A. van der Poll, “Use Case Maps as an<br />
Aid in the Construction <strong>of</strong> a Formal Specification”, in 7th<br />
Int. Workshop on Modelling, Simulation, Verification and<br />
Validation <strong>of</strong> Enterprise Information Systems (MSVVEIS-<br />
2009), INSTICC Press, pp. 3–13, May 2009.<br />
[68] M. Elammari and W. Lalonde, “An agent-oriented<br />
methodology: High-level and intermediate models”, in<br />
Proc. 1st Int. Workshop on Agent-Oriented Information<br />
Systems, Seattle, USA, June 1999.<br />
[69] Y. Feng and L.-S. Lee, “The Importance Analysis <strong>of</strong> Use<br />
Case Map with Markov Chains”. Int. J. <strong>of</strong> Computer<br />
Science and Information Security (IJCSIS), 7(1), pp. 55–<br />
62, January 2010. arXiv:1002.1692v1<br />
[70] E. Folmer, J. van Gurp, and J. Bosch, “Scenario-based<br />
Assessment <strong>of</strong> S<strong>of</strong>tware Architecture Usability”, in Work.<br />
© 2011 ACADEMY PUBLISHER<br />
on Bridging the Gaps Between S<strong>of</strong>tware Engineering and<br />
Human-Computer Interaction (SE-HCI), IFIP, pp. 61–68,<br />
May 2003.<br />
[71] Y. Gao, Import/Export <strong>of</strong> URN Models in Z.151 XML File<br />
Format with jUCMNav. M.Sc. project, SITE, University<br />
<strong>of</strong> Ottawa, Canada, January 2010.<br />
[72] N. Genon, D. Amyot, and P. Heymans, “Analysing the<br />
Cognitive Effectiveness <strong>of</strong> the UCM Visual Notation”, in<br />
6th Workshop on System Analysis and Modelling (SAM<br />
2010), LNCS, Springer, October 2010 (to appear).<br />
[73] S. Ghanavati, A Compliance Framework for Business<br />
Processes Based on URN. M.Sc. thesis, SYS, University<br />
<strong>of</strong> Ottawa, Canada, May 2007.<br />
[74] S. Ghanavati, D. Amyot, and L. Peyton, “Towards a<br />
Framework for Tracking Legal Compliance in<br />
Healthcare”, in 19th Int. Conf. on Advanced Information<br />
Systems Engineering (CAiSE'07), LNCS 44495, Springer,<br />
pp. 218–232, June 2007. doi:10.1007/978-3-540-72988-<br />
4_16<br />
[75] S. Ghanavati, D. Amyot, A. Siena, A. Perini, and A. Susi,<br />
“Towards a Framework for Business Process<br />
Compliance”, in Int. Workshop on Goal-based Business<br />
Process Engineering (WGBP 2010), IEEE CS, pp. 330–<br />
334, October 2010. doi:10.1109/EDOCW.2010.46<br />
[76] S. Ghanavati, A. Siena, D. Amyot, A. Perini, L. Peyton,<br />
and A. Susi, “Integrating Business Strategies with<br />
Requirement Models <strong>of</strong> Legal Compliance”. Int. J. <strong>of</strong><br />
Electronic Business, Inderscience <strong>Publisher</strong>s, pp. 260–<br />
280, 2010. doi:10.1504/IJEB.2010.034171<br />
[77] J. Gordijn and J.M. Akkermans, “Value-based<br />
Requirements Engineering Exploring Innovative e-<br />
Commerce Ideas”. Requirements Engineering, 8(2),<br />
Springer, pp. 114–134, 2003. doi:10.1007/s00766-003-<br />
0169-x<br />
[78] J. Gordijn, Value-based Requirements Engineering<br />
Exploring Innovative e-Commerce Ideas. Ph.D. thesis,<br />
Vrije Universiteit, Amsterdam, The Netherlands, June<br />
2002. doi:10.1007/s00766-003-0169-x<br />
[79] J. Gordijn and J.C. van Vliet, “Integral Design <strong>of</strong> E-<br />
Commerce Systems: Aligning the Business with S<strong>of</strong>tware<br />
Architecture through Scenarios”, in ICT-Architecture in<br />
the BeNeLux (ICT 1999), 1999.<br />
[80] N. Gorse, The Feature Interaction Problem: Automatic<br />
Filtering <strong>of</strong> Incoherences & Generation <strong>of</strong> Validation Test<br />
Suites at the Design Stage. M.Sc. thesis, SITE, University<br />
<strong>of</strong> Ottawa, Canada, September 2001.<br />
[81] D. Gross and E.S.K. Yu, “From Non-Functional<br />
Requirements to Design through Patterns”. Requirements<br />
Engineering, 6(1), Springer, pp. 18–36, 2001.<br />
[82] R. Guan, From Requirements to Scenarios through<br />
Specifications: A Translation Procedure from Use Case<br />
Maps to LOTOS. M.Sc. thesis, SITE, University <strong>of</strong><br />
Ottawa, Canada, September 2002.<br />
[83] A. Hamou-Lhadj, E. Braun, D. Amyot, and T. Lethbridge,<br />
“Recovering Behavioral Design Models from Execution<br />
Traces”, in 9 th European Conf. on S<strong>of</strong>tware Maintenance<br />
and Reengineering (CSMR), IEEE CS, pp. 112–121,<br />
March 2005. doi:10.1109/CSMR.2005.46<br />
[84] J. Hassine, Feature Interaction Filtering and Detection<br />
with Use Case Maps and LOTOS. M.Sc. thesis, SITE,<br />
University <strong>of</strong> Ottawa, Canada, February 2001.<br />
[85] J. Hassine, Formal Semantics and Verification <strong>of</strong> Use<br />
Case Maps. Ph.D. thesis, CSCE dept., Concordia<br />
University, Canada, April 2008.<br />
[86] J. Hassine, “AsmL-Based Concurrency Semantic<br />
Variations for Timed Use Case Maps”, in Abstract State<br />
Machines, Alloy, B and Z (ABZ 2010), LNCS 5977,
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 765<br />
Springer, pp. 34–36, 2010. doi:10.1007/978-3-642-11811-<br />
1_4<br />
[87] J. Hassine, “Early Schedulability Analysis with Timed<br />
Use Case Maps”, in SDL 2009: Design for Motes and<br />
Mobiles, 14th Int. SDL Forum, LNCS 5719, Springer, pp.<br />
98–114, Sept. 2009. doi:10.1007/978-3-642-04554-7_7<br />
[88] J. Hassine, J. Rilling, and R. Dssouli, “An ASM<br />
Operational Semantics for Use Case Maps”, in 13th IEEE<br />
Int. Requirement Engineering Conf. (RE05), IEEE CS, pp.<br />
467–468, September 2005. doi:10.1109/RE.2005.10<br />
[89] J. Hassine, J. Rilling, and R. Dssouli, “Timed Use Case<br />
Maps”, in SAM 2006: Language Pr<strong>of</strong>iles - Fifth<br />
Workshop on System Analysis and Modelling, LNCS<br />
4320, Springer, pp. 99–114, 2006. doi:10.1007/<br />
11951148_7<br />
[90] J. Hassine, J. Rilling and R. Dssouli, “Formal Verification<br />
<strong>of</strong> Use Case Maps with Real Time Extensions”, in SDL-<br />
Forum 2007, LNCS 4745, Springer, pp. 225–241, 2007.<br />
doi:10.1007/978-3-540-74984-4_14<br />
[91] J. Hassine, J. Rilling, and R. Dssouli, “Use Case Maps as<br />
a property specification language”, S<strong>of</strong>tware and Systems<br />
Modeling, 8(2), pp. 205–220, 2009. doi:10.1007/s10270-<br />
007-0076-6<br />
[92] J. Hassine, J. Rilling, and R. Dssouli, “An evaluation <strong>of</strong><br />
timed scenario notations”. <strong>Journal</strong> <strong>of</strong> Systems and<br />
S<strong>of</strong>tware, 83(2), pp. 326–350, 2010. doi:10.1016/<br />
j.jss.2009.09.014<br />
[93] Y. He, D. Amyot, and A. Williams, “Synthesizing SDL<br />
from Use Case Maps: An Experiment”, in 11th SDL<br />
Forum (SDL'03), LNCS 2708, Springer, pp. 117–136,<br />
July 2003. doi:10.1007/3-540-45075-0_7<br />
[94] J. Hewitt and J. Rilling, “A Light-Weight Proactive<br />
S<strong>of</strong>tware Change Impact Analysis Using Use Case<br />
Maps”, in IEEE Int. Workshop on S<strong>of</strong>tware Evolvability,<br />
IEEE CS, pp. 41–46, 2005. doi:10.1109/IWSE.2005.1<br />
[95] P. Heymans, G. Saval, G. Dallons, and I. Pollet, “Chapter<br />
VIII: A Template-Based Analysis <strong>of</strong> GRL”. Advanced<br />
Topics in Database Research, IGI Publishing, pp. 124–<br />
147, 2006. doi:10.4018/978-1-59140-935-9.ch008<br />
[96] J. Hodges and J. Visser, “Accelerating Wireless<br />
Intelligent Network Standards Through Formal<br />
Techniques”, in IEEE 1999 Vehicular Technology<br />
Conference, IEEE CS, pp. 737–742, 1999.<br />
doi:10.1109/VETEC.1999.778276<br />
[97] i* Wiki, http://istar.rwth-aachen.de/ (last accessed: July<br />
12, 2010).<br />
[98] IBM, Rational DOORS, USA, November 2010.<br />
http://www.ibm.com/s<strong>of</strong>tware/awdtools/doors/<br />
[99] ISO, Information Processing Systems, Open Systems<br />
Interconnection, LOTOS — A Formal Description<br />
Technique Based on the Temporal Ordering <strong>of</strong><br />
Observational Behaviour. IS 8807, 1989.<br />
[100] ITU-T, Recommendation I.130 (11/88), Method for the<br />
characterization <strong>of</strong> telecommunication services supported<br />
by an ISDN and network capabilities <strong>of</strong> an ISDN.<br />
November 1988.<br />
[101] ITU-T, Recommendation M.3020 (07/07), Management<br />
interface specification methodology. July 2007.<br />
[102] ITU-T, Recommendation Z.100 (11/07), Specification and<br />
Description Language. November 2007.<br />
[103] ITU-T, Recommendation Z.111 (11/08), Notations to<br />
Define ITU-T Languages. November 2008.<br />
[104] ITU-T, Recommendation Z.120 (04/04), Message<br />
Sequence Chart (MSC). April 2004.<br />
[105] ITU-T, Recommendation Z.150 (02/03), User<br />
Requirements Notation (URN) – Language Requirements<br />
and Framework. February 2003.<br />
© 2011 ACADEMY PUBLISHER<br />
[106] ITU-T, Recommendation Z.151 (11/08), User<br />
Requirements Notation (URN) – Language definition.<br />
November 2008. http://www.itu.int/rec/T-REC-Z.151/en<br />
[107] M. Jackson, Problem Frames: Analyzing and Structuring<br />
S<strong>of</strong>tware Development Problem. Addison-Wesley, 2001.<br />
[108] S. Jaskó, T. Dulaia, D. Muhia, and K. Tarnaya, “Test<br />
aspect <strong>of</strong> requirement specification”. Computer Standards<br />
& Interfaces, 32(1-2), pp. 1–9, January 2010.<br />
doi:10.1016/j.csi.2008.12.005<br />
[109] B. Jiang, Combining Graphical Scenarios with a<br />
Requirements Management System. M.Sc. thesis, SITE,<br />
University <strong>of</strong> Ottawa, Canada, June 2005.<br />
[110] jUCMNav 4.3, University <strong>of</strong> Ottawa, Canada, September<br />
2010. http://jucmnav.s<strong>of</strong>twareengineering.ca/jucmnav<br />
[111] C. Kaewkasi and W. Rivepiboon, “WWM: a practical<br />
methodology for Web application modeling”, in 26th<br />
Annual Int. Computer S<strong>of</strong>tware and Applications Conf.<br />
(COMPSAC 2002), IEEE CS, pp. 603–608, August 2002.<br />
doi:10.1109/CMPSAC.2002.1045070<br />
[112] P. Karpati, G. Sindre and A.L. Opdahl, “Visualizing<br />
Cyber Attacks with Misuse Case Maps”, in 16th Int.<br />
Working Conf. on Requirements Engineering: Foundation<br />
for S<strong>of</strong>tware Quality (REFSQ 2010), LNCS 6182,<br />
Springer, pp. 262–275, June 2010. doi:10.1007/978-3-<br />
642-14192-8_24<br />
[113] R. Kazman and S.J. Carrière, “Playing Detective:<br />
Reconstructing S<strong>of</strong>tware Architecture from Available<br />
Evidence”. Automated S<strong>of</strong>tware Engineering, 6(2), pp.<br />
107–138, 1999. doi:10.1023/A:1008781513258<br />
[114] J. Kealey, Enhanced Use Case Map Analysis and<br />
Transformation Tooling. M.Sc. thesis, SITE, University<br />
<strong>of</strong> Ottawa, Canada, September 2007.<br />
[115] J. Kealey and D. Amyot, “Enhanced Use Case Map<br />
Traversal Semantics”, in 13th SDL Forum (SDL'07),<br />
LNCS 4745, Springer, pp. 133–149, September 2007.<br />
doi:10.1007/978-3-540-74984-4_9<br />
[116] J. Kealey, Y. Kim, D. Amyot, and G. Mussbacher,<br />
“Integrating an Eclipse-Based Scenario Modeling<br />
Environment with a Requirements Management System”,<br />
in 2006 IEEE Canadian Conf. on Electrical and<br />
Computer Engineering (CCECE06), IEEE CS, pp. 2432–<br />
2435, May 2006.<br />
[117] J. Kealey, E. Tremblay, J.-P. Daigle, J. McManus, O.<br />
Clift-Noël, and D. Amyot, “jUCMNav: une nouvelle<br />
plateforme ouverte pour l'édition et l'analyse de modèles<br />
UCM”, in 5ième Nouvelles Technologies de la Répartition<br />
(NOTERE 2005), Gatineau, Canada, pp. 215–222, August<br />
2005.<br />
[118] B. Kitchenham, O. Pearl Brereton, D. Budgen, M. Turner,<br />
J. Bailey, and S. Linkman, “Systematic literature reviews<br />
in s<strong>of</strong>tware engineering - A systematic literature review”.<br />
Inf. S<strong>of</strong>tw. Technol. 51, 1, pp. 7–15, Jan. 2009.<br />
doi:10.1016/j.infs<strong>of</strong>.2008.09.009<br />
[119] C. Kuziemsky, X. Liu, and L. Peyton, “Leveraging Goal<br />
Models and Performance Indicators to Assess Health Care<br />
Information Systems”. 7th Int. Conf. on the Quality <strong>of</strong><br />
Information and Communications Technology (QUATIC<br />
2010), IEEE CS, Porto, Portugal, September 2010.<br />
doi:10.1109/QUATIC.2010.37<br />
[120] E. Lavendelis and J. Grundspenkis, “MASITS - A Tool<br />
for Multi-Agent Based Intelligent Tutoring System<br />
Development”, in 7th Int. Conf. on Practical Applications<br />
<strong>of</strong> Agents and Multi-Agent Systems (PAAMS 2009),<br />
Advances in S<strong>of</strong>t. Computing Vol. 55, Springer, pp. 490–<br />
500, March 2009. doi:10.1007/978-3-642-00487-2_52<br />
[121] P. Leelaprute, M. Nakamura, K. Matsumoto, and T.<br />
Kikuno, “Design and Evaluation <strong>of</strong> Feature Interaction
766 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Filtering with Use Case Maps”. NECTEC Technical<br />
<strong>Journal</strong>, 5(16) pp. 581–597, December 2005.<br />
[122] T. Lethbridge and J. Singer, “Studies <strong>of</strong> the Work<br />
Practices <strong>of</strong> S<strong>of</strong>tware Engineers”. Advances in S<strong>of</strong>tware<br />
Engineering: Comprehension, Evaluation and Evolution,<br />
Springer-Verlag, pp. 51–72, 2002.<br />
[123] H. Liu, Multilevel Performance Analysis <strong>of</strong> Scenario<br />
Specification for a Presence System. M.Sc. thesis, SCE<br />
Dept., Carleton University, Canada, October 2002.<br />
[124] L. Liu and E. Yu, “From requirements to architectural<br />
design—using goals and scenarios”, in ICSE-2001<br />
Workshop: From S<strong>of</strong>tware Requirements to Architectures<br />
(STRAW 2001), Toronto, Canada, pp.22–30, May 2001.<br />
[125] L. Liu and E. Yu, “Designing Information Systems in<br />
Social Context: A Goal and Scenario Modelling<br />
Approach”. Information Systems, pp. 187–203, April<br />
2004. doi:10.1016/S0306-4379(03)00052-8<br />
[126] L. Liu and E. Yu, GRL - Goal-oriented Requirement<br />
Language, 2000. http://www.cs.toronto.edu/km/GRL/<br />
[127] R. Matulevičius, P. Heymans, and A. L. Opdahl,<br />
“Comparing GRL and KAOS using the UEML<br />
Approach”. Enterprise Interoperability II: New<br />
Challenges and Approaches, August 2007, pp. 77-88<br />
[128] A. Medve, “Advanced steps with standardized languages<br />
in the re-engineering process”. Computer Standards &<br />
Interfaces, 30(5), Elsevier, p. 315–322, July 2008.<br />
doi:10.1016/j.csi.2007.09.004<br />
[129] A. Miga, Application <strong>of</strong> Use Case Maps to System Design<br />
With Tool Support. Master’s thesis, SCE Dept., Carleton<br />
University, Canada, October 1998.<br />
[130] A. Miga, D. Amyot, F. Bordeleau, D. Cameron, and M.<br />
Woodside, “Deriving Message Sequence Charts from Use<br />
Case Maps Scenario Specifications”, in Meeting UML -<br />
Tenth SDL Forum (SDL'01), LNCS 2078, Springer, pp.<br />
268–287, June 2001. doi:10.1007/3-540-48213-X_17<br />
[131] F. Molina, J. Pardillo, C. Cachero, and A. Toval, “An<br />
MDE Modeling Framework for Measurable Goal-<br />
Oriented Requirements”. Int. J. <strong>of</strong> Intelligent Systems,<br />
25(8), Wiley, pp. 757–783, August 2010. doi:10.1002/<br />
int.20430<br />
[132] O. Monkewich, I. Sales, and R. L. Probert, “OSPF<br />
Efficient LSA Refreshment Function in SDL”, in Tenth<br />
SDL Forum (SDL'01), LNCS 2078, Springer, June 2001,<br />
pp. 300–315. doi:10.1007/3-540-48213-X_19<br />
[133] D.L. Moody, P. Heymans, and R. Matulevičius, “Visual<br />
syntax does matter: improving the cognitive effectiveness<br />
<strong>of</strong> the i* visual notation”. Requirements Engineering,<br />
15(2), Springer, pp.141–175, 2010. doi:10.1007/s00766-<br />
010-0100-1<br />
[134] G. Mussbacher, Aspect-oriented User Requirements<br />
Notation. Ph.D. thesis, SITE, University <strong>of</strong> Ottawa,<br />
Canada, November 2010.<br />
[135] G. Mussbacher and D. Amyot, “A Collection <strong>of</strong> Patterns<br />
for Use Case Maps”, in First Latin American Conf. on<br />
Pattern Languages <strong>of</strong> Programming (SugarLoafPLoP),<br />
UERJ - Série Informática, Special Edition, pp. 57–82,<br />
June 2002.<br />
[136] G. Mussbacher and D. Amyot, “Assessing the<br />
Applicability <strong>of</strong> Use Case Maps for Business Process and<br />
Workflow Description”, in 3rd Int. MCeTech Conference<br />
on eTechnologies, IEEE CS, pp. 219–222, January 2008.<br />
doi:10.1109/MCETECH.2008.18<br />
[137] G. Mussbacher and D. Amyot, “Goal and Scenario<br />
Modeling, Analysis, and Transformation with<br />
jUCMNav”, in 31st Int. Conf. on S<strong>of</strong>tware Engineering<br />
(ICSE-Companion), ACM, Canada, pp. 431–432, May<br />
2009. doi:10.1109/ICSE-COMPANION.2009.5071047<br />
© 2011 ACADEMY PUBLISHER<br />
[138] G. Mussbacher, D. Amyot, J. Araújo, and A. Moreira,<br />
“Modeling S<strong>of</strong>tware Product Lines with AoURN”, in<br />
Early Aspects Workshop @ AOSD08, ACM, March 2008.<br />
doi:10.1145/1404946.1404948<br />
[139] G. Mussbacher, D. Amyot, J. Araújo, and A. Moreira,<br />
“Requirements Modeling with the Aspect-oriented User<br />
Requirements Notation (AoURN): A Case Study”.<br />
Transactions on Aspect-Oriented S<strong>of</strong>tware Development<br />
VII, LNCS 6210, Springer, pp. 23–68, 2010.<br />
doi:10.1007/978-3-642-16086-8_2<br />
[140] G. Mussbacher, D. Amyot, and M. Weiss, “Formalizing<br />
Patterns with the User Requirements Notation”. Design<br />
patterns formalization techniques, IGI Global, pp. 302–<br />
322, 2007. doi:10.4018/978-1-59904-219-0.ch014<br />
[141] G. Mussbacher, D. Amyot, and M. Weiss, “Visualizing<br />
Early Aspects with Use Case Maps”. LNCS <strong>Journal</strong> on<br />
Transactions on Aspect-Oriented S<strong>of</strong>tware Development,<br />
LNCS 4620, Springer, p. 105–143, November 2007.<br />
doi:10.1007/978-3-540-75162-5_5<br />
[142] G. Mussbacher, D. Amyot, and J. Whittle, “Refactoring-<br />
Safe Modeling <strong>of</strong> Aspect-Oriented Scenarios”, in 12th Int.<br />
Conf. on Model Driven Eng. Languages and Systems<br />
(MODELS 2009), LNCS 5795, Springer, pp. 286–300,<br />
October 2009. doi:10.1007/978-3-642-04425-0_21<br />
[143] G. Mussbacher, J. Whittle, and D. Amyot, “Modeling and<br />
Detecting Semantic-Based Interactions in Aspect-<br />
Oriented Scenarios”. Requirements Engineering, 15(2),<br />
Springer, pp.197-214, 2010. doi:10.1007/s00766-010-<br />
0098-4<br />
[144] M. Nakamura, T. Kikuno, J. Hassine, and L. Logrippo,<br />
“Feature Interaction Filtering with Use Case Maps at<br />
Requirements Stage”, in Sixth International Workshop on<br />
Feature Interactions in Telecommunications and S<strong>of</strong>tware<br />
Systems (FIW'00), IOS Press, pp. 163–178, May 2000.<br />
[145] Object Management Group, BPMN 1.2 Specification,<br />
formal/2009-01-03, January 2009.<br />
[146] Object Management Group, UML 2.2 Specification,<br />
formal/2009-02-04, February 2009.<br />
[147] Object Management Group, UML Pr<strong>of</strong>ile for<br />
Schedulability, Performance and Time, v1.0, formal/03-<br />
09-01, September 2003.<br />
[148] Object Management Group, UML Pr<strong>of</strong>ile for Modeling<br />
and Analysis <strong>of</strong> Real-time and Embedded Systems<br />
(MARTE), v1.0, formal 2009-11-02, November 2009.<br />
[149] C. Ölvingson, N. Hallberg, T. Timpka, and K. Lindqvist,<br />
“Requirements Engineering for Inter-Organizational<br />
Health Information Systems with Functions for Spatial<br />
Analyses: Modeling a WHO Safe Community Applying<br />
Use Case Maps”. Methods <strong>of</strong> Information in Medicine,<br />
Schattauer Gmb H, 4/2002, pp. 299–304, 2002.<br />
[150] OpenOME, an open-source requirements engineering tool,<br />
University <strong>of</strong> Toronto, Canada, November 2010.<br />
https://se.cs.toronto.edu/trac/ome<br />
[151] T. Okamura, M. Nakamura, and H. Igaki, “Finding<br />
Optimal Energy-Saving Operations in Home Network<br />
System Based on Effects between Appliances and<br />
Environment”, in 8th Asia-Pacific Symp. on Information<br />
and Telecommunication Technologies (APSITT 2010),<br />
IEEE CS, Kuching, Malaysia, , pp. 1–6, June 2010.<br />
[152] D.B. Petriu, Layered S<strong>of</strong>tware Performance Models<br />
Constructed from Use Case Map Specifications. M.Eng.<br />
thesis, SCE Dept., Carleton University, Canada, May<br />
2001.<br />
[153] D.B. Petriu, D. Amyot, and C.M. Woodside, “Scenario-<br />
Based Performance Engineering with UCMNav”, in 11th<br />
SDL Forum (SDL'03), LNCS 2708, Springer, pp. 18–35,<br />
July 2003. doi:10.1007/3-540-45075-0
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 767<br />
[154] D.B. Petriu and C.M. Woodside, “S<strong>of</strong>tware performance<br />
models from system scenarios”. Performance Evaluation,<br />
61(1), Elsevier, pp. 65–89, June 2005. doi:10.1016/<br />
j.peva.2004.09.005<br />
[155] D.B. Petriu and C.M. Woodside, “An intermediate<br />
metamodel with scenarios and resources for generating<br />
performance models from UML designs”. S<strong>of</strong>tware and<br />
Systems Modeling, 6(2), Springer, pp. 163–184, June<br />
2007. doi:10.1007/s10270-006-0026-8<br />
[156] A. Pourshahid, A URN-Based Methodology for Business<br />
Process Monitoring, M.Sc. thesis, EBT, University <strong>of</strong><br />
Ottawa, Canada, March 2008.<br />
[157] A. Pourshahid, P. Chen, D. Amyot, A.J. Forster, S.<br />
Ghanavati, L. Peyton, and M. Weiss, “Business Process<br />
Management with the User Requirements Notation”.<br />
Electronic Commerce Research, 9(4), Springer, pp. 269–<br />
316, December 2009. doi:10.1007/s10660-009-9039-z<br />
[158] A. Pourshahid, G. Mussbacher, D. Amyot, and M. Weiss,<br />
“Toward an Aspect-Oriented Framework for Business<br />
Process Improvement”. Int. J. <strong>of</strong> Electronic Business,<br />
8(3), Inderscience Publisers, pp. 233–259, 2010.<br />
doi:10.1504/IJEB.2010.034170<br />
[159] A. Pourshahid and T. Tran, “Toward an Effective Trust<br />
Management System for E-Commerce: Modeling Trust<br />
Components and Processes Using URN”. <strong>Journal</strong> <strong>of</strong><br />
Business and Technology (JBT), 2(2), Atlantic Academic<br />
Press, pp. 37–46, 2007.<br />
[160] J.-F. Roy, J. Kealey, and D. Amyot, “Towards Integrated<br />
Tool Support for the User Requirements Notation”, in<br />
SAM 2006: Language Pr<strong>of</strong>iles - Fifth Workshop on<br />
System Analysis and Modelling, LNCS 4320, Springer,<br />
pp. 198–215, May 2006. doi:10.1007/11951148_13<br />
[161] J.-F. Roy, Requirement Engineering with URN:<br />
Integrating Goals and Scenarios. M.Sc. thesis, SITE,<br />
University <strong>of</strong> Ottawa, Canada, March 2007<br />
[162] N. Russell, A.H.M. ter H<strong>of</strong>stede, W.M.P. van der Aalst,<br />
and N. Mulyar, Workflow Control-Flow Patterns: A Revised<br />
View. BPM Center Report BPM-06-22, 2006.<br />
http://workflowpatterns.com/<br />
[163] Sandrila Ltd., Sandrila SDL. UK, November 2010.<br />
http://www.sandrila.co.uk<br />
[164] H. Saiedian, P. Kumarakulasingam, and M. Anan,<br />
“Scenario-Based Requirements Analysis Techniques for<br />
Real-Time S<strong>of</strong>tware Systems: A Comparative<br />
Evaluation”. Requirements Engineering, 10(1), Springer,<br />
pp. 22–33, January 2005. doi:10.1007/s00766-004-0192-6<br />
[165] K. Saleh and A. Al-Zarouni, “Capturing Non-Functional<br />
S<strong>of</strong>tware Requirements using the User Requirements<br />
Notation”, in 2004 Int. Research Conf. on Innovation in<br />
Information Technology (IIT'04), Dubai, pp. 222–230,<br />
October 2004.<br />
[166] K. Saleh and G. Elshahry, “Modeling Security<br />
Requirements for Trustworthy Systems”. Encyclopedia <strong>of</strong><br />
Information Science and Technology, 2nd edition, IGI<br />
Global, pp. 2657–2664, 2009. doi:10.4018/978-1-60566-<br />
026-4.ch424<br />
[167] I. Sales, A Bridging Methodology for Internet Protocols<br />
Standards Development. M.Sc. thesis, SITE, University <strong>of</strong><br />
Ottawa, Canada, August 2001.<br />
[168] I.S. Sales and R.L. Probert, “From High-Level Behaviour<br />
to High-Level Design: Use Case Maps to Specification<br />
and Description Language”, in 18th Brazilian Symp. on<br />
Computer Networks (SBRC2000), Brazil, May 2000.<br />
[169] W.C. Scratchley, Evaluation and Diagnosis <strong>of</strong><br />
Concurrency Architectures. Ph.D. thesis, SCE Dept.,<br />
Carleton University, Canada, July 2000.<br />
© 2011 ACADEMY PUBLISHER<br />
[170] W.C. Scratchley and C.M. Woodside, “Evaluating<br />
Concurrency Options in S<strong>of</strong>tware Specifications”, in<br />
Seventh Int. Symp. on Modelling, Analysis and Simulation<br />
<strong>of</strong> Computer and Telecom. Systems (MASCOTS'99),<br />
College Park, USA, pp. 330–338, October 1999.<br />
doi:10.1109/MASCOT.1999.805071<br />
[171] S. Schneider, The B-Method: An Introduction, Palgrave,<br />
Cornerstones <strong>of</strong> Computing series, 2001.<br />
[172] A. Shamsaei, A. Pourshahid, and D. Amyot, “Business<br />
Process Compliance Tracking Using Key Performance<br />
Indicators”, in 6th Int. Workshop on Business Process<br />
Design (BPD 2010), LNBIP 66, Springer, pp. 73–84,<br />
September 2010.<br />
[173] M. Shiri, Supporting UCM Requirements Evolution by<br />
Means <strong>of</strong> Formal Concept Analysis. M.Sc. thesis, CSCE<br />
dept., Concordia University, Canada, February 2008.<br />
[174] M. Shiri, J. Hassine, and J. Rilling, “Feature Interaction<br />
Analysis: A Maintenance Perspective”, in 22nd<br />
IEEE/ACM Int. Conf. on Automated S<strong>of</strong>tware Engineering<br />
(ASE), ACM Press, pp. 437–440, November 2007.<br />
doi:10.1145/1321631.1321703<br />
[175] K.H. Siddiqui and C. M. Woodside, “Performance Aware<br />
S<strong>of</strong>tware Development (PASD) Using Resource Demand<br />
Budgets”, in WOSP 2002: Third Int. Work. on S<strong>of</strong>tware<br />
and Performance, ACM Press, pp. 275-285, July 2002.<br />
doi:10.1145/584369.584412<br />
[176] G. Smith, The Object-Z Specification Language.<br />
Advances in Formal Methods Series, Kluwer Academic<br />
<strong>Publisher</strong>s, 2000.<br />
[177] S<strong>of</strong>tware Performance Research Group, Layered<br />
Queueing Research Resource Page. Carleton University,<br />
Canada, November 2010. http://www.layeredqueues.org/<br />
[178] A. Soria, J.A. Díaz-Pace, and M.R. Campo, “Tool Support<br />
for Fault Localization Using Architectural Models”, 13th<br />
European Conf. on S<strong>of</strong>tware Maintenance and<br />
Reengineering (CSMR), IEEE CS, March 2009, pp. 59–<br />
68. doi:10.1109/CSMR.2009.42<br />
[179] C.H. Störmer, S<strong>of</strong>tware Quality Attribute Analysis by<br />
Architecture Reconstruction (SQUA3RE), Ph.D. thesis,<br />
Vrije Universiteit, The Netherlands, March 2007.<br />
[180] N.-T. Truong, T.M.T. Tran, V.-K. To, and V.H. Nguyen,<br />
“Checking the Consistency between UCM and PSM<br />
Using a Graph-Based Method”, in 1st Asian Conf. on<br />
Intelligent Information and Database System (ACIIDS<br />
09), IEEE CS, pp. 190–195, April 2009.<br />
doi:10.1109/ACIIDS.2009.66<br />
[181] Use Case Map Navigator (UCMNAV) 2.3, July 2005.<br />
http://jucmnav.s<strong>of</strong>twareengineering.ca/ucm/bin/view/UC<br />
M/UcmNav<br />
[182] URN Virtual Library, http://www.UseCaseMaps.org/pub<br />
(last accessed: July 27, 2010).<br />
[183] J.A. van der Poll, P. Kotze, A. Seffah, T. Radhakrishnan,<br />
and E. Alsumait, “Combining UCMs and Formal Methods<br />
for Representing and Checking the Validity <strong>of</strong> Scenarios<br />
as User Requirements”, in 2003 annual research conf. <strong>of</strong><br />
the South African Institute <strong>of</strong> Computer Scientists and<br />
Information Technologists (SAICSIT 2003),<br />
Johannesburg, South Africa, pp. 59–68, September 2003.<br />
[184] B. van der Raadt, Business-Oriented Exploration <strong>of</strong> Web<br />
Services Ideas - Combining Goal-Oriented and Value-<br />
Based Approaches. MSc. Thesis, Vrije Universiteit,<br />
Amsterdam, The Netherlands, February 2005.<br />
[185] A. van Lamsweerde, Requirements engineering: From<br />
System Goals to UML Models to S<strong>of</strong>tware Specifications.<br />
John Wiley & Sons, 2009.
768 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
[186] M. Vigder, Applying Formal Techniques to the Design <strong>of</strong><br />
Concurrent Systems. Ph.D. thesis, SCE Dept., Carleton<br />
University, Canada, July 1992.<br />
[187] M. Vinje, An Auditing Framework for Service Provision<br />
in Mobile IPv6 Networks. Diploma Thesis, EPF Zurich,<br />
Switzerland, August 2002.<br />
[188] M. Weiss, “Pattern-Driven Design <strong>of</strong> Agent Systems:<br />
Approach and Case Study”, in 15th Conf. on Advanced<br />
Information Systems Engineering (CAiSE'03), LNCS<br />
2681, Springer, pp. 711–723, June 2003. doi:10.1007/3-<br />
540-45017-3<br />
[189] M. Weiss, “More Patterns for Web Applications”, in<br />
Tenth European Conf. on Pattern Languages <strong>of</strong> Programs<br />
(Euro PLoP 2005), Irsee, Germany, pp. 21–34, July 2005.<br />
[190] M. Weiss and D. Amyot, “Business process modeling<br />
with URN,” Int. J. <strong>of</strong> E-Business Research, 1(3), pp. 63–<br />
90, 2005. doi:10.4018/jebr.2005070104<br />
[191] M. Weiss and B. Esfandiari, “On Feature Interactions<br />
among Web Services”. Int. J. <strong>of</strong> Web Services Research,<br />
2(4) pp. 22–47, October 2005. doi:10.4018/jwsr.<br />
2005100102<br />
[192] M. Weiss, B. Esfandiari, and Y. Luo, “Towards a<br />
classification <strong>of</strong> Web service feature interactions”.<br />
Computer Networks, 51(2), Elsevier, pp. 359–381,<br />
February 2007. doi:10.1016/j.comnet.2006.08.003<br />
[193] M. Weiss and H. Mouratidis, “Selecting Security Patterns<br />
that Fulfill Security Requirements”, in 16th IEEE Int.<br />
Requirements Engineering Conf. (RE'08), IEEE CS, pp.<br />
169–172, September 2008. doi:10.1109/RE.2008.32<br />
[194] P. Wu and C.M. Woodside, “An Aggregation Approach to<br />
Constructing Hybrid Layered Queueing Models”, in 7th<br />
Int. Workshop on Performability Modeling <strong>of</strong> Computer<br />
and Communication Systems (PMCCS7), Torino, Italy,<br />
September 2005.<br />
[195] W. Wu and T.P. Kelly, “Managing Architectural Design<br />
Decisions for Safety-Critical S<strong>of</strong>tware Systems”, in 2nd<br />
Int. Conf. on the Quality <strong>of</strong> S<strong>of</strong>tware Architectures (QoSA<br />
2006), LNCS 4126, Springer, pp. 59–77, June 2006.<br />
doi:10.1007/11921998_9<br />
[196] Z. Yi, CNAP Specification and Validation: A Design<br />
Methodology Using LOTOS and UCM. M.Sc. thesis,<br />
SITE, University <strong>of</strong> Ottawa, Canada, January 2000.<br />
[197] E.S.-K. Yu, Modelling strategic relationships for process<br />
reengineering. Ph.D. thesis, Dept. <strong>of</strong> Computer Science,<br />
University <strong>of</strong> Toronto, Canada, 1995.<br />
[198] E. Yu, Y. Yu, and L. Liu, OME — Organization<br />
Modelling Environment, University <strong>of</strong> Toronto, 2000.<br />
http://www.cs.toronto.edu/km/ome/<br />
[199] X.Y. Zeng, Transforming Use Case Maps to the Core<br />
Scenario Model Representation. M.Sc. thesis, SITE,<br />
University <strong>of</strong> Ottawa, Canada, June 2005<br />
[200] R. Zhang and X.-X. Liu, “Feature Interaction Filtering<br />
Method Based on URN (基于 URN 的特征冲突过滤方法)”,<br />
Computer Engineering (计 算 机 工 程), 35(21), pp. 45–47,<br />
November 2009.<br />
© 2011 ACADEMY PUBLISHER<br />
Daniel Amyot received both his Ph.D.<br />
(2001) and M.Sc. (1994) degrees in<br />
computer science from the University <strong>of</strong><br />
Ottawa. The research topic was related<br />
to the specification and validation <strong>of</strong><br />
telecommunication systems with Use<br />
Case Maps and LOTOS.<br />
After working for Mitel Networks as<br />
a senior researcher, he joined the School<br />
<strong>of</strong> Information Technology and Engineering <strong>of</strong> the University <strong>of</strong><br />
Ottawa, where he is now Associate Pr<strong>of</strong>essor in s<strong>of</strong>tware<br />
engineering. His research interests include goal-oriented and<br />
scenario-based s<strong>of</strong>tware engineering, requirements engineering,<br />
business process modeling, aspect-oriented modeling, and<br />
healthcare informatics. He has published over 90 papers in<br />
various conferences and in journals such as Requirements<br />
Engineering, Computer Networks, and the International <strong>Journal</strong><br />
<strong>of</strong> Electronic Business.<br />
Dr. Amyot is a member <strong>of</strong> ACM, IEEE Computer Society,<br />
and APIIQ, and he is a pr<strong>of</strong>essional engineer in the province <strong>of</strong><br />
Québec (Canada). He is also Associate Rapporteur for<br />
requirements languages at the International Telecommunication<br />
Union, where he leads the evolution <strong>of</strong> the User Requirements<br />
Notation.<br />
Gunter Mussbacher received a M.Sc.<br />
degree in computer science from Simon<br />
Fraser University in 1999, and a Ph.D. in<br />
computer science from the University <strong>of</strong><br />
Ottawa in 2010. In his thesis, he<br />
developed the Aspect-oriented User<br />
Requirements Notation (AoURN), a<br />
framework that enables goal-oriented,<br />
scenario-based, and aspect-oriented<br />
modeling in a unified way.<br />
After his M.Sc., he worked as a research engineer for the<br />
Strategic Technology department <strong>of</strong> Mitel Networks, where he<br />
applied and taught URN concepts. He has published in the<br />
Requirements Engineering <strong>Journal</strong> (REJ) and in the<br />
Transactions on Aspect-Oriented S<strong>of</strong>tware Development<br />
(TAOSD), and co-edited with Daniel Amyot the URN standard<br />
(ITU Recommendation Z.151 11/2008). He is also teaching<br />
s<strong>of</strong>tware engineering undergraduate courses as well as URN and<br />
AoURN tutorials for industry and at international conferences.<br />
His general research interests lie in requirements engineering,<br />
URN, aspect-oriented modeling, and patterns.<br />
Dr. Mussbacher is an organizer and program committee<br />
member <strong>of</strong> Early Aspects (EA), Aspect-oriented Modeling<br />
(AOM), and Systems Analysis and Modelling (SAM)<br />
workshops since 2008.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 769<br />
Stochastic Process Algebra with Value-Passing<br />
and Weak Time Restrictions<br />
Guang Zheng 1,2 , Jinzhao Wu 3,4 , and Aiping Lu 2,∗<br />
1 Information Science and Engineering School, Lanzhou University,<br />
Lanzhou 730000, China, Email: forzhengguang@163.com<br />
2 Institute <strong>of</strong> Basic Research in Clinical Medicine, China <strong>Academy</strong> <strong>of</strong> Chinese Medical Sciences,<br />
Dongzhimen, Beijing 100700, China<br />
3 Guangxi University for Nationalities, China <strong>Academy</strong> <strong>of</strong> Chinese Medical Sciences,<br />
Nanning, 530004, China<br />
4 School <strong>of</strong> Computer and Information Technology, Beijing Jiaotong University,<br />
Beijing 100044, China<br />
∗ Corresponding author: lap64067611@126.com<br />
Abstract— Process algebra provides essential tools for studying<br />
distributed and concurrent systems. Stochastic process<br />
algebra (i.e., YAWN ) enhances the process algebra with<br />
stochastic extensions which is perfect to analyze phenomena<br />
<strong>of</strong> process with executing durations in the real world. What’s<br />
more, in system runs, value passing is tightly bounded with<br />
their processes. However, stochastic process algebras lack<br />
value passing can limit their expressiveness. Based on this,<br />
we propose a process algebra <strong>of</strong> stochastic process algebra<br />
with value passing. This new process algebra can specify<br />
the behaviors <strong>of</strong> systems in a more clear and accurate way.<br />
In dealing with relationship <strong>of</strong> bisimulations, we introduce<br />
a new policy <strong>of</strong> weak time comparison between processes<br />
in bisimulation which is more convenient and doable in<br />
practice.<br />
Index Terms— stochastic process algebra, value passing,<br />
equivalence, bisimulation, weak time restriction.<br />
I. INTRODUCTION<br />
Process algebra is a widely accepted language <strong>of</strong> specifying<br />
distributed and concurrent systems. The fundamental<br />
work is done by Milner in CCS [23], Hoare in CSP<br />
[13] and Hilston in ACP [2].<br />
Stochastic Process Algebras (SPAs) [3], [6], [7], [16],<br />
[18] have been invented in the early 90’s, the main idea <strong>of</strong><br />
stochastic process algebras is to incorporate quantitative<br />
information in a qualitative process algebra model. In<br />
these approaches proposed so far, the quantitative information<br />
is given in terms <strong>of</strong> distribution functions or<br />
random variables. These variables denote the duration <strong>of</strong><br />
actions, and these durations are specified together with<br />
actions.<br />
The basic activity <strong>of</strong> a process is action. In stochastic<br />
process algebras, actions are equipped with stochastic<br />
distribution functions which describes the execution time<br />
<strong>of</strong> the actions stochastically. SPAs are suitable to describe<br />
This work was partially supported by the National Eleventh Five Year<br />
Support Project <strong>of</strong> China (2006BAI04A10), the Innovative Methodology<br />
Project supported by MOST <strong>of</strong> China(2008IM020900, 2009ZX09502-<br />
019). National Science Foundation <strong>of</strong> China (No. 30902003, 30973975,<br />
90709007, and 81072982).<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.769-782<br />
functional as well as stochastic behaviors in one single<br />
specification.<br />
The actions in SPA give the framework specification<br />
<strong>of</strong> system’s behaviors. During the execution <strong>of</strong> SPAs,<br />
value passing occurs intuitively and naturally. Processes<br />
cooperate with each other by exchanging messages [10],<br />
[11], [27], it can be happened in typical operators like:<br />
• Sequential composition, where the prefix action<br />
might pass the value to the following action for further<br />
execution. This happens commonly in programs;<br />
• Parallel composition, where a synchronous communication<br />
event can be executed. This is the type <strong>of</strong><br />
communication in SPAs;<br />
• Recursive operation, this operator is useful in dealing<br />
with repeated actions with certain rules.<br />
SPAs can be models for describing phenomena <strong>of</strong> the<br />
real world in an abstract level. Value passing can enhance<br />
SPAs with the abilities to describing phenomena in a<br />
more detailed level, more intuitive to understand and more<br />
doable to put into use. This can be demonstrated by the<br />
above examples. In other systems, (for example, traffic<br />
control, weather forecasting, scientific calculation, and<br />
stock markets), there are values passing with all processes<br />
running all time long. Value passing exists at any moment<br />
in system runs. With value passing, we can get a inner<br />
sight into the phenomena (e.g., under certain situation,<br />
values are final results). So, it is necessary and intuitively<br />
for us to equip the language <strong>of</strong> SPAs with value passing.<br />
By doing this, we can get a better understanding <strong>of</strong> the<br />
phenomena described in SPAs.<br />
The main idea <strong>of</strong> SPA with value passing is to enhance<br />
actions with notions <strong>of</strong> duration and value passing during<br />
their executions. Durations are described stochastically by<br />
means <strong>of</strong> distribution functions. Values passing during<br />
executions can simulate the key parameters in system<br />
runs. In Markovian SPA, only exponential distributions<br />
are considered as delay parameters. As for value passing,<br />
we assume that only valid values are permitted during the<br />
execution, and the invalid values will trigger an exception.
770 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
An exponential distributions is λ and its mean value is<br />
1/λ.<br />
One <strong>of</strong> the most attractive features <strong>of</strong> process algebras<br />
is their compositional nature. But it is not the only one,<br />
another important aspect <strong>of</strong> the formalism is the definition<br />
<strong>of</strong> equivalence relations i.e., strong and weak bisimulation<br />
[22], [23]. These equivalence relations can be used to<br />
compare agents (model verification) and to replace one<br />
agent by another which exhibits an equivalent behavior<br />
but has a simpler representation (model simplification).<br />
Such notions <strong>of</strong> equivalence are considered part <strong>of</strong> the<br />
semantics <strong>of</strong> the language, and therefore their definition<br />
is an integral part <strong>of</strong> its development.<br />
One important class <strong>of</strong> equivalence relations in process<br />
algebras are bisimulations. Most SPAs [3], [6], [7], [16],<br />
[18] provide bisimulation relations both on action and<br />
time. They are characterized by the exponential distributions,<br />
i.e., λ, µ and so on. Bisimulations <strong>of</strong> this kind<br />
is an extension <strong>of</strong> the classic bisimulations (strong and<br />
weak). However, in practice, even weak bisimulation is<br />
too strict. In real world, under certain situations, we might<br />
be more tolerant in the execution time under bisimulation<br />
relations. Based on this, we propose a weak time restriction<br />
bisimulation called time restricted bisimulation.<br />
This bisimulation relationship is more tolerant in time<br />
restrictions when comparing two processes with criterion<br />
<strong>of</strong> bisimulations. We will prove that this time restricted<br />
bisimulation relationship can be preserved over all the<br />
operators in the language <strong>of</strong> SPA.<br />
Another use <strong>of</strong> equivalence relations is over the states<br />
within a model. When a set <strong>of</strong> states are found to<br />
have equivalent behaviors, we can analyze them by these<br />
relationships to partition the state space and considering<br />
only one representative <strong>of</strong> relation to partition these states.<br />
Then, only compare one representative <strong>of</strong> each partition<br />
(model aggregation). This is an important way in state<br />
space reduction.<br />
This paper is organized as follows. Section 2 introduces<br />
the language <strong>of</strong> YAWN with value passing, including<br />
syntax and its meanings. Section 3 introduces generalized<br />
Markovian transition systems with value passing which<br />
can be used as models to express the semantics <strong>of</strong> the<br />
language YAWN with value passing. Section 4 shows<br />
operational semantics <strong>of</strong> the languageYAWN with value<br />
passing. Section 5 introduces the axioms <strong>of</strong> operators<br />
in YAWN with value passing. Section 6 shows some<br />
equivalence relations <strong>of</strong> the language YAWN with value<br />
passing, including strong bisimulation, weak bisimulation,<br />
expansion law and time restricted bisimulations. Section<br />
7 concludes the paper. Section 8 lists the acknowledgements.<br />
II. LANGUAGE OF YAWN WITH VALUE<br />
Now, we define the language in the style <strong>of</strong> YAMN<br />
with value passing. We first define the set L <strong>of</strong> all process<br />
algebra expressions with value passing. An expression<br />
P ∈ L is said to be closed if and only if every process<br />
variable, say X, occurring in P occurs within the scope<br />
© 2011 ACADEMY PUBLISHER<br />
<strong>of</strong> the recX operator, and if every process constant is<br />
defined by a defining equation.<br />
Definition 2.1 (LYAMN ) Let L be the language with<br />
value passing defined by the following grammar:<br />
P :: = 0 � � X � � A � � av.P � � [λ].P � � if b then P � � P;P � �<br />
P +P � � recX : P � � P \H � � P||SP<br />
av :: = i � � c?x � � c!e<br />
We use av to stand for the generalized form <strong>of</strong> actions<br />
with value in situation no more specification is needed. i<br />
is un-observable actions which likes the τ in CCS; c?x<br />
for input action with value x on channel c; and c!e stands<br />
for output action with value e on channel c. When it is<br />
necessary, we will use i, c?x and c!e to specify actions<br />
under different situations.<br />
0 is an empty process which cannot perform any<br />
actions. It can also be taken as “STOP” in some literature.<br />
av.P is action prefixing. After executing value passing<br />
action av, the process av.P will behave as P .<br />
[λ].P is prefix delay. This term means there is a<br />
time delay before the execution <strong>of</strong> process P . The time<br />
is characterized by the stochastic variable λ. λ is an<br />
exponential distribution parameter, and the mean time <strong>of</strong><br />
λ is 1/λ. We use t = 1/λ as the label to stand for the<br />
time transition, then we have transition in the form <strong>of</strong><br />
[λ].P i −→ P .<br />
P;Q is the sequential composition <strong>of</strong> two processes P<br />
and Q. After the execution <strong>of</strong> process P , the system P;Q<br />
behaves as Q.<br />
P + Q is the choice composition <strong>of</strong> two processes P<br />
andQ. If processP is selected for execution, then process<br />
Q is dropped and have no chance for further execution.<br />
A is used to express CONST . We use CONST to<br />
express process constants. A constant C ∈ CONST is<br />
assigned a process with value by means <strong>of</strong> a defining<br />
equation C def<br />
= av.C ′ . The defining equation A def<br />
= av.A<br />
is an example. Intuitively,A is supposed to be the process<br />
that can execute infinite number <strong>of</strong> action a with value v.<br />
recX : P stands for recursive expression <strong>of</strong> processes.<br />
With the sequential and choice operators, only finite<br />
behavior can be described. As for some reactive systems<br />
that generally never terminate, there should be a way to<br />
describe them. recX : P is selected to stands for it.<br />
In the above example, recX : P behaves as P[recX :<br />
P/X], where P[recX : P/X] is the process term where<br />
simultaneously all occurrences <strong>of</strong>X inP are syntactically<br />
replaced by recX : P .<br />
P||SQ is parallel composition <strong>of</strong> processP and process<br />
Q. Actions in P or Q which are not in set S can<br />
be executed independently at the same time without<br />
synchronization. However, actions <strong>of</strong> P or Q that are in<br />
set S can only be executed by synchronization.<br />
Example 2.2 Consider the processes <strong>of</strong> P def<br />
=<br />
ava.bvb.cvc.0 and Q def<br />
= dvd.bvb.eve.0, we know that<br />
R def<br />
= P||bQ denotes a process in which bothP andQcan<br />
perform the actions ava and dvd independently. What’s<br />
more, action bvb can only be proceed in the synchronize
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 771<br />
way. After the synchronization, P and Q can proceed<br />
again independently, i.e., they can perform actions <strong>of</strong> cvc<br />
and eve respectively.<br />
Example 2.3 If we consider the process (P||bS)||bR,<br />
where S def<br />
= R def<br />
= Q(Q in Example 2.2), then, all<br />
three processes can start independently at the same time.<br />
However, P , S, and R can only take part in the synchronization<br />
over bvb before they can execute their respective<br />
last action.<br />
P \H is hiding operator. The purpose <strong>of</strong> this operator<br />
is to mark the scope <strong>of</strong> actions which should never<br />
again take part in synchronization. To do this, a special<br />
action is introduced, which is <strong>of</strong>ten denoted as τ or i:<br />
the internal action. Reconsider Example 2.3, we can see<br />
that process R could be inhibited from participating in<br />
the synchronization over bvb that P and S are already<br />
involved in. The effect <strong>of</strong> the hiding operator is that all<br />
actions in H are hidden away: they are no longer visible<br />
from outside. Then, a process which is synchronized by<br />
P and S can be executed, and R proceeds independently<br />
from both can be expressed as (P||bS)\{b}|| {∅}R.<br />
if b then P is the one-armed condition if b then in the<br />
language. With the help <strong>of</strong>+, the conventional two-armed<br />
if b then else expression can be defined by<br />
if b then P else Q = if b then P + if ¬b then Q<br />
In what follows, we will use the if b then else<br />
construction freely without further comments.<br />
We assume that the operators have the following precedence:<br />
prefix > recursion > hiding > choice > parallel<br />
composition, i.e., prefix has precedence over recursion,<br />
recursion over hiding, etc. Parentheses can be used to circumvent<br />
these rules. If we have more than two processes<br />
combined (i.e., for example, in P+Q+R or P||SQ||S ′R<br />
for P,Q,R ∈ LYAWN ) then we assume a left-associative<br />
evaluation order: P +Q+R and P||SQ||S ′R are assume<br />
to be equal to (P+Q)+R and(P||SQ)||S ′R respectively.<br />
These rules determine a unique evaluation order, which<br />
later will become especially important for the application<br />
<strong>of</strong> SOS rules.<br />
Please note that the YAMN language comes with<br />
bells and whistles: we allow to define recursion by means<br />
<strong>of</strong> process constants, and by recX operators with process<br />
variables. The only reason for this is to have a more<br />
convenient syntax for YAWN .<br />
Frequently, we have to compare elements <strong>of</strong> the<br />
YAWN language with value passing syntactically. For<br />
two terms P,Q ∈ LYAWN , we define P ≡ Q if and<br />
only if P and Q are syntactically equal for the value<br />
assignment for all executing actions with value passing<br />
<strong>of</strong> the same equivalent class leading to the result also <strong>of</strong><br />
the same equivalent class.<br />
III. OPERATIONAL SEMANTICS<br />
In classic process algebras, Labeled Transition System<br />
(LTS) is used to demonstrate the operational semantics <strong>of</strong><br />
the language. In this section, we will give out the definition<br />
<strong>of</strong> transition systems with value passing that will<br />
© 2011 ACADEMY PUBLISHER<br />
demonstrate the operational semantics for the LYAWN<br />
with value.<br />
A. Transition Systems with Value<br />
The semantics <strong>of</strong> YAMN processes is given in terms<br />
<strong>of</strong> transition systems. So, in order to introduce the operational<br />
semantics <strong>of</strong> the language, we introduce the<br />
generalized Markovian transition systems.<br />
Definition 3.1 A generalized Markovian transition system<br />
with value (GMTSV ) is a tuple(S,AV,T,R), where<br />
• S is a set <strong>of</strong> states;<br />
• AV is a set <strong>of</strong> labels with value;<br />
• T ⊆ S ×AV ×S is a set <strong>of</strong> labeled transitions;<br />
• R : T → R∪{∞}<br />
Typical elements <strong>of</strong> S are s,s ′ ,s ′′ ,s1,s2,···, and<br />
typical elements <strong>of</strong> T are t,t ′ ,t ′′ ,t1,t2,···. Transitions<br />
labeled with t are meant to be exponentially distributed<br />
time delays. The function R specifies the rates <strong>of</strong> the<br />
distributions. A GMTS is said to be properly timed, if<br />
whenever t ∈ T with t = (s,a,s ′ ) and a ∈ Act (i.e.,<br />
∀a,a �= t), then R(t) = ∞. Hence, all internal or visible<br />
actions are considered to have no durations, which is<br />
expressed by assigning them infinite rates.<br />
Definition 3.2 We define a GMTS with value passing<br />
as (S,AV,T,R) together with a state s ∈ S (starting<br />
state) a generalized Markovian process (GMP). We denote<br />
a GMP by a five-tuple (S,AV,T,R,s) where AV is the<br />
label <strong>of</strong> transition with value.<br />
B. Operational semantics<br />
Based on the language discussed in the previous section<br />
and the informal explanation <strong>of</strong> the syntax, we know<br />
that our language can describe the behavior <strong>of</strong> systems<br />
with stochastic actions with value passing. Through the<br />
Markovian Transition System (MTS), we know that it is<br />
convenient to express the semantics <strong>of</strong> the behavior <strong>of</strong><br />
such systems. Now, it is ready for us to give out the<br />
formalize rules <strong>of</strong> the language LYAWN with operators<br />
described in the previous section in table III-B.<br />
Rule (1) expresses the action prefix. Process term av.P<br />
executes action av first, then behave as P .<br />
Rule (2) expresses the delay prefix. Process term [λ].P<br />
delays time t and then executes as P . As we restrict the<br />
distribution <strong>of</strong> λ as exponential distribution, it is clear that<br />
the mean time <strong>of</strong> the delay t is 1/λ.<br />
Rule (3a) and (3c) express the choice composition<br />
between two processes with actions influenced by the<br />
environment.<br />
Rule (3b) and (3d) express the choice <strong>of</strong> two delays.<br />
Processes P and Q have delays characterized by µ and<br />
ν respectively. We do not compare µ and ν, and we<br />
know that only if the delay reaches 1/µ, and the process<br />
P will continue its execution. Similar, when the delay<br />
reaches1/ν, processQwill continue, we will have further<br />
explanations later by example.
772 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
(1)<br />
(3a)<br />
(3c)<br />
(3e)<br />
(4a)<br />
(4c)<br />
(4e)<br />
(4g)<br />
(4i)<br />
(5a)<br />
(5c)<br />
(6a)<br />
(7a)<br />
av.P av<br />
−−→ P<br />
P av<br />
−−→ P ′<br />
P +Q av<br />
−−→ P ′<br />
Q av<br />
−−→ Q ′<br />
P +Q av<br />
−−→ Q ′<br />
P a −→ P ′ , Q [λ]<br />
−−→ Q ′<br />
P +Q av<br />
−−→ P ′<br />
P av<br />
−−→ P ′<br />
P||SQ av<br />
−−→ P ′ ||SQ<br />
Q av<br />
−−→ Q ′<br />
(2)<br />
(3b)<br />
(3d)<br />
(3f)<br />
av �∈ S (4b)<br />
P||SQ av<br />
av �∈ S (4d)<br />
−−→ P||SQ ′<br />
P av<br />
−−→ P ′ , Q av<br />
−−→ Q ′<br />
P||SQ i −→ P ′ ||SQ ′<br />
P av<br />
−−→ P ′ , Q [λ]<br />
−−→ Q ′<br />
P||SQ av<br />
−−→ P ′ ||SQ<br />
av<br />
P −−→ P ′ , Q [λ]<br />
−−→ Q ′<br />
P||SQ t −→ P||SQ ′<br />
P av<br />
−−→ P ′<br />
P \H av<br />
−−→ P ′ \H<br />
P av<br />
−−→ P ′<br />
P \H i −→ P ′ \H<br />
P{recX : P/X} av<br />
−−→ P ′<br />
( av ∈ S,<br />
recX : P av<br />
−−→ P ′<br />
av ∈ S (4f)<br />
av �∈ S (4h)<br />
t = 1 ) (4j)<br />
λ<br />
av �∈ H (5b)<br />
a ∈ H (5d)<br />
(6b)<br />
P av<br />
−−→ P ′<br />
A av<br />
def<br />
A = P (7b)<br />
−−→ P ′<br />
Rule (3e) and (3f) express the choice between action<br />
and delay proposed by two processes. Under the assumption<br />
<strong>of</strong> maximal execution, we propose this rule to execute<br />
action and left the delay alone.<br />
Rule (4a) and (4c) express the execution <strong>of</strong> parallel<br />
composition <strong>of</strong> processes where the executing action is<br />
not within the scope <strong>of</strong> synchronization. Under this situation,<br />
the executing process just continues its execution<br />
and the other processes just waiting for their turns.<br />
Rule (4b) and (4d) express how the paralleled processes<br />
trait their delays: each process waits for its time to end<br />
the delay and continue its further executions.<br />
Rule (4g) and (4h) express how the paralleled processes<br />
with action (no synchronization with others) and delay<br />
trait their behavior. The system executes the action, while<br />
© 2011 ACADEMY PUBLISHER<br />
[λ].P t −→ P<br />
t = 1/λ<br />
P [µ]<br />
−−→ P ′ , Q [ν]<br />
−−→ Q ′<br />
P +Q t −→ P ′<br />
P [µ]<br />
−−→ P ′ , Q [ν]<br />
−−→ Q ′<br />
P +Q t −→ Q ′<br />
P [λ]<br />
−−→ P ′ , Q av<br />
−−→ Q ′<br />
P +Q av<br />
−−→ Q ′<br />
P [ν]<br />
−−→ P ′ , Q [µ]<br />
−−→ Q ′<br />
P||SQ t −→ P ′ ||SQ<br />
P [ν]<br />
−−→ P ′ , Q [µ]<br />
−−→ Q ′<br />
P||SQ t −→ P||SQ ′<br />
P [ν]<br />
−−→ P ′ , Q [µ]<br />
−−→ Q ′<br />
P||SQ t −→ P||SQ ′<br />
t = 1<br />
µ<br />
t = 1<br />
ν<br />
t = 1<br />
ν<br />
t = 1<br />
µ<br />
t = f(ν,µ)<br />
P [λ]<br />
−−→ P ′ , Q av<br />
−−→ Q ′<br />
P||SQ av<br />
av �∈ S<br />
−−→ P||SQ ′<br />
P [λ]<br />
−−→ P ′ , Q av<br />
−−→ Q ′<br />
P||SQ t −→ P ′ ||SQ<br />
P [λ]<br />
−−→ P ′<br />
P \H t −→ P ′ \H<br />
av ∈ S,t = 1<br />
λ<br />
t = 1<br />
λ<br />
P [µ]<br />
−−→ P ′ , P ′ av<br />
−−→ P ′′ ,P ′′<br />
[ν]<br />
−−→ P ′′′<br />
P t −→ P ′′′<br />
P{recX : P/X} [λ]<br />
−−→ P ′<br />
recX : P t −→ P ′<br />
P [λ]<br />
−−→ P ′<br />
A t −→ P ′<br />
TABLE I.<br />
OPERATIONAL SEMANTICS OF YAWNV<br />
�<br />
a ∈ H,<br />
t = 1<br />
µ + 1<br />
�<br />
ν<br />
t = 1<br />
λ<br />
A def<br />
= P, t = 1<br />
λ<br />
waiting for the delay at the same time.<br />
Rule (4i) and (4j) express how the paralleled processes<br />
with action (synchronize with other process) and delay<br />
trait their behavior. The system can not execute the<br />
synchronization, it just wait for the end <strong>of</strong> delay if<br />
no synchronization available. Then continue its further<br />
executions.<br />
Rule (5a) express how a process with hiding actions<br />
executes un-hidden actions, which is intuitive and do not<br />
need further explanation.<br />
Rule (5b) express how a process with hiding actions<br />
traits delay: it just waits to the end <strong>of</strong> the delay and then<br />
continues its executions.<br />
Rule (5c) express how a process dealing with hiding<br />
actions. It just executes the action, however, the execution
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 773<br />
cannot be observed from outside. So, according to the<br />
definition, we name the action as i.<br />
Rule (5d) tells us the delay <strong>of</strong> execution <strong>of</strong> a hiding<br />
action. There can be a sum <strong>of</strong> two delays <strong>of</strong> the hiding<br />
action: before µ and after ν. So, we have the result t =<br />
1<br />
µ + 1<br />
ν .<br />
Rule (6a) and (6b) express how the recursive terms<br />
traits their actions and delays. It is rather intuitive base<br />
on explanations <strong>of</strong> the rules above.<br />
Rule (7a) and (7b) express how a process term assigns<br />
to a constant A. They are also intuitive and easy to<br />
understand.<br />
Some literatures trait action in SPAs with duration<br />
in the form <strong>of</strong> ([λ].av), which is rather intuitive in the<br />
understanding <strong>of</strong> the execution. We separate them in<br />
our language <strong>of</strong> YAWNV as action av which do not<br />
have durations, and delay [λ] which characterize the time<br />
between two actions. There is no difference in the essence<br />
<strong>of</strong> the two kinds <strong>of</strong> expressions. The latter form is more<br />
flexible and compact, so we adapt it here.<br />
IV. AXIOMS<br />
In this section, we propose the axioms <strong>of</strong> operators<br />
in the SPA language with value passing. It is based on<br />
the study <strong>of</strong> operational semantics and the equivalences<br />
relations as strong bisimulation and weak bisimulation.<br />
A. Value<br />
As data play an important role in the language <strong>of</strong><br />
YAWN with value passing, axiomatization for such<br />
process operators must involve dealing with data domain.<br />
However, it turns out that, we can factor out data reasoning<br />
from process reasoning by employing conditional<br />
equations [10] <strong>of</strong> the form<br />
b⊲P = Q<br />
where P and Q are process terms and b is a boolean<br />
expression representing the condition on the data domain<br />
under which P and Q are equal. An example <strong>of</strong> a pro<strong>of</strong><br />
rule is:<br />
b ′ ∧b⊲P = Q, b ′ ∧¬b⊲0 = Q<br />
b ′ ⊲ if b then P = Q<br />
It captures the intuitive meaning <strong>of</strong> the conditional construct:<br />
if b then P behaves like P when b is true, and<br />
like 0 otherwise. In this rule, all we need to know about is<br />
construct if then when manipulating syntactical terms.<br />
From a “goal-directed” point <strong>of</strong> view, it moves the parts<br />
involving data (b) from the process term (if b then P) to<br />
the conditional guard part. Such conditions can be used<br />
to discharge constructs involving data when some other<br />
inference rules are applied.<br />
Reasoning about YAWN with value passing will<br />
inevitably involve the reasoning about data. However,<br />
instead <strong>of</strong> inventing rules for all possible data domains,<br />
we would like to factor out reasoning about data from<br />
reasoning about processes as much as possible. Therefore<br />
© 2011 ACADEMY PUBLISHER<br />
our pro<strong>of</strong> system will be parameterized over data reasoning<br />
<strong>of</strong> the form b |= b ′ , with the intuitive meaning that<br />
whenever b is true then so is b ′ .<br />
Now, we present the axioms <strong>of</strong> data in the language <strong>of</strong><br />
LYAWN in Table II:<br />
This set <strong>of</strong> inference rules we put forward in Table II<br />
can be taken as a natural generalization <strong>of</strong> pure equational<br />
reasoning. For each construct in our language, there is a<br />
corresponding introduction rule with a set <strong>of</strong> axioms.<br />
In this paper, we introduce value passing into the language<br />
<strong>of</strong> LYAWN . We try to focus on the core meaning<br />
<strong>of</strong> the value passing and not <strong>of</strong> the kind and quantity <strong>of</strong><br />
the value.<br />
Example 4.1 There are two testing systems guarded<br />
by scores. When the score is greater than 60, the system<br />
s1 would respond message “PASS”. For system s2 with<br />
the same value, it shows color “GREEN” as a respond.<br />
Both the systems obey the same rules, and output results<br />
with different kinds <strong>of</strong> values, and this is very popular in<br />
scoring systems in the real world. We treat them as equal<br />
in our language for they obey the same rules which can<br />
be described as<br />
b |= rules1 = rules2 = if score ≥ 60 then true<br />
and the result is also <strong>of</strong> the same equal class that can be<br />
described as<br />
b ′ �<br />
trues1 = PASS<br />
|=<br />
trues2 = GREEN<br />
We omit the input action in the design <strong>of</strong> the systems<br />
designed above. System s1 and s2 are simple, they<br />
can deal with value satisfying condition if score ≥<br />
60 then true. These systems ignore other score and<br />
respond nothing according to the condition b.<br />
B. Sequential Composition<br />
Essentially, axioms <strong>of</strong> prefix and sequential composition<br />
are <strong>of</strong> the same class. They are all sequential<br />
operators, and they obey rules (1) and (2).<br />
(S1) P.0 = P<br />
(S2) P.0.Q = P<br />
(S3) (P.Q).R = P.(Q.R)<br />
Axioms <strong>of</strong> Sequential Composition:AS<br />
A process will STOP when it encounters with 0. So, the<br />
execution <strong>of</strong> process will stop at the point <strong>of</strong> 0, and left<br />
the other actions aside. Thus, we know that S1 and S2<br />
are right. As to S3, it is rather intuitive to understand, for<br />
the parenthesis do not influence the execution sequences<br />
<strong>of</strong> P.Q.R.<br />
C. Choice Composition<br />
In this section, we present the axioms <strong>of</strong> choice composition.<br />
They are based on the rules <strong>of</strong> (3a), (3b), (3c),
774 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
and (3d).<br />
(D1) α−Conversion<br />
c?x.P = c?y.Q[y/x]<br />
(D2) Premise true⊲P=Q<br />
(D3) Input<br />
(D4) Output<br />
(D5) Choice<br />
(D6) Partition<br />
(D7) Condition<br />
(D7) Parallel<br />
(D8) Hiding<br />
(C1) α.P +β.Q = β.Q+α.P<br />
(C2) α.P +[λ].Q = α.P<br />
(C3) [µ].P +[ν].P = 1/(µ+ν).P<br />
(C4) P +(Q+R) = (P +Q)+R<br />
(C5) P +0 = P<br />
Axioms <strong>of</strong> Choice Composition:AC<br />
The axioms <strong>of</strong> choice composition deal with actions<br />
and delays separately. C1 shows that the exchange <strong>of</strong><br />
position in choice composition does not affect the execution.<br />
C1 left the choice for the outside environment.<br />
C2 shows that the execution policy <strong>of</strong> maximal processes<br />
during the execution <strong>of</strong> choice composition: the system<br />
does not wait if there is an action ready for execution.C3<br />
shows that when there is a choice between two identical<br />
processes with different (exponential) delays, the system<br />
would delay as the sum <strong>of</strong> the two stochastic variables.<br />
C4 shows that the choice composition among processes<br />
with parenthesis does not affect the executing policy <strong>of</strong><br />
choices. C5 shows that the system would select P under<br />
the situation <strong>of</strong> P + 0, which means the system can do<br />
nothing but P . This is intuitive, for 0 means STOP <strong>of</strong><br />
the execution. If P +0 = 0 means the system is out <strong>of</strong><br />
control, and STOPs at wrong point.<br />
D. Internal Action i<br />
We present axioms <strong>of</strong> internal action (i.e., τ in classic<br />
process algebra). They are based on the rules <strong>of</strong> (5c) and<br />
© 2011 ACADEMY PUBLISHER<br />
P = Q<br />
b⊲P = Q<br />
b⊲c?x.P = c?x.Q<br />
b |= e = e ′ , b⊲P = Q<br />
b⊲c!e.P = c!e ′ .Q<br />
b⊲P = Q<br />
b⊲P +R = Q+R<br />
y �∈ fv(t)<br />
b |= b1 ∨b2, b1 ⊲P = Q, b2 ⊲P = Q<br />
b⊲P = Q<br />
b ′ ∧b⊲P = Q, b ′ ∧¬b⊲0 = Q<br />
b ′ ⊲ if b then P = Q<br />
b⊲P = Q<br />
b⊲P||SR = Q||SR<br />
b⊲P = Q<br />
b⊲P \H = Q\H<br />
TABLE II.<br />
AXIOMS OF VALUE UNDER CONDITIONAD<br />
(5d).<br />
(I1) α.i.P = α.P<br />
(I2) P +i.P = i.P<br />
(I3) α.(P +i.Q)+i.Q = α.(P +i.Q)<br />
Axioms <strong>of</strong> Internal Action:Ai<br />
The axioms <strong>of</strong> internal actions are designed for the<br />
observable equivalences. When the system is executing<br />
an internal action, the action being executed cannot be<br />
observed from outside. This is what I1 means. I2 and I3<br />
are rather intuitive: as we cannot tell if there are internal<br />
actions being executed, we assume there are internal<br />
executions in system runs.<br />
E. Parallel Composition<br />
We present axioms <strong>of</strong> parallel composition here. They<br />
are based on the rules <strong>of</strong> (4a), (4b), (4c), (4d), (4e), and<br />
(4f).<br />
(P1) P||S0 = P<br />
(P2) P||SQ = Q||SP<br />
(P3) (P||SQ)||TR = P||S(Q||TR)<br />
Axioms <strong>of</strong> Parallel Composition:AP<br />
Axiom P1 means the same as C5 ( P+0 = P ): when<br />
a process P is paralleled with an empty process, it just<br />
executes as P . P2 shows that the execution <strong>of</strong> paralleled<br />
processes do not care about the position under parallel<br />
composition. That is, communication under parallel composition<br />
is preserved. P3 shows that the parenthesis <strong>of</strong><br />
paralleled processes do not affect the execution when it<br />
is paralleled with other processes.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 775<br />
F. Hiding Operation<br />
We present axioms <strong>of</strong> hiding operation here. They are<br />
based on the rules <strong>of</strong> (5a), (5b), (5c), and (5d).<br />
(H1) P \L = P if Act(P) �∈ L<br />
(H2) P \K \L = P \(K ∪L)<br />
(H3) (P||SQ)\L = P||S∪LQ<br />
(H4) (P +Q)\L = P \L+Q\L<br />
Axioms <strong>of</strong> Hiding Operation:AH<br />
Hiding operator is useful in the s<strong>of</strong>tware engineering.<br />
We can take single programs as processes, and the<br />
composition <strong>of</strong> all associated programs so as to form<br />
a system which can complete designed functions. The<br />
program/process with certain sub-functions usually with<br />
input, output, and some other kind <strong>of</strong> control. When they<br />
are compiled into one system (sometime one executive<br />
file), most <strong>of</strong> the programs’ input, output, and control are<br />
transformed into internal communications which cannot<br />
be observed outside.<br />
H1 means process P with hiding action set L which<br />
contains no action during the execution <strong>of</strong>P , so the hiding<br />
operator cannot affects the P . H2 means the function<br />
<strong>of</strong> composition <strong>of</strong> more than one sets <strong>of</strong> hiding actions<br />
into one hiding action set. H3 means that hiding set in<br />
parallel composition can be added to the synchronization<br />
set. In this rule, the hiding action set is the set that process<br />
P and Q will synchronized. H4 means that the hiding<br />
operator can distribute through the choice composition <strong>of</strong><br />
processes.<br />
G. Recursive Operation<br />
We present axioms <strong>of</strong> recursive operator here, which<br />
are based on the rules <strong>of</strong> (6a), (6b), (7a), and (7b).<br />
(R1) rec(X : P) = P{recX : P/X}<br />
(R2) If P = E{P/X} then P = recX : E/X<br />
(R3) recX : (X = X +P) = recX : P<br />
(R4) recX : (X = i.X +P) = recX : (i.P)<br />
(R5) recX : (X = i.(X +P)+Q =<br />
recX : (i.X +P +Q)<br />
Axioms <strong>of</strong> Recursive operator:AR<br />
R1 is rather intuitive, the unwind <strong>of</strong> rec(X : P)<br />
is the substitution <strong>of</strong> variable X with P such form<br />
the recursive expression. R2 shows how to define the<br />
recursive expression. R3, R4, and R5 are rather intuitive<br />
based on the understanding <strong>of</strong> the rules.<br />
V. EQUIVALENT RELATIONS<br />
From the very beginning, an essential part <strong>of</strong> process<br />
algebra theory has been devoted to the development<br />
<strong>of</strong> equivalence notions. The starting point <strong>of</strong> all<br />
process algebraic equivalences is the observation that<br />
different processes may exhibit the same behavior. R.J.<br />
van Glabbeek has extensively studies different notions <strong>of</strong><br />
© 2011 ACADEMY PUBLISHER<br />
an experiment that interacts with an interactive process in<br />
order to determine its behavior [8], [9]. We consider so<br />
called “strong” equivalence, where internal and external<br />
actions are treated in the same way. Afterward, we discuss<br />
“weak” equivalence, which aims to abstract away internal<br />
state/action as much as possible.<br />
In this section, we define YAMN processes to be<br />
equivalent (and substitutive) and their requirements. Since<br />
GMP are very similar to IMC transition systems, we adopt<br />
the definitions from [14].<br />
The congruences we are going to define are strong<br />
Markovian bisimulation and weak Markovian congruence.<br />
A. Strong Markovian Bisimulation<br />
To define strong Markovian bisimulation, we first need<br />
a function γM that sums up all rates from transitions that<br />
start in a single state s and end in some state in a set C.<br />
Definition 5.1 (γM) Let (S,AV,T,R) be a GMTS and<br />
for s ∈ S and C ⊆ S, let<br />
T s C = {t|t ∈ {s}×{t}×C}.<br />
Then the function γM is defined as<br />
⎧<br />
⎪⎨ S ×2<br />
γM :<br />
⎪⎩<br />
S → R<br />
(s,C) ↦→ �<br />
R(t)<br />
t∈T s C<br />
Example 5.2 Consider a GMTS with states s, s1, s2,<br />
s3, s4, s5 and states sets <strong>of</strong> C1 = {s1,s2,s4} and C2 =<br />
{s3,s5}. In Fig.1 (a), we see transitions going from s to<br />
si for i = 1,··· ,5. Then, after the cumulative rate <strong>of</strong> (a),<br />
we get<br />
γM(s,C1) = 2λ+ν and γM(s,C2) = µ+κ.<br />
which is (b).<br />
Definition 5.3 An equivalence relation R ⊆ LYAWN×<br />
LYAWN is a strong Markovian bisimulation. It is a family<br />
<strong>of</strong> symmetric relations R = {Rb | b ∈ BExp} which<br />
satisfies: if and only if PRbQ implies for all a ∈ Actt<br />
and all equivalence classes C <strong>of</strong> Rb :<br />
1) If P b1,av<br />
−−−→ P ′ with bv(a) ∩ fv(b,P,Q) = ∅,<br />
then there is a b ∧ b1-partition B with<br />
fv(B) ⊆ fv(b,P,Q) such that for each b ′ ∈ B<br />
there exist b2, a ′ and u ′ with b ′ |= b2, a = b′ a ′ ,<br />
Q b2,a′<br />
−−−→ Q ′′ and P ′ RbQ ′ ;<br />
2) If P � i −→ then γM(P,C) = γM(Q,C).<br />
bv(a) is the variable through which the value can be<br />
carried for execution by action a, i.e., bv(c?x) = {x}<br />
and bv(i) = bv(c!e) = ∅. fv(a) is the value which can<br />
be used by action a during its execution.<br />
Two processes P and Q are strongly bisimilar (P ∼ Q)<br />
if they are contained in strong bisimulation.<br />
This definition amalgamates strong bisimilarity for<br />
stochastic processes with value passing during their executions.<br />
In order to compare the stochastic timing behavior,<br />
the cumulative rate function γM is used. What’s
776 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
s<br />
λ<br />
λ<br />
��<br />
���������������<br />
���������������<br />
��<br />
�������� �������� ��<br />
�<br />
��<br />
�<br />
��<br />
s<br />
��<br />
�<br />
�<br />
�<br />
ν<br />
µ ��<br />
��<br />
��<br />
� κ<br />
��<br />
��<br />
� �<br />
��<br />
� ��<br />
��<br />
������<br />
2λ+ν<br />
��<br />
� ������������� � �������������<br />
�<br />
�<br />
�<br />
�<br />
�<br />
�<br />
���� �� �� ���� �� �� �� �� ���� �� �� �� ��<br />
�<br />
�µ+κ<br />
����s1�� ����<br />
����s2�� �� ��s3�� �<br />
�<br />
�<br />
�<br />
�<br />
��<br />
� ����s4�� �� ��s5�� �<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 />
����C1�� ��<br />
��C2�� ����C1�� �� ��C2�� (a) (b)<br />
Figure 1. Illustration <strong>of</strong> Example 5.2<br />
��� ��<br />
S3<br />
µ0<br />
true �<br />
���<br />
�<br />
S0<br />
��<br />
µ1,Readfp<br />
��<br />
S1<br />
µ2,Identifyfp ��<br />
more, maximal progress is realized because the stochastic<br />
timing behavior is irrelevant for unstable expressions.<br />
Example 5.4 We assume that under certain situation,<br />
people have to register themselves either with a card<br />
or with their fingerprint to identify their identity so as<br />
to get their permissions. There are two register systems<br />
available, one system is equipped with a fingerprint reader<br />
(short for Sysfp), and the other is equipped with a card<br />
reader (short for Syscrd). The systems Sysfp can be<br />
specified as:<br />
And the formalized description <strong>of</strong> the Sysfp is:<br />
S2<br />
µ3,Log fp<br />
���<br />
���<br />
�����<br />
�<br />
¬true ���<br />
µ7<br />
Figure 2. Illustration <strong>of</strong> Sysfp<br />
[µ0].Sysfp := ([µ1].Readfp).Sys ′ fp<br />
Sys ′ fp := (([µ2].Identifyfp)||([µ3].Logfp)).Sys ′′<br />
fp<br />
Sys ′′<br />
fp := ((true).([µ4].Msg OK )+<br />
(¬true).([µ5].Msg Again )).Sys ′′′<br />
fp<br />
Sys ′′′<br />
fp := ([µ6].Done).[µ7].Sysfp<br />
The systems Syscrd can be specified in Figure 1.<br />
And the formalized description <strong>of</strong> the Syscrd is:<br />
[ν0].Syscrd := ([ν1].Readcrd).Sys ′ crd<br />
Sys ′ crd := (([ν2].Identifycrd)||([ν3].Logcrd)).Sys ′′<br />
Sys ′′<br />
crd := ((true).([ν4].Msg PASS )+<br />
(¬true).([ν5].Msg WrongCard )).Sys ′′′<br />
crd<br />
Sys ′′′<br />
crd := ([ν6].Done).[ν7].Syscrd<br />
From the Fig.2 and Fig.3, it is intuitive that Syscrd ∼<br />
Syscrd during their execution when νi = νi for i =<br />
0,1,...,7.<br />
This example also show us that the data <strong>of</strong> the same action<br />
can be different in systems which in the equivalence<br />
relation <strong>of</strong> strong bisimulation, i.e., Readcrd can take<br />
© 2011 ACADEMY PUBLISHER<br />
crd<br />
S4<br />
�����<br />
����<br />
�<br />
µ 4 ,Msg OK<br />
µ 5 ,Msg Again<br />
�������<br />
��<br />
�����<br />
��<br />
S5<br />
µ6,Done<br />
��<br />
S6<br />
value passing <strong>of</strong> card while the Readfp can take value<br />
passing <strong>of</strong> fingerprint. They belong to different kinds <strong>of</strong><br />
data, however, they identify the same person and achieve<br />
the same goal as well.<br />
Check executing actions, it is clear that<br />
Sysfp ∼ Syscrd. What’s more, from the point <strong>of</strong><br />
value passing under condition <strong>of</strong> value(Readfp)/bfp<br />
and value(Readcrd)/bcrd, we know that the core<br />
“value” <strong>of</strong> them are equal: value(Readfp)/bfp =<br />
value(Readcrd)/bcrd.<br />
B. Expansion Law<br />
The following law expresses the most basic principle<br />
<strong>of</strong> the operational semantics <strong>of</strong> process algebras. It states<br />
that for each parallel composition <strong>of</strong> “sums” <strong>of</strong> processes<br />
P (where the choice operator takes the role <strong>of</strong> the sum<br />
here) there exists a process P ′ such that P ∼ P ′ and P ′<br />
is the “sum” <strong>of</strong> parallel compositions. This means that<br />
parallelism is not represented explicitly, but encoded by<br />
the choice operator.<br />
Definition 5.5 (Expansion Law)<br />
Let<br />
P = �<br />
[λi].Pi + �<br />
(bj,pj).Pj<br />
and<br />
I<br />
Q = �<br />
[µk].Qk + �<br />
(bl,ql).Ql<br />
K<br />
where i,j,k,l range over the respective index sets<br />
I,J,K,L, bj and bl stands for the condition <strong>of</strong> value<br />
under which the action pj and ql can perform their<br />
J<br />
L
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 777<br />
S ′ 0<br />
ν0 ��<br />
��<br />
��<br />
�<br />
��<br />
ν1,Readcrd ��<br />
′ S 1<br />
executions. Let S ⊆ Act. Then<br />
P||SQ ∼ �<br />
[λi].Pi + �<br />
(bj,pj).Pj +<br />
I<br />
J<br />
�<br />
[µk].Qk + �<br />
(bl,ql).Ql +<br />
K<br />
�<br />
A∩B∩S<br />
(b j ,p j )=(b l ,q l )<br />
L<br />
(bj,pj).(Pj||SQl)<br />
where A = {(bj,pj)|j ∈ J}, B = {(bl,ql)|l ∈ L}<br />
and<br />
Example 5.6 Revisit Example 5.3, we assume that<br />
P = (true).([ν4].Msg PASS )+<br />
(¬true).([ν5].Msg WrongCard ))<br />
Q = (true).([ν4].Msg OK )+<br />
(¬true).([ν5].Msg Again ))<br />
ν2,Identifycrd ��<br />
as time delays characterized by µ4, µ5, ν4 and ν5 have no<br />
influences with boolean expression true and ¬true. We<br />
can exchange the position between delays and boolean<br />
expressions by shorten true to bp and bq, Msg PASS<br />
to MP , Msg WrongCard to MW , Msg OK to MO and<br />
Msg Again to MA. Then, we have<br />
and<br />
P = [ν4].(bp,MP)+[ν5].(¬bp,MW)<br />
Q = [µ4].(bq,MO)+[µ5].(¬bq,MA)<br />
as there is no action for P and Q to synchronize, then it<br />
can be expanded as<br />
P|| ∅Q = ([ν4].(bp,MP)+[ν5].(¬bp,MW))|| ∅<br />
([µ4].(bq,MO)+[µ5].(¬bq,MA))<br />
∼ [ν4].(bp,MP)+[ν5].(¬bp,MW)+<br />
[µ4].(bq,MO)+[µ5].(¬bq,MA)<br />
We know that ν4, ν5, µ4 and µ5 are variables <strong>of</strong> exponential<br />
distributions, by the “memoryless” property <strong>of</strong><br />
Markovian process, at any time point, the time passed cannot<br />
influence them. So it is reasonable for[ν4].(bp,MP)+<br />
[ν5].(¬bp,MW)+[µ4].(bq,MO)+[µ5].(¬bq,MA) to simulate<br />
the execution <strong>of</strong> P|| ∅Q.<br />
© 2011 ACADEMY PUBLISHER<br />
S ′ 2<br />
ν3,Log crd<br />
��<br />
true ��<br />
��<br />
��<br />
�<br />
�����<br />
� ¬true ���<br />
ν7<br />
Figure 3. Illustration <strong>of</strong> Syscrd<br />
S ′ 3<br />
S ′ 4<br />
�����<br />
����<br />
�<br />
ν 4 ,Msg PASS<br />
�������<br />
��<br />
�����<br />
��<br />
ν 5 ,Msg Wrong Card<br />
C. Weak Markovian Congruence<br />
S ′ 5<br />
ν6,Done<br />
��<br />
′ S 6<br />
The weak Markovian congruence abstracts away internal<br />
actions. To treat internal transitions properly, we need<br />
the following definition.<br />
Definition 5.7 (Weak Markovian Bisimulation) An<br />
equivalence relation R with R = LYAWN × LYAWN<br />
is called weak Markovian bisimulation is a family <strong>of</strong><br />
symmetric relationsR = {R b | b ∈ BExp}, and satisfies:<br />
iff PR b Q implies for all a ∈ Act and all equivalence<br />
classes C <strong>of</strong> R b :<br />
1) If P b1,av<br />
−−−→ P ′ with bv(a) ∩ fv(b,P,Q) = ∅,<br />
then there is a b ∧ b1-partition B with<br />
fv(B) ⊆ fv(b,P,Q) such that for each b ′ ∈ B<br />
there exist b2, a ′ and u ′ with b ′ |= b2, a = b′ a ′ ,<br />
Q b2,â′<br />
−−−→ Q ′′ and such that<br />
• If a ≡ c?x then there is a b ′ -partition B ′ such<br />
that for each b ′′ ∈ B there are b ′ 2 and Q′′ with<br />
b ′′ |= b ′ b′<br />
2 , Q′ −−→ Q ′′ and P ′ Rb′′ Q ′′ ;<br />
• otherwise P ′ Rb′ Q ′ .<br />
2 ,i<br />
2) P i −→ P ′ and P ′ � i −→ imply γM(p,C i ) = γM(q,C i )<br />
P andQare called weakly Markovian bisimulation equivalent<br />
(P ≈ Q) if there is a weak Markovian bisimulation<br />
R such that PRQ.<br />
Example 5.8 Revisit Example 5.3, we can abstract<br />
away some internal actions to form a system as which can<br />
be observed by the outside observers. First we simplify<br />
Sysfp in Figure 4.<br />
Based on Definition 5.7, we know that system Sysfp<br />
and Syscrd in the relation <strong>of</strong> weakly Markovian bisimulation<br />
in Fig.4 iff they satisfy: µi = νi for i = 1,2,3,4.<br />
In [14], Hermanns proved that ≈ is a congruence for<br />
all IMC operators (and hence also for YAMN ) except<br />
choice operator. The reasons for this are well known due<br />
to Milner [23], and the deficiency is fixed with the follow<br />
definition:<br />
Definition 5.9 (Weak Markovian Congruence)P and<br />
Q are said to be weakly Markovian congruent(P ≃ Q) is<br />
a family <strong>of</strong> symmetric relations R = {R b | b ∈ BExp},<br />
if and only if for all a ∈ Act, all C ∈ YAMN/ ≈:
778 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
[µ<br />
S0<br />
′ 1 ],Readfp ��<br />
S1<br />
��<br />
[µ ′<br />
4 ],Done<br />
[µ ′ 2 ],Msg OK<br />
[µ ′<br />
3 ],Msg Again<br />
1) If P b1,av<br />
−−−→ P ′ with bv(a) ∩ fv(b,P,Q) = ∅,<br />
then there is a b ∧ b1-partition B with fv(B) ⊆<br />
fv(b,P,Q) such that for each b ′ ∈ B there exist<br />
b2, a ′ and u ′ with b ′ |= b2, a = b′<br />
and such that<br />
��<br />
�<br />
� S5<br />
S ′ [ν<br />
0<br />
′<br />
1 ],Readcrd �<br />
��<br />
� S ′ 1<br />
[ν ′ 2 ],Msg PASS<br />
[ν ′<br />
3 ],Msg Wrong Card<br />
[ν ′<br />
4 ],Done<br />
Sysfp Syscrd<br />
Figure 4. Illustration <strong>of</strong> simplified Sysfp and Syscrd<br />
a ′ , Q b2,â′<br />
−−−→ Q ′′<br />
• If a ≡ c?x then there is a b ′ -partition B ′ such<br />
that for each b ′′ ∈ B there are b ′ 2 and Q′′ with<br />
b′<br />
′ 2 ,i<br />
b ′′ |= b ′ 2, Q −−→ Q ′′ and P ′ Rb′′ Q ′′ ;<br />
• otherwise P ′ Rb′ Q ′ .<br />
2) P stable ⇒ γM(P,C) = γM(Q,C);<br />
3) P stable ⇔ Q stable.<br />
We use P ∼ = Q to stands for the weak Markovian<br />
congruence.<br />
Lemma 5.10 IfP ,Q, andRare processes, andP ∼ = Q,<br />
then:<br />
1) a.P ∼ = a.Q, and [λ].P ∼ = [λ].Q;<br />
2) P +R ∼ = Q+R, and R+P ∼ = R+Q;<br />
3) P||SR ∼ = Q||SR, and R||SP ∼ = R||SQ;<br />
4) recX : P ∼ = recX : Q.<br />
Pro<strong>of</strong>: All the pro<strong>of</strong>s are alike, and we prove the<br />
parallel composition as representation <strong>of</strong> them.<br />
We all know that the weak bisimulation <strong>of</strong> CCS [10],<br />
[22], which only restrict the bisimulation with pure action<br />
and states during the execution. In the definition above,<br />
we add another restriction based on the exponential distribution.<br />
The restricted exponential distribution can be<br />
used to calculate the mean time <strong>of</strong> the delay or duration<br />
<strong>of</strong> executions.<br />
⇒: From P ∼ = Q to P||SR ∼ = Q||SR, there are several<br />
action types available, and we will discuss them one by<br />
one:<br />
• For action a ∈ S, then a ∈ Act(P) and a ∈ Act(Q)<br />
are changed into internal action i, and we know that<br />
(P||SR ∼ = Q||SR) \ a is still P||SR ∼ = Q||SR for<br />
a ∈ S;<br />
• For a ∈ Act(R), R ∼ = R and R b⊲av<br />
−−−→ R ′ , it is easy<br />
to know that P||SR ′ ∼ = Q||SR ′ ;<br />
• For action a �∈ S ∪Act(R):<br />
– For input action, as a?x.P ′ ∼ = i.a?x.i.Q ′ and<br />
P ′ ∼ = Q ′ , we know that γ(P,P ′ ) = γ(Q,Q ′ ),<br />
though there are internal action is duration the<br />
execution <strong>of</strong> Q, there is no difference between<br />
the execution <strong>of</strong> a?x both in P and Q, then, we<br />
know that P||SR ∼ = Q||SR;<br />
© 2011 ACADEMY PUBLISHER<br />
��<br />
��<br />
S ′ 5<br />
– For output action, as c!e.P ′ ∼ = i.c!e ′ .i.Q ′ and<br />
P ′ ∼ = Q ′ , we know that γ(P,P ′ ) = γ(Q,Q ′ ),<br />
though there are internal action is duration the<br />
execution <strong>of</strong> Q, there is no difference between<br />
the execution <strong>of</strong> c!e in P and c!e ′ in Q, then,<br />
we know that P||SR ∼ = Q||SR;<br />
– For internal action i, it could not be observed<br />
from outside, and there is no change inP||SR ∼ =<br />
Q||SR, and <strong>of</strong> course it equals with itself.<br />
⇐: We know that P||SR ∼ = Q||SR, and there are<br />
several kinds <strong>of</strong> actions during their execution. We also<br />
figure them out one by one:<br />
• For action a ∈ Act(R) and R b⊲av<br />
−−−→ R ′ , the situation<br />
have nothing to do with P ∼ = Q;<br />
• For action a ∈ S, it is an internal action i, and<br />
P||SR ∼ = Q||SR evolves into P ′ ||SR ′ ∼ = Q ′ ||SR ′ ,<br />
as we know that (P,P ′ ) ∈ C and (Q,Q ′ ) ∈ C, and<br />
there is no way to calculate the delay or duration,<br />
so, it is still unable to know that P ∼ = Q on action<br />
i;<br />
• For action a �∈ S ∪Act(R)<br />
– For input action, as a?x.P ′ ||SR ∼ =<br />
i.a?x.i.Q ′ ||SR, we know that<br />
γ(P||SR,P ′ ||SR) = γ(Q||SR,Q ′ ||SR),<br />
though there are internal action is duration the<br />
execution <strong>of</strong> Q, there is no difference between<br />
the execution <strong>of</strong> a?x both in P||SR and Q||SR,<br />
then, get ride <strong>of</strong> R, we get that P ∼ = Q;<br />
– For output action, as c!e.P ′ ||SR ∼ =<br />
i.c!e ′ .i.Q ′ ||SR, we know that<br />
γ(P||SR,P ′ ||SR) = γ(Q||SR,Q ′ ||SR),<br />
though there are internal action is duration the<br />
execution <strong>of</strong> Q, there is no difference between<br />
the execution <strong>of</strong> c!e in P and c!e ′ in Q, then,<br />
we know that P ′ ||SR ∼ = Q ′ ||SR, since there is<br />
no change on R, we have P ∼ = Q;<br />
– For internal action i, it could not be observed<br />
from outside, and there is no change inP||SR ∼ =<br />
Q||SR, and <strong>of</strong> course it equals with itself.<br />
Based on the analyze above, we complete the pro<strong>of</strong>.<br />
�<br />
Example 5.11 Revisit Example 5.8. We know that<br />
under the condition that µi = νi < ∞ for i = 1,2,3,4,<br />
system Sysfp is in weak congruence with Syscrd according<br />
to the definition 5.7.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 779<br />
D. Time Restricted Markovian Bisimulation<br />
For bisimulation relationships, we think that Examples<br />
<strong>of</strong> 5.3 and 5.8 are perfect for it. Even though, it is hard<br />
to keep the system in bisimulation relations in real world<br />
systems. We have reason to assume that the subprocess<br />
Identifyfp in Sysfp does not have the same time as<br />
Identifycrd in Syscrd, because they use different kinds<br />
<strong>of</strong> devices to get their information. So, it is reasonable<br />
for us to assume that µ2 in Figure 2 does not equal with<br />
ν2 in Figure 3. From this point <strong>of</strong> view, it is hard to build<br />
even a weak bisimulation over Sysfp and Syscrd.<br />
In real world systems, we do not distinguish the two<br />
systems if they function well. Then, what makes the distance<br />
between bisimulation relations from the real world?<br />
The key reason is time, which appears in the definition<br />
<strong>of</strong> bisimulations both strong and weak in Markovian<br />
relations.<br />
Here, we give out another definition <strong>of</strong> bisimulation. It<br />
is built on the opinion <strong>of</strong> time restriction tr. tr means<br />
there is a time restriction/limitation for the execution<br />
<strong>of</strong> certain kind <strong>of</strong> actions. Usually, we use tr(P,Q) to<br />
show the time restriction for process P to involve into<br />
1<br />
Q duration a serial action(s). Use formula<br />
γM(P,Q)<br />
to describe the mean time <strong>of</strong> process P involves into<br />
Q during a serial action(s). If the execution time is<br />
within the restriction, we call it normal. Otherwise, we<br />
call it abnormal. If two systems constructed with the<br />
same description <strong>of</strong> actions, but with different execution<br />
durations, we call them bisimulation if their execution<br />
times are all within the restriction. In other words, both <strong>of</strong><br />
the systems can satisfy the requirements on both actions<br />
and on time restrictions.<br />
According to the bisimulations equivalences <strong>of</strong> strong<br />
and weak, we give out the definitions <strong>of</strong> strong and weak<br />
bisimulation equivalences with time restrictions.<br />
Definition 5.12 (Time Restricted Strong Bisimulation<br />
with Value) An equivalence relationR ⊆ LYAWN×<br />
LYAWN is a time restricted strong Markovian bisimulation,<br />
is a family <strong>of</strong> symmetric relations R = {Rb | b ∈<br />
BExp}, and satisfies: iff PRbQ implies for all a ∈ Actt,<br />
time restriction tr and all equivalence classes C <strong>of</strong> Rb :<br />
1) If P b1,av<br />
−−−→ P ′ with bv(a) ∩ fv(b,P,Q) = ∅,<br />
then there is a b ∧ b1-partition B with<br />
fv(B) ⊆ fv(b,P,Q) such that for each b ′ ∈ B<br />
there exist b2, a ′ and u ′ with b ′ |= b2, a = b′ a ′ ,<br />
Q b2,a′<br />
−−−→ Q ′′ and P ′ RbQ ′ ;<br />
2) If P � i 1<br />
−→ then ≤ tr(P,C) and<br />
γM(P,C)<br />
1<br />
≤ tr(Q,C).<br />
γM(Q,C)<br />
Two processP and Q are strongly bisimilar (P ∼tr Q)<br />
if they are contained in some strong bisimulation.<br />
Example 5.13 Revisit Example 5.3. We know that<br />
for i = 0,1,...,7, strong bisimulation Sysfp ∼ Syscrd<br />
means µi = νi. From the point <strong>of</strong> practice, we know<br />
that this condition is too hard to satisfy. However, to full<br />
© 2011 ACADEMY PUBLISHER<br />
fill the design requirements <strong>of</strong> these two systems, we can<br />
restrict the total responding time to no more than TR.<br />
That is, systems can accomplish its requirements. Thus,<br />
we might specify the systems step by step to split TR<br />
into tri (i ∈ N). Then, we might design Sysfp (Syscrd)<br />
under condition that µi ≤ tri (νi ≤ tri) for i = 0,1,...,7.<br />
The time restriction <strong>of</strong> the two systems can be illustrated<br />
by Fig.5 where tri for i = 0,1,...,7 are time restrictions<br />
for the action above the arrow.<br />
Under the time restrictions specified by Fig.5, we know<br />
that Sysfp ∼tr Syscrd iff µi ≤ tri and νi ≤ tri for<br />
i = 0,1,...,7 (which means that (µi,νi) ∈ Ci where<br />
Ci is a serious <strong>of</strong> equivalent class). This might loosen<br />
the definition <strong>of</strong> strong Markovian bisimulation 5.1 as<br />
µi = νi for i = 0,1,...,7. However, this change can meet<br />
the needs in practice, and it is more practical and easy to<br />
control.<br />
This definition can also be explained as follows: all<br />
the systems satisfying their design requirements can be<br />
taken as equal. When system Sysfp and syscrd working<br />
independently, all <strong>of</strong> them can function well according<br />
to the design requirements. That is, one system can<br />
take the place <strong>of</strong> another in practice according to the<br />
design requirements, this can also be taken as a kind <strong>of</strong><br />
equivalence in both algebra and practice.<br />
Definition 5.14 (Time Restricted Weak Markovian<br />
Bisimulation) An equivalence relation R with R ⊆<br />
LYAWN×LYAWN is called time restricted weak Markovian<br />
bisimulation, is a family <strong>of</strong> symmetric relations<br />
R = {Rb | b ∈ BExp}. It satisfies: iff PRbQ implies<br />
for all a ∈ Act, time restriction tr and all equivalence<br />
classes C <strong>of</strong> Rb 1) If P b1,av<br />
−−−→ P ′ with bv(a) ∩ fv(b,P,Q) = ∅,<br />
then there is a b ∧ b1-partition B with fv(B) ⊆<br />
fv(b,P,Q) such that for each b ′ ∈ B there exist<br />
b2, a ′ and u ′ with b ′ |= b2, a = b′<br />
and such that<br />
a ′ , Q b2,â′<br />
−−−→ Q ′′<br />
• If a ≡ c?x then there is a b ′ -partition B ′ such<br />
that for each b ′′ ∈ B there are b ′ 2 and Q ′′ with<br />
b ′′ |= b ′ 2 , Q′ b′ 2 ,i<br />
−−→ Q ′′ and P ′ Rb′′ Q ′′ ;<br />
• otherwise P ′ Rb′ Q ′ .<br />
2) P i −→ P ′ and P ′ � i −→ imply<br />
and<br />
1<br />
γM(q,C i ) ≤ tr(p,Ci ).<br />
1<br />
γM(p,C i ) ≤ tr(p,Ci )<br />
P and Q are called time restricted weak Markovian<br />
bisimulation equivalent (P ≈tr Q) if there is a weak<br />
Markovian bisimulation R such that PRQ.<br />
Example 5.15 When we make clear <strong>of</strong> the Example<br />
5.13, it is easy to understand this one. Time restricted<br />
weak Markovian bisimulation take input action Readfp<br />
and Readcrd as a special case. It is easy to understand<br />
in Fig.4 <strong>of</strong> Example 5.8. Fingerprint might take different<br />
steps in number to get its information as card reader. It is<br />
reasonable to assume that card reader takes less steps to<br />
get its value than fingerprint. Because it might take more<br />
steps to calculate the value <strong>of</strong> fingerprint, thus fingerprint<br />
has more internal action i than card reader. As we know
780 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
�� S3<br />
��Initial<br />
T ��<br />
tr0<br />
����<br />
��<br />
S0<br />
��<br />
Read ��<br />
S1<br />
tr1<br />
that either Readfp in Sysfp or Readcrd in Syscrd is<br />
restricted by executing time to less than tr1 (Fig.5). This<br />
satisfies condition 2 in definition 5.14.<br />
Checking the execution <strong>of</strong> Sysfp and Syscrd step by<br />
step, we know that they belong to the time restricted weak<br />
Markovian bisimulation.<br />
For any different abstract levels <strong>of</strong> the description <strong>of</strong><br />
systems, there are different atomic actions. The higher<br />
the abstract level, the more abstract atomic actions are<br />
required for that level. Thus, atomic actions <strong>of</strong> higher<br />
abstract level contain more internal actions. Another way<br />
to turn normal action (observable) into internal action is<br />
the composition <strong>of</strong> compositions into a larger system.<br />
The output <strong>of</strong> one component is the input <strong>of</strong> another,<br />
thus, at least two normal actions are abstracted away by<br />
composition.<br />
Lemma 5.16 Time restricted congruence is a congruence<br />
with respect to all operators <strong>of</strong> LYAWN . If P , Q<br />
and R are expressions <strong>of</strong> LYAWN and a ∈ Act, λ ∈ R<br />
and X ∈ Var, then<br />
• P ≈tr Q implies a.P ≈tr a.Q;<br />
• P ≈tr Q implies [λ].P ≈tr [λ].Q;<br />
• P ≈tr Q implies P +R ≈tr Q+R and R+P ≈tr<br />
R+Q;<br />
• P ≈tr Q implies P||SR ≈tr Q||SR and R||SP ≈tr<br />
R||SQ;<br />
• P ≈tr Q implies rexX : P ≈tr rexX : Q.<br />
Pro<strong>of</strong>: All the pro<strong>of</strong>s are alike, and we prove the choice<br />
composition as representation <strong>of</strong> them.<br />
⇒: We suggest that the executing time <strong>of</strong> P as trP ≤<br />
trP , Q as trQ ≤ trQ, and R as trR as we know<br />
that P ≈tr Q. So, we get trP = trQ, according<br />
to the definition 5.14. We have the executing time <strong>of</strong><br />
P + Q is max(trP,trQ), the executing time <strong>of</strong> R +<br />
Q is max(trR,trQ). Then, we get max(trR,trP) =<br />
max(trR,trQ). As to the pure actions, it is easy to know<br />
that P = Q. Then we have P+R = Q+R. As the choice<br />
composition does not distinguish the position under the<br />
summation, then we have R + P = R + Q. Put the<br />
executing time <strong>of</strong> actions and pure action together, we<br />
have P +R ≈tr Q+R.<br />
⇐: We suggest that the executing time <strong>of</strong> P + Q<br />
is max(trP,trQ). The executing time <strong>of</strong> R + Q is<br />
max(trR,trQ). As we know that P +R ≈tr Q+R, then<br />
we have max(trR,trP) = max(trR,trQ). Now, there<br />
© 2011 ACADEMY PUBLISHER<br />
Identify<br />
��<br />
S2<br />
tr2<br />
Log<br />
tr3<br />
��<br />
��<br />
���<br />
��<br />
F �<br />
S4<br />
Re−Initial<br />
tr7<br />
Figure 5. Illustration <strong>of</strong> Sysfp<br />
���<br />
Msg(T)<br />
tr4<br />
Msg(F)<br />
��� tr5<br />
���<br />
��<br />
��<br />
���<br />
��<br />
are four situations:<br />
S5<br />
Done ��<br />
S6<br />
tr6<br />
1) max(trP,trR) = trP and max(trQ,trR) = trQ,<br />
then we have trP = trQ, i.e., we have P ≈tr Q as<br />
needed;<br />
2) max(trP,trR) = trP and max(trQ,trR) = trR,<br />
then we have trP ≥ trR and trR ≥ trQ which is<br />
conflict with max(trR,trP) = max(trR,trQ). So,<br />
this condition is impossible;<br />
3) max(trP,trR) = trR and max(trQ,trR) = trQ,<br />
then we have trR ≥ trP and trQ ≥ trR, which is<br />
conflict with max(trR,trP) = max(trR,trQ). So<br />
this condition is impossible;<br />
4) max(trP,trR) = trR and max(trQ,trR) = trR.<br />
We know that max(trP,trQ) ≤ trR, this means<br />
that the executing time <strong>of</strong> P and Q are less than<br />
trR. As we know that trR is assumed to be under<br />
the time restriction <strong>of</strong> the requirements, so we have<br />
P ≈tr Q.<br />
Based on the above analyze, we get the pro<strong>of</strong> done.<br />
�<br />
Based on the assumption that 1<br />
≤ tri ( 1<br />
≤ tri)<br />
for i = 0,1,...,7. We know that either the time delay<br />
before next action or the duration <strong>of</strong> an action is no more<br />
than the design requirements which is a serious <strong>of</strong> real<br />
numbers. That is 1<br />
≤ tri < ∞ ( 1<br />
≤ tri < ∞) for<br />
µi<br />
i = 0,1,...,7. In other words, the variables characterizing<br />
executing time in processes cannot be infinite. From the<br />
point <strong>of</strong> Markovian chains, all the chains <strong>of</strong> this kind is<br />
stable. This is a bridge to fill the gap between time restricted<br />
weak Markovian bisimulation and time restricted<br />
weak Markovian congruence which will be defined in the<br />
following.<br />
Definition 5.17 (Time Restricted Weak Markovian<br />
Congruence) P and Q are said to be weakly Markovian<br />
congruent (P ≃tr Q) is a family <strong>of</strong> symmetric relations<br />
R = {R b | b ∈ BExp}. If and only if ∀a ∈ Act, time<br />
restriction tr and all C ∈ YAMN/ ≈tr:<br />
1) If P b1,av<br />
−−−→ P ′ with bv(a) ∩ fv(b,P,Q) = ∅,<br />
then there is a b ∧ b1-partition B with fv(B) ⊆<br />
fv(b,P,Q) such that for each b ′ ∈ B there exist<br />
µi<br />
νi<br />
b2, a ′ and u ′ with b ′ |= b2, a = b′<br />
and such that<br />
νi<br />
a ′ , Q b2,â′<br />
−−−→ Q ′′<br />
• If a ≡ c?x then there is a b ′ -partition B ′ such
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 781<br />
S0<br />
��<br />
[tr1],Read<br />
��<br />
S1<br />
[tr4],Done<br />
[tr2],Msg(T)<br />
��<br />
[tr3],Msg(F) ��<br />
S5<br />
Figure 6. Illustration <strong>of</strong> simplified Systr<br />
that for each b ′′ ∈ B there are b ′ 2 and Q′′ with<br />
b′<br />
′ 2 ,i<br />
b ′′ |= b ′ 2, Q −−→ Q ′′ and P ′ Rb′′ Q ′′ ;<br />
• otherwise P ′ Rb′ Q ′ .<br />
1<br />
2) ≤ tr(P,C), and P is stable;<br />
γM(P,C)<br />
1<br />
3) ≤ tr(P,C), and Q is stable.<br />
γM(Q,C)<br />
Example 5.18 Revisit Example 5.8 and 5.11, we know<br />
that system Sysfp and Syscrd obey the same time restriction<br />
which can be illustrated in Fig.6.<br />
Fig.6 illustrates the observable actions and durations<br />
<strong>of</strong> the execution <strong>of</strong> system Sysfp and Syscrd. We know<br />
that system Sysfp ≈ Syscrd in Example 5.8. Sysfp ≈tr<br />
Syscrd satisfies the condition max( 1<br />
,<br />
µi<br />
1<br />
) ≤ tri for i =<br />
νi<br />
1,2,3,4.<br />
Example 5.19 If we take the Example 5.8, 5.11, 5.15<br />
and 5.18 as the abstract levels <strong>of</strong> observations. Take<br />
Example 5.3 as a refined level <strong>of</strong> observation, we can<br />
build a time restriction on execution between these two<br />
different levels.<br />
If we want Fig. 1 in Example 5.3 to obey the time<br />
restriction in Fig. 6, it is intuitive for us to know that for<br />
Sysfp as Fig.2 with time restriction as Fig.6 satisfy the<br />
following conditions:<br />
max( 1<br />
,<br />
µ0<br />
1<br />
+<br />
µ6<br />
1<br />
,ν0,<br />
µ7<br />
1<br />
+<br />
ν6<br />
1<br />
) ≤ tr4;<br />
ν7<br />
max(µ1,ν1) ≤ tr1;<br />
max( 1<br />
,<br />
µ3<br />
1<br />
+<br />
ν2<br />
1<br />
) ≤ tr2;<br />
ν4<br />
max( 1<br />
,<br />
µ3<br />
1<br />
+<br />
ν2<br />
1<br />
) ≤ tr3.<br />
ν5<br />
and for Syscrd as Fig.3 with time restriction in Fig.6<br />
satisfies the following conditions:<br />
max( 1<br />
,<br />
ν0<br />
1<br />
+<br />
ν6<br />
1<br />
,ν0,<br />
ν7<br />
1<br />
+<br />
ν6<br />
1<br />
) ≤ tr4;<br />
ν7<br />
max(ν1,ν1) ≤ tr1;<br />
max( 1<br />
,<br />
ν3<br />
1<br />
+<br />
ν2<br />
1<br />
) ≤ tr2;<br />
ν4<br />
max( 1<br />
,<br />
ν3<br />
1<br />
+<br />
ν2<br />
1<br />
) ≤ tr3.<br />
ν5<br />
Based on the above conditions, we know that<br />
Sysfp ∼ =tr Syscrd and Sysfp ≈tr Syscrd. It is intuitive<br />
that ∼ =tr and ≈tr under the time restricted weak<br />
Markovian bisimulation and congruence are <strong>of</strong> the same<br />
equivalence class ( ∼ =tr,≈tr) ∈≡.<br />
Theorem 5.20 P ≈tr Q ⇔ P ∼ =tr Q.<br />
© 2011 ACADEMY PUBLISHER<br />
Pro<strong>of</strong> sketch: The only difference between P ≈tr Q<br />
and P ∼ =tr Q lies in the definitions <strong>of</strong> 5.14 and 5.17. It<br />
is based on whether the Markovian chain is stable or not.<br />
Based on the assumption that the mean time <strong>of</strong> delays<br />
and executing durations are no more than time restriction<br />
tr and tr < ∞, we know that all actions in Markovian<br />
chains can full fill their time restrictions. They terminate<br />
within time limitations (i.e., no more than tr). Both<br />
time restricted Markovian bisimulation and time restricted<br />
Markovian congruence are based on the assumption that<br />
executing time is no more than time restriction.<br />
�<br />
Lemma 5.21 Time restricted congruence is a congruence<br />
with respect to all operators <strong>of</strong> LYAWN . If P , Q<br />
and R are expressions <strong>of</strong> LYAWN and a ∈ Act, λ ∈ R<br />
and X ∈ Var, then<br />
• P ∼ =tr Q implies a.P ∼ =tr a.Q;<br />
• P ∼ =tr Q implies [λ].P ∼ =tr [λ].Q;<br />
• P ∼ =tr Q implies P +R ∼ =tr Q+R and R+P ∼ =tr<br />
R+Q;<br />
• P ∼ =tr Q implies P||SR ∼ =tr Q||SR and R||SP ∼ =tr<br />
R||SQ;<br />
• P ∼ =tr Q implies rexX : P ∼ =tr rexX : Q.<br />
Pro<strong>of</strong>: Similar with the pro<strong>of</strong> <strong>of</strong> Lemma 5.16.<br />
�<br />
VI. CONCLUSION<br />
In this paper, we introduced the language <strong>of</strong> YAWN<br />
with value passing which is perfect to describe the<br />
stochastic phenomena in real world. The supporting<br />
model <strong>of</strong> YAWN is continuous time Markovian chains,<br />
which are frequently used in modeling manufacturing<br />
system, computer networks, communication systems and<br />
so on.<br />
In analyzing the behaviors <strong>of</strong> complex systems, i.e.,<br />
computer networks and operating systems, it is inevitable<br />
to deal with value passing (i.e., data <strong>of</strong> all kinds and forms<br />
and control based on values). During the analyzing <strong>of</strong><br />
actions in processes, we introduced value passing into<br />
the language <strong>of</strong> YAWN with value passing. Thus, there<br />
are several kinds <strong>of</strong> actions with value passing including<br />
input, output, internal action, and generalized form.<br />
After we had a general view <strong>of</strong> the language dealing<br />
with stochastic processes, we gave out the syntax <strong>of</strong><br />
YAWN with its informal descriptions. In order to define<br />
the semantics more clearly, we gave out the formal meaning<br />
<strong>of</strong> the language YAWN . Then, we introduced generalized<br />
Markovian transition system (short for GMTS) as<br />
the model <strong>of</strong> LYAWN . Based on GMTS, we gave out the<br />
operational semantics <strong>of</strong> the languageYAWN with value<br />
passing. Based on the theory <strong>of</strong> classic process algebras,<br />
we showed axioms <strong>of</strong> the operators in the language <strong>of</strong><br />
YAWN .<br />
The axioms gave out the basic equivalence relations<br />
<strong>of</strong> the basic operators in YAWN with value passing.<br />
One important task for process algebras is to build the<br />
equivalent relationships between processes. We treated<br />
them in two different ways: one way is to treat both action
782 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
and time (delay or duration) strictly. This policy introduce<br />
the equivalent relations as strong Markovian bisimulation,<br />
weak Markovian congruence and expansion law.<br />
Another way is to treat action and time with different<br />
policy: treating action strictly while treating time loosely<br />
with a duration (i.e., within time limitations). This means<br />
that executing time within time limitation can be considered<br />
as equal in the comparison <strong>of</strong> two processes.<br />
This policy produces time restricted strong bisimulation,<br />
time restricted weak Markovian bisimulation, and time<br />
restricted weak Markovian congruence.<br />
When all the bisimulation relations are defined, we<br />
proved that they can be applied to all the operators inside<br />
the language <strong>of</strong> YAMN with value passing.<br />
REFERENCES<br />
[1] Luca de Alfaro. Stochastic transition systems. In David<br />
Sangiorgi and Robert de Simone, editos, CONCUR ’98:<br />
Concurrency Theory (Proceedings), volume 1466 <strong>of</strong> Lecture<br />
Notes in Computer Science., Springer Verlag, September<br />
2001.<br />
[2] J. A. Bergstra and J.W. Klop, Algebra <strong>of</strong> Communitating<br />
Processes with Abstraction, TCS 37,1,pp. 77-121, 1985.<br />
[3] M. Bernardo and R. Gorrieri. Extended Markovian Process<br />
Algebra. In Ugo Montanari and Vladimiro Sassone, editors,<br />
CONCUR’96: Concurrency Theory (7th International Conference,<br />
Pisa, Italy, August 1996), volume 1119 <strong>of</strong> Lecture<br />
Notes in Computer Science. Springer, 1996.<br />
[4] M. Bravetti, M. Bernardo, R. Gorrieri, Generalized Semi<br />
Markovian Process Algebra, Technical Report UBLCS-97-<br />
9, University <strong>of</strong> Bologna (Italy), October 1997<br />
[5] Ed Brinksma Holger Hermanns, Process algebra and<br />
Markov chains. In Ed Brinksma, Holger Hermanns, and<br />
Joost-Pieter Katoen, editors, Lectures on Formal Methods<br />
and Performance Analysis, volume 2090 <strong>of</strong> Lecture Notes<br />
in Computer Science, page 183-231, Springer Verlag, 2001<br />
[6] P. Buchholz, Markovian Process Algebra: Composition and<br />
Equivalence. In U. Herzog and M. Rettelbach, editors, Pro.<br />
<strong>of</strong> the 2nd Workshop on Process Algebras and Performance<br />
Modelling , Erlangen-Regensberg, July 1994. IMMD, Universität<br />
Erlangen-Nürnberg.<br />
[7] Norbert Götz, Stochastische Prozeßalgebren – Integration<br />
von funktionalem Entwurf and Leistungsbewertung Verteilter<br />
Systeme. PhD thesis. Univerität Erlangen-Nürnberg,<br />
Germany, 1994.<br />
[8] R.J. van Glabbeek, The linear time - branching time<br />
spectrum (extended abstract). CWI Amsterdam Report CS-<br />
R9029.<br />
[9] R.J. van Glabbeek, The linear time - branching time spectrum<br />
II: The semantics <strong>of</strong> sequential systems with silent<br />
moves (Extended Abstract) In Eike Best, editor, Fourth International<br />
Conference on Concurrency Theory (CONCUR<br />
’93, Hildesheim, Germany), volume 715 <strong>of</strong> LNCS, pp. 66-<br />
81, Springer, 1993.<br />
[10] A. Ingólfsdóttir and H. Lin. A symbolic Approach to<br />
value passing Processes. In J.A. Bergstra, A. Ponse, and<br />
S.A. Smolka, eds., Handbook <strong>of</strong> Process Algebra, 427-478,<br />
Elsevier, 2001.<br />
[11] M. Hennessy, H. Lin (1996) Pro<strong>of</strong> systems for messagepassing<br />
process algebras Formal Aspects <strong>of</strong> Computing, 379-<br />
407, Volume 8, 1996, Springer London<br />
[12] H. Hermanns and M. Ribaudo, Syntax, Semantics, Equivalences,<br />
and Axioms for MTIPP. In U. Herzog and M.<br />
Rettelbach, editors, Pro. <strong>of</strong> the 2nd Workshop on Process Algebras<br />
and Performance Modelling , Erlangen-Regensberg,<br />
July 1994. IMMD, Universität Erlangen-Nürnberg.<br />
© 2011 ACADEMY PUBLISHER<br />
[13] C. A. R. Hoare, Communicating Sequential Processes,<br />
Prentice Hall International, 1985.<br />
[14] A Holger Hermanns. Interactive Markov Chains. PhD<br />
thesis, Universität Erlangen- Nürnberg, Germany, 1998.<br />
[15] Holger Hermanns and Michael Rettelbach, Towards a<br />
superset <strong>of</strong> LOTOS for performance prediction, In Ribaudo<br />
[25], page 77-94, 1996.<br />
[16] H. Hermanns, M. Rettelbach, Syntax, Semantics, Equivalences,<br />
and Axioms for MTIPP, in Proc. <strong>of</strong> PAPM ’94, pp.<br />
71-87, Erlangen, 1994<br />
[17] H. Hermanns, U. Herzog, and J.-P. Katoen. Process algebra<br />
for performance evaluation. Theoretical Computer<br />
Science, 274(1-2):43–87, 2002.<br />
[18] Jane Hillston, A Compositional Approach to Performance<br />
Modelling, PhD thesis, University <strong>of</strong> Edinburgh, 1994.<br />
[19] Ronald A. Howard. Dynamic Probabilistic Systems. volume<br />
2: Semimarkov and Decision Processes, John Wiley &<br />
Sons, 1971.<br />
[20] J.P. Katoen. Concepts, Algorithms and Tools for Model<br />
Checking. Erlangen: Institut f. Mathematische Maschinen<br />
und Datenverarbeitung, 1999. 188-255.<br />
[21] J-P. Katoen. Quantitative and qualitative extensions <strong>of</strong><br />
event structures, PhD thesis, University <strong>of</strong> Twente, 1996.<br />
[22] Robin Milner, A Calculus <strong>of</strong> Communicating Systems,<br />
volume 92 <strong>of</strong> Lecture Notes in Computer Science. Prentice<br />
Hall International, 1989.<br />
[23] Robin Milner, Communication and Concurrency, Prentice<br />
Hall, 1989.<br />
[24] Martin L. Puterman. Markovian Decision Processes. John<br />
Wiley & Sons, 1994.<br />
[25] Marina Ribaudo, editor. Proceedings <strong>of</strong> the fourth workshop<br />
on process algebras and performance modelling. Edizione<br />
C.L.U.T. Torino, 1996.<br />
[26] Moshe Y. Vardi. Automatic verification <strong>of</strong> probabilistic<br />
concurrent finite-state systems. In 26th Annual Symposium<br />
on Foundations <strong>of</strong> Computer Science (FOCS ’85), pages<br />
327-338. IEEE Computer Society Press, October 1985.<br />
[27] Guang Zheng, Shaorong Li, Jinzhao Wu, and Lian Li. A<br />
Non-interleaving Denotational Semantics <strong>of</strong> Value Passing<br />
CCS with Action Refinement. FAW 2007, LNCS 4613, pp.<br />
178-190, 2007., Springer-Verlag Berlin Heidelberg 2007.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 783<br />
Study on Visual Knowledge Structure Reasoning<br />
Huimin Lu<br />
1 College <strong>of</strong> S<strong>of</strong>tware Engineering, Changchun University <strong>of</strong> Technology, Changchun, China<br />
2 College <strong>of</strong> Computer Science and Technology, Jilin University, Changchun, China<br />
Email: luhm.cc@gmail.com<br />
Abstract—Intelligent Topic Map (ITM) embodies the multilevel,<br />
multi-granularity and the inherent relevant<br />
characteristics <strong>of</strong> knowledge. With ITM as infrastructure,<br />
this paper presents a visual knowledge structure reasoning<br />
method integrates the logic-based knowledge reasoning and<br />
the structure-based knowledge reasoning. The logic-based<br />
knowledge reasoning implements knowledge consistency<br />
checking and the implicit associations reasoning between<br />
knowledge points, it can help us obtain the optimal<br />
description <strong>of</strong> knowledge. In order to construct the complete<br />
knowledge structure, a Knowledge Unit Circle Search<br />
strategy for structure-based knowledge reasoning is<br />
proposed, by which more detailed semantic association <strong>of</strong><br />
knowledge is provided and the inherent relevant<br />
characteristics <strong>of</strong> knowledge is obtained. The knowledge<br />
reasoning results are visualized by ITM, which provides a<br />
visual knowledge map. It is available for users to acquire the<br />
knowledge and associations among them. A prototype<br />
system has been implemented and applied to the massive<br />
knowledge organization, management and service for<br />
education.<br />
Index Terms—topic map, intelligent topic map, knowledge<br />
reasoning, knowledge visualization<br />
I. INTRODUCTION<br />
Knowledge reasoning mainly includes two types: the<br />
logic-based knowledge reasoning and the structure-based<br />
knowledge reasoning. The logic-based knowledge<br />
reasoning <strong>of</strong>ten used to describe knowledge<br />
representation and reasoning based on the logic. It is<br />
rigorous, flexible and with a strict formal definition, but<br />
the lack <strong>of</strong> structure constraint. The structure-based<br />
knowledge reasoning constructs knowledge based on<br />
some data structure, such as vector space, tree, graph, etc.<br />
It bodes well for knowledge and the relations between<br />
them. Knowledge doesn’t exist by itself, since knowledge<br />
always has all kinds <strong>of</strong> relations with other knowledge.<br />
According to constructivism theory and cognitive load<br />
theory perspective, the inner relevance <strong>of</strong> knowledge can<br />
contribute to achieving consistent with the person’s own<br />
cognitive pattern, and thereby the cognitive efficiency<br />
Manuscript received April 3, 2010; accepted February 10, 2011.<br />
Copyright corresponding author: Huimin Lu.<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.783-790<br />
2 Liang Hu and Gang Liu 1<br />
Email: hul@jlu.edu.cn, liug8818@mail.ccut.edu.cn<br />
can be increased [1], but knowledge reasoning can not<br />
guarantee as effective as logical representation. So, a<br />
knowledge representation model should be built to<br />
integrate these two types <strong>of</strong> knowledge reasoning in order<br />
to obtain the satisfactory knowledge reasoning results [2].<br />
Moreover, the reasoning results should be displayed by<br />
visual knowledge structure. Its goal is to transfer and<br />
create new knowledge through using visualizations.<br />
Topic Map(TM) is an ISO standard (ISO/IEC 13250)<br />
that describes knowledge structures and associates them<br />
with information resources [3] [4]. Topic map constructs<br />
a structured semantic network above the knowledge<br />
resources. It describes the concepts and the semantic<br />
relations between them, and can locate the resources<br />
which are associated with the concepts and realize the<br />
concrete objects to be joined with abstract concepts. It<br />
provides a visual knowledge map, which is available for<br />
users to acquire knowledge and associations among them.<br />
However, the conventional topic map can not provide<br />
users with efficient knowledge navigation, and we unable<br />
to acquire the implicit knowledge for it lack <strong>of</strong> reasoning<br />
abilities. So, we extend the conventional topic map in<br />
structure and enhance the reasoning functions, which is<br />
defined Intelligent Topic Map (ITM) [5]. EXTM<br />
(Extended XTM) extended the syntax and semantics <strong>of</strong><br />
XTM (XML for Topic Maps) [6] so that it can describe<br />
ITM elements (such as clusters, topics, knowledge<br />
elements), and provides a model and grammar for<br />
representing the structure <strong>of</strong> ITM and defining reasoning<br />
rules. EXTM makes XML extend to the semantic field. It<br />
defines an abstract, graphics-based knowledge<br />
association model and allows the logic-based knowledge<br />
reasoning to discover new knowledge.<br />
We propose a novel method <strong>of</strong> visual knowledge<br />
structure reasoning with the intelligent topic map as<br />
infrastructure, which can efficiently implement both the<br />
structure-based knowledge reasoning and the logic-based<br />
knowledge reasoning. The reasoning results are<br />
visualized by ITM. It provides a visual knowledge map,<br />
which is available for users to acquire the knowledge and<br />
associations among them. Visualization navigation<br />
capabilities <strong>of</strong> exploiting the created knowledge<br />
structures are based on hyperbolic geometry concepts and<br />
provide users with intuitive access mechanisms to the<br />
required knowledge.
784 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
II. RELATED WORKS<br />
The knowledge representation model which is able to<br />
integrate logic reasoning and structure reasoning includes<br />
XML, RDF, ontology, etc. XML provides a flexible,<br />
general, rich structured information representation and<br />
convenient for the cooperative processing <strong>of</strong><br />
heterogeneous knowledge [7]. RDF is an effective means<br />
<strong>of</strong> semantic information description [8]. Ontology<br />
establishes a classified hierarchy by defining the concepts<br />
and the relevance between them, and thus to build the<br />
semantic space <strong>of</strong> concepts [9]. However, they are not in<br />
an intuitive and graphical way to display knowledge, and<br />
there is no relationship between the resources and the<br />
related concepts contained. The structure <strong>of</strong> topic map<br />
composed <strong>of</strong> Topics, Associations and Occurrences<br />
(TAO) [10], which describes the concepts and the<br />
semantic relationships between them and can locate the<br />
resource which are associated with the concept. TM<br />
establishes a structured semantic web above the resources<br />
level and implements the semantic organization and<br />
joining between the physical resource entities and the<br />
abstract concepts. Topic maps are dubbed “the GPS <strong>of</strong><br />
the information universe”. TM can be applied to crosssystem<br />
since the XTM (XML for Topic Maps) syntax is<br />
based on XML and is an exchangeable data standard. The<br />
greatest advantage <strong>of</strong> TM is the discovery and<br />
visualization <strong>of</strong> knowledge architecture [11] [12].<br />
Graphic display based on topic map is more perceivable,<br />
it can provide visual knowledge navigation mechanism.<br />
Topic map inherits the characteristics <strong>of</strong> knowledge<br />
organization methods such as index, glossary, thesaurus,<br />
taxonomy, concept map, ontology, etc. Consequently,<br />
topic map adapts to knowledge logical organization and<br />
becomes the state-<strong>of</strong>-art semantic technologies, such as<br />
the application <strong>of</strong> topic maps technology in context <strong>of</strong> elearning<br />
environment, especially based on analyses <strong>of</strong><br />
topic relative semantic structure, and used topic maps to<br />
represent learning resources and associated semantics<br />
such as metadata [13][14][15]. H. Lu, et al proposed a<br />
novel concept <strong>of</strong> intelligent topic map for knowledge<br />
organization and knowledge services, which embodies<br />
the multi-level, multi-granularity and inherent relevant<br />
characteristics <strong>of</strong> knowledge and realizes knowledge<br />
reasoning [16].<br />
III. ITM DESCRIPTION<br />
A. Overview <strong>of</strong> ITM Structure<br />
The structure <strong>of</strong> topic map is shown in Fig. 1. It<br />
composed <strong>of</strong> Topics, Associations and Occurrences<br />
(TAO). In order to overcome the drawbacks <strong>of</strong> topic map,<br />
we add a clustering level and a knowledge element level<br />
in ITM, which depicts the hierarchical relation <strong>of</strong> “cluster<br />
- topic - knowledge element - occurrence”. The structure<br />
<strong>of</strong> ITM is shown in Fig. 2.<br />
Cluster: Each cluster contains several closely related<br />
topics so that the topics in the same cluster are similar in<br />
some sense. Clusters provide the effective navigation and<br />
browsing mechanism for users.<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 1. The structure <strong>of</strong> conventional topic map.<br />
Figure 2. The structure <strong>of</strong> intelligent topic map.<br />
Definition 1: When given an ITM, a cluster (c) is<br />
defined as following two tuples:<br />
c = ( Nc, Tc)<br />
Nc —the name <strong>of</strong> cluster<br />
Tc —the set <strong>of</strong> all topics in the c<br />
Topic: It can be any “thing” (such as a person, an<br />
entity, a concept, really anything) — regardless <strong>of</strong><br />
whether it exists or has any other specific characteristics.<br />
Definition 2: When given an ITM, a topic (t) is defined<br />
as following six tuples:<br />
t = ( Nt, At, Dt, E, g, f )<br />
Nt —the name <strong>of</strong> topic<br />
At = { at<br />
1<br />
, at<br />
2<br />
,..., atn} — a set <strong>of</strong> associations with<br />
topic Nt<br />
Dt = { dt<br />
1<br />
, dt<br />
2<br />
,..., dtm} — a set <strong>of</strong> topic association<br />
types ( m≤ n )<br />
E = { e<br />
1<br />
, e<br />
2<br />
,..., en} —a set <strong>of</strong> elements relevant to Nt ,<br />
the element is cluster, topic or knowledge element<br />
Function g : At → E —given a association relevant to<br />
element<br />
Function f : At → Dt —given a association relevant to<br />
type<br />
Definition 3: When given an ITM, a knowledge<br />
element (ke) is defined as following six tuples:<br />
ke = ( Nke, Ake, Dke, E, g, f )<br />
Nke —the name <strong>of</strong> knowledge element<br />
Ake = { ake<br />
1<br />
, ake<br />
2<br />
,..., aken} —a set <strong>of</strong> associations with<br />
knowledge element Nke
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 785<br />
Dke = { dke<br />
1<br />
, dke<br />
2<br />
,..., dkem} — a set <strong>of</strong> knowledge<br />
element association types ( ≤ )<br />
m n<br />
E = { e<br />
1<br />
, e<br />
2<br />
,..., en} — a set <strong>of</strong> elements relevant to<br />
Nke<br />
Function g : At → E —given a association relevant to<br />
element<br />
Function f : At → Dt —given a association relevant<br />
to type<br />
Occurrence: representing information resources<br />
relevant to a particular topic. An occurrence can be a<br />
document, a picture or video depicting the topic, a simple<br />
mention <strong>of</strong> the topic in the context <strong>of</strong> something else.<br />
Association: A topic association asserts a relationship<br />
between two or more topics.<br />
Definition 4: When given an ITM, an association (a) is<br />
defined as following three tuples:<br />
a = ( e<br />
1<br />
, e<br />
2<br />
, d)<br />
e<br />
1<br />
, e 2 —the elements <strong>of</strong> ITM<br />
d—the association type<br />
ITM provides strong paradigm and concept for the<br />
semantic structuring <strong>of</strong> linked networks. It can establish<br />
the relations among unstructured information resources,<br />
thereby allowing to link heterogeneous, unmodified<br />
resources <strong>of</strong> information semantically by creating a<br />
semantic web and implement concrete objects to be<br />
joined with abstract concepts. It lays a foundation for<br />
high-quality structure-based knowledge reasoning.<br />
B. EXTM<br />
XTM was proposed by Newcomb and Biezunsk. It<br />
provides a model and grammar for representing the<br />
structure <strong>of</strong> information resources used to define the<br />
topics and their associations. Moreover, we enhance the<br />
reasoning functions in ITM. We establish corresponding<br />
logical reasoning rules and grammar, and then realize<br />
knowledge representation and knowledge reasoning.<br />
::=<br />
''<br />
''<br />
<br />
''<br />
''<br />
{} 1-n<br />
''<br />
''<br />
{} 1-n<br />
''<br />
''<br />
::=|<br />
::=|<br />
::= <br />
::= ''<br />
::={AND |OR |NOT}<br />
::='' ''<br />
© 2011 ACADEMY PUBLISHER<br />
::=''<br />
::={partOf | subClassOf | instanceOf |<br />
propertyOf | reasonOf | preconditionOf| caseOf | referenceOf,<br />
and so on}<br />
::=''<br />
''<br />
::=''{}1-n ''<br />
::=''<br />
IV. VISUAL KNOWLEDGE STRUCTURE REASONING<br />
The visual knowledge structure reasoning method<br />
using ITM includes three parts: the logic-based<br />
knowledge reasoning, the structure-based knowledge<br />
reasoning and visualization <strong>of</strong> reasoning results. The topdown<br />
method is adopted to define the abstract workflow<br />
as following:<br />
Step 1: Defining the top-level composite processes. As<br />
shown in Fig. 3, three composite processes which named<br />
“LogicKnowledgeReasoning”,<br />
“StructureKnowledgeReasoning” and<br />
“VisualizationDisplay” are defined, respectively. “Join”<br />
denotes the former processes must be finished before the<br />
last one is started. The input <strong>of</strong> process<br />
“VisualizationDisplay” is the reasoning results while the<br />
outputs <strong>of</strong> it is the visual knowledge structure.<br />
Figure 3. The top-level definition <strong>of</strong> composite processes.<br />
Step 2: Refining the definition <strong>of</strong> process<br />
“LogicKnowledgeReasoning” as shown in Fig. 4, it<br />
includes two processes: the knowledge consistency<br />
checking and the implicit associations reasoning.<br />
Knowledge<br />
Consistency Checking<br />
Implicit Associations<br />
Reasoning<br />
Join<br />
Logic Knowledge<br />
Reasoning Results<br />
Figure 4. The definition <strong>of</strong> “LogicKnowledgeReasoning”<br />
A. The Knowledge Consistency Checking<br />
In the process <strong>of</strong> ITM constructing, conflicts can be<br />
caused by many reasons, like the differences <strong>of</strong> people’s<br />
understanding, the marking <strong>of</strong> knowledge resources, and<br />
the constructing <strong>of</strong> knowledge organization. These<br />
conflicts cause information redundancies, contradictions<br />
and mistakes. The knowledge consistency checking can<br />
eliminate them and can help us obtain the optimal<br />
description <strong>of</strong> ITM. It includes the reflexivity checking,
786 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
loop transitivity checking, knowledge redundancy<br />
checking and knowledge contradiction checking.<br />
Reflexivity checking: If an element (topic or knowledge<br />
element) <strong>of</strong> ITM is associated with itself, there exists<br />
reflexivity conflict. It is defined as follows:<br />
∃e∈ITM, eAe<br />
When the reflexivity conflict is detected, the<br />
association between the same elements would be deleted.<br />
Loop transitivity checking: If there is an association<br />
loop between the two directly related elements <strong>of</strong> ITM,<br />
there exists a loop transitivity conflict. It is defined as<br />
follows:<br />
∃e1∈ITM , ∃e2 ∈ITM , e1 A e2 ∧e2 A e1<br />
When the transitivity conflict is detected, one <strong>of</strong> the<br />
associations between the elements would be deleted.<br />
Knowledge redundancy checking: There exists<br />
redundancy if have the same elements (topics or<br />
knowledge elements) in an ITM.<br />
∃e∈ITM , ∃e∈ ITM , e = e<br />
1 2 1<br />
Though knowledge redundancy is not a mistake on<br />
semantics, it would be resolved when it is detected for<br />
ensuring certainty and uniqueness.<br />
Knowledge redundancy checking includes two steps:<br />
the same elements searching and merging.<br />
First, we adopt a similarity measure algorithm for<br />
topics (or knowledge elements) which called<br />
Comprehensive Information-based Similarity Measure<br />
Algorithm (CISMA) [17]. This algorithm describes how<br />
similar the related topics (or knowledge elements) are.<br />
The process used in the similarity algorithm consists <strong>of</strong><br />
syntactic matching, semantic matching, and pragmatic<br />
matching. For an element pair (e1, e2), we calculate the<br />
similarity as follows:<br />
( 1<br />
,<br />
2) =<br />
1 Syntax ( 1<br />
,<br />
2) +<br />
2 Semantics ( 1<br />
,<br />
2)<br />
w SIM ( e , e )<br />
SIM e e w SIM e e w SIM e e<br />
3 Pragmatics 1 2<br />
SIMSyntax(e1, e2): denotes syntactic matching. It is used<br />
to compute the syntactic similarity by analyzing the<br />
character composition <strong>of</strong> elements.<br />
SIMSemantics(e1, e2): denotes semantic matching. It<br />
analyses the static semantic similarity with aspect to<br />
synonyms.<br />
SIMPragmatics(e1, e2): denotes pragmatic matching. It<br />
computes dynamic semantic similarity, which resolves<br />
the problem <strong>of</strong> polysemy.<br />
w is weight.<br />
Second, merging the same elements adopt the<br />
following rules.<br />
Rule 1: Attribute Merging (AM). When given a<br />
merging element, AM is defined as following five tuples:<br />
AM = ( Ne, Na, D, V , θ<br />
I )<br />
Ne —the name <strong>of</strong> element<br />
Na —the name <strong>of</strong> attribute<br />
© 2011 ACADEMY PUBLISHER<br />
2<br />
(1)<br />
(2)<br />
(3)<br />
(4)<br />
D —the values range <strong>of</strong> Na<br />
VI = { I<br />
1<br />
, I<br />
2<br />
, ..., In} —a set <strong>of</strong> Na values in range <strong>of</strong> D<br />
θ —merging operator<br />
If given a question about attribute<br />
merging AM ( Ne, Na, D, VI , θ)<br />
defined as follows:<br />
= , its solution K a is<br />
Ka = ( Ne, Na, D, θ ( I<br />
1<br />
, I<br />
2<br />
, ..., In))<br />
Rule 2: Element Merging (EM). If element e1 has high<br />
similarity with e2 in ITM, the two elements would be<br />
merged into one element (e1 or e2). Element merging is<br />
defined as following four tuples:<br />
( , , , )<br />
EM = NE E<br />
A<br />
E<br />
AI<br />
Eθ<br />
NE { ne<br />
1<br />
, ne<br />
2<br />
,..., ne<br />
k<br />
}<br />
= —a set <strong>of</strong> the element name<br />
{ 1<br />
,<br />
2<br />
, ..., }<br />
{ 1<br />
,<br />
2<br />
,..., }<br />
{ θ, θ , θ ,..., θ}<br />
E A A A n<br />
A = —a set <strong>of</strong> all EM attributes<br />
= —a set <strong>of</strong> all attribute values<br />
E<br />
AI<br />
E<br />
I<br />
E<br />
I<br />
EIn Eθ =<br />
1 2 n —a set <strong>of</strong> merging operators for<br />
each attribute used<br />
If given a question about elements<br />
merging EM = ( NE, E<br />
A<br />
, E<br />
AI<br />
, Eθ<br />
) , its solution Kea is<br />
defined as follows:<br />
Kea = ( θ( ne<br />
1<br />
, ne<br />
2<br />
, ..., ne<br />
k<br />
), EA, θ1 ( E<br />
I1 ) ∪θ2 ( E<br />
I2<br />
), ..., θn(<br />
EIn<br />
))<br />
Rule 3: Association Merging (AssM). When two<br />
elements are merged, the association merging would be<br />
considered. It is defined as following three tuples:<br />
AssM = ( NE, ER , θ)<br />
NE { ne<br />
1<br />
, ne<br />
2<br />
, ..., ne<br />
k<br />
}<br />
= —a set <strong>of</strong> the element name<br />
{ ( , ) , ( , ) ,..., ( , ) }<br />
E<br />
R<br />
= R<br />
S1 R<br />
O1 R<br />
S2 NE<br />
R<br />
O2 R<br />
Sn<br />
R<br />
On<br />
<strong>of</strong> elements related to<br />
R<br />
Sn —association type<br />
R On —association object<br />
(5)<br />
(6)<br />
— a set<br />
θ —merging operator<br />
Through knowledge consistency checking, we can<br />
obtain an ideal ITM description. It lays a foundation for<br />
the structure-based knowledge reasoning.<br />
B. The Implicit Associations Reasoning<br />
The implicit associations reasoning can discover new<br />
associations between elements and can help us obtain<br />
new knowledge. In this paper, we mainly discuss the<br />
association <strong>of</strong> subClassOf, instanceOf, memberOf,<br />
precorderOf, and postorderOf.<br />
subClassOf: When given element ta and tb, subClassOf<br />
(ta, tb) indicates topic ta is a subclass <strong>of</strong> tb, ta is called subtopic<br />
and tb is called the relevant parent-topic. Knowledge<br />
reasoning rules based on subClassOf is as follows:<br />
( ) ∧<br />
(<br />
( , )<br />
subClassOf t , t subClassOf t , t<br />
→ subClassOf t t<br />
a b b c<br />
a c<br />
)<br />
(7)
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 787<br />
( ) ∧<br />
(<br />
( , )<br />
subClassOf t , t hasAttribute t , A<br />
→ hasAttribute t A<br />
a b b<br />
a<br />
( ) ∧ (<br />
( , )<br />
subClassOf t , t instanceOf i, t<br />
→ instanceOf i t<br />
a b a<br />
b<br />
)<br />
)<br />
(8)<br />
(9)<br />
instanceOf . For the element e and its instance set I e ,<br />
i i I instanceOf i , e<br />
the association between ( ∈ )<br />
( )<br />
denotes i is an instance <strong>of</strong> e . Knowledge reasoning rule<br />
based on instanceOf is as follows:<br />
( , ) ∧<br />
( , )<br />
( , )<br />
instanceOf i e hasProperty e P<br />
→ hasProperty i P<br />
e<br />
(10)<br />
memberOf : memberOf ( M , W ) denotes M is a<br />
member <strong>of</strong> W . memberOf and instanceOf are two<br />
kinds <strong>of</strong> completely different associations, it emphasizes<br />
on the association between elements.<br />
preorderOf and postorderOf : The preorderOf<br />
represents that one elements B is comes out before<br />
another element A , denoted as preorderOf ( B, A)<br />
. The<br />
postorderOf represents that A is comes out after B ,<br />
denoted as postorderOf<br />
( A, B)<br />
. Knowledge reasoning<br />
rules based on the preorderOf and postorderOf<br />
associations are as follows:<br />
( , ) ∧<br />
(<br />
( , )<br />
preorderOf B A preorderOf A, C<br />
→ preorderOf B C<br />
( ) (<br />
( , )<br />
postorderOf A, B ∧ postorderOf B, C<br />
→ postorderOf A C<br />
preorderOf ( B, A) → postorderOf ( A, B)<br />
)<br />
)<br />
)<br />
(11)<br />
(12)<br />
Inverse relation between preorderOf and<br />
postorderOf :<br />
( ) →<br />
(<br />
postorderOf A, B preorderOf B, A<br />
(13)<br />
(14)<br />
In addition to the above association types, there are<br />
causalOf, referenceOf, exampleOf, and so on.<br />
Step 3: Refining the definition <strong>of</strong> process<br />
“StructureKnowledgeReasoning” as shown in Fig. 5, it<br />
includes two processes: Get user interest node and<br />
Structure reasoning method.<br />
Structure reasoning method: Since knowledge is<br />
highly correlated with each other, in order to acquire the<br />
complete knowledge structure, we must implement the<br />
semantic implication extension, the semantic relevant<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 5. The definition <strong>of</strong> “StructureKnowledgeReasoning”<br />
extension and the semantic class belonging confirmation.<br />
According to the characteristics <strong>of</strong> ITM, we propose an<br />
extended algorithm based on knowledge unit circle,<br />
named Knowledge Unit Circle Search (KUCS) strategy.<br />
Before discussing what can be reasoned based on<br />
knowledge structure in ITM, we would like to define<br />
three concepts: knowledge path and knowledge radius.<br />
Definition 1: Knowledge path. In ITM, if there is a<br />
sequence e , e , e ,..., e , e , and there are association<br />
p<br />
1 2<br />
m q<br />
( , ) , ( , ) ,..., ( , )<br />
between epe1 e1 e2<br />
em eq<br />
respectively in ITM,<br />
then we said that there exists a knowledge path between<br />
concept ep and e q .<br />
Definition 2: Knowledge radius. A knowledge path is a<br />
sequence <strong>of</strong> consecutive elements in ITM, and the<br />
knowledge radius is the minimum number <strong>of</strong> elements<br />
traversed in a knowledge path, i.e., the length <strong>of</strong> the path.<br />
KUCS is described as follows:<br />
r = 1 ; // r is knowledge radius<br />
for ∀t∈ T do //T is the set <strong>of</strong> topic<br />
if associationOf ( t _ po int, t ) =true then<br />
set _ T ⇐ t ; HashSet ⇐ t ;<br />
else<br />
set _ T ⇐ t ;<br />
end<br />
while r ≤ R do<br />
for ∀t h<br />
∈ HashSet do<br />
for ∀t∈ T do<br />
if associationOf ( t<br />
h<br />
, t)<br />
=true then<br />
set _ T ⇐ t ; HashSet1 ⇐ t ;<br />
end<br />
end<br />
r=r+1; HashSet = HashSet1<br />
;<br />
end<br />
for ∀t∈ set _ T do<br />
if associationOf ( t, ke ) =true then<br />
set _ KE ⇐ ke ;<br />
if associationOf ( t, c ) =true then<br />
set _ C = set _ C ∪ { c}<br />
;<br />
end<br />
ETM_building();
788 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Through the structure-based knowledge reasoning, we<br />
can obtain all the knowledge elements, topics, cluster,<br />
and resource occurrence which are associated with the<br />
knowledge point within a certain knowledge radius.<br />
Step 4: Refining the definition <strong>of</strong> process<br />
“VisualizationDisplay” is shown as follows:<br />
Based on the ITM logical representation <strong>of</strong> knowledge,<br />
the visual knowledge map constructing tool is designed, it<br />
is free s<strong>of</strong>tware coded by Java applet, to assist users in<br />
sharing, and navigating the domain knowledge. The ITM<br />
document is visually displayed as a double-layer network,<br />
the schematic diagram is shown in Fig. 6.<br />
Figure 6. The schematic diagram <strong>of</strong> visual Knowledge map<br />
constructing.<br />
Clusters, topics and topic associations are represented<br />
in the upper layer in which fillet rectangular node is<br />
regarded as a topic. The dark node is regarded as the<br />
knowledge point. Each edge is regarded as an association<br />
<strong>of</strong> topics. When user clicking the edge, it will display the<br />
association type. Knowledge elements and their<br />
associations are in the lower layer in which ellipse node<br />
is regarded as a knowledge element. Each edge is<br />
regarded as an association <strong>of</strong> knowledge elements. When<br />
user clicking the edge, it will display the association type.<br />
When clicking the nodes in the knowledge element layer,<br />
it will display the occurrences which are associated with<br />
the knowledge element.<br />
V. EMPIRICAL EVALUATION<br />
A. The Experimental Data<br />
We built the corpus <strong>of</strong> Computer Network, which<br />
includes 34007 topics, 3307 knowledge elements, 4317<br />
associations between topics, 2214 associations between<br />
knowledge elements, 1872 associations between topic<br />
and knowledge element and 7031 domain-specific terms.<br />
B. The Logic Knowledge Reasoning Experiment<br />
We implement the knowledge consistency checking<br />
and the implicit relations reasoning experiment<br />
respectively. The knowledge consistency checking<br />
includes the reflexivity checking and loop transitivity<br />
checking, knowledge redundancy checking and<br />
contradiction checking. The implicit relations reasoning<br />
© 2011 ACADEMY PUBLISHER<br />
can discover the new associations between elements. The<br />
results are shown in Table 1.<br />
TABLE I.<br />
LOGIC KNOWLEDGE REASONING RESULTS<br />
Checking item Statistics<br />
Reflexivity checking 72<br />
Transitivity checking 216<br />
Redundancy checking 161<br />
Contradiction checking 19<br />
New associations<br />
New associations between topics 516<br />
New associations<br />
knowledge elements<br />
between<br />
312<br />
The main conflict type is transitivity conflict, which<br />
makes up 52% <strong>of</strong> total conflicts, knowledge redundancy<br />
conflict type makes up 34% <strong>of</strong> total conflicts, and<br />
knowledge reflexivity conflict and knowledge transitivity<br />
conflict make up 14% <strong>of</strong> total conflicts. Conflicts can be<br />
caused by many reasons. The ITM corpus construction is<br />
a process that needs many people’s collaboration and<br />
many times <strong>of</strong> revision, and the local ITM to be reused,<br />
they first need to be merged or aligned to one another to<br />
produce a single integrated and reconciled global ITM<br />
that deals with a larger domain <strong>of</strong> interest. In the process<br />
<strong>of</strong> building, conflicts can be caused by many reasons, so<br />
the consistency checking is a key component <strong>of</strong><br />
knowledge reasoning strategy. The implicit relations<br />
reasoning can reason out new associations between topics<br />
(or knowledge elements), provide knowledge structure<br />
more detailed semantic association and provide inherent<br />
relevant characteristics <strong>of</strong> knowledge to constructing the<br />
complete knowledge structure, but we find that some<br />
reasoning relations between topics (or knowledge<br />
elements) are not tight enough.<br />
C. The Knowledge Structure Reasoning Experiment<br />
We select a topic “TCP/IP protocol” as knowledge<br />
point and different knowledge radius to carry out the<br />
structure-based knowledge reasoning experiment. It<br />
returns all the knowledge elements and topics which are<br />
associated with the knowledge point within a certain<br />
knowledge radius. The structure-based knowledge<br />
reasoning results is shown in Fig. 7. With the knowledge<br />
radius increasing, the number <strong>of</strong> topics, knowledge<br />
elements and relations continuously increase. When<br />
knowledge radius is equal to 2, the structure-based<br />
knowledge reasoning results include ten topics (such as<br />
“IP protocol”, “TCP/IP protocol”, “TCP protocol”, etc.)<br />
and twelve associations between the topics, six<br />
knowledge elements (“TCP protocol definition”, “IP<br />
protocol definition”, “TCP/IP protocol definition”, etc.)<br />
and five associations between the knowledge elements,<br />
and six relations between the topic and knowledge<br />
element. The knowledge structure is depicted in Fig. 8.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 789<br />
Figure 7. The structure-based knowledge reasoning results.<br />
VI. CONCLUSIONS<br />
The proposed visual knowledge structure reasoning<br />
model provides us a means to organize, discovery and<br />
display knowledge. Visual knowledge structure reasoning<br />
based on ITM not only achieves the better structure-based<br />
knowledge reasoning results and provides users with<br />
intuitive access mechanisms for the required knowledge.<br />
Knowledge has been provided by a stereo knowledge<br />
map and hence overcomes the shortcoming <strong>of</strong> linear<br />
display. The ongoing work is knowledge organization,<br />
knowledge search and knowledge reasoning can be<br />
carried out by computing cloud with huge computing<br />
ability and storage capacity distributed and parallel. We<br />
hope that the real visual knowledge structure reasoning<br />
system will be widely deployed in the future.<br />
ACKNOWLEDGMENT<br />
This work is supported in part by Northeast Asia<br />
Chinese International Promotion Information Platform<br />
(Hanban). This work was also supported in part by the<br />
National High-Tech Research and Development Plan <strong>of</strong><br />
China under Grant No. 2008AA01Z131.<br />
REFERENCES<br />
[1] J. van Merriënboer and P. Ayres, “Research on cognitive<br />
load theory and its design implications for e-learning,”<br />
Educational Technology Research and Development, vol.<br />
53, no. 3, pp. 5-13, 2005.<br />
[2] Q. Wang, L. Rong, and K. Yu, “Visual knowledge<br />
reasoning on typed categorical structure,” Proc. 5th<br />
International Conference on Fuzzy Systems and<br />
Knowledge Discovery (FSKD-08), pp. 684-688, 2008.<br />
© 2011 ACADEMY PUBLISHER<br />
[3] “ISO/IEC 13250 Topic Maps Second Edition,”<br />
Information Technology Document Description and<br />
Processing Languages, 19 May 2002.<br />
[4] “ISO/IEC JTC 1/SC 34, ISO/IEC 13250-2: Information<br />
Technology-Topic Maps-Part 2: Data Model,”<br />
http://www.isotopicmaps.org/sam/sam-model/datamodel.pdf,<br />
2008.<br />
[5] H. Lu and B. Feng, “The intelligent topic map-based multiresource<br />
knowledge services system,” <strong>Journal</strong> <strong>of</strong><br />
Information and Computational Science, Binary<br />
Information Press, United States, vol. 7, no. 3, pp. 657-665,<br />
June 2010.<br />
[6] S. Pepper and G. Moore, “XML Topic Maps (XTM) 1.0,”<br />
http://www.topicmaps.org/xtm/1.0/index.html, 2002.<br />
[7] C. Baru, A. Gupta, B. Ludäscher, R. Marciano, Y.<br />
Papakonstantinou, P. Velikhov, and V. Chu, “XML-based<br />
information mediation with MIX,” ACM SIGMOD Record,<br />
vol. 28, pp. 597-599, 1999.<br />
[8] P. A. Silva, C. M. F. A. Ribeiro, and U. Schiel,<br />
“Formalizing ontology reconciliation techniques as a basis<br />
for meaningful mediation in service related tasks,” Proc.<br />
ACM first Ph.D. workshop in CIKM’07, pp. 147-154,<br />
2007.<br />
[9] J. L. Seng and I. L. Kong, “A schema and ontology-aided<br />
intelligent information integration,” Expert Systems with<br />
Applications, vol. 36, pp. 10538-10550, 2009.<br />
[10] S. Pepper, “The TAO <strong>of</strong> topic maps-finding the way in the<br />
age <strong>of</strong> infoglut,”<br />
http://www.gca.org/papers/xmleurope2000/papers/s11-<br />
01.html<br />
[11] H. Lu, B. Feng, and X. Chen, “Extended topic map:<br />
knowledge collaborative building for distributed<br />
knowledge resource,” Proceedings <strong>of</strong> the 12th IEEE/IFIP<br />
Network Operations and Management Symposium (NOMS<br />
2010), IEEE Communication Society, pp. 128-135, Osaka,<br />
Japan, April 2010.<br />
[12] A. Korthaus, M. Aleksy, and S. Henke, “A distributed<br />
knowledge management infrastructure based on a Topic<br />
Map grid,” International <strong>Journal</strong> <strong>of</strong> High Performance<br />
Computing and Networking, vol. 6, pp. 66-80, 2009.<br />
[13] K. Olsevicova, “Application <strong>of</strong> topic maps in e-learning<br />
environment,” ACM SIGCSE Bulletin, vol. 37, pp. 363,<br />
2005.<br />
[14] J. Qiu, Y. Yao, Y. Wang and X. Wang, “Research <strong>of</strong> egovernment<br />
knowledge navigation system based on<br />
XTM,” Proceedings <strong>of</strong> the 2006 IEEE/WIC/ACM<br />
International Conference on Web Intelligence and<br />
Intelligent Agent Technology, pp. 586-589, 2006.<br />
[15] M. Ouziri, “Semantic integration <strong>of</strong> web-based learning<br />
resources: a topic maps based approach,” Proceedings <strong>of</strong><br />
the 6th International Conference on Advanced Learning<br />
Technologies, pp. 875-879, 2006.<br />
[16] H. Lu and B. Feng, “Intelligent topic map: a new approach<br />
to multi-resource knowledge service,” Proceedings <strong>of</strong> the<br />
2009 IEEE International Conference on Intelligent<br />
Computing and Intelligent Systems (ICIS 2009), IEEE<br />
Computer Society, pp. 373-377, November 2009.<br />
[17] H. Lu, B. Feng, and X. Li, “Novel Similarity Algorithm <strong>of</strong><br />
Extended Topic Maps for Multi-Resource Knowledge<br />
Fusion,” <strong>Journal</strong> <strong>of</strong> Xi’an Jiaotong University, vol. 44, no.<br />
2, pp. 23-27, February 2010.<br />
Huimin Lu received the M.S. degree and Ph.D degree in the<br />
major <strong>of</strong> computer science and technology from Xi’an Jiaotong<br />
University, Xi’an, China, in 2005 and 2010, respectively.<br />
She is working in Changchun University <strong>of</strong> Technology,<br />
Changchun, China. She has published 15 papers in referred
790 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
© 2011 ACADEMY PUBLISHER<br />
journals and international conferences. Her<br />
current research interests include:<br />
knowledge science and knowledge<br />
engineering, topic map.<br />
Dr. Lu is the member <strong>of</strong> ACM, IEEE,<br />
IEICE and CCF. Now she is also working<br />
in the computer science and technology<br />
post-doctoral research center <strong>of</strong> Jilin<br />
University.<br />
Liang Hu is a pr<strong>of</strong>essor at the college <strong>of</strong><br />
computer science and technology, Jilin<br />
University, Changchun, China. His current<br />
research interests include: knowledge science, computer<br />
network. He has published more than fifty research articles in<br />
referred journals and international conferences.<br />
Gang Liu is a pr<strong>of</strong>essor at the college <strong>of</strong><br />
s<strong>of</strong>tware engineering, Changchun<br />
University <strong>of</strong> Technology, Changchun,<br />
China. His current research interests<br />
include: s<strong>of</strong>tware engineering, knowledge<br />
science. He has published 5 research<br />
articles in referred journals and<br />
international conferences.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 791<br />
An Automated X-corner Detection Algorithm<br />
(AXDA)<br />
Fuqing Zhao<br />
School <strong>of</strong> Computer and Communication,Lanzhou University <strong>of</strong> Technology,Lanzhou,Gansu,P.R.China<br />
Key Laboratory <strong>of</strong> Gansu Advanced Control for Industrial Processes<br />
Email: fzhao2000@hotmail.com<br />
Chunmiao Wei<br />
School <strong>of</strong> Computer and Communication,Lanzhou University <strong>of</strong> Technology,Lanzhou,Gansu,P.R.China<br />
Email: h09310917@126.com<br />
Jizhe Wang<br />
School <strong>of</strong> Computer and Communication,Lanzhou University <strong>of</strong> Technology,Lanzhou,Gansu,P.R.China<br />
Email: wangjizhe2009@mail2.lut.cn<br />
Jianxin Tang<br />
School <strong>of</strong> Computer and Communication,Lanzhou University <strong>of</strong> Technology,Lanzhou,Gansu,P.R.China<br />
Email: tangjianxin2009@mail2.lut.cn<br />
Abstract—According to the central symmetry and brightdark<br />
alteration <strong>of</strong> the four peripheral regions at the Xcorner,<br />
an automated X-corner detection algorithm (AXDA)<br />
is presented to camera calibration problem. By detecting the<br />
gray changes <strong>of</strong> the image, the algorithm can locate the<br />
position <strong>of</strong> X-corner accurately using the minimum<br />
correlation coefficient <strong>of</strong> the symmetry regions. Cross points<br />
<strong>of</strong> intersection are calculated using the detection points and<br />
the least square straight line fitting algorithm. The method<br />
can not only realize the sub-pixel X-corner extraction, but<br />
also resolve the low automation degree problem <strong>of</strong> the<br />
present detection algorithm under complex background.<br />
Experiment results show that the algorithm is an easilyrealized,<br />
highly-automated and robust method for rotation<br />
transform and brightness transform <strong>of</strong> the X-corner image.<br />
Index Terms—chessboard, corner detection, camera<br />
calibration<br />
I. INTRODUCTION<br />
Camera calibration[1,2] based on the chessboard<br />
planar template consists <strong>of</strong> corner detection and<br />
parameter calculation. Calibration is to create the<br />
constraint between the world coordinates and the image<br />
coordinates <strong>of</strong> the chessboard feature points. So X-corner<br />
detection is the essential technology for camera<br />
calibration.<br />
At present, X-corner detection algorithm can be<br />
classified as follows. One is the traditional corner<br />
detection algorithm, such as Harris operator [3,4]and<br />
SUSAN [5,6]. These algorithms are versatility and<br />
Manuscript received December 15, 2010; accepted January 17, 2011.<br />
This work is financially supported by the National Natural Science<br />
Foundation <strong>of</strong> China under Grant No.61064011<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.791-797<br />
straightforward but are invalid for the vagueness <strong>of</strong> the<br />
image. The idea <strong>of</strong> Harris corner detection is simple and<br />
the corners extracted by this algorithm distribute<br />
uniformly. Besides, this algorithm is insensitive to the<br />
rotation <strong>of</strong> the image and the alteration <strong>of</strong> the image gray.<br />
However, in the X-corner image, the image blurring in the<br />
corner area usually causes a high Harris respond value <strong>of</strong><br />
one or several points, which makes it difficult to<br />
determine the position <strong>of</strong> the corner exactly. SUSAN<br />
operator is proposed by Smith and Brady. The operator is<br />
a completely different corner detection method, which<br />
mainly based on light contrast. Do not have to calculate<br />
image difference. The calculation speed is so fast that the<br />
SUSAN are widely used in the higher requirements <strong>of</strong><br />
real-time areas. The other is the curve fitting based<br />
algorithm. Algorithms based on the two times Radon<br />
transform [7] are the representative ones. But there will<br />
be a great error if image distortion exists. And there are<br />
some other detection algorithms [8,9] aimed at the<br />
characteristics <strong>of</strong> the chessboard image. But [8] is<br />
computational expensive. Although [9] is straightforward<br />
in computation, great error will generate after<br />
binarization processing. All the above algorithms are<br />
liable to be influenced by light and background image in<br />
practical applications and will inevitably result in missing<br />
error, detection error or false error, which leads the<br />
automation detection hard to realize. Although the<br />
calibration toolbox in Matlab[10] resolves these problems,<br />
the automation level for camera calibration decreases<br />
greatly since four points should be selected manually<br />
before the corner extraction.<br />
An automated X-corner detection algorithm (AXDA)<br />
is provided by studying the present methods carefully.<br />
This algorithm can detect the corner using the unique<br />
feature <strong>of</strong> X-corner so as to avoid detection error, false
792 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
error as well as the influence <strong>of</strong> complex background.<br />
Meanwhile, detection result could achieve sub-pixel level<br />
with the help <strong>of</strong> least square straight line fitting and the<br />
missing error is resolved. This algorithm is<br />
straightforward, computational cheap and robust for<br />
rotation and gray alteration. Besides, it can resist the edge<br />
vagueness and significantly improve the automation level.<br />
II. X-CORNER DETECTION METHOD FOR CHESSBOARD<br />
IMAGE<br />
Chessboard image is shown as Fig. 1. Chessboard is<br />
made up <strong>of</strong> black and white square boxes, where the<br />
connection <strong>of</strong> two black boxes or two white boxes is the<br />
X-corner. In order to detect corners in complex<br />
background without false error, algorithm suitable for the<br />
characteristic <strong>of</strong> chessboard image should be used. Image<br />
at the X-corner is shown as Fig. 2. In Fig.2, there are two<br />
features. First, brightness <strong>of</strong> the four regions around the<br />
X-corner changes alternately. There are gray changes in<br />
the adjacent regions <strong>of</strong> part I、II、III and IV. Besides,<br />
they are light and dark alternation. Second, in the corner<br />
centered regular region, image is central symmetry. Xcorner<br />
can be detected accurately in complex background<br />
using the above two exclusive features <strong>of</strong> the X-corner.<br />
A. Corner Detection<br />
Chessboard image is easy to be affected by the<br />
brightness <strong>of</strong> the light and the angle <strong>of</strong> shooting in the<br />
time <strong>of</strong> acquisition, which proposed higher requirements<br />
for the automated detection algorithm. Taking into<br />
account various aspects, such as the impact <strong>of</strong> complex<br />
background on the chessboard image, it is required that<br />
the number <strong>of</strong> extracted corners is not excess. All the<br />
corners should be extracted with a certain accuracy. So<br />
the detection algorithm is necessarily required a certain<br />
Figure 1. Chessboard Image<br />
Figure 2. Features <strong>of</strong> Chessboard Image<br />
© 2011 ACADEMY PUBLISHER<br />
specific. In the absence <strong>of</strong> human intervention, the<br />
common corner detection algorithms can not meet the<br />
above requirements. To solve the above problem, we<br />
should choose the algorithm based on the characteristics<br />
<strong>of</strong> chessboard images. The algorithm is described as<br />
follows:<br />
Firstly, crude extract. Corners can be roughly extracted<br />
by using the first features. After the crude extract, the<br />
point at the region between two Haig rectangular can be<br />
obtained.<br />
Secondly, filter the results. Corners extracted by using<br />
above method should be filtered by using the second<br />
features, which aim to look for the regional center <strong>of</strong><br />
symmetry as the corner.<br />
Finally, Corners should be classified by the row<br />
(column). The corners in the same row (column) are used<br />
to get curve fitting. The intersection can be calculated by<br />
the curve fitting. In this way, the final corners can be<br />
obtained. Further more, there is no missing error.<br />
B. Algorithm Implementation<br />
First, roughly extract the X-corner using the light and<br />
dark alternation characteristic <strong>of</strong> the four regions around<br />
the corner. Since there is gray difference between the<br />
adjacent regions, in the window W(7*7), gray summation<br />
<strong>of</strong> this region can be defined as follows:<br />
∑∑<br />
FI ( ) = frc ( , ) x -3 < r<<br />
x y -3
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 793<br />
corner can be selected. The correlation coefficient can be<br />
calculated as follows (Take a 20 ×20 window as an<br />
example):<br />
P=<br />
20 20<br />
∑∑<br />
( f ( x−ry , −c) − η)( f ( x+ ry , + c)<br />
−η)<br />
X 0 0 1 X 0 0 2<br />
r= 1c= 1<br />
20 20 20 20<br />
2 2<br />
∑∑ ( fX( x0−ry , 0−c) − 1 η) ∑∑ ( f ( x0+ ry , 0+ c)<br />
−η2)<br />
X<br />
r= 1c= 1 r= 1c= 1<br />
� (6)<br />
Where (x0,y0) is the current detecting point. fx(x0-r,y0-c) is<br />
the gray value <strong>of</strong> (x0-r,y0-c)�, x∈{I,II}. X is the central<br />
symmetrical region <strong>of</strong> x. η1�and�η2 are the average gray<br />
values in the region.<br />
In the small region where real corner is included, only<br />
the real corner has the maximum correlation coefficient.<br />
So the extracted points can be filtered with this<br />
characteristic so as to get the real corner. In practical<br />
calculation, it only needs to compute half <strong>of</strong> the<br />
correlation coefficients. Namely, compute the region <strong>of</strong> I<br />
and III or II and VI is enough.<br />
C. Missing error solution and sub-pixel corner detection<br />
realization<br />
Corner detection algorithms are <strong>of</strong>ten influenced by<br />
image brightness and shooting angle in practical<br />
application, which would inevitably cause the missing<br />
error and is inconvenient for automated calibration.<br />
Besides, in order to pursuit more accurate camera<br />
calibration, sub-pixel corner coordinates are required.<br />
Aimed at the above problems, first <strong>of</strong> all, pattern<br />
classification is implemented on the extracted points to<br />
classify those points by rows and columns. Points in the<br />
same row or in the same column are fitted by least square<br />
method to solve the intersection point. This approach can<br />
avoid the missing error and achieve the sub-pixel<br />
precision corner detection. Meanwhile, it lays the<br />
foundation for resolving the coefficient automatically in<br />
the next step since the sequence information <strong>of</strong> corner<br />
position is included in the intersection point. It should be<br />
noted that if there is a strict requirement on precision,<br />
points in the outside rows and columns should be rejected<br />
before straight line fitting since they would sometimes<br />
cause the performance decline <strong>of</strong> the detection due to<br />
image distortion. In addition to the above method to<br />
improve the precision <strong>of</strong> the corners to sub-pixel level,<br />
there are also other methods. The most common method<br />
is gray-scale interpolation and then extracts corners on<br />
sub-pixel level using the algorithm provided by this paper.<br />
Another method is proposed in [11]. The main idea is that<br />
the vector starting from the real corners (q) to any other<br />
adjacent points (pi) is vertical to the gray gradient at the<br />
point pi.<br />
T<br />
ε =∇() I .( q− p)<br />
(7)<br />
i pi i<br />
Where ▽(I)pi T is the gray gradient at the point pi . εi<br />
should be zero in theory, but because <strong>of</strong> the noise, εi may<br />
not be zero. Therefore, q is the point where εi gets the<br />
© 2011 ACADEMY PUBLISHER<br />
minimum value. We build the iterative function according<br />
to (7) and calculate the coordinate <strong>of</strong> the corner on subpixel<br />
level. Results show that this is a precise algorithm.<br />
The whole algorithm is as shown in Fig.3.<br />
Where A is the set, which contains the points detected<br />
by using the first character. B is the set that contains the<br />
final pixel level corners. W is the detection window. C is<br />
the set that contains the final sub-pixel corners.<br />
III. EXPERIMENTAL ANALYSIS<br />
In order to test the correctness <strong>of</strong> the above algorithm,<br />
a series <strong>of</strong> experiments were conducted. Images involved<br />
in the experiments can be obtained on the website <strong>of</strong><br />
http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/c<br />
alib_example/index.html. Image resolution is 640×480.<br />
The chessboard template consists <strong>of</strong> 14×13 boxes, where<br />
156 internal corners are included. The size <strong>of</strong> each box is<br />
30mm×30 mm.<br />
Figure 3. Program Flow Chart
794 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Figure 4. Image fragment<br />
Figure 6. Pixel-level image and results<br />
First, process Fig. 4 using the first method mentioned in<br />
II where T is equal to 400.The results are marked with red<br />
box as shown in Fig. 5.. It can be seen that these points are<br />
distributed in a 3 × 3 small areas.<br />
Second, we use the second method in II to filter the<br />
above results. The correlation coefficient <strong>of</strong> points<br />
between I and III is shown in Table 1.<br />
From Table I we can see that the maximum value <strong>of</strong> the<br />
correlation coefficient is at (16,15). So we define (16,15)<br />
as the corner we want. In Fig. 6, the red cross indicates the<br />
final extracted result. It show that algorithm is correct and<br />
has a high accuracy<br />
© 2011 ACADEMY PUBLISHER<br />
A B C<br />
Figure 7. Results extracted by AXDA<br />
TABLE I.<br />
EXTRACTED RESULTS<br />
Point Extracted Results Corner<br />
Coordinate (15,14) (16,14) (16,15) (17,16)<br />
P 0.1632 -0.1085 0.6497 0.4043<br />
Figure 8. Extracted Result<br />
(16,15)<br />
A. Comparison with Harris corner detection algorithm<br />
Red labels in Fig. 7, Fig. 8, Fig. 9and Fig. 10 are<br />
detection results processed by AXDA and Harris<br />
operator respectively. Numbers <strong>of</strong> detected corners are<br />
listed in Table II.<br />
From Fig. 7, Fig.8 and Table II we can see that the<br />
performance <strong>of</strong> the AXDA is much better than that <strong>of</strong> the<br />
Harris operator. The AXDA detects only one corner<br />
outside the chessboard. As the general algorithm however,<br />
Harris detects large numbers <strong>of</strong> non-X-corners in the<br />
background. These points distribute disorderly and will<br />
cause great trouble in the automated calibration.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 795<br />
A B C<br />
Figure 9. Results extracted by Harris<br />
Fig. 9 and Fig. 10 are the local enlargement result<br />
images <strong>of</strong> AXDA and Harris operator respectively. It can<br />
be seen clearly that the performance <strong>of</strong> the AXDA<br />
outweighs the Harris operator. Corners detected by<br />
Harris in Fig. 9 shifts from the real position and false<br />
Figure 10. Results extracted by AXDA<br />
corners are detected. But in Fig. 10 the results are more<br />
accurate.<br />
Figure 8. Results extracted by Harris<br />
TABLE II.<br />
NUMBER OF POINTS<br />
Number <strong>of</strong> Corners<br />
Algorithm<br />
Image A Image B Image C<br />
Harris 443 382 393<br />
AXDA 157 156 156<br />
© 2011 ACADEMY PUBLISHER<br />
Corners AXDA<br />
TABLE III.<br />
SUB-PIXEL CORNERS<br />
Camera Calibration Toolbox<br />
for Matlab<br />
1st (287.5431,116.2525) (287.1477,114.9688)<br />
2nd (282.3183,152.3035) (281.4477,151.0909)<br />
3rd (277.3627,186.4973) (276.3348,185.5046)<br />
4th (272.6387,219.0928) (271.3617,217.9590)<br />
5th (268.1781,249.8713) (267.0234,248.7857)<br />
6th (264.0387,278.4330) (262.5504,277.8376)<br />
7th (260.0439,305.9974) (258.6074,305.3773)<br />
8th (256.3077,331.7771) (254.5650,331.1984)<br />
9th (252.7597,356.2584) (251.3006,355.5708)<br />
10th (249.4266,379.2563) (247.6796,378.6948)<br />
11th (246.2785,400.9786) (244.7730,400.3725)<br />
12th (243.3301,421.3226) (241.7335,420.8897)<br />
B. Precision comparison on sub-pixel level<br />
Corners detected by intersection <strong>of</strong> straight line fitting<br />
and corners detected by Matlab calibration toolbox are<br />
compared on the sub-pixel level. Take the detection<br />
results <strong>of</strong> the fourth column in Fig.7.A as an example,<br />
comparisons from the top to the bottom are shown as<br />
Fig.11 and Tab.III.
796 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Figure 11. Image fragment Sub-pixel level results contrast<br />
In Table III, the sub-pixel corner coordinates, detected<br />
by AXDA and Camera Calibration Toolbox for Matlab<br />
were listed. There are about 1-2 pixels difference in the<br />
results. Those points are projected on the test image,<br />
shown as in Fig.11.In Fig. 11, red corners are extracted<br />
by the AXDA and green corners are detected by the<br />
Matlab calibration toolbox. It can be seen from Fig. 11<br />
that compared with green labels, red labels marked more<br />
accurately on the connection <strong>of</strong> two black boxes. So the<br />
performance <strong>of</strong> the AXDA is much better than that <strong>of</strong> the<br />
Matlab calibration toolbox. Besides, the AXDA does not<br />
need human intervention and has a higher degree <strong>of</strong><br />
automation.<br />
To sum up, it is show that the proposed algorithm can<br />
not only detected corners accurately, but also has a low<br />
algorithm complexity .In the process <strong>of</strong> coarse<br />
© 2011 ACADEMY PUBLISHER<br />
extraction, which uses the first feature, a lot <strong>of</strong> points are<br />
excluded. The computation can be reduced effectively in<br />
the subsequent Essence extracted. In addition to, it is<br />
feasible for obtaining the missing corners. Furthermore,<br />
the proposed algorithm can automatic acquisition corner<br />
position sequence information, which can provide<br />
coordinates sequence information for further automatic<br />
camera calibration.<br />
IV. CONCLUSIONS<br />
By analyzing the current X-corner detection<br />
algorithms, a new X-corner extraction approach is<br />
provided using the characteristic <strong>of</strong> the central symmetry<br />
<strong>of</strong> the gray image as well as the characteristic <strong>of</strong> the<br />
bright and dark alteration <strong>of</strong> the four regions around<br />
corner. First <strong>of</strong> all, roughly extract the corners using the<br />
characteristic <strong>of</strong> the bright and dark alteration <strong>of</strong> the four<br />
regions around corner. Second, accurately extract the<br />
coordinates <strong>of</strong> the corner with the symmetry<br />
characteristic. Then, classify the extracted corners by<br />
rows and columns. Fit the points with least square<br />
straight line fitting algorithm. Calculate the intersection<br />
<strong>of</strong> the fitting straight lines and finally obtain the precise<br />
corners. The proposed method effectively settles the<br />
false error and missing error in practical application and<br />
is robust for rotation transformation and brightness<br />
variation. Besides, our algorithm is computational cheap<br />
and has a high degree <strong>of</strong> automation, which is beneficial<br />
to the real-time camera calibration.<br />
ACKNOWLEDGMENT<br />
This work is financially supported by the National<br />
Natural Science Foundation <strong>of</strong> China under Grant<br />
No.61064011. And it was also supported by China<br />
Postdoctoral Science Foundation, Science Foundation for<br />
The Excellent Youth Scholars <strong>of</strong> Lanzhou University <strong>of</strong><br />
Technology, and Educational Commission <strong>of</strong> Gansu<br />
Province <strong>of</strong> China under Grant No.20100470088,<br />
1014ZCX017 and 1014ZTC090, respectively.<br />
REFERENCES.<br />
[1] G.J.Zhang, “Machine vision,” Beijing: Science press,pp.<br />
35-55, 2005.<br />
[2] Z.Zhang, “A flexible new technique for camera<br />
calibration,”IEEE Transactions on Pattem Analysis and<br />
Machine Intelligence, 22(11),pp.1330-1334,2000.doi:<br />
10.1109/34.888718.<br />
[3] C.Harris , M.Stephens, “A combined comer and edge<br />
detector,”Proceedings <strong>of</strong> the 4th Alvey Vision Conference,<br />
Manchester, pp.l47-l51,1988.doi:10.1016/SO262-<br />
8856(97)<br />
0010-3.<br />
[4] D.H.Xie,Z.Q.Zhan,W.SH.Jang, “Improving Harris Corner<br />
Detection,” <strong>Journal</strong> <strong>of</strong> Geomatics, vol.28(2),pp.22-23,<br />
2003.doi:1007-3817(2003)02-0022-02.<br />
[5] Q.He,Q.H.Li,X.S.Wang, “Corner Features Extraetion <strong>of</strong><br />
Image Based on 0rientation SUSAN 0perator,” <strong>Journal</strong> <strong>of</strong><br />
Chinese Computer Systems, vol.29(3),pp.508-510.<br />
2008.doi: 1000-1220(2008)03-0508-03.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 797<br />
[6] H.X.Lv,H.LCH, “On angular—point extracting method<br />
based on SUSAN and point matching method,”Electronics<br />
Optics&Control,2008,vol.15(3),pp.45-48.doi:1671-637X(<br />
2008)03-0045-04.<br />
[7] H.F Hu, Y.G. Xiong, “A new algorithm for chessboard<br />
grid corners detection based on two successive<br />
radonTransform,” Acta Scientirarum Naturalium<br />
Universitatis Suny Atseni,vol.42(2), pp.23-26, 2003. doi:0<br />
529-6579(2003)02-0023-04.<br />
[8] Y. L,F.L. Wang, Y.Q.Chang, “Black and White X-Corner<br />
Detection Algorithm,” <strong>Journal</strong> <strong>of</strong> Northeastern University<br />
(NaturalScience), vol.28(8),pp.1090-1093,2007.doi: 1005<br />
-3026(2007)08-1090-04.<br />
[9] X.J. Tan , Z.H. Guo, Z. Jiang,“Chessboard grid corners<br />
detection based on geometric symmetry,” <strong>Journal</strong> <strong>of</strong><br />
Computer Applications , vol.28(6), pp.1540-1542.<br />
2008,doi: 1001-9081(2008)06-1540-03<br />
[10] http://www.vision.caltech.edu/bouguetj/calib_doc/.<br />
[11] Z.M. Liang,H.M.Gao,Z.J.Wang,L.Wang, “Sub-pixels<br />
corner detection for camera calibration,”Transactions <strong>of</strong><br />
The China Welding Institution, vol.27(2), pp.102-104,<br />
2006. doi:0253-360x(2006)02-102-03.<br />
© 2011 ACADEMY PUBLISHER<br />
Fuqing Zhao P.h.D., born in Gansu, China, 1977, has got a<br />
P.h.D. in Dynamic Holonic Manufacturing System, Lanzhou<br />
University <strong>of</strong> Technology, Gansu, 2006. He is a Post Doctor in<br />
Control Theory and Engineering in Xi’an Jiaotong University<br />
and Visiting Pr<strong>of</strong>essor <strong>of</strong> Exeter University. His research work<br />
includes theory and application <strong>of</strong> pattern recognition,<br />
computational Intelligence and its application, where fifteen<br />
published articles can be found.<br />
Chunmiao Wei born in Shanxi,China,1984.His research<br />
interest is the application <strong>of</strong> pattern recognition, Graphics and<br />
Image Processing , Computer Vision<br />
Jizhe Wang born in Henan,China,1986.His research interest<br />
is the application <strong>of</strong> pattern recognition, Artificial Intelligence<br />
Jianxin Tang born in Henan, China, 1985.His research is the<br />
theory and application <strong>of</strong> pattern recognition.
798 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Research on Dynamic Rescheduling Program<br />
Base on Improved Contract Net Protocol<br />
Fuqing Zhao<br />
School <strong>of</strong> Computer and Communication, Lanzhou University <strong>of</strong> Technology, Lanzhou, Gansu, P.R.China<br />
Key Laboratory <strong>of</strong> Gansu Advanced Control for Industrial ProcessesLanzhou, Gansu, P.R.China<br />
Email: fzhao2000@hotmail.com<br />
Jizhe Wang<br />
School <strong>of</strong> Computer and Communication, Lanzhou University <strong>of</strong> Technology,Lanzhou, Gansu, P.R.China<br />
Email: wangjizhe2009@mail2.lut.cn,tangjianxin2009@mail2.lut.cn<br />
Jianxin Tang<br />
School <strong>of</strong> Computer and Communication, Lanzhou University <strong>of</strong> Technology,Lanzhou, Gansu, P.R.China<br />
Email: tangjianxin2009@mail2.lut.cn<br />
Abstract— Dynamic rescheduling <strong>of</strong> workshop production<br />
management, with the feature <strong>of</strong> combinatorial computation<br />
complexity, is an important and difficult research area, and<br />
be <strong>of</strong> significant importance for the dynamic scheduling<br />
problem. An improved Contract Net Protocol (CNP) with<br />
the global two-way, Multi-Agent System (MAS) based<br />
communication model, which incorporated the local<br />
autonomy <strong>of</strong> working mutually in consultation by<br />
negotiation, is presented in this paper. Furthermore, the<br />
simulation results in dynamic scheduling accompanying<br />
with its perturbation show that the proposed model and the<br />
algorithm are effective to the dynamic scheduling problem<br />
in manufacturing system.<br />
Index Terms—MAS, Agent, dynamic scheduling, Contract<br />
Net Protocol<br />
I. INTRODUCTION<br />
Present industrial system forward in the direction <strong>of</strong><br />
large complex dynamic changes, Traditional industrial<br />
systems and technology in a number <strong>of</strong> key issues are<br />
serious challenges. Efficient and practical method which<br />
is used in scheduling and optimization technology is a<br />
key to plant productivity [1]. Assume that the traditional<br />
process with a clear schedule and a fixed processing time,<br />
while the actual processing, there are many uncertain<br />
factors, for example, changes in processing time, product<br />
demand, delivery, equipment failure, resources and<br />
production processes. The dynamic interference <strong>of</strong> these<br />
factors make the original dynamic scheduling can not be<br />
implemented successfully. The rescheduling is occurring<br />
in the course <strong>of</strong> events and uncertain response to other<br />
changes, which is based on the state <strong>of</strong> the system time<br />
Manuscript received December 1, 2010; revised January 15, 2011;<br />
accepted January 17, 2011.<br />
This work is financially supported by the National Natural Science<br />
Foundation <strong>of</strong> China under Grant No.61064011.<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.798-805<br />
for the next cycle <strong>of</strong> program activities; therefore it has a<br />
very high search value [2].<br />
Job shop scheduling is a NP-hard problem, Church LK<br />
[3] studied the rescheduling driven based on cyclical time<br />
and the two rounds <strong>of</strong> re-scheduling-driven methods. Jian<br />
Fang [4] designed the Ministry <strong>of</strong> Information under full<br />
dynamic scheduling model rolling horizon procedure, and<br />
then had analyzed and evaluated. Sanjay V [5] processed<br />
the way to absorb the random failure <strong>of</strong> the disturbance<br />
proposed by the appropriate method <strong>of</strong> inserting idle time.<br />
Kim [6] proposed a flexible production environment<br />
which can handle processing <strong>of</strong> planning and shop<br />
scheduling symbiotic genetic algorithm. D.Petrovic [7]<br />
used the fuzzy method to study the re-scheduling <strong>of</strong> the<br />
start. Cheng [8] proposed scheduling based on genetic<br />
algorithm concept <strong>of</strong> real-time response. Wang Hui [9]<br />
put the uncertainty <strong>of</strong> the impact <strong>of</strong> events designed as a<br />
set <strong>of</strong> random changes in the time period. Goncalves [10]<br />
proposed a hybrid genetic algorithm for shop scheduling.<br />
Wong [11] designed a device based on the production <strong>of</strong><br />
multi-Agent system.<br />
Based Agent which has a high degree <strong>of</strong> autonomy, in<br />
this paper, a group <strong>of</strong> self-government body (Agent) was<br />
used to solve the effective coordination between the<br />
complex and dynamic rescheduling problem, and Agent<br />
in the process <strong>of</strong> scheduling, we use consultation and<br />
collaboration between scheduling, therefore have a higher<br />
real-time [12]. This is the same need in the dynamic shop<br />
scheduling. So this paper from the Agent communication<br />
mechanism <strong>of</strong> individual multi-Agent cooperative<br />
mechanisms and MAS's system <strong>of</strong> institutions to start;<br />
combine the re-scheduling problem <strong>of</strong> dynamic workshop<br />
is described in detail. Propose a global two-way dispatch,<br />
local self-improvement contract net protocol negotiation<br />
and simulate, then confirm its effectiveness.<br />
II. MAS-BASED MODEL RESCHEDULING
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 799<br />
In dynamic shop scheduling environment, job shop<br />
problem can be described as: In a processing unit or<br />
system, n jobs need to be processed on m machines,<br />
every job i J (1 ≤i ≤ n ) has i n process ij O (1 ≤i ≤ n,1≤j<br />
≤ ni<br />
)<br />
need to processing, Set machine tool with a collection<br />
<strong>of</strong> M , Then each process ij O either by the concentration<br />
<strong>of</strong> machine tools ij M can be processed in a machine,<br />
where M ij M ⊆ . If M ij M = , the scheduling problem is a<br />
completely flexible scheduling problem; if M ij M ⊂ , it is a<br />
local scheduling problem with flexible [13] .<br />
Re-scheduling operation set is a machine failure occurs,<br />
all machines need to re-scheduling <strong>of</strong> the operation on the<br />
set. Rescheduling operation set is essentially a set <strong>of</strong><br />
variables constraint satisfaction problem.<br />
As rescheduling model is the corresponding evolution<br />
<strong>of</strong> the initial scheduling model, so the initial problem<br />
modeling available:<br />
min max{ cis | i∈ I}<br />
S.t. sij + 1 ≥ sij+ 1 + pij<br />
, i∈I, J ∈{1,..., s−<br />
1}<br />
(1)<br />
( mi1j≠mi) ( )<br />
2 j ∨ si1j≥ci1j∨si2 j≥ ci2<br />
j<br />
(2)<br />
i1, i2 ∈I, i1 ≠i2, j∈ J<br />
(3)<br />
cij = sij + pij<br />
, i∈I, j∈ J<br />
(4)<br />
j−1<br />
si ≥0, s , , {2,..., }<br />
1 ij ≥∑ p<br />
k 1 ik i∈I j∈ s<br />
(5)<br />
=<br />
mij ∈ Rj= { rjl,... rjl | j∈J}, i∈ I<br />
j<br />
(6)<br />
i means workpiece number and i∈ I = {1,..., n}<br />
, j<br />
means level number and j∈ J = {1,..., s}<br />
, jl r means the<br />
machine number, ij s means the start time <strong>of</strong> initial<br />
scheduling, ij m means the start machine, ij p means the<br />
processing time <strong>of</strong> the operate workpiece.<br />
In the above model, (1) shows the optimization goal <strong>of</strong><br />
the scheduling problem is minimum <strong>of</strong> C max .<br />
(2) shows the operation <strong>of</strong> the timing constraints, it is<br />
said that the workpiece after the end <strong>of</strong> the previous stage<br />
to begin the next stage <strong>of</strong> processing tasks.(3)shows that<br />
If the two jobs processed on the same machine, then the<br />
can not doing at the same time.(4)shows processing the<br />
workpiece can not be interrupted after<br />
starting.(5)and(6)shows operation started variable time<br />
and the variable range <strong>of</strong> processing machinery.<br />
Then it supposes the machine r jl d d disruptions at the<br />
time [ tb, t e]<br />
,so the initial scheduling begins to have a<br />
change in b t ,and the initial scheduling will change to the<br />
dynamic rescheduling,<br />
∑∑wijδ1ij ∑∑vijδ2ij<br />
i∈I j∈J i∈I j∈J max f = +<br />
w v<br />
∑∑ ∑∑ (7)<br />
ij ij<br />
i∈I j∈J i∈I j∈J ( m ≠m ) ∨( s ≥c ∨s ≥ c )<br />
S.t. ij 1 ij 2 ij 1 ij 1 ij 2 ij 2<br />
i1, i2 ∈I, i1 ≠i2, j∈ J<br />
cij = sij + pij<br />
, i∈I, j∈ J<br />
m ∈ R = { r ,... r | j∈J}, i∈ I<br />
ij j j1 jl j<br />
( m′ ij ≠ rj) ( ), ,<br />
dl ∨ s′ d ij ≥tei∈I j∈ J<br />
(8)<br />
s′ ij ≥tb, i∈I, j∈ J<br />
(9)<br />
© 2011 ACADEMY PUBLISHER<br />
(7) shows the scheduling programs to maximize the<br />
time before and after adjustment arrangement and the<br />
total weight assigned to the similarity machine. δ1ij shows<br />
rescheduling operation <strong>of</strong> The similarity <strong>of</strong> the timing<br />
with workpiece ij o .<br />
max{min{ c′ ij , cij} − max{ s′ ij , sij},0}<br />
δ1ij<br />
=<br />
pij<br />
δ 2ij shows the dynamic rescheduling with Before and<br />
after the operation <strong>of</strong> the dynamic rescheduling to assign<br />
the similarity in the workpiece ij o .<br />
⎧⎪ 1, m′ ij ∈ Mij;<br />
δ 2ij<br />
= ⎨<br />
⎪⎩ 0, other<br />
(8) shows the new constraints <strong>of</strong> mechanical<br />
failures,(9)shows the beginning <strong>of</strong> the operation <strong>of</strong> the<br />
new range <strong>of</strong> variable start time. ij o means the stage j <strong>of</strong><br />
workpiece i , wij , v ij mean operating weight <strong>of</strong> the<br />
workpiece and the machine time consistency <strong>of</strong> weight<br />
respectively, ij s′ means the operating parts <strong>of</strong> the starting<br />
time in rescheduling, ij m′ means the machine <strong>of</strong> operating<br />
workpiece in rescheduling.<br />
For the rescheduling problem, the structure <strong>of</strong> Agent<br />
can be expressed as: Agent= def < Id, Goal, Act, Rule, L >.<br />
Agent Id is the identifier which, different Id in<br />
different Agent. Re-scheduling <strong>of</strong> the workshop can be<br />
the Agent <strong>of</strong> Id from 1 corresponds to the location <strong>of</strong> the<br />
machine in the list. The Agent can be used to express<br />
as agi which Id is i .<br />
Goal is the Agent <strong>of</strong> the goal, the goal is that the Agent<br />
inserts after the current job is still making the current<br />
optimal or near optimal job queue. The goal can be<br />
i i i i<br />
expressed as Goali = ( Cmax, J1 → J 2...<br />
→ J ni)<br />
, where<br />
i i i { J1, J2... J ni } is the machine M i currently operating the<br />
current sort order queue 1 2 ...<br />
i i i<br />
J → J → Jni<br />
and<br />
set. 1 2 ...<br />
i i i<br />
J → J → J is the priority <strong>of</strong> the current sequence<br />
ni<br />
i<br />
set on the machine or near optimal order. Cmax is the<br />
optimal value <strong>of</strong> the machine M i or similar to the<br />
corresponding optimal value.<br />
Act can be said to the action set, in the form on behalf<br />
<strong>of</strong> the Agent Act = { act1, act2...... actn}<br />
can be to complete the<br />
operation. Each Agent has a communication,<br />
collaboration features.<br />
Rule represents Agent on behalf <strong>of</strong> Agent cooperation<br />
with other rule sets, In this paper we use the modified<br />
contract net protocol .<br />
L is the Agent communication language, different<br />
Agent use the languages to communicate with L , In this<br />
paper the rules based on FIPA ACL language.<br />
III. DYNAMIC SCHEDULING SYSTEM SASED ON MAS<br />
MODEL<br />
A.Functional Design Agent<br />
Traditional rescheduling is generally aided by the<br />
manual or has operations in accordance with certain re-
800 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
allocation algorithm [14]. This paper uses the MAS-based<br />
intelligent scheduling system Agent mainly through<br />
collaboration between the nature <strong>of</strong> making intelligent<br />
machines, in order to achieve the automation <strong>of</strong> job rescheduling<br />
and optimization. The basic structure <strong>of</strong><br />
improved contract net model is unchanged, by the<br />
Management Agent, Resource Agent, Supervision Agent<br />
and Work piece Agent composition.<br />
Management Agent (MA) Management Agent is the<br />
core <strong>of</strong> the scheduling system, mainly responsible for<br />
evaluating and scheduling the task which mandate outside<br />
received. Specific tasks include the host information and<br />
the degree <strong>of</strong> emergency. Then put the information<br />
submit to the Resource Agent. Management Agent and<br />
other Agents’ relationship are shown in Fig.1.<br />
Figure1. Description <strong>of</strong> Management Agent<br />
Resource Agent (RA) Resource Agent is responsible<br />
for receiving and processing plant outside production<br />
tasks and in accordance with the current processing<br />
capacity, to determine whether to perform the task<br />
workshop. In the decomposition <strong>of</strong> tasks, each Equipment<br />
Agent releases to the tender, accordance with the rules <strong>of</strong><br />
the agreement to form processing program, and then<br />
reports to the Supervision Agent, to obtain feedback on<br />
the various parts after the Agent is responsible for<br />
scheduling production. Resource Agent internal<br />
schematic is shown in Fig. 2.<br />
Figure2. Resource Agent internal schematic.<br />
Supervision Agent(SA) Supervision Agent mainly<br />
reports on alternative production plan <strong>of</strong> Management<br />
Agent for a simulation, then selects processing route back<br />
to the Management Agent to comply specifically. And the<br />
Supervision Agent mainly is responsible for the<br />
supervision <strong>of</strong> Agent equipment failure, the addition <strong>of</strong><br />
new equipment and the arrival <strong>of</strong> other emergency tasks.<br />
Fig. 3 shows the internal schematic.<br />
© 2011 ACADEMY PUBLISHER<br />
Figure3. Supervision Agent internal schematic.<br />
Equipment Agent (EA) Actually it can be considered<br />
as a manufacturing unit. Each Agent self-management <strong>of</strong><br />
each piece <strong>of</strong> unit, responsible for the appropriate<br />
operation management, equipment, command transfer<br />
and information collection. Equipment Agent receives the<br />
information after Resource Agent, products equipment on<br />
their assessment <strong>of</strong> the corresponding , then decide<br />
whether to tender. According to the equipment cases it<br />
makes a corresponding quote if tender, feedback on<br />
whether the production capacity to the Resources Agent<br />
to complete the task. Internal schematic shows in Fig. 4.<br />
Figure4. Equipment Agent Internal Schematic.<br />
Then, the Management Agent send a message to<br />
Workpiece Agent with the communication primitives<br />
sample can be expressed as:<br />
:Sender(managerAgent@abc:1099/jade)<br />
:Receiver(Equipment@abc:1099/jade)<br />
:Ontology AMS-ontology<br />
:Protocol FIPA-contract-net<br />
:Language FIFA-KQML<br />
:Content "((Issue (taskid(01),surface<br />
Type(plane),machining<br />
Type(drilling),number(8),tolerance(geometic<br />
Tol:02dimensional tol:01roughness:02),<br />
deadline(2010.12.01/21:10)))"<br />
Resources Agent releases from the processing <strong>of</strong><br />
waiting tasks, select processing tasks in sequence,<br />
according to the form <strong>of</strong> tender to manufacture parts <strong>of</strong><br />
the process for the Workpiece Agent with issuing the<br />
request, the communication primitives can be expressed<br />
as:<br />
(<br />
CFP
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 801<br />
:Sender(Agent-identifier:name<br />
resource@abc:abc:1099/jade)<br />
:Receiver(Agent-identifier:name<br />
equipment@abc:abc:1099/jade)<br />
:Content(action<br />
issues:issuebook:taskli\task01:working procedure\01\)<br />
:task ready time"2010-12-01 21:20"<br />
:surface roughness 4:dimensional tolerance<br />
time\"60"\:deadline\"2010-12-01 21:20"\)<br />
:Reply-with CFP1<br />
:in Reply-with PROPOSE1<br />
:Language FIPA-KQML<br />
:Ontology scheduling ontology<br />
:Protocol fipa-contract-net<br />
)<br />
According to their capacity and status <strong>of</strong> the request,<br />
Workpiece Agent is in a given period <strong>of</strong> time which gives<br />
the proposed tender. Agent for the tender parts request<br />
primitives can be expressed as:<br />
(<br />
PROPOSE<br />
:Sender(Agent-identifier:name<br />
equipment@abc:1099/jade)<br />
:Receiver(Agent-identifier:name<br />
resource@abc:1099/jade)<br />
:Content"((action(bidbook(bidbook<br />
:finishtime\2010-12-01\21:30\)):cost:10:equipment<br />
(Agent-identifier:name equipment@abc:1099/jade)))"<br />
:Reply-with CFP1<br />
:in Reply-with PROPOSE1<br />
:Language FIPA-KQML<br />
:Ontology scheduling ontology<br />
:Protocol fipa-contract-net<br />
)<br />
B.The contract net protocol based on the improved<br />
process <strong>of</strong> rescheduling<br />
In the planed internal allocation model, Management<br />
Agent generates the appropriate contract under the task<br />
order, the final bidding through the contract net protocol<br />
mechanism to determine the distribution relationship [15].<br />
But by given the efficiency <strong>of</strong> consultation and workshop<br />
frequent dynamic scheduling, to improve efficiency, the<br />
global scheduling use a two-way consultation mechanism.<br />
The workshop is no longer accepted management's<br />
bidding information passively. It can take the initiative to<br />
inform the Management Agent on free time, and to have<br />
rescheduling with Resource Agent and Equipment Agent.<br />
Shorten the time required for scheduling. Resource Agent<br />
is no longer the same time with the broadcast model <strong>of</strong><br />
unconditional tender information published to the<br />
workshop, they test whether Agent scheduling<br />
applications have been submitted firstly, and then bidding<br />
between these application workshops, it means Invitation<br />
to bid model. Through this two-way consultation<br />
mechanism, the system is greatly reduced communication,<br />
negotiation efficiency also improved. It is shown in Fig.5.<br />
In this paper, Scheduling in the local autonomous<br />
negotiation strategy is used. It focuses primarily on a<br />
single operating part <strong>of</strong> the consultation process.<br />
Management Agent access to the task, the state machine<br />
© 2011 ACADEMY PUBLISHER<br />
select Agent in a particular queue. By the time they run<br />
the task initiated by notice to select the appropriate Agent<br />
to negotiate on its mandate. If access to the task at the<br />
same time, the launch <strong>of</strong> negotiations on a random<br />
selection. When the machine authorization <strong>of</strong> the Agent<br />
and executes for the task, the machine first notify the<br />
current Management Agent has completed the task, and<br />
then update their state, while awaiting transfer to the next<br />
stage <strong>of</strong> the job queue. On the other hand, work piece<br />
Agent change them idle.<br />
Reschedule for emergency orders : Due to market<br />
dynamics, new orders appear frequently. at that time the<br />
Resource Agent running in the system, first use the<br />
conventional approach to internal Management Agent to<br />
launch negotiation, if it can not find the time for new<br />
entrants to the scheduling order, then Resource Agent<br />
release some <strong>of</strong> the production plan, while the delivery <strong>of</strong><br />
these orders guarantee to be completed before delivery,<br />
the scheduling <strong>of</strong> the Resource Agent released until the<br />
successful operation <strong>of</strong> emergency orders, which the<br />
released orders will reschedule after the emergency<br />
scheduling. The flow chart is shown on the left <strong>of</strong> Fig6.<br />
Failure <strong>of</strong> the machine: For the failure <strong>of</strong> the machine,<br />
immediately terminate the operation, and then issue a<br />
notice in need <strong>of</strong> repair, the Equipment Agent timely<br />
processing the state feedback to the Resource Agent,<br />
Resource Agent records the current processing situation,<br />
the task then to be processed back and see if there are<br />
other Agent can instead <strong>of</strong> the Equipment Agent, if you<br />
can replace, then the task will be distributed back out; if<br />
not, the task is to re-bid, re-scheduling. The flow chart is<br />
shown in middle <strong>of</strong> Fig. 6.<br />
For other exceptions: such as the shortage <strong>of</strong> raw<br />
materials, the task can not be completed in the near<br />
future, Management Agent will recover the<br />
corresponding tasks, so ahead <strong>of</strong> the back scheduling, the<br />
unfinished task will schedule again after the input<br />
processing conditions. Thus, the autonomy <strong>of</strong> local<br />
consultation can be well on the impact <strong>of</strong> the whole<br />
system on the strategy eliminating rescheduling. The flow<br />
Figure5. Dynamic Scheduling Model Based on Multi Agent.<br />
chart is shown on right <strong>of</strong> Fig.6.
802 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Resource Agent<br />
Management Agent<br />
Find new time<br />
Y<br />
Workpiece Agent<br />
Release order<br />
Y<br />
Scheduling released order<br />
Planned order<br />
Emergency order<br />
Report<br />
Emergency scheduling order<br />
N<br />
N<br />
Stop jobs<br />
Other Agent<br />
Malfunction<br />
Notice<br />
Workpiece Agent<br />
feedback<br />
Resource Agent<br />
record<br />
Recycling order<br />
Process failure order<br />
IV. BASIC SCHEDULING ALGORITHMS IN AGENT<br />
The dynamic re-scheduling based on MAS composes<br />
<strong>of</strong> local scheduling by a multi-stage process. The local<br />
scheduling <strong>of</strong> each stage is carried out based on CNP<br />
model, the basic algorithm is as follows:<br />
Step 1 Scheduling information received from the<br />
outside world after the initial Management Agent release<br />
price PR i . It can be defined: PRi = ( ti Ta Ba Ma)<br />
t i Means that other Agent where the deadline to<br />
respond Ta means that the time required to complete the<br />
task constraints, Ba means space constraints, M a means<br />
material constraints.<br />
Then for emergency insertion <strong>of</strong> the work piece, once<br />
the original work piece delay, the delay time should to be<br />
as short as possible, so the time constraint can be<br />
expressed as:<br />
Ta = min[( Ts + ti),( Td + Tp)]<br />
(10)<br />
S.t. cik − pik + M(1 −aihk ) ≥ cih<br />
,<br />
i = 1,2,... n; h, k = 1,2,... m<br />
cjk − cik + M(1 −xijk ) ≥ pjk<br />
,<br />
i, j = 1,2,... n; k = 1,2,... m<br />
cik ≥ 0 ,<br />
i = 1, 2,... n; k = 1, 2,... m<br />
find<br />
Y<br />
Planned order<br />
Figure6. Dynamic scheduling flow chart<br />
© 2011 ACADEMY PUBLISHER<br />
N<br />
Workpiece Agent<br />
Recover task<br />
Material shortage<br />
feedback<br />
Management Agent<br />
Y<br />
Planned Order<br />
N<br />
Other Agent<br />
x ijk =0 or 1,<br />
i, j = 1,2,... n; k = 1,2,... m<br />
In which (10) indicates time constraints. s T means the<br />
time that Management Agent make the initial <strong>of</strong>fer,<br />
Td means the latest time that jobs end, p T means the<br />
average <strong>of</strong> extend operating time, which ik c and ik p mean<br />
that the finished time and the processing time <strong>of</strong> work<br />
piece i and machine k . aihk and xijk are coefficient and the<br />
indicator variable indicating.<br />
Step 2 Equipment Agent tender <strong>of</strong>fer are given<br />
counter <strong>of</strong>fer, Equipment Agent first assess their own<br />
parts to meet the resource constraints, and then give<br />
counter <strong>of</strong>fer PRj = ( aj Tc, Mc)<br />
, a j means the commitment<br />
wait time, Tc means the first beginning time that is<br />
produced by the Equipment Agent which after assess, if<br />
the Equipment Agent do not meet a T , a B , M a ,or<br />
occupied by either the state constraints, then give up<br />
bidding. If T c is idle, then the Equipment Agent initiate to<br />
Resource Agent for counter-bids which is in the idle time<br />
scheduling, to save the scheduling time.<br />
Step 3 Resource Agent assesses the counter <strong>of</strong>fer and<br />
then authorize. Management Agent evaluates all bids<br />
which returned, according to the formula:<br />
min[( Tc + Tp), Mc]<br />
.Select the best Equipment Agent to<br />
authorize, that is, considering the earliest start time <strong>of</strong> the<br />
Equipment Agent, the workpiece capacity and efficiency.<br />
Step 4 Perform an operation process. The Equipment<br />
Agent authorizes to perform job tasks, in the process <strong>of</strong><br />
failure may occur. If normal, while the Management<br />
Agent <strong>of</strong> total consumption statistics, and then back to the<br />
Equipment Agent. If failure occurs, report to the<br />
Supervision Agent, to stop the operation and into the fault<br />
repair process <strong>of</strong> negotiation.<br />
V. SIMULATION RESULTS<br />
For example, to a machine shop, considering the<br />
equipment <strong>of</strong> 5parts, 4processes and 8machines; the<br />
workshop is to complete planning, milling, turning,<br />
drilling and other processes. There are two multifunctional<br />
machines: two different specifications <strong>of</strong> the<br />
plan and two specifications different lathe, a milling<br />
machine and a multi-function machine tool. Relationship<br />
between process machines is shown in Table I(in the<br />
table, 1 indicates that the machine can complete the<br />
process, 0 not).Process sets <strong>of</strong> the workpiece are shown in<br />
Table II. The processing time is shown in Table III.<br />
Consider two cases, one piece <strong>of</strong> the delivery is not<br />
particularly tense situation, is set to FIFO scheduling the<br />
delivery <strong>of</strong> products under the rules <strong>of</strong> the average<br />
processing cycle, the other is a more intense delivery time,<br />
that is 1:1.2. MAS proposed methods will be used in the<br />
FIFO rules and EDD rules performance comparison, the<br />
simulation results are shown in Table IV.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 803<br />
ID<br />
Machine<br />
Process<br />
As can be seen from the table IV, Fig.7 and Fig.8(G-<br />
FIFO means General FIFO;G-EDD means General<br />
EDD;G-MAS means General MAS;E-FIFO means<br />
Emergency FIFO;E-MAS means Emergency MAS;G-F-<br />
FIFO means General Failure FIFO;G-F-MAS means<br />
General Failure MAS;E-F-FIFO means Emergency<br />
Failure FIFO;E-F-MAS means Emergency Failure MAS),<br />
using the proposed consultation mechanism from this<br />
paper, for reducing the weighted average delay in<br />
delivery <strong>of</strong> products, improve product time delivery, has<br />
an extremely effective results.<br />
For the problem <strong>of</strong> equipment failure, assuming a<br />
daily equipment failure 12h, simulation time for one<br />
TABLE II.<br />
EQUIPMENT AND PROCESS<br />
Piece ID number 1 procedure 2 procedure 3 procedure 4 procedure<br />
j1 Plane(id:1) Milling (id:2) Diamond (id:4) Car (id:3)<br />
j2 Car (id:3) Diamond (id:4) Milling (id:2) Plane (id:1)<br />
j3 Milling (id:2) Plane (id:1) Car (id:3) Diamond (id:4)<br />
j4 Diamond (id:4) Plane (id:1) Milling (id:2) Car (id:3)<br />
j5 Milling (id:2) Diamond (id:4) Plane (id:1) Car (id:3)<br />
TABLE III.<br />
PROCEDURE PROCESSING TIME<br />
Machine<br />
Plane Milling Car Diamond<br />
A B C C G D E F H<br />
j1 3 4 6 10 8 2 3 5 9<br />
j2 7 8 8 5 6 6 7 6 4<br />
j3 2 3 3 3 5 4 5 3 3<br />
j4 8 9 9 2 7 11 12 7 7<br />
j5 3 5 6 5 3 5 6 8 6<br />
TABLE IV.<br />
MODEL SIMULATION RESULTS<br />
Production Line Scheduling<br />
Time delivery/% Weighted average delay/h<br />
Status<br />
rules A B C D E F G H A B C D E F G H<br />
FIFO 49 48 51 57 50 50 50 51 21 18 18 16 16 20 15 16<br />
General<br />
EDD 46 54 55 61 65 50 52 68<br />
MAS 85 91 94 88 90 84 93 80 3 3 1 1 8 7 9 8<br />
Emergency FIFO 0 0 0 0 0 0 0 0 55 84 65 59 71 65 84 74<br />
MAS 100 94 85 89 98 89 92 94 5 7 5 3 10 6 8 6<br />
Production Line<br />
Status<br />
A(Planer1)<br />
B(Planer2)<br />
Scheduling rules<br />
TABLE I.<br />
RELATIONSHIP BETWEEN THE MACHINE AND PROCESS<br />
C(Milling)<br />
D(Lathe1)<br />
E(Lathe2)<br />
TABLE V.<br />
EQUIPMENT FAILURE MODEL SIMULATION<br />
F(Multifunction)<br />
G(Lathe)<br />
H(Multifunction)<br />
P1 1 1 0 1 0 1 1 0<br />
P2 0 0 1 0 0 0 0 1<br />
P3 0 0 0 1 1 0 1 0<br />
P4 0 0 1 0 0 1 1 0<br />
Time delivery /% Weighted average delay /h<br />
A B C D E F G H A B C D E F G H<br />
General Failure FIFO 55 58 51 55 54 59 50 49 41 20 15 17 19 21 19 20<br />
MAS 96 92 92 95 90 95 99 94 6 8 3 3 7 6 4 5<br />
Emergency<br />
FIFO 0 0 0 0 0 0 0 0 35 33 24 32 29 16 31 121<br />
Failure<br />
MAS 99 94 88 89 98 89 92 94 8 6 6 11 11 8 7 8<br />
© 2011 ACADEMY PUBLISHER<br />
month, the same as the other set, FIFO is not processed<br />
on equipment failure, MAS consultation mechanism with<br />
self-processing, simulation statistics are shown in Table<br />
V, Fig.9 and Fig. 10.<br />
Fault simulation shows that the proposed consultation<br />
mechanism <strong>of</strong> local autonomy which reduce equipment<br />
failures better impact on the production line.<br />
In the normal fault and the fault <strong>of</strong> the emergency,<br />
were increased on-time delivery rate, and reduce the<br />
average weighted delay.
804 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Avarage Weighted Delay<br />
Time delivery%<br />
Delay Time<br />
Time delivery<br />
120<br />
100<br />
80<br />
60<br />
40<br />
20<br />
0<br />
90<br />
80<br />
70<br />
60<br />
50<br />
40<br />
30<br />
20<br />
10<br />
0<br />
120<br />
100<br />
80<br />
60<br />
40<br />
20<br />
45<br />
40<br />
35<br />
30<br />
25<br />
20<br />
15<br />
10<br />
5<br />
0<br />
0<br />
1 2 3 4 5 6 7 8 Process Set<br />
Figure7. Time Delivery Comparison In Normal State<br />
1 2 3 4 5 6 7 8<br />
Process Set<br />
Figure8. Delay Time Comparison In Normal State<br />
1 2 3 4 5 6 7 8 Process Set<br />
Figure9. Time Delivery Comparison In Failure Model<br />
VI. CONCLUSIONS<br />
G-FIFO<br />
G-EDD<br />
G-MAS<br />
E-FIFO<br />
E-MAS<br />
G-F-FIFO<br />
G-F-MAS<br />
E-F-FIFO<br />
E-F-MAS<br />
1 2 3 4 5 6 7 8 Process Set<br />
Figure10. Average Weighted Delay In Failure Model<br />
G-F-FIFO<br />
G-F-MAS<br />
E-F-FIFO<br />
E-F-MAS<br />
Dynamic rescheduling problem is widely used in<br />
modern production plant. In this paper, it is the first time<br />
that the improved Contract Net Protocol from MAS is<br />
used into the rescheduling <strong>of</strong> the workshop environment,<br />
to provide a new way <strong>of</strong> solving the problem in this area.<br />
Then give full consideration to the workshop production<br />
<strong>of</strong> the machine failure and repair process <strong>of</strong> scheduling,<br />
the complex dynamic rescheduling process is divided<br />
into corresponding independent Agent and interactive<br />
process. The technology extends the behavior <strong>of</strong> the fault<br />
and related considerations. The problem <strong>of</strong> mechanical<br />
failure was simulated to prove the validity <strong>of</strong> the model<br />
based on MAS system simultaneously.<br />
© 2011 ACADEMY PUBLISHER<br />
G-FIFO<br />
G-MAS<br />
E-FIFO<br />
E-MAS<br />
ACKNOWLEDGMENT<br />
This work is financially supported by the National<br />
Natural Science Foundation <strong>of</strong> China under Grant<br />
No.61064011. And it was also supported by China<br />
Postdoctoral Science Foundation, Science Foundation for<br />
The Excellent Youth Scholars <strong>of</strong> Lanzhou University <strong>of</strong><br />
Technology, and Educational Commission <strong>of</strong> Gansu<br />
Province <strong>of</strong> China under Grant No.20100470088,<br />
1014ZCX017 and 1014ZTC090, respectively.<br />
REFERENCES<br />
[1] H.Ayton,M.Lawley ,and K.Mckay, “Executing production<br />
schedules in the face <strong>of</strong> uncertainties:a review and some<br />
future direction.”European <strong>Journal</strong> <strong>of</strong> Operation Research,<br />
vol.161(1),pp.86-110, 2005. doi:10.1016/j.ejor. 2003. 08.<br />
027.<br />
[2] A.Rossi,and E.Boschi, “A hybrid heuristic to solve the<br />
parallel machines job-shop scheduling problem.”<br />
International <strong>Journal</strong> <strong>of</strong> Production Research,<br />
vol.40(2),pp.118-127,2009.doi:10.1016/j.advengs<strong>of</strong>t.2008.<br />
03.020.<br />
[3] L.K.Church,and R.Uzsoy,“Analysis <strong>of</strong> periodic and event<br />
driven rescheduling policies in dynamic<br />
shops.”International <strong>Journal</strong> <strong>of</strong> Computer Integrated<br />
Manufacturing,vol.5(3),pp.153-163,1992,doi:10.1080/095<br />
11929208944524.<br />
[4] J.Fang,and Y.G. Xi. “A rolling horizon job shop<br />
rescheduling strategy in the dynamic environment.”The<br />
International <strong>Journal</strong> <strong>of</strong> Advanced Manufacturing<br />
Technology,1997,13(3):227-232,doi:10.1007/BF01305874.<br />
[5] S.V.Mehta,and R.M.Uzsoy, “Predictable Scheduling <strong>of</strong> a<br />
Job Shop Subject to Breakdowns.”IEEE Transactions on<br />
Robotics and Automation, 1998,vol.14(3),pp.365-378,doi:<br />
10.1109/70.678447.<br />
[6] Y.K.Kim,K.Park,J.Ko “A symbiotic evolutionary<br />
algorithm for the integration <strong>of</strong> process planning and job<br />
shop scheduling.” Computers and Operations<br />
Research,2003,vol.30(8),pp.1151-1171. doi:10.1016/S030<br />
5-0548(02)00063-1.<br />
[7] D.Petrovic, D. Alejandra, “A fuzzy logic based production<br />
scheduling/rescheduling in the presence <strong>of</strong> uncertain<br />
disruptions.” Fuzzy Sets and Systems, vol.157<br />
(16),pp.2273-2285,2006.doi:10.1016/j.fss.2006.04. 009.<br />
[8] S.C. Cheng, D.F. Shiau,and Y.M.Huang “Dynamic hardreal-time<br />
scheduling using genetic algorithm for<br />
multiprocessor task with resource and timing<br />
constraints.”Expert System with Application, vol.36(1),<br />
pp.852-860,2009. doi:10.1016/j.eswa.2007.10.037.<br />
[9] H.Wang,D.Xiang, and G.H. Duan. “Assembly planning<br />
based on semantic modeling appoach.”Computer in<br />
Industry,vol.58(3),pp.227-239,2009.doi:10.1016/j.compin<br />
d.2006.05.002.<br />
[10] J.F.Goncalves, J.J.Mendes,and M.G.Resende “A hybrid<br />
genetic algorithm for the job shop scheduling problem.”<br />
European <strong>Journal</strong> <strong>of</strong> Operational Research.vol.167(1),<br />
pp.77-95,2005.doi:10.1016/j.ejor. 2004.03.012.<br />
[11] T.N.Wong, C.W.Leung, K.L.Mak and R.Y.K. Fung<br />
“Dynamic shopfloor scheduling in multi-agent<br />
manufacturing system.” Expert System with<br />
Applications,vol.31(3),pp.486-494,2006.doi:10.1016/j.esw<br />
a.2005.09.073.<br />
[12] M.Ennigrou and K.Ghédira. “New local diversification<br />
techniques for flexible job shop scheduling problem with a<br />
multi-agent approach.”Autonomous Agents and Multi-
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 805<br />
AgentSystems,vol.17(2),pp.270-287,2006.doi:10.1007/ s10<br />
458-008-9031-3.<br />
[13] I.Kacem, S.Hammadi, and P.Borne “Pareto-optimality<br />
approach for flexible job-shop scheduling problems:<br />
Hybridization <strong>of</strong> evolutionary algorithms and fuzzy logic.”<br />
Mathematics and Computer in Simulation,vol.60(3-<br />
5),245-276, 2002, doi:10.1016/S0378-4754(02)00019-8.<br />
[14] H.Z. Jiaa, J.Y.H. Fuh,A.Y.C.Neea and Y.F.Zhang.<br />
“Integration <strong>of</strong> genetic algorithm and Ganntt chart for job<br />
shop scheduling in distributed manufacturing systems.”<br />
Computer and Industrial Engineering.vol.53(2),pp.313-<br />
320,2007, doi:10.1016/j.cie.2007.06.024.<br />
[15] M.K. Lim, Z.Zhang “A multi-agent based manufacturing<br />
control strategy for responsive manufacturing”. <strong>Journal</strong> <strong>of</strong><br />
Materials Processing Technology. Vol.139(1-3),pp.379-<br />
38,2003, doi:10.1016/S0924-0136(03)00535-1.<br />
© 2011 ACADEMY PUBLISHER<br />
Fuqing Zhao P.h.D., born in Gansu, China, 1977, has got a<br />
P.h.D. in Dynamic Holonic Manufacturing System, Lanzhou<br />
University <strong>of</strong> Technology, Gansu, 2006. He is a Post Doctor in<br />
Control Theory and Engineering in Xi’an Jiaotong University<br />
and Visiting Pr<strong>of</strong>essor <strong>of</strong> Exeter University. His research work<br />
includes theory and application <strong>of</strong> pattern recognition,<br />
computational Intelligence and its application, where fifteen<br />
published articles can be found.<br />
Jizhe Wang born in Henan,China,1986.His research interest is<br />
the application <strong>of</strong> pattern recognition and Artificial<br />
Intelligence .<br />
Jianxin Tang born in Henan, China, 1985. His research is the<br />
theory and application <strong>of</strong> pattern recognition.
806 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Multilevel Network Security Monitoring and<br />
Evaluation Model<br />
Jin Yang<br />
Department <strong>of</strong> Computer Science/LeShan Normal Univ., LeShan, China<br />
Email:jinnyang@163.com<br />
Tang Liu<br />
College <strong>of</strong> Fundamental Education/Sichuan Normal Univ., Chengdu, China<br />
Email: 253960818@qq.com<br />
Lingxi Peng *<br />
Department <strong>of</strong> Computer and Education s<strong>of</strong>tware/Guangzhou Univ., Guangzhou, China<br />
Email: bigluckboy@163.com<br />
XueJun Li, Gang Luo<br />
Department <strong>of</strong> Computer Science/LeShan Normal Univ., LeShan, China<br />
Email:279718518@qq.com<br />
Abstract—Based on the correspondence between the<br />
artificial immune system antibody and pathogen invasion<br />
intensity, this paper is to establish a real-time network risk<br />
evaluation model. According to the network intrusion own<br />
characteristics and the consequence from service, assets and<br />
attack, this paper design to build a hierarchical,<br />
quantitative measurement indicator system, and an unified<br />
evaluation information base and knowledge base. The paper<br />
also combines assets evaluation system and network<br />
integration evaluation system, considering from the<br />
application layer, the host layer, network layer may be<br />
factors that affect the network risks. The experimental<br />
results show that the new model improves the ability <strong>of</strong><br />
intrusion detection and prevention than that <strong>of</strong> the<br />
traditional passive intrusion prevention systems.<br />
Index Terms—network security; artificial immune;<br />
intrusion detection<br />
I. INTRODUCTION<br />
The traditional network security approaches include<br />
virus detection, frangibility evaluation, and firewall etc,<br />
e.g., the Intrusion Detection System (IDS) [1]. They rely<br />
upon collecting and analyzing the viruses’ specimens or<br />
intrusion signatures with some traditional techniques [2].<br />
Moreover, being lack <strong>of</strong> self-learning and self-adapting<br />
abilities, they can only prevent those known network<br />
intrusions, and can do nothing for those variety intrusions.<br />
Recent years, the artificial immune system has the<br />
* Corresponding author.<br />
This work is supported by the National Natural Science Foundation<br />
<strong>of</strong> China under Grant (No.61003310) and the Scientific Research Fund<br />
<strong>of</strong> Sichuan Provincial Education Department (No. 10ZB005).<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.806-813<br />
features <strong>of</strong> dynamic, self-adaptation and diversity [3-6]<br />
that just meet the constraints derived from the<br />
characteristics <strong>of</strong> the grid environment, and mobile agent<br />
has many same appealing properties as that <strong>of</strong> artificial<br />
immune system. Negative Selection Algorithm and the<br />
concept <strong>of</strong> computer immunity proposed by Forrest in<br />
1994 [7-8]. In contrast, the AIS theory adaptively<br />
generates new immune cells so that it is able to detect<br />
previously unknown and rapidly evolving harmful<br />
antigens [9]. However, much theoretical groundwork in<br />
immunological computation has been taken up, but there<br />
is a lack <strong>of</strong> perfectly systems based AIS <strong>of</strong> dynamical<br />
immunological surveillance for network security.<br />
Based on the correspondence between the artificial<br />
immune system antibody in the artificial immune systems<br />
and pathogen invasion intensity, this paper is to establish<br />
a network risk evaluation model. According to the<br />
network intrusion own characteristics and the<br />
consequence from service, assets and attack, we design to<br />
built a hierarchical, quantitative measurement indicator<br />
system, and an unified evaluation information base and<br />
knowledge base. This model will help the network<br />
managers evaluate the possibility and the graveness<br />
degree <strong>of</strong> the network dangerous quickly, ease the<br />
pressure <strong>of</strong> recognition, to get targeted immediate defense<br />
strategy <strong>of</strong> the strength and risk level <strong>of</strong> the current<br />
network attacks.<br />
II. THE EVALUATION OF THE NETWORK DANGER<br />
The biological immune system can produce antibodies<br />
to resist pathogens through B cells distributing all over<br />
the human body. And T cells can regulate the antibody<br />
concentration. Simulating biological immune system, we<br />
place a certain amount <strong>of</strong> immune cells into the network,<br />
and perceive the surrounding environment. Simulating<br />
creatural immune system, we place a certain amount <strong>of</strong>
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 807<br />
immune cells into the network, and perceive the<br />
surrounding environment <strong>of</strong> the detectors. As soon as the<br />
immune detectors detect an attack, the detectors begin<br />
clone and generate a mass <strong>of</strong> similar detectors in order to<br />
defend from fiercer network attacks and warn the<br />
dangerous level <strong>of</strong> the network [10]. While the network<br />
danger become abating, the corresponding numbers <strong>of</strong><br />
antibodies will decrease at the same time. The detectors’<br />
number and type reflect the attack’s intensity and type<br />
suffered by the network intrusion. In this model, the<br />
detectors can be categorized, according to the evolvement<br />
progress <strong>of</strong> the detectors themselves, into 3 types, viz.<br />
immature detectors, mature detectors and memory<br />
detectors, and the content will be expatiated in detail in<br />
the following.<br />
Figure 1. The Framework <strong>of</strong> danger-detecting in the NDEMAIS<br />
III. THE DYNAMICAL IMMUNOLOGICAL<br />
SURVEILLANCE MODEL BASED ON AIS<br />
A. The Definition <strong>of</strong> Antigen, Antibody, Self and Non-self<br />
l<br />
Definition: Antigens ( Ag , Ag ⊂ U , D = { 0,<br />
1}<br />
) are<br />
fixed-length binary strings extracted from the Internet<br />
Protocol (IP) packets transferred in the network. The<br />
antigen consists <strong>of</strong> the source and destination IP<br />
addresses, port number, protocol type, IP flags, IP overall<br />
packet length, TCP/UDP/ICMP fields [11-12], etc. The<br />
structure <strong>of</strong> an antibody is the same as that <strong>of</strong> an antigen.<br />
For virus detection, the nonself set (Nonself) represents IP<br />
packets from a computer network attack, while the self<br />
set (Self) is normal sanctioned network service<br />
transactions and nonmalicious background clutter. Set<br />
Ag contains two subsets, Self ⊆ Ag and Nonself ⊆ Ag<br />
such that<br />
Self ∪ Nonself = Ag and Self ∩ Nonself = Φ . (1)<br />
B. The Dynamic Equations <strong>of</strong> the Mature Detectors<br />
Tb = { x | x ∈ B,<br />
∀y<br />
∈ Self ( < x.<br />
d,<br />
y >∉ Match ∧ x.<br />
count < β)}<br />
(2)<br />
© 2011 ACADEMY PUBLISHER<br />
T ( t)<br />
= T ( 0)<br />
= 0,<br />
t = 0<br />
(3)<br />
T ( t + Δt)<br />
= T ( t)<br />
+ Tnew<br />
( Δt)<br />
−Tmatch<br />
_ self ( Δt)<br />
−Tdead<br />
( Δt)<br />
−Tactive<br />
( Δt)<br />
T . age(<br />
t + Δt)<br />
= T.<br />
age(<br />
t)<br />
+ 1,<br />
when T.<br />
age(<br />
t + Δt)<br />
< λ (5)<br />
∂Tmatch<br />
_ self<br />
Tmatch<br />
_ self ( t + Δt)<br />
=<br />
T ( t),<br />
∂xmatch<br />
_ self<br />
when f match ( T ( t −1),<br />
Self ( t −1))<br />
= 1<br />
(4)<br />
(6)<br />
T . count(<br />
t + Δt)<br />
= T.<br />
count(<br />
t)<br />
+ 1 (7)<br />
∂Tactive<br />
Tactive<br />
( Δ t)<br />
= ⋅ Δt,<br />
when T.<br />
count(<br />
t + Δt)<br />
≥ β (8)<br />
∂x<br />
active<br />
∂Tdeath<br />
Tdead<br />
( Δt)<br />
= ⋅ Δt,<br />
∂xdeath<br />
when T.<br />
count(<br />
t + Δt)<br />
< β , andT.<br />
count > λ<br />
∂Tactive<br />
⋅ Δt<br />
= I maturatiio n ( t),<br />
T.<br />
ρ(<br />
Δt)<br />
= 0,<br />
∂xactive<br />
when I.<br />
age(<br />
t)<br />
> α<br />
(9)<br />
(10)<br />
Equation (4) depicts the lifecycle <strong>of</strong> the mature<br />
detector, simulating the process that the mature detectors<br />
evolve into the next generation. All mature detectors have<br />
a fixed lifecycle (λ). If a mature detector matches enough<br />
antigens ( ≥ β ) in its lifecycle, it will evolve to a memory<br />
detector. However, the detector will be eliminated and<br />
replaced by new generated mature detector if they do not<br />
match enough antigens in their lifecycle. Tnew (t)<br />
is the<br />
generation <strong>of</strong> new mature detector. Tdead (t)<br />
is the set <strong>of</strong><br />
detector that haven’t match enough antigens ( ≤ β ) in<br />
lifecycle or classified self antigens as nonself at time t.<br />
T ( t + Δt)<br />
simulates that the mature detector undergo one<br />
step <strong>of</strong> evolution. Tdead (t)<br />
indicates that the mature<br />
detector are getting older. Tactive (t)<br />
is the set <strong>of</strong> the least<br />
recently used mature detector which degrade into<br />
Memory detector and be given a new age T > 0 and count<br />
β > 1.<br />
Because the degraded memory detector has better<br />
detection capability than mature detector, it is better to<br />
form a memory detector. When the same antigens arrive<br />
again, they will be detected immediately by the memory<br />
detector. In the mature detector lifecycle, the inefficient<br />
detectors on classifying antigens are killed through the<br />
process <strong>of</strong> clone selection. Therefore, the method can<br />
enhance detection efficiency when the abnormal network<br />
behaviors intrude the system again.<br />
In the course, λ is the threshold <strong>of</strong> the affinity for the<br />
activated detectors. The affinity function fmatch ( x,<br />
y)<br />
may<br />
be any kind <strong>of</strong> Hamming, Manhattan, Euclidean, and rcontinuous<br />
matching, etc. In this model, we take rcontinuous<br />
matching algorithm to compute the affinity <strong>of</strong>
808 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
mature detectors. The matching functions utilize the<br />
following definitions:<br />
⎧1<br />
∃i,<br />
j,<br />
j − i ≥ r ∧ 0 < i < j ≤ l,<br />
⎪<br />
fmatch ( x,<br />
y)<br />
= ⎨ xi<br />
= yi<br />
, xi+<br />
1 = yi+<br />
1,<br />
L , x j = y j (11)<br />
⎪<br />
⎩0<br />
otherwise<br />
The r-continuous matching is commonly used method<br />
for measuring the distance between bit strings with the<br />
goal <strong>of</strong> producing a better similarity coefficient.<br />
C. The Dynamic Equation <strong>of</strong> Memory Detectors<br />
M ( t)<br />
= M ( 0)<br />
= 0,<br />
t = 0 (12)<br />
M ( t + Δt)<br />
= M ( t)<br />
+ M new(<br />
Δt)<br />
+ M from _ other ( Δt)<br />
− M dead ( Δt),<br />
when fmatch(<br />
M ( t),<br />
Ag(<br />
t))<br />
≠ 1 , t > 1,<br />
(13)<br />
M ( t + Δt)<br />
= M ( t)<br />
+ Mclone(<br />
t)<br />
+ M new(<br />
Δt)<br />
+ M from _ other ( Δt)<br />
− M dead ( Δt),<br />
when fmatch(<br />
M ( t),<br />
Ag(<br />
t))<br />
= 1<br />
∂M<br />
clone ∂M<br />
active<br />
Mclone(<br />
t)<br />
= ⋅ ⋅ Δ(<br />
t −1),<br />
∂xclone<br />
∂xactive<br />
when fmatch(<br />
M ( t),<br />
Ag(<br />
t))<br />
= 1<br />
(14)<br />
(15)<br />
Mclone( t + Δt)<br />
= Mclone(<br />
t),<br />
M.<br />
ρ(<br />
t + Δt)<br />
= M . ρ(<br />
t)<br />
+ Vp<br />
⋅ Δt,<br />
(16)<br />
M.<br />
count(<br />
t + Δt)<br />
= M.<br />
count(<br />
t)<br />
+ 1<br />
1<br />
M . ρ(<br />
t + Δt)<br />
= ⋅ M.<br />
ρ(<br />
t),<br />
M.<br />
age(<br />
t + Δt)<br />
= M.<br />
age(<br />
t)<br />
+ 1,<br />
2<br />
when fmatch(<br />
M ( t),<br />
Ag(<br />
t))<br />
≠ 1<br />
M<br />
new<br />
∂M<br />
Δt = new ∂T<br />
( ) ⋅ Δt<br />
= ⋅ Δ(<br />
t −1)<br />
∂x<br />
∂x<br />
new<br />
(17)<br />
active , M new . ρ ( t)<br />
= ρ0<br />
active<br />
(18)<br />
∂M<br />
death<br />
M dead ( Δt) = ⋅ Δt,<br />
when fmatch(<br />
M ( t −1),<br />
Self ( t −1))<br />
= 1<br />
∂xdeath<br />
(19)<br />
k i<br />
∂M<br />
from _ other<br />
M from _ other ( Δt) = ∑ (<br />
⋅ Δt)<br />
(20)<br />
i=<br />
1 ∂x<br />
from _ other<br />
Equation (13) depicts the dynamic evolution <strong>of</strong><br />
memory detector. M ( t + Δt)<br />
simulates the process that the<br />
memory detector evolve into the next generation ones.<br />
M new (t)<br />
is the set <strong>of</strong> memory detector that are activated<br />
by antigens lately. These mature detector matched by an<br />
antigen will be activated immediately and turn to a<br />
memory detector. M dead (t)<br />
is the memory detector that<br />
be deleted if it matches a known self antigen. M clone (t)<br />
is<br />
the reproduced memory detector when the detector<br />
distinguish a antigens. M from _ other ( t)<br />
is the memory<br />
© 2011 ACADEMY PUBLISHER<br />
detector that transformed from other computers. The k<br />
indicates that the ID number <strong>of</strong> the computer. Therefore,<br />
dynamic model <strong>of</strong> immune is to generate more antibodies<br />
and enhance the ability <strong>of</strong> self-adaptation for the system.<br />
D. The Dynamic Model <strong>of</strong> Self<br />
In a real-network environment some network services<br />
and activities are <strong>of</strong>ten change, which were permitted in<br />
the past but may be forbidden at the next time.<br />
I t)<br />
= I(<br />
0)<br />
= { x , x ,..., xn<br />
}, t = 0 (21)<br />
( 1 2<br />
I new match self maturation<br />
( t + Δt)<br />
= I(<br />
t)<br />
+ I ( Δt)<br />
− I _ ( Δt)<br />
− I ⋅ Δt<br />
(22)<br />
Imatch _ self<br />
match<br />
I . age(<br />
t + Δt)<br />
= I.<br />
age(<br />
t)<br />
+ 1 (23)<br />
( t + Δt)<br />
= I(<br />
t),<br />
when f ( I(<br />
t −1),<br />
Self ( t −1))<br />
= 1<br />
(24)<br />
I n<br />
maturatiio ( t + Δt)<br />
= I ( t),<br />
I.<br />
age(<br />
t + Δt)<br />
> α (25)<br />
∂Irandom<br />
∂Iinherit<br />
Inew( Δ t)<br />
= ( ξ 1 ⋅ ) ⋅ Δt<br />
+ ( ξ2<br />
⋅ ) ⋅ Δt<br />
(26)<br />
∂x<br />
∂x<br />
Equation (22) stimulates the dynamic evolution <strong>of</strong> selfantigens,<br />
where xi ∈ ℜ(<br />
i ≥1,<br />
i ∈ N)<br />
is the initial self<br />
element defined. Inew is the set <strong>of</strong> newly defined elements<br />
at time t, and Imaturation is the set <strong>of</strong> mutated elements.<br />
fmatch ( y,<br />
x)<br />
is used to classify antigens as either self or<br />
nonself: if x is a self-antigen, return 0; if x is a nonself<br />
one, return 1; if x is detected as nonself but was detected<br />
as a self-antigen before, then it may be a nonself antigen<br />
(needs to be confirmed), and return 2. There are two<br />
advantages in this model. (1) Self immune surveillance:<br />
The model deletes mutated self-antigens (Imaturation) in<br />
time through surveillance. The false-negative error is<br />
reduced. (2) The dynamic growth <strong>of</strong> Self: The model can<br />
extend the depiction scope <strong>of</strong> self through adding new<br />
self-antigens (Inew) into Self. Therefore, the false-positive<br />
error is prevented.<br />
E. The Antibody Cross<br />
In order to keep the variety <strong>of</strong> individual as well as the<br />
optimal solution can be achieved, we divide the antibody<br />
gene to n gene bits set and utilize multi-point cross<br />
process. For example, we select two gene by random such<br />
as<br />
' ' ' '<br />
G1 = { g1,<br />
g2<br />
, L,<br />
gi<br />
, Lg<br />
n}<br />
, G2 = { g1,<br />
g2<br />
, L,<br />
gi<br />
, Lg<br />
n}<br />
,<br />
Select some points randomly, and then form two-point<br />
pair with some probability (p) to cross operation, to<br />
generate cross point set, and then to generate new gap <strong>of</strong><br />
'<br />
set Gnew = { g1,<br />
g2<br />
, L,<br />
gi<br />
, Lg<br />
n}<br />
. Select cross point<br />
according to binomial distribution<br />
⎛ n⎞<br />
k n−<br />
k<br />
P{<br />
X = k}<br />
= ⎜ p ( 1−<br />
p)<br />
, k = 0,<br />
1,<br />
2,<br />
K,<br />
n<br />
k ⎟<br />
. 0 < p < 1 (27)<br />
⎝ ⎠
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 809<br />
E ( X ) = np , D( X ) = np(<br />
1−<br />
p)<br />
, where X is the numbers <strong>of</strong><br />
cross points. Then the G 1 and G 2 turn into the <strong>of</strong>fspring<br />
G new by the cross process.<br />
F. Antibody Variation<br />
In order to prevent algorithm from converging<br />
prematurely, we take variation operation to the Gene set<br />
G1 = { g1,<br />
g 2 , L,<br />
gi<br />
, L g n}<br />
after the cross process. Select<br />
variation point randomly and varied with some variation<br />
probability ( p m ) to generate new generation<br />
'<br />
Gnew = { g1,<br />
g2,<br />
L,<br />
gi<br />
, Lg<br />
n}<br />
. Select variation point<br />
according to Poisson distribution<br />
k −λ<br />
λ e<br />
P{<br />
X = k}<br />
= , k = 0,<br />
1,<br />
2,<br />
L<br />
k!<br />
(28)<br />
E ( X ) = D(<br />
X ) = λ > 0 , where X is the numbers <strong>of</strong><br />
variation points. Then the 1 G turn into the <strong>of</strong>fspring G new<br />
by the variation process.<br />
G. The Process <strong>of</strong> Immunological Surveillance<br />
These response processes can be divided into two<br />
stages: primary immune response, secondary immune<br />
response. When the same antigen intrude into the body<br />
for the second time, because <strong>of</strong> the organism have some<br />
antibody to identify the antigen, the immune system can<br />
respond quickly and come into being a large number <strong>of</strong><br />
homothetic antibodies in order to clear the rapid antigen<br />
in the body. The rapid process is known as secondary<br />
immune response.<br />
Memory detectors Mb(t) express that the system has<br />
suffering various attacks at moment t. Memory detectors’<br />
concentration value <strong>of</strong> antibody is ρ(t). ρ(t) shows that at<br />
current time the system is suffering what kind <strong>of</strong> attacks<br />
and computes the intensity and categories. It is one <strong>of</strong> the<br />
important indicators <strong>of</strong> reflection the current system<br />
network intrusion danger level. There are two major<br />
changes probability <strong>of</strong> antibody concentration.<br />
(1) The increase <strong>of</strong> the antibody concentration: When<br />
the memory detector antibody captures a particular<br />
antigen, representing have detecting a kind <strong>of</strong> invasion,<br />
we increase the antibody concentration. We use Vρ(t)<br />
reflects the rate <strong>of</strong> increase <strong>of</strong> antibody concentration.<br />
Therefore, at moment t the antibody concentration ρ(t) <strong>of</strong><br />
Mb(t) is: ρ(t)=ρ(t-1)+ Vρ·Δt. Affected by the antigen, the<br />
more intensive invasion antigens, the faster at the<br />
increase rate <strong>of</strong> antibody concentration. Taking into<br />
account the emergence <strong>of</strong> the invasion was a random act,<br />
such as biodynamic body falling on the ground, such as<br />
trees fluttering in the wind, the random movement <strong>of</strong> the<br />
rate could be subject to Gaussian distribution. Antigen<br />
number x and the variety speed excitation function <strong>of</strong><br />
antibody concentration Vρ(x) accord with the Gaussian<br />
distribution with parameters (h, μ), and these nonlinear<br />
causal relationship can be expressed as follows: (which, x<br />
is the number <strong>of</strong> memory detector detecting the invasion<br />
in period <strong>of</strong> time.)<br />
© 2011 ACADEMY PUBLISHER<br />
2<br />
[( x−h)<br />
⋅u]<br />
A −<br />
V ( x)<br />
= e 2<br />
ρ , u > 0,<br />
0 < x < +∞ (29)<br />
2π<br />
σ<br />
In order to avoid detection unlimited cloning, we<br />
regulate A is the largest concentration <strong>of</strong> limiting growth.<br />
Since the each invasion <strong>of</strong> antigen make different impact<br />
on the network and host, we define μ parameters to reflect<br />
the extent <strong>of</strong> the damage caused by antigens. The greater<br />
<strong>of</strong> μ value the faster <strong>of</strong> the antibody concentration<br />
increase speed, and also shows the more dangerous <strong>of</strong> the<br />
antigens captured by the antibody. Parameters h shows<br />
that the antigen stimulate the antibody to the limit when<br />
stimulation course achieve to a certain extent.<br />
(2) The attenuation <strong>of</strong> the antibody concentration: In<br />
organisms these antibodies which stimulated by some<br />
certain antigens will gradually disappear after a certain<br />
period <strong>of</strong> time. In our system, if the memory detector in<br />
the next step failed to clone once more, we set the<br />
antibody concentration turn into its attenuation phase, in<br />
accordance with the following.<br />
1<br />
ρ( t ) = ρ(<br />
t −τ<br />
) , τ ≤ t ≤ T<br />
(30)<br />
2<br />
After each half life τ, if the detector did not find any<br />
antigen, the antibody concentration will reduce by half.<br />
When the antibody concentration decay to ε τ , it will stop<br />
decaying, showing that the act <strong>of</strong> invasion has<br />
disappeared. In the mature-detector lifecycle, the<br />
inefficient detectors on classifying antigens are killed<br />
through the process <strong>of</strong> clone selection. However, the<br />
efficient detectors on classifying antigens will evolve to<br />
memory detectors. Therefore, similar antigens<br />
representing abnormal network behaviors can be detected<br />
quickly when they intrude the system again as secondary<br />
immune response.<br />
Ⅳ. THE EVALUATION OF THE NETWORK<br />
DANGER<br />
After we describe the network attacking actions, it is<br />
necessary to evaluate the dangerous degree <strong>of</strong> the<br />
network, and judge the severity <strong>of</strong> the attacking actions.<br />
Network dangers are <strong>of</strong> diversity (because <strong>of</strong> many<br />
affecting factors) and <strong>of</strong> randomicity. Thus, evaluation is<br />
a process involving numerous complicated factors. The<br />
essence <strong>of</strong> evaluation is to hierarchically grade each<br />
evaluation factor in terms <strong>of</strong> its weight in order to<br />
ultimately reflect the dangerous degree <strong>of</strong> the entire<br />
network.<br />
Our model simulates the process that metabolism and<br />
competition <strong>of</strong> the cells organism through the use <strong>of</strong><br />
continuous renovation and enrichment process. The<br />
values <strong>of</strong> M b reflect the intensity <strong>of</strong> intrusion in current<br />
network. Therefore, system evaluates the network<br />
security by perceiving the danger around <strong>of</strong> them. Owing<br />
to the fact that our model relates to enormous factors for<br />
evaluation, on purpose <strong>of</strong> reasonably and entirely
810 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
measuring the network dangerous status, we classify the<br />
involved factors as host dangers, area dangers, detectors<br />
dangers, and special dangers. The host dangers mainly<br />
arise out <strong>of</strong> the dangers which are possessed by each host<br />
computers; the area dangers are divided by regions; the<br />
detector dangers are those factors which determined in<br />
terms <strong>of</strong> antibody consistencies, antibody consistencies<br />
change speed, and detector types; and particular dangers<br />
refer to the second corresponding time and responding<br />
speed etc. Afterwards, we subdivide and arrange all the<br />
factors which influence the network dangers, in order to<br />
let them locate on different layers, forming a structure<br />
model with identify matrix. In the traditional evaluation<br />
system, the choice usually was made according to few <strong>of</strong><br />
main factors, taking into account other factors merely as<br />
references, and then simply described the happening<br />
possibility <strong>of</strong> the dangers by high, medium and low.<br />
Hence, many factors which cannot be quantified were<br />
always ignored, so that the traditional system can not<br />
evaluate the varying situation where there are various<br />
factors and conditions involved at the same time, which<br />
more <strong>of</strong>ten than not give rise to the result that evaluation<br />
decisions are void <strong>of</strong> comprehensiveness and that the<br />
outcomes are distorted.<br />
In our evaluation model we utilize the AHP (Analytic<br />
Hierarchy Process) Principle provided by operational<br />
research expert T. L. Saaty to evaluate the network<br />
dangerous situation. This method can efficiently cope<br />
with those complex problems which are difficult to be<br />
solved by quantitative methods. Its characteristics are:<br />
firstly, it can break complex questions down to some<br />
gradations, then analyze progressively on the layers much<br />
simpler than before in order to express and handle the<br />
decision-makers’ subjective judgments through quantity<br />
format. Next, it calculates by mathematics the weight <strong>of</strong><br />
the sequence <strong>of</strong> relative significance <strong>of</strong> the factors on<br />
each layer. Via the general permutation among all the<br />
layers, compute and rank the relative weight <strong>of</strong> all the<br />
factors. We synthetically consider the qualitative and<br />
quantitative factors during the evaluation process, adopt<br />
the AHP Principle, so as to provide reasonable methods<br />
and instruments for comprehensive evaluation <strong>of</strong> the<br />
network dangerous situation.<br />
A. Computation the Hiberarchy <strong>of</strong> the Model<br />
Owing to the fact that our model relates to enormous<br />
factors for evaluation, on purpose <strong>of</strong> reasonably and<br />
entirely measuring the network dangerous status, we<br />
classify the involved factors as host dangers, area dangers,<br />
cells dangers, and special dangers. The host dangers<br />
mainly arise out <strong>of</strong> the dangers which are possessed by<br />
each host computers; the area dangers are divided by<br />
regions; the cell dangers are those factors which<br />
determined in terms <strong>of</strong> cell consistencies, cell-varying<br />
speed, and cell types; and particular dangers refer to the<br />
second corresponding time and responding speed etc.<br />
Afterwards, we subdivide and arrange all the factors<br />
which influence the network dangers, in order to let them<br />
locate on different layers, forming a structure model with<br />
identify matrix. The following danger evaluation model is<br />
© 2011 ACADEMY PUBLISHER<br />
divided in to the general object layer (A), the standard<br />
layer (B), and the factor layer (C) (see Fig. 2).<br />
Furthermore, to get the weight values <strong>of</strong> these factors,<br />
this model adopts the AHP method. The underlying idea<br />
is to compare and estimate the eigenvalue λi <strong>of</strong> the<br />
special equation <strong>of</strong> the matrix B by way <strong>of</strong> seeking a<br />
solution, then find out the maximum eigenvalue λ max and<br />
get its corresponding eigenvector X = ( x1,<br />
x2<br />
, L,<br />
xn<br />
) .<br />
Finally, we will get relative weight vector<br />
A = w , w , L,<br />
w ) after merging all eigenvectors into one.<br />
( 1 2 n<br />
In a word, the entire method can be approximately<br />
reduced to four steps, that is, ① establish hierarchical<br />
structure model; ② construct evaluation matrices; ③<br />
calculate factors’ relative weight under a coincident<br />
standard; ④ compute the integrated weight <strong>of</strong> the factors<br />
on each layer. Hereinafter, the evaluation process will be<br />
introduced in detail.<br />
Figure 2. The hierarchy <strong>of</strong> network danger evaluation model<br />
B. Computing Single Weight<br />
1) Construct Identify Matrix: First <strong>of</strong> all, we must<br />
construct identify matrix which is result that we<br />
compared the relative importance <strong>of</strong> one group <strong>of</strong><br />
elements on next layer with some past layer element<br />
constraint. That is, it shows the relative importance <strong>of</strong> any<br />
pair <strong>of</strong> factors. In detail, denote b ij the compared result <strong>of</strong><br />
the ith factor and jth one, b ij all together form the identify<br />
matrix B :<br />
⎛ b11<br />
b12<br />
L b1n<br />
⎞<br />
⎜<br />
⎟<br />
⎜b21<br />
b22<br />
L b2n<br />
⎟<br />
B = ⎜<br />
L L L L<br />
⎟<br />
⎜<br />
⎟<br />
⎜<br />
⎟<br />
⎝bn1<br />
bn2<br />
L bnn<br />
⎠<br />
Where: = 1<br />
b if j<br />
ii<br />
i = and b ij 1/<br />
b ji<br />
= if i ≠ j .<br />
2) Computing Weights: Next we obtain the weight <strong>of</strong><br />
each factor. According to the identify matrix B , we can<br />
get the maximum eigenvalue <strong>of</strong> the matrix λ max . Here, we<br />
can get the maximum λ max according with the following<br />
contidion:<br />
b<br />
11<br />
b<br />
− λ<br />
21<br />
L<br />
b<br />
n1<br />
b<br />
b<br />
22<br />
b<br />
12<br />
L<br />
n2<br />
L<br />
− λ L<br />
L<br />
L<br />
b<br />
b<br />
nn<br />
1n<br />
b<br />
2n<br />
L<br />
− λ<br />
= 0
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 811<br />
Work out the corresponding eigenvector <strong>of</strong> maximum<br />
eigenvalue <strong>of</strong> B , X = ( x1,<br />
x3,<br />
L,<br />
xn)<br />
, let x i to be the<br />
weight <strong>of</strong> factor u i , then we can get unitary weights<br />
denote W i .<br />
n n<br />
n<br />
A = ( W1,<br />
W2,<br />
L,<br />
Wn)<br />
= ( x1 / ∑ xi<br />
, x2<br />
/ ∑xi, L , xn<br />
/ ∑xi,<br />
)<br />
i=<br />
1 i=<br />
1 i=<br />
1<br />
3) Test <strong>of</strong> Consistency: Because <strong>of</strong> complexity <strong>of</strong><br />
evaluation and limit <strong>of</strong> individual knowledge, the<br />
individual identify matrix may not be consistent with the<br />
actual one, or the disagreement <strong>of</strong> any two identify<br />
matrixes may result in error <strong>of</strong> subjective judgment.<br />
However, we must test the consistency <strong>of</strong> the matrix B as<br />
follows:<br />
① Computing consistency value C ⋅ I<br />
λmax<br />
− n<br />
C ⋅ I =<br />
(31)<br />
n − 1<br />
② Computing consistency ratio C ⋅ R<br />
C ⋅ I<br />
C ⋅ R =<br />
(32)<br />
R ⋅ I<br />
Where R ⋅ I is mean consistency value that can be found<br />
in the reference and forms, we <strong>of</strong>ten consider that if C ⋅ R<br />
is smaller than 0.1, the consistency <strong>of</strong> matrix is<br />
acceptable, otherwise we must modify the identify matrix<br />
B.<br />
4) Computing the General Weight Order: The general<br />
weight order means that the weight order comparing the<br />
elements in the present layer and the highest layer. We<br />
have got each order <strong>of</strong> element in rule layer to the object<br />
layer and the values are W 1, W2<br />
, L , Wn<br />
, respectively, we<br />
also know that order that design layer to the rule layer<br />
j j j<br />
and the values are W W , , W<br />
j ⎛W<br />
⎜ 1<br />
j<br />
j ⎜W2<br />
V = W W = ⎜<br />
⎜ M<br />
⎜ j<br />
⎝Wn<br />
1 , 2 L n , then the general order is<br />
W<br />
W<br />
W<br />
j<br />
1<br />
j<br />
2<br />
M<br />
j<br />
n<br />
j<br />
L W ⎞⎛W<br />
⎞ ⎛V<br />
1 1 1 ⎞<br />
⎟⎜<br />
⎟ ⎜ ⎟<br />
j<br />
L W ⎟⎜W<br />
⎟ ⎜V<br />
2 2 2 ⎟<br />
⎟⎜<br />
⎟ = ⎜ ⎟<br />
M M ⎟⎜<br />
M<br />
⎟ ⎜<br />
M<br />
⎟<br />
j<br />
L W ⎟⎜<br />
⎟ ⎜ ⎟<br />
n ⎠⎝Wn<br />
⎠ ⎝Vn<br />
⎠<br />
, (33)<br />
C. Evaluating the danger level<br />
The entire network <strong>of</strong> danger level should fully reflect<br />
the value <strong>of</strong> each <strong>of</strong> the host facing attacks. As the host <strong>of</strong><br />
each position is not the same such as running a different<br />
system for different users and providing different services,<br />
influencing different economic, affecting different social<br />
and even political values, they are in possession <strong>of</strong><br />
different essentiality.<br />
Let nij (t)<br />
be the numbers <strong>of</strong> i th computers detect<br />
attacking at time t. Let β i ( 0 ≤ βi<br />
≤1)<br />
be the importance<br />
coefficient <strong>of</strong> ith computer in the network and α j<br />
( 0 ≤ α j ≤ 1)<br />
be the danger coefficient <strong>of</strong> the j th kind <strong>of</strong><br />
attack in the network. Then, we can define the attack<br />
intensity ri (t)<br />
<strong>of</strong> the j th kind <strong>of</strong> attack and the<br />
corresponding network danger ri (t)<br />
as follows:<br />
2<br />
ri<br />
( t)<br />
=<br />
− 1<br />
(34)<br />
1 + e<br />
© 2011 ACADEMY PUBLISHER<br />
−<br />
∑<br />
α jnij<br />
j<br />
8<br />
Let Importancei<br />
= ∑ ( I k × Wk<br />
) be the importance<br />
k=<br />
1<br />
coefficient <strong>of</strong> j th host in the network. Then, we obtain the<br />
network entire danger level value: R(t) =∑(indicator<br />
value × indicator weight). Therefore, we can get network<br />
danger R(t) situation and evaluate network security at real<br />
time.<br />
N n<br />
R(<br />
t)<br />
= tanh( ∑(<br />
∑(<br />
Hosti<br />
's<br />
danger×<br />
Importancej<br />
) × LCRS_Weightm<br />
))<br />
m=<br />
1 i=<br />
1<br />
N n<br />
8<br />
= tanh( ∑(<br />
∑( Hosti<br />
's<br />
danger×<br />
∑(<br />
I j,<br />
k × Wk<br />
) ) × LCRS_Weightm<br />
))<br />
m=<br />
1 i= 1<br />
k=<br />
1<br />
N n 8<br />
= tanh( ∑(<br />
∑( ri<br />
( t)<br />
× ∑(<br />
I j,<br />
k × Wk<br />
)) × LCRS_Weightm<br />
))<br />
m=<br />
1 i= 1 k=<br />
1<br />
(35)<br />
The conclusion can be shown that the higher value R(t)<br />
reaches the more dangerous the network is.<br />
Ⅴ.EXPERIMENTAL RESULTS AND ANALYSIS<br />
A. Experimental Environment and Evaluation Indicators<br />
Experiments <strong>of</strong> attack simulation were also carried<br />
out in our Laboratory. Analytic Hierarchy Process is<br />
applied to our model to evaluate the weights <strong>of</strong> the<br />
indicators in the experiments. Considering the preciseness<br />
and efficiency, we use 12 indicators to evaluate the<br />
network danger, which include host danger, area danger,<br />
cells danger, special danger etc. The weights <strong>of</strong> the<br />
indicators are evaluated and sorted by orders and the<br />
mapping <strong>of</strong> all hierarchies can be seen in Table 1.<br />
B 1<br />
0.0969<br />
TABLE I<br />
Weight Orders <strong>of</strong> All Layers<br />
B 2<br />
0.0485<br />
B 3<br />
0.8253<br />
B 4<br />
0.0293<br />
C 1 1 0.0969<br />
C 2<br />
1 0.0485<br />
C 31<br />
0.3801 0.3137<br />
C 32<br />
0.4029 0.3325<br />
C3 3<br />
0.0934 0.0771<br />
C3 4<br />
0.1235 0.1020<br />
C 41<br />
0.3333 0.0097<br />
C 42<br />
0.6667 0.0195<br />
Evaluate the above indicators: C.R = 0.036 < 0.1. It<br />
has a satisfactory consistency. Consequently, the weights<br />
<strong>of</strong> the indicators in the NAIMAI can be evaluated as the<br />
following: host dangers: 0.0969, area dangers: 0.0485,<br />
cells dangers: 0.8253, special dangers: 0.0293 and others<br />
dangers: 0.0969, 0.0485, 0.3137, 0.3325, 0.0771, 0.1020,<br />
0.0097, and 0.0195. The conclusion can be draw that the<br />
higher values R(t) reaches , the more dangerous the<br />
network is. Otherwise, the lower the R(t) is, the safer the<br />
network is.<br />
W
812 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
An antigen was defined as a fixed length binary string<br />
composed <strong>of</strong> the source/destination IP address, port<br />
number, protocol type, IP flags, IP overall packet length,<br />
TCP/UDP/ICMP fields, and etc. The network was<br />
attacked by 20 kinds <strong>of</strong> attacks, such as Syn Flood, Land,<br />
Smurf, and Teardrop. A total <strong>of</strong> 20 computers in a<br />
network were under surveillance. The task aimed to<br />
detect network attacks. Here are the coefficients for the<br />
model. We use r-contiguous bits matching rule (r=8) for<br />
computing the affinity, n=40 (the size <strong>of</strong> initial self set),<br />
and ξ =4 (the number <strong>of</strong> new generated immature<br />
detectors). The activation threshold is β ; tolerance period<br />
is λ .<br />
B. Results and Analysis<br />
Figure 3 illustrates the syn attacks. Figure 4 depicts the<br />
evaluation <strong>of</strong> the network danger in our model.<br />
Packets/s<br />
30000<br />
20000<br />
10000<br />
0<br />
0 20 40 60 80 100 120<br />
Time<br />
Figure 3. The network suffering from the syn incursions for instance<br />
Attack intensity<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
0 20 40 60 80 100 120<br />
Time<br />
Figure 4. The line <strong>of</strong> the network dangers obtained by our model at<br />
these incursions<br />
As is shown in Figure 4, R(t) changes when attack<br />
levels changes. The rise in attack levels is accompanied<br />
by a corresponding increase in R(t), as implies the bad<br />
network security. On the other hand, if attack levels<br />
decline, R(t) decreases accordingly after seconds <strong>of</strong> delay.<br />
Therefore, the network can stays on guard even when the<br />
attacks occur once again during a very short time.<br />
© 2011 ACADEMY PUBLISHER<br />
Ⅵ.CONCLUSIONS<br />
This paper combines the risk evaluation methods with<br />
application security engineering principles, and can<br />
change current passive defense situation using traditional<br />
network security approaches, and is helpful to establish<br />
new generation proactive defense theories and realization<br />
techniques. At the same time, the work is <strong>of</strong> not only<br />
theoretic values to design proactive defense systems<br />
which have intrusion tolerant ability and survivability in<br />
any complex network circumstances, but also very<br />
significant to protect network infrastructure. The<br />
experimental results show that the proposed model has<br />
the features <strong>of</strong> real-time processing that provide a good<br />
solution for network surveillance.<br />
ACKNOWLEDGMENT<br />
This work is supported by the National Natural<br />
Science Foundation <strong>of</strong> China under Grant (No.61003310)<br />
and the Scientific Research Fund <strong>of</strong> Sichuan Provincial<br />
Education Department (No. 10ZB005).<br />
REFERENCES<br />
[1] Thomas, Ciza, Balakrishnan, N. Performance enhancement<br />
<strong>of</strong> Intrusion Detection Systems using advances in sensor<br />
fusion. Information Fusion, 2008 11 th International<br />
Conference on June 30 , (2008):1-7<br />
[2] Abdoul Karim Ganame, Julien Bourgeois, Renaud Bidou,<br />
Francois Spies. A global security architecture for intrusion<br />
detection on computer networks. Computers & Security,<br />
27(1), 2008:30-47<br />
[3] Vasilios Katos. Network intrusion detection: Evaluating<br />
cluster, discriminant, and logit analysis. Information<br />
Sciences, 177(15), (2007), 3060-3073.<br />
[4] Agustín Orfila, Javier Carbó, Arturo Ribagorda.<br />
Autonomous decision on intrusion detection with trained<br />
BDI agents. Computer Communications, 31(9),<br />
(2008),1803-1813.<br />
[5] Vincent Toubiana, Houda Labiod, Laurent Reynaud, Yvon<br />
Gourhant. A global security architecture for operated<br />
hybrid WLAN mesh networks. Computer Networks,<br />
54(2),2010: 218-230<br />
[6] Kuby J.: Immunology. Fifith Edition by Richard A.<br />
Goldsby et al.<br />
[7] F.M.Burnet. The Clone Selection Theory <strong>of</strong> Acquired<br />
Immunity. Gambridge: Gambridge University Press (1959)<br />
[8] S A H<strong>of</strong>meyr, and S Forrest. Architecture for an artificial<br />
immune system. Evolutionary Computation, vol. 8 (2000)<br />
443-473<br />
[9] S Forrest, A S Perelson, L Allen, and R Cherukuri. Self-<br />
Nonself Discrimination in a Computer. Proceedings <strong>of</strong><br />
IEEE Symposium on Re-search in Security and Privacy,<br />
Oakland, (1994)<br />
[10] Panigrahi BK, Yadav SR, Agrawal S, et al. A clonal<br />
algorithm to solve economic load dispatch. Electric Power<br />
Systems Research. 77(10), (2007):1381-1389<br />
[11] Tao Li. An immune based dynamic intrusion detection<br />
model. Chinese Science Bulletin. 50, (2005): 2650-2657
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 813<br />
[12] Tao Li. An immunity based network security risk<br />
estimation. Science in China Ser. F Information Sciences.<br />
48 (2005):557- 578<br />
© 2011 ACADEMY PUBLISHER<br />
Jin Yang received his M.S. degree<br />
and the Ph.D. degree in computer<br />
science from Sichuan University,<br />
Sichuan, China. He is an Associate<br />
Pr<strong>of</strong>essor in Department <strong>of</strong> Computer<br />
Science at LeShan normal university.<br />
His main research interests include<br />
network security, artificial immune,<br />
knowledge discovery and expert<br />
systems.<br />
Tang Liu received his M.S. degree<br />
in College <strong>of</strong> Computer Science,<br />
Sichuan University, China, in 2009.<br />
Since 2008, he has been a instructor<br />
in College <strong>of</strong> Fundamental<br />
Education, Sichuan Normal<br />
University. His research interests are<br />
in the area <strong>of</strong> wireless sensor<br />
networks.<br />
Lingxi Peng born in 1978.<br />
Associate pr<strong>of</strong>essor, Ph.D. and senior<br />
membership <strong>of</strong> China. His main<br />
research interests include network<br />
security and artificial immune.
814 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Research on Family and Shops Real-time Status<br />
<strong>of</strong> 3G Wireless Remote Monitoring System<br />
Abstract—Aiming at the development situation <strong>of</strong> 3G<br />
network, realization scheme is proposed based on 3G<br />
network B/S mode <strong>of</strong> embedded family status remote<br />
real-time monitoring system, avoid the shortage <strong>of</strong><br />
traditional surveillance system which cannot<br />
networking,require a lot <strong>of</strong> storage media and query<br />
forensics more difficult. By constructing the embedded<br />
server can complete video collection, treatment, storage and<br />
transmission, and the development <strong>of</strong> embedded Web server<br />
s<strong>of</strong>tware realize the real-time monitoring <strong>of</strong> the remote<br />
video. The scheme <strong>of</strong> the server is based on ARM11<br />
hardware platform,embedded Windows CE s<strong>of</strong>tware<br />
platform,with the aid <strong>of</strong> Windows CE operating system<br />
friendly human-machine interface watch history monitoring<br />
records, you can also phone with 3G web browser in<br />
real-time monitoring. Experimental results show, System<br />
has many characteristics about strong real-time property,<br />
good interaction and lower development costs and so on,<br />
which can be widely used in remote video monitoring.<br />
Index Terms—Real-time monitoring, WinCE , 3G , B/S ,<br />
ARM<br />
I. INTRODUCTION<br />
Because <strong>of</strong> the rapid development <strong>of</strong> 3G network<br />
technology, the mobile equipments based on the high<br />
speed <strong>of</strong> third generation (3G) mobile network<br />
application are more and more, the mobile phone as video<br />
monitoring equipment is a new 3G application, and also<br />
likely will be very popular a kind <strong>of</strong> application. With the<br />
features <strong>of</strong> mobile phone enhanced, we can basically<br />
inspect 3G mobile phone for an all-purpose terminal [1-2] .<br />
Because the 3G mobile phone not only can be used as a<br />
collection <strong>of</strong> real-time data message, and then transferred<br />
to the center platform through its processing, is also can<br />
be used as real-time monitoring equipment for the<br />
client [3] .To overcome the constraints <strong>of</strong> the traditional<br />
network bandwidth’s lack, mobile video surveillance<br />
system can well meet the requirements <strong>of</strong> real-time and<br />
video quality, it not only possess such as video<br />
monitoring function, basically can also achieve real-time<br />
and anywhere remotely monitor the real-time control<br />
application requirements [4-5] . General induction has the<br />
following advantages: the real-time and anywhere<br />
advantages, it satisfies no matter in any time, any place,<br />
through what equipment can undertake video monitoring,<br />
the cost advantage, because in the today's society,<br />
basically everyone have the mobile phone, that is used as<br />
one end <strong>of</strong> equipment <strong>of</strong> the video monitoring is a kind <strong>of</strong><br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.814-818<br />
Qian Zhao<br />
School <strong>of</strong> Communication and Information Engineering<br />
Xi’an University <strong>of</strong> Science and Technology<br />
Xi’an, China<br />
Email: qianzhaoza@sina.com<br />
multiple use <strong>of</strong> resources,it reduces the cost <strong>of</strong> investment,<br />
and compared with the ordinary PC ,the mobile phone's<br />
price is much lower ,in cost investment, therefore, have a<br />
great advantage.<br />
II. SYSTEM GENERALLY STATES<br />
Based on 3G family conditions the remote real-time<br />
monitoring system includs both the client and the server.<br />
Client uses the generic 3G mobile phone and mobile<br />
phone Web browser to the server through the 3G network<br />
access, and obtain real-time monitoring data information.<br />
Server-side collects, processes, stores the video<br />
information, and accepts the browser's visit, transmisses<br />
the real-time monitoring information to the browser, and<br />
it can process the monitoring information, when there is<br />
the abnormal, it can automatically send message to cell<br />
phone to report [6] . System framework shown in figure 1:<br />
Figure 1. System framework figure<br />
III. THE KEY TECHNOLOGY<br />
In the whole system design, the core technology is the<br />
models <strong>of</strong> 3G technology and B/S network.<br />
A. 3G technology<br />
3G is a new technology that combines the wireless<br />
communication technology and the Internet and other<br />
multimedia technology,the 3G technology's<br />
improvements are mainly that the speed <strong>of</strong> transmissing<br />
such as graphics and sound or video information data has<br />
been greatly improved, it also can handle images and<br />
video and other forms <strong>of</strong> medias, it not only can provide<br />
all the information service which the second generation
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 815<br />
communication (2G) can provide and on this basis have<br />
improved greatly, such as in transmission speed has<br />
greatly improved. Restricted and influenced by the<br />
configuration factors such as the network bandwidth,<br />
mobile equipment and terminal equipment and so on,in<br />
the 2G era, Most <strong>of</strong> the mobile phone users online<br />
function are just some simple applications, such as<br />
download some pictures or music, Internet browsing<br />
simple news page, etc. In the current 3G era, due to the<br />
widespread greatly improved,mobile terminal can provide<br />
more more advanced application or services,for instance<br />
you can via mobile phone watch TV, browse more online<br />
information, also mobile video call and more.<br />
The 3G mobile phone has the functions <strong>of</strong><br />
information collection, video browsing and the removable<br />
characteristic,so in the whole system structure,the 3G<br />
mobile phone can either as sle equipment, which can be<br />
used in real-time picture film and video collection or<br />
information alarm monitoring, etc, but also as a<br />
monitoring client to browse real-time video, alarm view,<br />
control result analysis or check functions <strong>of</strong> sle<br />
equipment configuration, etc.<br />
B. B/S model<br />
In the traditional video monitoring system, basically<br />
its uses is based on C/S model, this model requires the<br />
monitoring client install the client s<strong>of</strong>tware, therefore, it<br />
needs users spend a lot <strong>of</strong> time and effort to maintain.<br />
This system uses is based on B/S model, really realizes<br />
the user zero maintenance, and can also cross-platform<br />
operation, it not only saves the manpower and material<br />
resources also enables users in the environment as long as<br />
have a network to video monitor, it is really convenient<br />
for users [7] .<br />
IV. SERVER-SIDE DESIGN<br />
In the embedded Linux environment, there are three<br />
Web server: httpd, thttpd and Boa. Httpd is the simplest<br />
Web server,whose function is the weakest, and which<br />
does not support the authentication and CGI.If Web<br />
server only provides some static page,for example,simple<br />
on-line help,system introduction etc, it can completely be<br />
realized by static server httpd. Boa and thttpd support<br />
authentication, CGI,etc. the functions are more complete.<br />
If need to improve the security <strong>of</strong> the system, or need to<br />
interact with users, such as data query, real-time status<br />
query etc, it must use dynamic Web technology, can<br />
choose one <strong>of</strong> these two kinds <strong>of</strong> server to realize. The<br />
system adopts Boa to achieve embedded Web server.<br />
Between the server-side and each control points we use<br />
the wired mode, after obtaining video data it submits to<br />
the background MCU to complete data analysis and other<br />
processes, video displaying through LCD monitor and<br />
storing by mass storage unit, transmiting the real-time<br />
monitoring information to the browser, and can process<br />
the monitoring information, abnormal ,it automatically<br />
send informations to the mobile to report, simultaneously,<br />
but also can locally alarm.<br />
A. Server-side hardware design<br />
© 2011 ACADEMY PUBLISHER<br />
As the server part need to finish the functions <strong>of</strong> video<br />
information collection,display, storage,inquiry and<br />
judgment alarm.This design selects the Samsung<br />
company's S3C6410 embedded processor as the<br />
core,combining 3G network technology, again<br />
complementary with related devices realize its function<br />
demand.S3C6410 is based on 16/32 bit RISC kernel's low<br />
cost,low power consumption,high-performance<br />
microprocessors solutions, adopts 64/32-bit internal bus<br />
architecture, interior has integrated many powerful<br />
hardware accelerators, its frequency can reach<br />
533MHz.S3C6410 have excellent external memory<br />
interface ability ,can satisfy the bandwidth requirements<br />
<strong>of</strong> the high-end communications services. Memory<br />
system has DRAM and Flash/ROM two external memory<br />
ports, which can do parallel access. DRAM port can be<br />
configured to mobile DDR or standard SDRAM.<br />
Flash/ROM port supports NAND-Flash, NOR-Flash,<br />
OneNAND ,CFand ROM type external memory.<br />
Server part hardware principle diagram includes:<br />
S3C6410 processor, power, storage unit, Wi-Fi module,<br />
LCD monitor, buzzer ,mass storage, power supply<br />
module, clock module and RS232 serial interface.<br />
Hardware structure is shown as Figure 2.<br />
S3C6410 processor is responsible for the unit's<br />
control, computation, processing and other funtions; its<br />
storage unit is SDRAM and FLASH, Wi-Fi module<br />
mainly complete data transmission;LCD display the<br />
received data;when the image is abnormal,buzzer will<br />
alarm;the mass storage has large enough storage capacity<br />
to let the receive data stored,played back and<br />
processed;power module supply DC 5V for CPU and<br />
other modules as power supply.<br />
Figure 2. Hardware structure<br />
B. Server-side s<strong>of</strong>tware design<br />
The s<strong>of</strong>tware framework <strong>of</strong> this system is mainly<br />
based on embedded Windows CE operating system to<br />
realize system functions in EVC graphical interface<br />
development environments [8] . The server-side's<br />
application development process uses the program design<br />
<strong>of</strong> multithreading modular, makes each function <strong>of</strong> the<br />
equipment according to its completing a specific task,<br />
tasks properties, real-time demand, combining with the<br />
data flow, detailed differentiate each functional modules.<br />
In the s<strong>of</strong>tware design <strong>of</strong> this system ,there are basically
816 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
the following modules: system interface, operating log,<br />
network communication, database storage, historical data<br />
(1) WinCE operation system<br />
Windows CE is having a embedded operating system<br />
which has the preemptive multi-tasking function, and has<br />
strong communication ability. It is a newly designed<br />
operating system products which Micros<strong>of</strong>t designed<br />
especially for mobile equipment and consumer electronic<br />
products, embedded application such as non-PC field.<br />
Therefore according to its features <strong>of</strong> application<br />
environment, Windows CE is designed with highly<br />
modular, good real-time, strong communication ability,<br />
supportting multiple CPU embedded operating system.<br />
Through the platform cutting tool Visual Studio.NET we<br />
establish the operating system platform according to<br />
system needs and carry on the corresponding<br />
configuration. This design uses the Windows CE6.5<br />
version.<br />
(2) Device driver development<br />
WinCE driver is divided into: this machine device<br />
drivers and stream interface drivers. This machine<br />
equipment means integrated into the target platform,its<br />
driver is provided by the original equipment manufacturer<br />
(OEM) .Stream interface drivers refers to the external<br />
device drivers connected to the WinCE operation into<br />
platform,developed by the user.Stream interface drivers<br />
see the external devices as special file in the file<br />
system,through document reading function indirectly<br />
access external devices.<br />
(3) Network communications introduction<br />
The network communication module is the main part <strong>of</strong><br />
the system, it contains three data channels: Monitor<br />
channel, control channel and video data channel.Monitor<br />
channel is used to transmit command data to the control<br />
sle equipment;Video data channel is used to transmit<br />
video data <strong>of</strong> each group. Three channels use different<br />
communication port, so each channel transmits data<br />
independently <strong>of</strong> each other.Network communication<br />
module design development is through the network<br />
programming interface WindowsSocket, abbreviation<br />
Winsock to fulfill. According to the system<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 3. S<strong>of</strong>tware structure<br />
query and other parts. S<strong>of</strong>tware structure is shown as<br />
Figure 3.<br />
browser/server's network transmission model, in the<br />
server-side the SOCKET type <strong>of</strong> listening SOCKET,<br />
control SOCKET are established,in the client-side the<br />
SOCKET type <strong>of</strong> request SOCKET,control SOCKET are<br />
established,they all use TCP protocol to encapsulate the<br />
transfer data. In addition, both ends <strong>of</strong> the server and<br />
client use a multicast class (CMulticast), it is the<br />
packaged class specially for video transmission, derived<br />
from CObject,which defines SOCKET and group<br />
SOCKET <strong>of</strong> the transceiver video data <strong>of</strong> SOCKET<br />
type,thus realized using multicast communication mode<br />
to transmit the video packets encapsulated by the UDP<br />
protocol. Network data communication process is shown<br />
in figure 4.<br />
Figure 4. Network data communication processes<br />
(4)Application design<br />
The application layer on server-side <strong>of</strong> this system is<br />
developed on the basis <strong>of</strong> graphics development<br />
environment <strong>of</strong> Embedded Visual C++ 4.0.EVC is the<br />
mainstream development tool on WINCE,it is similar to
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 817<br />
VC++ development environment,but provides some<br />
unique tools and resources to develop the applications on<br />
WINCE [9] .EVC program support a subset <strong>of</strong> MFC<br />
library,can give developers to provide the most powerful<br />
support.<br />
For the application development process <strong>of</strong> the server<br />
terminal we adopt the modularized program design,make<br />
each function <strong>of</strong> the equipment,according to its<br />
completing a specific task,tasks properties,real-time<br />
demand,combining with the data flow,detailed<br />
differentiate each functional modules.Based on the<br />
system function requirements, embedded server terminal<br />
has the following several main functional modules:data<br />
transceiver module,judge alarm module, database storage<br />
module,real-time/history video data inquiry module,<br />
system interface module.<br />
The server-side s<strong>of</strong>tware uses multithreading to<br />
realize modular:main program, network communication<br />
thread (transceiver thread),SMS sending thread,alarm<br />
thread etc.Main program is first executed,after system is<br />
initialized, it configurate 3G module,and then creates<br />
three thread respectively executed follow: receiving data<br />
storage and display data and judgment alarm, three<br />
threads are finished, main program exit. The alarm thread<br />
compares surveillance video data state with alarm<br />
threshold,if overrun the buzzer is started,and then it waits<br />
for police clearance to determine whether the exit. When<br />
abnormal, but no real-time monitoring on the<br />
client-side,SMS sending thread will send a warning<br />
message to the client. S<strong>of</strong>tware flow chart is shown in<br />
Figure 5.<br />
Application s<strong>of</strong>tware started, first we do the<br />
initialized work, including initializing the 3G network<br />
module, recording log books, opening the database etc<br />
tasks, if the initialization is fails ,the applications cannot<br />
run normally to exit. After the initialization is successful ,<br />
the server has been monitoring the family status, and<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 5. Main s<strong>of</strong>tware process <strong>of</strong> the server<br />
(a) System interface. The system interface is a<br />
man-machine interface which the user use to view the<br />
sampled video, a well-designed system user interface<br />
helps users conveniently carry on equipment operation,<br />
data storage and querying historical video data<br />
locally .S<strong>of</strong>tware interface uses hierarchical structures,<br />
each test is processed separately by the metord <strong>of</strong> the<br />
pop-up sub-interface ,so it makes the s<strong>of</strong>tware for more<br />
modular management .The whole interface framework <strong>of</strong><br />
the s<strong>of</strong>tware including the menu bar ,the toolbars ,the<br />
button ,the edit box, the main window status bar and<br />
other parts.<br />
(b) Operation log.The operation log records the user<br />
name, time, instructions and other detailed informations<br />
<strong>of</strong> users' equipment operation. Log information is stored<br />
in a text files to search easily.<br />
(c) Data communication module. The data<br />
communication module realize the data communication<br />
function through 3G wireless network, receiving the<br />
control instruction and sending the video data.<br />
(d) Database stores. The data storage finish the<br />
database storage <strong>of</strong> the real-time data ,a good database<br />
stores scheme not only save system memory ,disk and<br />
other hardware overhead ,but also can improve the<br />
efficiency <strong>of</strong> the database query [10] .<br />
(e) Historical data query. The historical data query<br />
module completes the operations <strong>of</strong> querying the<br />
historical video data information, by observing the<br />
historical data,the situation when no one at home can be<br />
analyzed. The historical data query model including form<br />
code design and database query code design.<br />
waits or keeps communications with the client ,when<br />
closing the equipment ,the real-time monitoring is over,<br />
otherwise have been circulating.<br />
V. CONCLUSIONS<br />
Base on the remote real-time monitoring system <strong>of</strong>
818 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
3G family conditions, the Web server <strong>of</strong> the embedded<br />
video network monitoring system directly connect to 3G<br />
networks, without restrictions <strong>of</strong> the cable length and<br />
signal attenuation, simultaneously, the network is a no<br />
distance concept, which completely abandoned regional<br />
concepts, expanded the supervised areas. The client is an<br />
ordinary 3G mobile phone, anywhere and anytime it can<br />
carry on the real-time monitoring for family safety<br />
condition. Also, because video compression and Web<br />
function are focused into a small size equipment inside, it<br />
directly connects to the LAN or WAN network,<br />
plug-and-see, the system's real-time, stability and<br />
reliability are greatly improved, without specially<br />
assigned management, which is very suitable for the<br />
environment <strong>of</strong> non-People on duty. With the rapid<br />
development <strong>of</strong> the computer technology and the network<br />
technology, people's request on the video monitoring<br />
system will be higher and higher .This system not only in<br />
the family status remote real-time monitoring system has<br />
important role, but also in the e-commerce, the video<br />
conference, the long-distance teaching, remote medical<br />
treatment ,water conservancy and electricity monitoring<br />
etc has broad application prospects.<br />
ACKNOWLEDGMENT<br />
This work was supported by Industrial Science and<br />
Technology Department <strong>of</strong> Shaanxi Province PR project<br />
“Research on Forward Multi-user MIMO Transmitting<br />
Technologies for Distributed Wireless Communication<br />
Systems” NO: 2010K01-074 .<br />
REFERENCES<br />
[1] Hu. Huai, Jia. Jing, Chang .Yong, “Ship remote monitoring<br />
system based on 3G technology,” Ship Science and<br />
Technology, 2009,31 (02) , pp. 101-103.<br />
[2] Liu. Bo, Song. Junde, “Research on 3G service platform<br />
architecture ,” Mobile Communications, 2005, 29 (9) , pp.<br />
60-63.<br />
[3] Cheng .Juan, Ping. Xijian, “ Embedded on-board geographic<br />
information system <strong>of</strong> integrated GPRS service ,”Computer<br />
Engineering, 2006,32 (17) , pp.244-245.<br />
[4] Liu .Wei, Chen. Hexin, “The family's remote monitoring<br />
system design,” Communication Technology, 2009,42 (01) ,<br />
pp.312-313.<br />
[5] Sun. Jiangbo, “Video monitoring system design based on<br />
embedded Linux,” <strong>Journal</strong> <strong>of</strong> the Wuhan Polytechnic<br />
University, 2006,25 (3) , pp.31-36.<br />
[6] Larry Doolittle, Jon Nelson. BoaWebserver [EB / OL].<br />
Http://www.boa.org.<br />
[7] Zhang. Xihuang, Chai .Zhilei, “The features and realization<br />
<strong>of</strong> CGI in embedded Web server,” Mini-Micro Computer<br />
Systems, 2003,24 (11) , pp.2046-2047.<br />
[8] Zhou .Yulin, Windows CE. Net kernel’s customization and<br />
application development , Beijing: Electronic Industry Press,<br />
2005, pp.17 - 21.<br />
[9] Wang. Bing, EVC senior programming and application<br />
development . Beijing: China Water Conservancy and<br />
Hydropower Press, 2005.<br />
[10] Chen. Jinjiang, Development and application <strong>of</strong> the<br />
embedded database technology in coal mine rig monitoring<br />
system , Kunming: Kunming University <strong>of</strong> Technology,<br />
2007.<br />
© 2011 ACADEMY PUBLISHER<br />
Qian Zhao was born in Shannxi,<br />
China ,in 1977.He received the M.S.<br />
degrees in communication and information<br />
system from Xi’an University <strong>of</strong> Science<br />
and Technology, Shannxi ,China , in 2005.<br />
He is a lecturer in School <strong>of</strong><br />
Communication and Information<br />
Engineering at Xi’an University <strong>of</strong><br />
Science and Technology. He has published over thirty papers in<br />
academic journals and international conference. His research<br />
interests include B3G Mobile communications key technology.
826 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Information Fusion Based Fault Location<br />
Technology for Distribution Network<br />
1, 2<br />
Qingle Pang<br />
1. School <strong>of</strong> Information and Electronic Engineering, Shandong Institute <strong>of</strong> Business and Technology, Yantai, China<br />
2. College <strong>of</strong> Computer Science, Liaocheng University, Liaocheng, China<br />
Email: stefam@163.com<br />
Abstract—Along with the increasing the level <strong>of</strong> distribution<br />
network intelligence and the network complexity, the<br />
automatic fault location technology for distribution network<br />
is particularly important. But the traditional fault location<br />
methods based on one information source is impossible to<br />
locate the faults accurately because <strong>of</strong> there are losses or<br />
faults in the information from the distribution. So, the<br />
information fusion based fault location method for<br />
distribution network is proposed. When a fault occurs, one<br />
information matrix is created based on the action <strong>of</strong> all the<br />
protective relays, and the other information matrix is<br />
created based on the wave data <strong>of</strong> the current which is<br />
recorded at the foot node. The above information matrixes<br />
are combined using D-S evidence theory and the fault<br />
location is realized. The simulation results show that the<br />
fault location method for distribution network not only<br />
realizes accurate fault location, but also possesses stronger<br />
robustness.<br />
Index Terms—distributed network, fault location,<br />
information fusion, D-S evidence theory<br />
I. INTRODUCTION<br />
With the increasing complexity <strong>of</strong> the distribution<br />
network, feeder automation has a rapid development.<br />
Feeder automation provides strong support for fault<br />
location in distribution network. At the same time, it also<br />
provides strong support for improving the quality and<br />
reliability <strong>of</strong> power supply [1-3] . The traditional fault<br />
location methods based on coordination between recloser<br />
and sectionalizer exist many shortcomings, such as,<br />
reclosing to fault point again, slow response rate and<br />
expanding fault regions easily. So the fault section<br />
location based on information <strong>of</strong> protection units and<br />
feeder terminal units(FTUs) are becoming research<br />
hotspots. Where the matrix algorithm [1, 2] and the over<br />
heated arcs searching algorithm [4, 5] have the simple<br />
principle and well definition. But these methods are based<br />
on complete and accurate information uploaded by FTUs.<br />
The intelligent fault location algorithm can realize fault<br />
section location at the case <strong>of</strong> exiting uncertain<br />
information, such as, genetic algorithm based fault<br />
location [6] , rough set theory based fault location [7, 8] ,<br />
multi-agent based fault location [9] , Bayes probability<br />
based fault location [10] and Petri-Nets based fault<br />
location [11] . But these methods can only provide a certain<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.826-833<br />
diagnosis result and the diagnosis result have the<br />
following disadvantages:<br />
• It cannot reflect the fitness <strong>of</strong> the method. When the<br />
quality <strong>of</strong> communication is good, the information based<br />
on SCADA is reliable. But when the communication<br />
channel is disturbed, the information isn’t reliable and the<br />
diagnosis result may be wrong. The difference cannot be<br />
reflected.<br />
• It cannot provide the failure indication information.<br />
• It makes against combination <strong>of</strong> different fault<br />
section location methods.<br />
In one word, there are two problems for the control<br />
center to resolve the fault location with the information<br />
uploaded by the feeder automation system:<br />
• For the vast amount and redundancy <strong>of</strong> the<br />
information, it is hard to process the data manually for the<br />
operators.<br />
• Under the influence <strong>of</strong> the work environment <strong>of</strong> the<br />
equipment and the communication system, there are<br />
always some losses or faults in the information from the<br />
distribution network.<br />
As a result, it is very important to syncretize the<br />
information from different information resources and find<br />
a new fault location method to locate the fault accurately<br />
even there are losses or faults in the information from the<br />
distribution.<br />
Dempster-Shafer(D-S) evidence theory is one <strong>of</strong> the<br />
mathematical tools developed in the 70s. D-S evidence<br />
theory can robustly deal with incomplete data. The D-S<br />
evidence theory can be a tool for system modeling and<br />
information fusion. In fault diagnosis, because different<br />
evidences make different contributions to different faults,<br />
evidence importance should be considered for specific<br />
fault diagnosis through multi-resource information<br />
fusion [12, 13] .<br />
In this paper, in order to improve the fault location<br />
accuracy and robustness, through constructing the<br />
information matrixes based on the action <strong>of</strong> all protective<br />
relays switch and the wave data <strong>of</strong> the current<br />
respectively, the fault information are combined using the<br />
D-S evidence theory.<br />
II. PROBLEM OF FAULT LOCATION BASED ON RECLOSERS<br />
AND SECTIONALIZERS
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 827<br />
A. Principle <strong>of</strong> Fault Location Based on Reclosers and<br />
Sectionalizers<br />
Now, there are three methods to implement the feeder<br />
automation, that is, mutual coordination <strong>of</strong> recloser with<br />
voltage-time type <strong>of</strong> sectionalizer, recloser with recloser<br />
and recloser with over-current pulse count type<br />
sectionalizer. Among them, the mutual coordination <strong>of</strong><br />
recloser with voltage-time type <strong>of</strong> sectionalizer is the<br />
most popular one [14] .<br />
The Figure 1 shows the schematic diagram <strong>of</strong> fault<br />
isolation based on mutual coordination <strong>of</strong> recloser with<br />
voltage-time type <strong>of</strong> sectionalizer for typical radial<br />
distribution networks, where A is a recloser and B, C, D<br />
are sectionalizers. The first reclosing time <strong>of</strong> the recloser<br />
is 15s and the second reclosing time is 5s. The X-time<br />
limits <strong>of</strong> the sectionalizers B and D are 7s and the Y-time<br />
limits are 5s. The X-time limits <strong>of</strong> the sectionalizers C<br />
and E are 14s and the Y-time limits are 5s. The operation<br />
logics <strong>of</strong> the recloser and senctionalizers are showed as<br />
Figure 2.<br />
© 2011 ACADEMY PUBLISHER<br />
(a)<br />
(b)<br />
(c)<br />
(d)<br />
(e)<br />
(f)<br />
(g)<br />
Opening state <strong>of</strong> senctionalizer<br />
Closing state <strong>of</strong> senctionalizer<br />
Opening state <strong>of</strong> recloser<br />
Closing state <strong>of</strong> recloser<br />
Figure 1. Schematic diagram <strong>of</strong> typical radial distribution networks<br />
A<br />
B<br />
C<br />
D<br />
E<br />
15s 5s<br />
7s<br />
X<br />
5s<br />
Y<br />
7s<br />
X<br />
14s<br />
X<br />
5s<br />
Y<br />
5s<br />
Y<br />
7s<br />
X<br />
5s<br />
Y<br />
7s<br />
X<br />
5s<br />
Y<br />
Note: High is opening, low is closing<br />
14s<br />
X<br />
Figure 2. Scheme <strong>of</strong> operation logic <strong>of</strong> all switches<br />
The figure 1 (a)-(g) show the process <strong>of</strong> the fault<br />
section location. The figure 1 (a) is the normal operation<br />
state for the radial distribution networks. The figure 1 (b)<br />
shows that when a permanent fault happens in the c<br />
section, the recloser A trips <strong>of</strong>f, and it leads to losing<br />
voltage <strong>of</strong> the line and the sectionalizers B, C, D and E<br />
tripping. The figure 1 (c) shows the recloser A performs<br />
the first reclosing operation after 15s <strong>of</strong> the fault tripping.<br />
The figure 1 (d) shows that after 7s time limits, the<br />
senctionalizer B recloses automatically and the power<br />
supply arrives at the b section. The figure 1 (e) shows that<br />
after another 7s time limits, the senctionalizer D recloses<br />
automatically and the power supply arrives at the d<br />
section. The figure 1 (f) shows that after 14s time limits<br />
5s<br />
Y
828 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
after the senctionalizer B reclosing, the senctionalizer C<br />
recloses automatically. Because the fault <strong>of</strong> c section is<br />
the permanent fault, the recloser A trips <strong>of</strong>f again and<br />
leads to the line losing voltage and the senctionalizer B, C,<br />
D and E tripping again. Because the senctionalizer C<br />
loses voltage before its Y-time limit (5s), the<br />
senctionalizer is locked. The figure 1 (g) shows that after<br />
5s time limits after the recloser A trips <strong>of</strong>f again, the<br />
recloser A recloses secondly and the senctionalizer B, D<br />
and E s recloses automatically. Because the senctionalizer<br />
C is locked in the switching-<strong>of</strong>f state, the fault section is<br />
isolation and the power supply <strong>of</strong> the non-fault area is<br />
restored.<br />
B. Problem <strong>of</strong> Fault Location Based on Reclosers and<br />
Sectionalizers<br />
After fault isolation, the operation logics <strong>of</strong> switches<br />
are sent to the control center through the intelligent<br />
distributed terminal, the control center determines the<br />
fault location to remove the fault source. But the<br />
information received by the control center may be wrong<br />
because <strong>of</strong> existing strong electromagnetic interference in<br />
the communications network <strong>of</strong> the distribution network.<br />
The control center will make the wrong decision.<br />
III. FAULT LOCATION METHOD BASED ON INFORMATION<br />
FUSION<br />
A. Fault Location Method Based on D-S Evidence<br />
Theory<br />
Let Θ be the frame <strong>of</strong> discernment i.e. the finite set <strong>of</strong><br />
N mutually exclusive and exhaustive hypotheses. 2 Θ is<br />
the power set <strong>of</strong> Θ, such that if Θ={1, 2, …, N}, then<br />
2 Θ ={Φ, {1}, {2}, …, {N}, {1,2}, {1,3}, …, {N-1, N},<br />
{1,2,3}, Θ},where Φ denotes the empty set.<br />
Definition 1 A basic probability assignment is a function<br />
m: 2 Θ →[0, 1], which satisfies the following conditions:<br />
⎧<br />
⎪∑<br />
mA ( ) = 1<br />
⎨ A⊂Θ<br />
(1)<br />
⎪ ⎩ m( φ)<br />
= 0<br />
m(A) is called basic probability number. It represents the<br />
proportion <strong>of</strong> all relevant and available evidence that<br />
supports the claim that a particular element <strong>of</strong> Θ belongs<br />
to the set A but to no particular subset <strong>of</strong> A.<br />
Definition 2 The plausibility function is defined as:<br />
Θ<br />
Pl :2 → [0,1] and Pl( A) = ∑ m( B)<br />
(2)<br />
B∩A≠φ The belief function Bel(A) measures the total amount<br />
<strong>of</strong> probability that must be distributed among the<br />
elements <strong>of</strong> A. It reflects inevitability and signifies the<br />
total degree <strong>of</strong> belief <strong>of</strong> A and constitutes a lower limit<br />
function on the probability <strong>of</strong> A. On the other hand, the<br />
plausibility function Pl(A) measures the maximal amount<br />
in A. It describes the total belief degree related to A and<br />
constitutes an upper limit function on the probability <strong>of</strong><br />
A.<br />
Suppose m1 and m2 are two basic probability<br />
assignment functions formed based on information<br />
obtained from two different information sources in the<br />
© 2011 ACADEMY PUBLISHER<br />
same frame <strong>of</strong> discernment Θ. According to Dempster’s<br />
orthogonal rule <strong>of</strong> evidence combination, the combination<br />
<strong>of</strong> m1 and m2 is as follows:<br />
∑<br />
∑<br />
m1( A) m2( B)<br />
A∩ B= C<br />
m1⊕ m2( C)<br />
=<br />
1 − m ( A) m ( B)<br />
A∩ B=<br />
φ<br />
1 2<br />
The belief values <strong>of</strong> the action information <strong>of</strong> reclosers<br />
and sectionalizers and the current wave information at<br />
root node is regarded as m1 and m2 respectively. Then the<br />
m1 and m2 are combined according to equation (3) and the<br />
belief value <strong>of</strong> every protection zone is obtained.<br />
According to the belief value m, the fault location can be<br />
determined. The scheme <strong>of</strong> fault location method based<br />
on D-S evidence theory is showed as Figure 3.<br />
Figure 3. Scheme <strong>of</strong> fault location method based on D-S evidence<br />
theory<br />
B. Model <strong>of</strong> Distribution Network<br />
The simulation model is a 17-node 24.9kV distribution<br />
network with feeder automation, which is built in<br />
PSCAD/EMTDC, showed as Figure 4. R1-R4 indicate the<br />
reclosers and D1-D9 indicate the sectionalizers [16] .<br />
Figure 4. Simulation model <strong>of</strong> distribution network<br />
C. Belief Assignment <strong>of</strong> FTU Information<br />
According to the actions <strong>of</strong> reclosers and<br />
sectionalizers, the information matrix <strong>of</strong> the reclosers and<br />
sectionalizers is defined as R and Dk,(k=1,2, …, u):<br />
⎡r11 ⎢<br />
r21 R = ⎢<br />
⎢� ⎢<br />
⎣ru1 r12 r22 �<br />
ru2 r13 r23 �<br />
ru3 r14 r24 �<br />
ru4 r15<br />
⎤<br />
r<br />
⎥<br />
25 ⎥<br />
� ⎥<br />
⎥<br />
ru5⎦<br />
(4)<br />
(3)
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 829<br />
⎡dk01 dk02 dk03 dk04 dk05<br />
⎤<br />
⎢<br />
dk21 dk22 dk23 dk24 d<br />
⎥<br />
k25<br />
Dk<br />
= ⎢ ⎥<br />
⎢ � � � � � ⎥<br />
⎢ ⎥<br />
d d d d d<br />
(5)<br />
⎣ kv1 kv2 kv3 kv4 kv5⎦<br />
where u is the number <strong>of</strong> the reclosers in the distributed<br />
network, v is the number <strong>of</strong> the sectionalizers in the<br />
corresponding recloser protection zone. In the<br />
information matrix, the first column indicates the first<br />
opening action, the second column indicates the first<br />
closing action, the third column indicates the second<br />
opening action, the forth column indicates the second<br />
closing action and the fifth column indicates the third<br />
opening action. Each row <strong>of</strong> the information matrix R<br />
corresponds to a recolser. The first row <strong>of</strong> the information<br />
matrix Dk indicates the switch actions <strong>of</strong> the<br />
corresponding recolser and the rows from 2 to u indicate<br />
the switch actions <strong>of</strong> the sectionalizers in corresponding<br />
recloser protection zone. rij=1 or dkij=1 indicates that the<br />
corresponding action happens and rij=0 or dkij=0 indicates<br />
that the corresponding action doesn’t happen.<br />
Suppose the actual information matrix <strong>of</strong> reclosers<br />
received by the control center from the distributed<br />
network is RA, the actual information matrix <strong>of</strong><br />
sectionalizers in different protection zone received by the<br />
control center from the distributed network is DAk<br />
respectively. The matrix RA is compared with an m×5<br />
matrix which elements are all 1, and a statistics matrix<br />
RAS is obtained by counting the number <strong>of</strong> same<br />
elements in every row between the two matrixes. After<br />
the matrix RAS is normalized, the action probability<br />
matrix <strong>of</strong> reclosers PR is obtained. Similarly, the matrix<br />
DAk is compared with every ideal information matrix<br />
when faults occur in corresponding sectionalizer<br />
protection zone, and a statistics matrix DASk is obtained<br />
by counting the number <strong>of</strong> same elements between the<br />
two matrixes. The first row <strong>of</strong> DASk is set to 0. After the<br />
matrix DASk is normalized, the action probability matrix<br />
<strong>of</strong> sectionalizers PDk is obtained.<br />
Suppose the permanent fault occurs in the node 856.<br />
The reclosers R1, R2, R4 and the sectionalizers <strong>of</strong> their<br />
protection zone don’t act. Only R3, D4, D5, D6 and D7<br />
perform automatic switch-<strong>of</strong>f and switch-on action. After<br />
several automatic switch-<strong>of</strong>f and switch-on actions, the<br />
fault section is isolated and the power supply <strong>of</strong> the sound<br />
area is restored. The action time sequence diagram is<br />
showed as Figure 5.<br />
The Figure 5 shows the operation logic <strong>of</strong> the recloser<br />
and sectionalizers in R3 protection zone. Suppose the fault<br />
happens at 0.3s, the recloser R3 acts firstly, the four<br />
sectionalizers switch <strong>of</strong>f because <strong>of</strong> losing voltage. After<br />
1.5s, the recloser recloses automatically. Then, the<br />
sectinalizers D4, D5, D6 and D7 reclose automatically in<br />
turn after itself 0.7s time limits, where the sectinalizers<br />
D4, D5 and D6 reclose successfully. When the<br />
sectionalizer D7 recloses, the fault is connected to the<br />
system again because the fault section is located in D7<br />
section, the recloser R3 switches <strong>of</strong>f again and all the<br />
sectionalizers switches <strong>of</strong>f because <strong>of</strong> losing voltage.<br />
Because the time interval between the two switching-on<br />
© 2011 ACADEMY PUBLISHER<br />
time <strong>of</strong> D7 is less than the setting time limit 0.5s, the<br />
sectionalizer is locked. After 0.5s, the recloser recloses<br />
automatically, and the sectinalizers D4, D5 and D6<br />
recloses automatically in turn after itself 0.7s time limits,<br />
where the sectinalizers D4, D5 and D6 recloses<br />
successfully. The locked sectionalizer D7 don’t reclose,<br />
the fault section is isolated and the power supply <strong>of</strong> the<br />
sound zone is restored.<br />
R3<br />
D4<br />
D5<br />
D6<br />
D7<br />
1 2 3 4 5 6 7 8<br />
1 2 3 4 5 6 7 8<br />
1 2 3 4 5 6 7 8<br />
1 2 3 4 5 6 7 8<br />
1 2 3 4 5 6 7 8<br />
Note: High is opening, low is closing<br />
Figure 5. Scheme <strong>of</strong> protection action operation logic<br />
The information matrix <strong>of</strong> the recloser R3 is followed:<br />
⎡0 0 0 0 0⎤<br />
⎢<br />
0 0 0 0 0<br />
⎥<br />
R = ⎢ ⎥<br />
⎢1 1 1 1 0⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 0⎦<br />
The information matrixes <strong>of</strong> the sectionalizers D4, D5,<br />
D6 and D7 are followed as:<br />
⎡0 0 0 0 0⎤<br />
⎢<br />
0 0 0 0 0<br />
⎥<br />
D1<br />
= ⎢ ⎥ , D 2 = [ 0 0 0 0]<br />
⎢0 0 0 0 0⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 0⎦<br />
⎡1 1 1 1 0⎤<br />
⎢<br />
1 1 1 1 0<br />
⎥<br />
⎢ ⎥<br />
⎡0 0 0 0⎤<br />
D3<br />
= ⎢1 1 1 1 0⎥,<br />
D4<br />
=<br />
⎢<br />
0 0 0 0<br />
⎥<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢1 1 1 1 0⎥<br />
⎢⎣0 0 0 0⎥⎦<br />
⎢<br />
⎣1 1 1 0 0⎥<br />
⎦<br />
The above-mentioned information matrixes can be<br />
obtained by the control center, if the relosers and<br />
sectionalizers can act correctly and there are no<br />
misoperations, moreover, there are no disturbances in the<br />
communication channel. The location result is true.<br />
Under the influence <strong>of</strong> the work environment <strong>of</strong> the<br />
equipment and the communication system, there are<br />
always some losses or faults in the information from the<br />
distribution network. Suppose the actual information<br />
matrixes obtained by the control center are followed as:
830 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
⎡0 0 0 0 0⎤<br />
⎢<br />
0 0 0 0 0<br />
⎥<br />
RA = ⎢ ⎥<br />
⎢1 1 1 1 1⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 0⎦<br />
DA 2 = [ 0 0 0 0]<br />
, DA1<br />
⎡0 0 0 0 0⎤<br />
⎢<br />
1 0 0 0 1<br />
⎥<br />
= ⎢ ⎥<br />
⎢0 0 0 0 0⎥<br />
⎢ ⎥<br />
⎣0 0 1 0 0⎦<br />
⎡1 1 1 1 0⎤<br />
⎢<br />
1 1 1 1 0<br />
⎥<br />
⎢ ⎥<br />
⎡0 0 0 0⎤<br />
DA3<br />
= ⎢0 1 1 1 0⎥,<br />
DA4<br />
=<br />
⎢<br />
0 0 0 0<br />
⎥<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢1 1 0 1 1⎥<br />
⎢⎣0 0 0 1⎥⎦<br />
⎢<br />
⎣1 1 1 1 1⎥<br />
⎦<br />
According to these wrong information matrixes, the<br />
first belief value m1 can be calculated as following.<br />
Comparing RA with a 4×5 matrix which elements are all<br />
1, a statistics matrix RAS is obtained by counting the<br />
number <strong>of</strong> same elements in every row between the two<br />
matrixes. After the matrix RAS is normalized, the action<br />
probability matrix <strong>of</strong> reclosers PR is obtained as following:<br />
⎡0⎤ ⎡0⎤ ⎢<br />
0<br />
⎥ ⎢<br />
RWS = ⎢ ⎥<br />
0<br />
⎥<br />
, PR<br />
= ⎢ ⎥<br />
⎢5⎥ ⎢1⎥ ⎢ ⎥ ⎢ ⎥<br />
⎣0⎦ ⎣0⎦ Every element in PR from top to down is the probability<br />
value <strong>of</strong> the recloser R1, R2, R3 and R4 respectively.<br />
Similarly, the matrix DA1, DA2, DA3 and DA4 is<br />
compared with the corresponding ideal information<br />
matrix when the fault occurs in corresponding<br />
sectionalizer protection zone respectively, and the<br />
statistics matrix DAS1, DAS2, DAS3 and DAS4 is obtained<br />
respectively by counting the number <strong>of</strong> same elements<br />
between the two matrixes. The first row <strong>of</strong> DASk is set to<br />
0. After the matrix DASk is normalized, the action<br />
probability matrix <strong>of</strong> sectionalizers PDk is obtained.<br />
These matrixes are as followed as:<br />
⎡ 0 ⎤<br />
⎢<br />
0.4348<br />
⎥<br />
m11 = PD1=<br />
⎢ ⎥,<br />
m12 = PD2=<br />
[ 0]<br />
,<br />
⎢0.3043⎥ ⎢ ⎥<br />
⎣0.2609⎦ ⎡ 0 ⎤<br />
⎢<br />
0.1935<br />
⎥<br />
⎢ ⎥<br />
⎡ 0 ⎤<br />
m13 = PD ⎢ 3 = 0.2419⎥,<br />
m14 = PD2=<br />
⎢<br />
0.6667<br />
⎥<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢0.2581⎥ ⎢⎣0.3333⎥⎦ ⎢<br />
⎣0.3056⎥ ⎦<br />
So, the probability that the fault locates in recloser R1,<br />
R2, R3 and R4 is 0, 0, 1 and 0 respectively. If the fault<br />
locates in the recloser R1 protection zone, the locked<br />
probability <strong>of</strong> the recloser R1, the sectionalizer D1, D2 and<br />
D3 is 0, 0.4348, 0.3043 and 0.2609 respectively. There<br />
are no sectionalizers in the recloser R2 protection zone, so<br />
only recloser R2 is considered and its locked probability is<br />
0. If the fault locates in the recloser R3 protection zone,<br />
the locked probability <strong>of</strong> the recloser R3, the sectionalizer<br />
D4, D5, D6 and D7 is 0, 0.1935, 0.2419, 0.2581 and 0.3056<br />
© 2011 ACADEMY PUBLISHER<br />
respectively. If the fault locates in the recloser R4<br />
protection zone, the locked probability <strong>of</strong> the recloser R4,<br />
the sectionalizer D8 and D9 is 0, 0.6667 and 0.3333<br />
respectively.<br />
D. Belief Assignment <strong>of</strong> Fault Recorder Information<br />
When a permanent fault occurs and the corresponding<br />
protection acts, the actions <strong>of</strong> the reclosers will result in<br />
appearing a current pulse at the root node. So, two section<br />
fault current corresponding to two protection action at the<br />
root node can be detected. The diagram comparing<br />
operation logic <strong>of</strong> the recloser R3 with the current<br />
waveform is showed as Figure 6. The diagram shows that<br />
the time interval between two current pulses is<br />
corresponds with the time interval between two reclosing,<br />
and the time interval between two reclosing corresponds<br />
with the locked sectionalizer. So, through calculating the<br />
time interval between the two current pulses at the root<br />
node, the control center can determine the locked<br />
sectionalizer, and the fault zone can be located.<br />
I(kA)<br />
R3<br />
0.3<br />
0.2<br />
0.1<br />
0<br />
(a) Node 856 permanent fault<br />
0 1 2 3 4 5 6<br />
t/s<br />
1<br />
0 1 2 3 4 5 6<br />
t/s<br />
(b) Node 830 permanent fault<br />
Figure 6. Diagram comparing operation logic with the current<br />
waveform
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 831<br />
The time interval T has relationship with the location<br />
<strong>of</strong> the locked sectionalizer. It shows as Figure 7.<br />
(a) Node 856 permanent fault<br />
(b) Node 830 permanent fault<br />
Figure 7. Relationship between time interval T and location <strong>of</strong> the<br />
locked sectionlizer<br />
The diagram shows that the function between the time<br />
interval <strong>of</strong> two reclosing actions and the setting X-time<br />
limit <strong>of</strong> the locked sectionalizer is as follows:<br />
T ≈ tc1+ tx× d<br />
(6)<br />
where T is the setting time interval between two tripping<br />
actions, tc1 is the setting time <strong>of</strong> the first reclosing and<br />
tc1=1.5s, tx is the X-time limit <strong>of</strong> sectionalizer and tx<br />
=0.7s, d indicates the position <strong>of</strong> the locked fault zone,<br />
for example, when the fault located at node 856, d is set<br />
at 4; when the fault located at node 830, d is set at 2.<br />
So, the second belief assignment m2 can be obtained<br />
through detecting the time interval between two section<br />
fault current at the root node, the process is followed as:<br />
Firstly, the time interval between two fault current<br />
pulses, showed as Figure 8.<br />
© 2011 ACADEMY PUBLISHER<br />
I(kA)<br />
R3<br />
Figure 8. Diagram <strong>of</strong> detection between two fault current pulses<br />
Secondly, a 1×u probability matrix PCk <strong>of</strong> the locked<br />
recloser or sectionalizer corresponding to the protection<br />
zone k is initialized to 0, where u is the maximal number<br />
<strong>of</strong> sectionalizers in the recloser protection zones. The<br />
locked probability <strong>of</strong> each recloser or sectionalizer is<br />
calculated according to the time interval T. The<br />
probability distributions are showed as Figure 9.<br />
Figure 9. Diagram <strong>of</strong> probability distributions <strong>of</strong> the locked<br />
element<br />
Finally, suppose u=5, according to T, the locked<br />
probability <strong>of</strong> recloser and sectionalizer is as follows.<br />
If T0) row <strong>of</strong> PCk is set to p and the<br />
element <strong>of</strong> the d row <strong>of</strong> PCk is set to 1-p. The probability<br />
matrixes <strong>of</strong> other protection zone are composed <strong>of</strong> before<br />
m row <strong>of</strong> the PCk, where m is the number <strong>of</strong><br />
sectionalizers <strong>of</strong> corresponding to protection zone.<br />
For example, the detected time interval between two<br />
fault current pulses is 4.2926s, the belief distribution<br />
matrix is followed as:
832 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
⎡0⎤ ⎢<br />
0<br />
⎥<br />
⎢ ⎥<br />
m23 = PC3=<br />
⎢0⎥ ⎢ ⎥<br />
⎢0⎥ ⎢<br />
⎣1⎥ ⎦<br />
The belief matrix shows that the locked probability <strong>of</strong><br />
the fourth sectionalizer is 1, and the locked probabilities<br />
<strong>of</strong> the other sectionalizers are 0.<br />
E. Fault Location Method Based on D-S Evidence<br />
Theory<br />
The probability matrix PDk and PCk is regarded as m1k<br />
and m2k respectively. Then the m1k and m2k are combined<br />
according to equation (3) and the probability assignment<br />
Pk <strong>of</strong> every protection zone is obtained. The element pri<br />
<strong>of</strong> the matrix PR multiplies the matrix Pk respectively and<br />
the final probability assignment matrix P is obtained.<br />
According to the matrix P, the fault location can be<br />
determined.<br />
IV. SIMULATION ANALYSE<br />
In the simulation model showed as Figure 4, suppose<br />
the permanent fault occurs in the D3 protection zone. The<br />
information matrixes received by the control center<br />
receive from the distribution network are as follows:<br />
⎡1 1 1 1 0⎤<br />
⎡1 1 1 1 0⎤<br />
⎢<br />
0 0 0 0 0<br />
⎥ ⎢<br />
RA ⎢ ⎥<br />
0 1 1 1 1<br />
⎥<br />
= , DA1<br />
= ⎢ ⎥<br />
⎢0 0 0 0 0⎥<br />
⎢1 1 1 1 0⎥<br />
⎢ ⎥ ⎢ ⎥<br />
⎣0 0 0 0 0⎦<br />
⎣1 1 0 0 0⎦<br />
DA 2 = [ 0 0 0 0 0]<br />
,<br />
⎡0 0 0 0 0⎤<br />
⎢<br />
1 0 0 0 0<br />
⎥<br />
⎢ ⎥<br />
⎡0 0 0 0 0⎤<br />
DA3<br />
= ⎢0 0 0 0 0⎥<br />
, DA4<br />
=<br />
⎢<br />
1 0 0 0 0<br />
⎥<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢1 0 1 0 1⎥<br />
⎢⎣1 0 0 0 0⎥⎦<br />
⎢<br />
⎣1 0 0 1 1⎥<br />
⎦<br />
According to above principle, the action probability<br />
matrixes are as follows:<br />
⎡1⎤ ⎡ 0 ⎤<br />
⎢<br />
0<br />
⎥ ⎢<br />
0.2667<br />
⎥<br />
PR = ⎢ ⎥, m11 = PD1 = ⎢ ⎥,<br />
m12 = PD2<br />
= [ 0 ] ,<br />
⎢0⎥ ⎢0.3333⎥ ⎢ ⎥ ⎢ ⎥<br />
⎣0⎦ ⎣ 0.4 ⎦<br />
⎡ 0 ⎤<br />
⎢<br />
0.3409<br />
⎥<br />
⎢ ⎥<br />
⎡ 0 ⎤<br />
m13 = PD1= ⎢0.2727⎥, m14 = PD<br />
⎢<br />
1 = 0.5882<br />
⎥<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢0.2045⎥ ⎢⎣0.4118⎥⎦ ⎢<br />
⎣0.1818⎥ ⎦<br />
The current wave detected at root node 800 is showed as<br />
Figure 4. The calculated time T is 3.6514s. According to<br />
formula (7) and (8), the probability matrix PCk is<br />
obtained as follows:<br />
© 2011 ACADEMY PUBLISHER<br />
⎡ 0 ⎤<br />
⎢<br />
0<br />
⎥<br />
m21 = PC1= ⎢ ⎥,<br />
m22 = PC2=<br />
[ 0]<br />
⎢ 0 ⎥<br />
⎢ ⎥<br />
⎣0.9977⎦ ⎡ 0 ⎤<br />
⎢<br />
0<br />
⎥<br />
⎢ ⎥<br />
⎡0⎤ m23 = PC3= ⎢ 0 ⎥,<br />
m24 = PC<br />
⎢<br />
4 = 0<br />
⎥<br />
⎢ ⎥<br />
⎢ ⎥<br />
⎢0.9977⎥ ⎢⎣0⎥⎦ ⎢<br />
⎣0.0023⎥ ⎦<br />
According to formula (3), the action probability matrix<br />
m=m1⊕ m2 is combined. The element pr1- pr4 <strong>of</strong> the<br />
matrix PR multiplies the matrix m1- m4 respectively and<br />
the final probability assignment matrix P is obtained.<br />
⎡0 0 0 1 0⎤<br />
⎢<br />
0 0 0 0 0<br />
⎥<br />
P = ⎢ ⎥<br />
⎢0 0 0 0 0⎥<br />
⎢ ⎥<br />
⎣0 0 0 0 0⎦<br />
I(kA)<br />
Figure 10. Current wave at root node 800<br />
So, the fault position locates the sectionalizer D3 <strong>of</strong> the<br />
recloser R1 protection zone. The result <strong>of</strong> fault location is<br />
true.<br />
V. CONCLUSION<br />
The fault location method based on the information <strong>of</strong><br />
reclosers and sectionalizers will be wrong when the<br />
electromagnetic interference exits in the communication<br />
system. Using D-S evidence theory, the information <strong>of</strong><br />
reclosers and sectionalizers and the information <strong>of</strong> current<br />
wave at root node can be combined. The combined<br />
information can locate the fault position accurately.<br />
ACKNOWLEDGMENT<br />
This research has been supported by National<br />
Postdoctoral Science Foundation <strong>of</strong> P.R. China<br />
(20090461204), Natural Science Foundation <strong>of</strong> Shandong<br />
Province (ZR2010EL030), Postdoctoral Innovative<br />
Projects <strong>of</strong> Shandong Province (200903066) and Colleges<br />
and universities in Shandong Province Science and<br />
Technology Plan Project (J09LG09).<br />
REFERENCES<br />
[1] J. Liu, J. L. N, and Y. Du, “A unified matrix algorithm for<br />
fault section detection and isolation in distribution system,”
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 833<br />
Automation <strong>of</strong> Electric Power Systems, vol.23, no.1, pp.31-<br />
33, Jan. 1999.<br />
[2] F. G. Zhu, D. S. Sun, Y. B. Yao, and et al, “Optimized<br />
matrix arithmetic <strong>of</strong> line fault location based on field<br />
terminal unit,” Automation <strong>of</strong> Electric Power Systems,<br />
vol.24, no.8, pp.42-44, Aug. 2000.<br />
[3] W. H. Chen, C. W. Liu, and M. S. Tsai, "Fast fault section<br />
estimation in distribution substations using matrix-based<br />
cause-effect networks," Power Engineering Review,<br />
vol.21, no.8, pp.61-61, Aug. 2001.<br />
[4] J. Liu, Z. A. Wang, “A new approach identify faulty<br />
section in distribution system,” <strong>Journal</strong> <strong>of</strong> Xi’an Jiaotong<br />
University, vol.34, no.2, pp.7-10, Feb. 2000.<br />
[5] J. Liu, H. L. Cheng, and P. X. Bi, “A simplified model for<br />
distribution system,” Proceedings <strong>of</strong> the CSEE, vol.21,<br />
no.12, pp. 77-82, Dec. 2001.<br />
[6] Z. Z. Guo, B. Chen, C. P. Liu, and et al, “Fault location <strong>of</strong><br />
distribution network based on genetic algorithm,” Power<br />
System Technology, vol.31, no.11, pp.88-92, Nov. 2007.<br />
[7] H. C. Shu, X. F. Sun, dand D. J. Si, “A study fault<br />
diagnosis in distribution line based on rough set theory,”<br />
Proceedings <strong>of</strong> CSEE, vol. 21, no.10, pp.73-77, 82, Oct.<br />
2001.<br />
[8] Y. M. Sun, Z. W. Liao, “Assessment <strong>of</strong> data mining model<br />
based on the different combination rough set with neural<br />
network for fault section diagnosis <strong>of</strong> distribution<br />
networks,” Automation <strong>of</strong> Electric Systems, vol.27, no.6,<br />
pp.31-35, Jun. 2003.<br />
[9] Q. L. Pang, H. L. Gao, and M. J. Xiang, “Multi-agent<br />
based fault location algorithm for smart distribution grid,”<br />
in Pproceedings <strong>of</strong> 10th IET International Conference on<br />
Developments in Power System Protection. DPSP 2010.<br />
The Hilton Deansgate, Manchester, UK, vol.2010, no.<br />
558CP, pp.55, Apr. 2010.<br />
[10] Y. Y. Wang, Y. Luo, and G. Y. Ru, “Fault location based<br />
on Bayes probability likelihood ratio for distribution<br />
© 2011 ACADEMY PUBLISHER<br />
networks,” Automation <strong>of</strong> Electric Power Systems, vol.29,<br />
no.19, pp.54-57, Sep. 2005.<br />
[11] X. Luo, M. Kezunovic, "Implementing fuzzy reasoning<br />
Petri-Nets for fault section estimation," IEEE Transactions<br />
on Power Delivery, vol.23, no.2, pp.676-685, Apr. 2008<br />
[12] G. H. Zhang, M. Y. Duan, J. H. Zhang, and et al, “Power<br />
system risk assessment based on the evidence theory and<br />
utility theory,” Automation <strong>of</strong> Electric Power Systems,<br />
vol.33, no.23, pp. 1-4, 47, Dec. 2009.<br />
[13] Y. Song, C. S. Wang, “N-k contingency identification<br />
method under double failure incident based on evidence<br />
and functional group decomposition,” Proceeding <strong>of</strong> the<br />
CSEE, vol.28, no.28, pp,47-53, Sept. 2008.<br />
[14] J. Liu, J. L. Ni, and Y. H. Deng, Distribution Automation<br />
System, Beijing: China Water Power Press, 1998.<br />
[15] J. Fei, and Y. D. Shan, “Study <strong>of</strong> automatic fault location<br />
system in the distribution networks,” Proceeding <strong>of</strong> the<br />
CSEE, vol.20, no.9, pp.32-34, 40, Sept. 2000.<br />
[16] Z. X. Han, Power System Analysis, Hangzhou: Zhejiang<br />
Uniniversity Press, 2005.<br />
Qingle Pang was born in Liaocheng, China<br />
on October 28, 1969. He received the B.Sc.<br />
degree in electrical technology from<br />
Shandong University <strong>of</strong> Technology, China<br />
in 1994, and his Ph.D. in control theory and<br />
control engineering from Shandong<br />
University, China in 2007. He was an<br />
associate pr<strong>of</strong>essor in the school <strong>of</strong><br />
Information and Electronic Engineering, Shandong Institute <strong>of</strong><br />
Business and Technology, China. He is now working in<br />
electrical engineering post-doctoral research station from<br />
Shandong University. His research interests are smart<br />
distribution grid, power system protection, fault detection and<br />
location for distribution network. He is an author and coauthor<br />
<strong>of</strong> more than 30 journal papers and conference proceedings.
834 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Study on Remote Aided Diagnosis System <strong>of</strong><br />
Mental Health Base on Export Knowledge Base<br />
Xiaoyong Wang<br />
Intelligent Control Institute Zhejiang Wanli University, P.R.China<br />
wxy0574@126.com<br />
Abstract—By the developing and maturing <strong>of</strong> remote<br />
communications technology, computer network technology<br />
and multimedia technology , internet applications has<br />
passed into a new phase. With the fast developing <strong>of</strong> the<br />
world economy, morbidity rate <strong>of</strong> morbidity rate in every<br />
country shows an upward tendency year by year. According<br />
to the curiative features <strong>of</strong> mental disease, application<br />
principles <strong>of</strong> expert system and the idea <strong>of</strong> object oriented<br />
programming, the paper expatiates the design proposal <strong>of</strong><br />
remote aided diagnosis system base on the Browser-Server<br />
three-layer architecture. This system takes Internet as<br />
platform, puts forth the expendable knowledge base<br />
structure <strong>of</strong> mental illness pr<strong>of</strong>essional field that is suitable<br />
for this system, by the object oriented analytic technique.<br />
And this structure can be mapped the relational database to<br />
set up relevant expert knowledge database. Which breaks<br />
the geographical limitation <strong>of</strong> mental health test, has good<br />
extensibility and usability, and will give a lot <strong>of</strong> assistance to<br />
the diagnosis <strong>of</strong> mental health.<br />
Index Terms—expert knowledge database, remote<br />
communications technology, computer network technology,<br />
Aided Diagnosis System<br />
I. INTRODUCTION<br />
Nowadays , There's a high incidence <strong>of</strong> mental<br />
diseases in every country all around the world, and<br />
according to statistics, mental diseases occupies eight <strong>of</strong><br />
the ten diseases that deprive <strong>of</strong> strength or ability the<br />
most presently. And 70 percent <strong>of</strong> the depression patients<br />
cant not get effective treatment for various reasons. The<br />
suicide rate grows rapidly in the recent decades.<br />
According to the World Health Organization, there was a<br />
60 percent increase <strong>of</strong> suicide rate in the past fifty years.<br />
The number <strong>of</strong> suiciders increased the fastest, and a great<br />
part <strong>of</strong> the suiciders died <strong>of</strong> depression. Mind-cure and<br />
medication are the main two treatments <strong>of</strong> mental<br />
diseases, and those diagnoses are still in a traditional<br />
experience-stage, and mainly depend on various clinical<br />
diagnostic indices and experimental results. Lack <strong>of</strong><br />
diagnostic experience will undoubtedly affect the<br />
diagnostic results. General speaking, it will take a<br />
pr<strong>of</strong>essional doctor several years to practice to<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.834-841<br />
Yuefeng Fang<br />
Zhejiang Wanli University ,P.R.China<br />
fangyf@zwu.edu.cn<br />
accumulate certain experience. The research tasks <strong>of</strong><br />
expert system knowledge dam in artificial intelligence are<br />
to explain and rearrange the expert knowledge <strong>of</strong><br />
pr<strong>of</strong>essional field, and set up man-machine system<br />
inferred and developed from these knowledges. It<br />
provides related knowledges to express the technology,<br />
inferring control-mechanism and problem solving<br />
strategy. Meanwhile, the developing <strong>of</strong> pr<strong>of</strong>essional<br />
artificial intelligence Expert System <strong>of</strong>ten needs<br />
pr<strong>of</strong>essional artificial intelligence development language<br />
and tool, e.g.PROLOG and LISP, andthe system weak in<br />
is very complicated openness and flexibility which will<br />
effect its comprehensive application a lot. How to set up a<br />
intelligent network application system that takes generalpurpose<br />
system as running platform, more open and<br />
flexible in architecture, and easier to infer and reason, is<br />
the direction deserving <strong>of</strong> study [1]. In recent years, by<br />
the development and maturation <strong>of</strong> remote<br />
communication technology, computer network<br />
technology and multimedia technology, these network<br />
database technology, middleware technology, COM<br />
technology and computing paradigm base on Internet and<br />
its Browser and Server provide some basic information to<br />
develop the investigation.<br />
II. PRESENTING OF PLAN AND DESIGN<br />
The design objective <strong>of</strong> remote aided diagnosis sstem<br />
<strong>of</strong> mental health base on export knowledge base is to<br />
make the best <strong>of</strong> existing network technology, computer<br />
technology and modern information technology to set up<br />
a geniusnet based on the pr<strong>of</strong>essional knowledge <strong>of</strong><br />
Psychological Medicine, which can realize computerassisted<br />
instruction while mental health diagnosing and<br />
explain the relevanl knowledge. The consumers can<br />
remote access the system to get a new aids <strong>of</strong> mental<br />
health diagnosing that is more convenient, economical<br />
and practical. The main features are intelligence,<br />
remoteability, usability and extendibility.<br />
A. Logic and Structured Design <strong>of</strong> the System<br />
The system develops the intelligence <strong>of</strong> the inferring<br />
aided diagnosis under the help <strong>of</strong> some information <strong>of</strong> the<br />
AL expert System Field, and the logical structure design
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 835<br />
bases on the fundamental structure <strong>of</strong> expert system and<br />
meets functional requirement, to set up the logical<br />
structure design model, showed as Fig.1.<br />
Figure 1. Logical structure <strong>of</strong> the system<br />
The model mainly contains the following four parts:<br />
knowledge base, intelligent heuristic mechanism,<br />
knowledge base management abbr: KBM, and customer<br />
interface abbr: UI.<br />
• Knowledge Base<br />
The pr<strong>of</strong>essional field knowledge and its creating<br />
dynamic information mentioned in the system is kept in<br />
different types <strong>of</strong> knowledge base, such as large<br />
mathematical library, explanatory base, experimental rule<br />
base, medical symptoms rule base, comprehensive rule<br />
base and dynamic case base.<br />
• Intelligent Heuristic Mechanism<br />
It is used to realize the computer-aided diagnosis ,<br />
equals to inference mechanism.<br />
• Knowledge Base Management ,abbr. KBM<br />
It is used to manage and service for the Knowledge<br />
Base.<br />
• Customer Interface abbr. UI<br />
It provides the customer with a convenient system user<br />
interface.<br />
B. System Architecture Design<br />
In order to manage the functional modules better, and<br />
based on the Logical Structure, a Browser/Server-typed<br />
three-layer architecture is set up by Component Object<br />
Model technology, showed as Fig .2.<br />
Figure 2. Architecture frame <strong>of</strong> the system and the UAP<br />
© 2011 ACADEMY PUBLISHER<br />
Essentially speaking, the system is to use the remote<br />
data information dynamically, and do some related logic<br />
reasoning. That's to say, it is a service system that<br />
provided by the Internet and for the dynamic use <strong>of</strong><br />
medical data information. So the relative ideal model to<br />
analyse the system architecture is that the client ask the<br />
public server for a service, then the server chooses a<br />
proper services application program automatically and<br />
feedback the results <strong>of</strong> execution to the client. Traditional<br />
Client-Server system has many limitations, such as nontelescopic,<br />
hard-to-manage, hard-to-upgrade, hard to<br />
cross the platform, and poor performance, and so on.<br />
While combining with COM component technology and<br />
based on Browser-Server, the three-tier architecture the<br />
weakness <strong>of</strong> the traditional system. It adds WEB server, a<br />
new layer to the traditional Client-Server architecture to<br />
realize a the three-tier architecture which includes<br />
presentation layer, business logic middle layer and db<br />
server layer.<br />
On presentation layer, the Client Browser downloads<br />
HTML pages from the WEB server to make the interface<br />
between the AP and consumers.And the client<br />
components in the page can exchange message with other<br />
client components or server components.<br />
On the business logic middle layer, the server-side<br />
components are packaged up as middle layer to run on<br />
the WEB. It separates the presentation logic from<br />
business logic and application logic to provide data<br />
calculating and accessing, and so on.<br />
On db server layer, all space that components can<br />
access form this layer, such as database system, mail<br />
servers and groupware Server, and so on. Unlike the<br />
traditional two-layer Client-Server structure, these<br />
services do not face to the customer service client directly,<br />
but be carried out by the server components and feedback<br />
the results <strong>of</strong> execution to the client.<br />
In this architecture, there is only formal logic <strong>of</strong> AP<br />
in the client that is browser. That figures out the<br />
disadvantage <strong>of</strong> maintaining, updating and platformcrossing<br />
<strong>of</strong> Client-Server model. The middle layer is to<br />
reflect and maintain the business logic, such as to send<br />
the information <strong>of</strong> presentation layer to db server layer,<br />
manage the complex data, and nalysis and monitor the<br />
spontaneous processes. Middle layer does not undertake<br />
the missions <strong>of</strong> presentation layer and data layer, but to<br />
link and coordinate the two. Therefore, the middle layer<br />
can circulate in different computer from the WEB<br />
Browser , and manage several requests from the WEB<br />
Browser user simultaneity.<br />
This architecture is suit for the design needs <strong>of</strong><br />
remote aided diagnosis system <strong>of</strong> mental health base on<br />
export knowledge base, and realize the changing <strong>of</strong><br />
remote information from static publishing to dynamic<br />
using. Meanwhile, the architecture raises the application<br />
efficiency <strong>of</strong> the data base on WEB, component method<br />
and componentize s<strong>of</strong>tware realize the layering and layercomponenting<br />
<strong>of</strong> business logic, application logic and<br />
presentation logic. The system constructed on Internet<br />
and based on the three-layer logic system adopts the<br />
code-reusing technology to make the best use <strong>of</strong> service-
836 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
independent s<strong>of</strong>tware so as to enhance the efficiency <strong>of</strong><br />
s<strong>of</strong>tware development. That will advance the<br />
maintainability, extendibility and flexibility <strong>of</strong> the<br />
s<strong>of</strong>tware developed.<br />
C. Systematic Function Module Design<br />
By design objective, the schematic diagram <strong>of</strong> basic<br />
systematic function module is showed as the following<br />
Fig .3.<br />
Mental-illness-diagnosing module: It leads the user to<br />
make a whole diagnosis step by step, that is from<br />
symptoms observing, history taking, basic experimental<br />
checking to diagnoses giving, which shows the whole<br />
processes <strong>of</strong> diagnosing.<br />
Knowledge-explaining module: It includes<br />
classification explaining, medical principles explaining<br />
and question answering. The module also gives some<br />
experimental explanations and instructions <strong>of</strong> the<br />
pr<strong>of</strong>essional knowledge <strong>of</strong> related fields, such as to<br />
expound terminology, clinical significance and<br />
interrelation, and so on. And that will give the user a lot<br />
<strong>of</strong> guidances and trainings.<br />
Knowledge management module: It includes the<br />
compiling <strong>of</strong> knowledge base and rule bank. This module<br />
mainly maintains and manages the domain knowledge<br />
and rules to set an interface for knowledge updating and<br />
consummating.<br />
Figure 3. The schematic diagram <strong>of</strong> basic systematic function module<br />
Ⅲ. DEVELOPMENT ENVIRONMENT-CHOOSING OF THE<br />
SYSTEM<br />
The system is a new three-layer architecture by the<br />
model technology <strong>of</strong> COM component object which is<br />
based on Browser-Server model. How to is choose the<br />
appropriate technology and tools to use and develop it is<br />
© 2011 ACADEMY PUBLISHER<br />
crucial to advance the running performance and<br />
developing efficiency <strong>of</strong> the system.<br />
The development <strong>of</strong> WEB's dynamic applications has<br />
its own characteristics. It runs the program <strong>of</strong> server and<br />
promises the customer to exchange with the server and<br />
access the back-end database and build HTML page<br />
dynamically. This development involves a large number<br />
<strong>of</strong> number <strong>of</strong> s<strong>of</strong>tware tools, is much more delicate than<br />
that <strong>of</strong> the traditional Client-Server s<strong>of</strong>twares. In dynamic<br />
WEB-development technology, the ASP technology <strong>of</strong><br />
Micros<strong>of</strong>t and the component-object-matching dynamic<br />
WEB development method are more convenient and<br />
practical. So the system chooses the Visual InterDev <strong>of</strong><br />
Micros<strong>of</strong>t to be the integrated development environment<br />
<strong>of</strong> the dynamic WEB-application development <strong>of</strong> ASP.<br />
The system's WEB thematic framework is developed<br />
under Visual InterDev.<br />
Visual InterDev is the dominant tools developed<br />
cooperating with ASP, and can run the mixed<br />
programming <strong>of</strong> VBScript, Javascript and HTML. It can<br />
integrate with many components developed by third-party<br />
tools, such as VJ++, VB and VC++, and so on, and the<br />
application programs developed has good compatibility.<br />
Furthermore, the system integrates the functions <strong>of</strong><br />
accessing the related database and browsing pages, and so<br />
on, so that the development <strong>of</strong> application programs can<br />
be finished under the same environment, and do not need<br />
to switch back and forth from different tools, which is <strong>of</strong><br />
great convenience.<br />
Moreover, to be the third-party tools, Visual J++<br />
develops the reusable servers and client component<br />
objects for ASP. Visual J++ is the visual integrated<br />
development environment Java-programmed under<br />
Visual Studio by Micros<strong>of</strong>t. It promises the developers on<br />
Windows platform either to write the Java code by the<br />
Pure Java mode <strong>of</strong> Sun Company, or to write the more<br />
practical and efficient Java WEB application programs by<br />
taking the best use <strong>of</strong> Windows platform. And Micros<strong>of</strong>t<br />
also promises the cross call between Java and COM<br />
components, that is either to write COM components by<br />
the advantage <strong>of</strong> Java language, or to improve<br />
programming efficiency by adding the resources <strong>of</strong><br />
Windows platform into Java application. The custom<br />
components used in the system is developed by VJ++,<br />
such as information input component <strong>of</strong> Client, like BSH<br />
inputctrl and zhenzhi nputctrl, and inference control<br />
components <strong>of</strong> Server, like reasonctrl.<br />
Ⅳ. PRESENTING OF PLAN AND DESIGN<br />
According to the structure <strong>of</strong> the logical component <strong>of</strong><br />
the system in Fig.1, the system logically consists <strong>of</strong> four<br />
parts: knowledge base, knowledge base management,<br />
intelligent thought-provoking mechanisms and user<br />
interface.Knowledge base is actually a back-end database,<br />
storing the dynamic use <strong>of</strong> specialistic knowledge data.<br />
The knowledge needed in the field <strong>of</strong> the inference and<br />
the explanation, and the dynamic information produced in<br />
facts, rules and the dynamic operation process are stored<br />
here (ie, integrated database). Meanwhile, the back-end
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 837<br />
database provides a basic database management for the<br />
maintenance and management <strong>of</strong> such information.<br />
Smart stimulating mechanism <strong>of</strong> the system is a logic<br />
to accomplish some <strong>of</strong> the specific business, such as the<br />
diagnostic process guidance. It implements part <strong>of</strong> the<br />
core functionality <strong>of</strong> the system. It needs to access and<br />
manipulate the knowledge base (ie, back-end database)<br />
frequently. So it should be put server-side to achieve it.<br />
One part runs on the server as the server-side script, while<br />
the other parts which are more complex are compiled into<br />
COM components by using VJ + +, and they work as<br />
server-side plug-in type objects. In other words, it<br />
functions as the connection between middle-tier<br />
application services and Web network servers.<br />
User interface is actually the one for the user and the<br />
system to interact with. This system runs the ASP page<br />
through the browser. When ASP technology is used and<br />
integrated scripting language and HTML for Web<br />
programming are combined with some custom ActiveX<br />
components, a dynamic interactive remote user interface<br />
will come into existence.<br />
Knowledge Base Management is responsible for the<br />
maintenance and management <strong>of</strong> datas in Knowledge<br />
Base. And it actually maintains and manages a back-end<br />
database, namely, completing some functions <strong>of</strong> Web<br />
database system. The system uses integrated ASP<br />
powerful Web database access features and server-side<br />
scripting to achieve its functionality.<br />
The following are the description <strong>of</strong> the various parts<br />
<strong>of</strong> the specific implementation technology.<br />
A. Establishment and Management <strong>of</strong> the Knowledge<br />
Base<br />
Knowledge is an important component <strong>of</strong> this<br />
component in realizing the remote diagnosis <strong>of</strong> mental<br />
health. After the exchange <strong>of</strong> experts in the field, the<br />
following are my analysis on the uses <strong>of</strong> the domain<br />
knowledge in this system:<br />
From knowledge-level point <strong>of</strong> view, the goal <strong>of</strong> the<br />
system-level knowledge is divided into descriptive<br />
knowledge (Kd) and process knowledge (Kp).<br />
Descriptive knowledge provides factual and conceptual<br />
knowledge in the field, specifically knowledge in the<br />
field <strong>of</strong> psychological medicine and concepts, such as:<br />
mental illness, laboratory examination, medical history or<br />
the concept note <strong>of</strong> the symptoms. Procedural knowledge<br />
is knowledge <strong>of</strong> reasoning, specifically the knowledge <strong>of</strong><br />
guiding the rules and heuristic <strong>of</strong> medical diagnostic<br />
procedure in Medicine.<br />
From the knowledge representation point <strong>of</strong> view, the<br />
structural system <strong>of</strong> knowledge includes concepts, facts<br />
and rules, namely, K = C + F + R.(K: items; C: concept;<br />
F :facts; R :rules.). As the concept is usually included in<br />
the facts, actually knowledge base contains facts and<br />
rules.<br />
The rule is in the form <strong>of</strong> the following description:<br />
::=( ,<br />
||......<br />
,)<br />
© 2011 ACADEMY PUBLISHER<br />
In the description, the premise and conclusion are<br />
facts. Therefore, from the logical point <strong>of</strong> view <strong>of</strong><br />
knowledge, there are only two kinds <strong>of</strong> predicating rules<br />
and facts in systemic knowledge base. However, from the<br />
data point <strong>of</strong> view<strong>of</strong> the relational model <strong>of</strong> data, two<br />
kinds <strong>of</strong> relationships exist in the base, and they can<br />
create two kinds <strong>of</strong> tables, rules tables and fact tables.<br />
All the information needed and produced dynamically<br />
in the process <strong>of</strong> system running, including intermediate<br />
results and diagnostic records, are all stored in the<br />
comprehensive database (database server), for example,<br />
the target model structure <strong>of</strong> a patient.<br />
Through the analysis <strong>of</strong> the characteristics <strong>of</strong> domain<br />
knowledge and application <strong>of</strong> object-oriented data<br />
modeling methods, the database tables and structures in<br />
knowledge base are established [2]. there are three main<br />
types <strong>of</strong> data tables in Knowledge base, as shown in<br />
Table 1.<br />
TABLE I. TABLE CLASSIFICATION, FUNCTION AND COMPOSITION<br />
OF EXPERT KNOWLEDGE BASE<br />
By the usability, readability and expandability, which<br />
are needed while setting the knowledge base, the system<br />
chooses SQL Server to be the db server., which is the<br />
high-performance relational database management<br />
system produced by Micros<strong>of</strong>t.<br />
B. Data Access Implementation Technology <strong>of</strong> Expert<br />
Knowledge Base<br />
The accession and management to the knowledge base<br />
in the system are realized by the OLE DB and ADO<br />
technologies <strong>of</strong> Micros<strong>of</strong>t.
838 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
ADO technology synthesizes the advantages <strong>of</strong><br />
Remote Data Objects, abbr. RDO, and Data Access<br />
Objects, abbr. DAO. The object hierarchy <strong>of</strong> ADO is<br />
showed as Fig .4.<br />
Figure 4. The object hierarchy <strong>of</strong> ADO<br />
ADO is supported by many programming languages<br />
and development environments,both <strong>of</strong> Visual J++ and<br />
Active Server Pages used in the system support it. And<br />
ADO can be used in VBScript, so it is suitable for the<br />
integration <strong>of</strong> WEB or database server-side very much.To<br />
realize the application <strong>of</strong> WEB, the system use the<br />
VBScript <strong>of</strong> Active Server Pages to support ADO [3].<br />
For example, the linking <strong>of</strong> Diseases Table and<br />
displaying its contents by browser can be realized by the<br />
asp files including the following statement.<br />
<br />
<br />
<br />
<br />
<br />
<br />
Introduction <strong>of</strong> mental<br />
illness<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Title ID<br />
<br />
<br />
<br />
Title<br />
<br />
<br />
© 2011 ACADEMY PUBLISHER<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
C. The implementation process <strong>of</strong> the intelligent<br />
systemic stimulating mechanism<br />
The intelligent stimulating mechanism <strong>of</strong> the system is<br />
a specific business logic to accomplish. Namely, it is used<br />
to complete the process <strong>of</strong> a remote diagnosis, through<br />
the use <strong>of</strong> psychological knowledge base stored in the<br />
medical domain knowledge, heuristic knowledge and<br />
dynamics <strong>of</strong> factual information, combined with a certain<br />
degree <strong>of</strong> reasoning control strategies.<br />
With the help <strong>of</strong> the heuristic knowledge, the System<br />
combines data-driven and goal-driven to realize the<br />
intelligent diagnosis inspired by the mechanism. Here are<br />
two types <strong>of</strong> knowledge in the rules <strong>of</strong> the system. One is<br />
the solution-based rules.In the diagnosis process can<br />
provide direct guidance <strong>of</strong> heuristic knowledge rules,<br />
generally the experience <strong>of</strong> the psychological knowledge<br />
<strong>of</strong> medical experts. It can direct the diagnosis or draw<br />
conclusions prompt the diagnostic information needed for<br />
the next step, under the guidance <strong>of</strong> the existing<br />
dynamical factual information (patient history, symptoms,<br />
laboratory test results information). The other one is the<br />
testing rules. In these rules, the necessary diagnostic<br />
conditions for a certain kind <strong>of</strong> conclusion are given, and<br />
if the existing information is able to meet these conditions,<br />
the conclusions are drawn. The former is used in datadriven<br />
strategy, while the latter is used in goal-driven<br />
strategy. Intelligent instructive mechanisms in Fig.5 are<br />
put forward with the combination <strong>of</strong> both strategies [4].<br />
From the figure, we can see that in the diagnosis process,<br />
patients have a a predetermined model, which contains a<br />
number <strong>of</strong> items to store and describe the properties <strong>of</strong><br />
the existing dynamic factual information. the solutionbased<br />
rules are actually the use <strong>of</strong> rules-based data-driven<br />
strategy coupled with enlightening information. It makes<br />
full use <strong>of</strong> the link between the information <strong>of</strong><br />
predetermined model s and the pr<strong>of</strong>essional knowledge <strong>of</strong><br />
the system. or directly gives conclusions or rule-based<br />
model <strong>of</strong> the scheduled expansion <strong>of</strong> the items contained<br />
in the attributes to obtain the diagnostic information<br />
necessary to promote the efficient and accurate diagnostic
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 839<br />
process. When the system model information is not<br />
intended to provide adequate solution-based rules, we can<br />
combine goal-driven strategies, and make use <strong>of</strong><br />
empirical rules <strong>of</strong> the knowledge to identify the<br />
conditions diagnosed in whole or in part to meet the<br />
intended model <strong>of</strong> existing information and diseases <strong>of</strong><br />
the highest degree <strong>of</strong> confidence as a test target. If an<br />
exact match is given, the conclusions will be drawn. If it<br />
is partially matched, we should extend the items <strong>of</strong> a<br />
predetermined model to provide diagnostic information<br />
on the direction <strong>of</strong> the heuristic. After the extension <strong>of</strong> a<br />
predetermined model, we should start from the<br />
application <strong>of</strong> the solution-based rules, and repeat the<br />
process <strong>of</strong> the combining data-driven and goal-driven,<br />
and then constantly deepen the end and to complete the<br />
diagnostic process [5].<br />
Figure 5. the map <strong>of</strong> the process <strong>of</strong> Intelligent inspired mechanism<br />
In the running process <strong>of</strong> the system, this part needs to<br />
access the knowledge base frequently (ie, back-end<br />
database) and complete the corresponding logical<br />
control.Considering the servering efficiency <strong>of</strong> the system,<br />
it is realized on the server-side. Some runs on the server<br />
as scripted server pages, and other complicated hardcore<br />
are used as plug-in object <strong>of</strong> the server written as COM<br />
components by VJ++.<br />
Here the paper takes reasonctrl, the user-defined<br />
functional components <strong>of</strong> the intelligent heuristic<br />
© 2011 ACADEMY PUBLISHER<br />
mechanism for example, to analyse the development<br />
processes <strong>of</strong> VJ++ components.<br />
• To set up ADL File<br />
When Java develops the COM components, the first<br />
step is to provide the definitions and interfaces for COM<br />
-Creatable Classes by Interface Description Language,<br />
abbr. IDL.<br />
The interfaces can only use the COM-Classes that can<br />
be mapped to Java, and OLE is a good choice to be<br />
compatible types and dual interface automatically. A dual<br />
interface component promises to be called both by vtable<br />
and IDispatch. And that promises the server objects<br />
written by Java to be accessed by other programs in<br />
different languages completely.<br />
To set up ADL Files for reasonctrl similar to the<br />
following form,<br />
#include <br />
#include <br />
[<br />
uuid(24BCB100-C7DE-11D4-9423-00E04C67FDDB),<br />
version(1.0),<br />
]<br />
library reasonctrlLib<br />
{<br />
importlib(“stdole2.tlb”);<br />
[ object,<br />
uuid(24BCB101-C7DE-11D4-9423-00E04C67FDDB),<br />
dual,<br />
pointer_default(unique)<br />
]<br />
interface Ireasonctrl:IDispatch<br />
{<br />
import”oaidl.idl”;<br />
HRESULT reason([out] BSTR* pbstrResult );<br />
......<br />
};<br />
[<br />
uuid(24BCB102-C7DE-11D4-9423-00E04C67FDDB),<br />
JAVACLASS(“reasonctrl.reasonctrl”),<br />
PROGID(“reasonctrl.reasonctrl”),<br />
]<br />
coclass Creasonctrl<br />
{<br />
[defualt] interface Ireasonctrl;<br />
......<br />
};<br />
};<br />
• To set up type-library file<br />
That is to compile the IDL files into specific typelibrary<br />
files. IDL Compiler <strong>of</strong> Micros<strong>of</strong>t can compile the<br />
reasonctrl.idl files into reasonctrl.tlb ones., and then<br />
check and see if the contents <strong>of</strong> type -library meet the<br />
requirements or not by OLE Object Viewer.<br />
• To set up the shell-type <strong>of</strong> Java<br />
The next thing to do is to set up the shell-type <strong>of</strong> Java<br />
for, and type-conversing tools can do this job, such as<br />
Creasonctrl.class and Ireasonctrl.class. Creasonctrl is the<br />
shell-type <strong>of</strong> COM and by which, the reasonctrl samples<br />
<strong>of</strong> COM are set up. Ireasonctrl is the interface shell type
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 841<br />
Xiaoyong Wang, who is an associate pr<strong>of</strong>essor, was born in<br />
Hefei Anhui Province in 1968, got Master <strong>of</strong> Engineering in<br />
computer application technology in 2001 from Xidian<br />
University, Xi'an Shanxi Province.<br />
She is now doing researches and teaching activities mainly<br />
in Computer Intelligent-controlling and Application-s<strong>of</strong>tware<br />
Development. She participated in WSEAS International<br />
Conference 2007 in Ningbo, Zhejiang, China, 2007. Main<br />
contributions include Research on key technology for the global<br />
goods tracing informational platform, 2008. A Fuzzy Clustering<br />
Algorithm for Intelligent Mining <strong>of</strong> Internet Texts , in Computer<br />
Simulation, Beijing, July 2009<br />
Yuefeng Fang, who was born in Chaohu Anhui province in 1<br />
965, is a Master and senior engineer, his main research is on Inf<br />
ormation Engineering<br />
© 2011 ACADEMY PUBLISHER
842 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Application <strong>of</strong> Fault Phenomenon Vector<br />
Distance Discriminance in Woodworking<br />
Machinery System Fault Diagnosis<br />
Yun-Jie Xu<br />
School <strong>of</strong> Engineering, Zhejiang Agricultural & Forestry University, Lin’an, China<br />
Email: xyj9000@163.com<br />
Shu-Dong Xiu<br />
School <strong>of</strong> technology, Zhejiang Agricultural & Forestry University, Lin’an, China<br />
Email: sdxiu@zafu.edu.cn<br />
Quan-Sheng Men and Liang Fang<br />
School <strong>of</strong> technology, Zhejiang Agricultural & Forestry University, Lin’an, China<br />
Email: {menqs, lfang}@zafu.edu.cn<br />
Abstract—Aiming at the problem <strong>of</strong> diagnosis difficulty<br />
caused by too many factors <strong>of</strong> woodworking machinery<br />
system, a kind <strong>of</strong> diagnosing method based on fault<br />
phenomenon was presented. The research on woodworking<br />
machinery system fault phenomenon space arrived at<br />
conclusion that the emergency <strong>of</strong> each fault phenomenon<br />
subject to 0-1 distribution. Therefore, phenomenon vector<br />
corresponding to each fault formed cluster whose<br />
accumulation point is expectation <strong>of</strong> vector. After exclusion<br />
<strong>of</strong> abnormal vectors, the distance discrimination was used to<br />
fault diagnosis to establish expert system based on fault<br />
phenomenon vector. The confirmed result was return back<br />
to fault database so that the system achieve self-learning <strong>of</strong><br />
real-time diagnosis experiences. Finally, the example on<br />
wood-wool working equipment proves that the diagnostic<br />
method has characteristics <strong>of</strong> good real-time, simple<br />
operation and high diagnostic accuracy.<br />
Index Terms—woodworking machinery system, distance<br />
discrimination, fault phenomenon vector, fault diagnosis<br />
I. INTRODUCTION<br />
The diagnosis <strong>of</strong> composite fault occurred in<br />
woodworking machinery is a difficult challenge at<br />
present. It is hard to diagnose the composite fault exactly<br />
and comprehensively due to the diversity and influence <strong>of</strong><br />
faults. The purpose <strong>of</strong> woodworking machinery fault<br />
diagnosis is to identify whether the technical state is<br />
normal and determine the nature and site <strong>of</strong> faults from<br />
information related to mechanics running. Its essence is<br />
to find a mapping from fault phenomenon space to fault<br />
space. In order to accurately find the relationship to<br />
maximize extend, many scholars research on increasingly<br />
complex woodworking machinery system and presented<br />
many fault diagnosis methods based on the idea <strong>of</strong> expert<br />
Manuscript received December 29, 2010; revised January 15, 2011;<br />
accepted January 21, 2011.<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.842-848<br />
system. The fault diagnosis <strong>of</strong> woodworking machinery is<br />
artificial neural network, grey model [1, 2] and Support<br />
vector machine (SVM). In back propagation artificial<br />
neural network (BP-ANN), traditional empirical risk<br />
minimization (ERM) is used on training data set to<br />
minimize the error. Support vector machine (SVM) based<br />
on statistical learning theory is used in many applications<br />
<strong>of</strong> machine learning because <strong>of</strong> its high accuracy and<br />
good generalization capabilities [3, 4].The expert system<br />
based on neural network and genetic algorithm has<br />
disadvantages <strong>of</strong> slow convergence speed <strong>of</strong> training <strong>of</strong><br />
network or samples, so it is difficult to complete diagnose<br />
task that has high real-time requirements [5, 6, 7, 8, 9].<br />
Although Levenberg-Marquardt (L-M) algorithm can<br />
overcome the shortcomings, L-M algorithm is a<br />
combination <strong>of</strong> gradient method and Gauss-Newton<br />
method. With t he aid <strong>of</strong> the approximate second<br />
derivative, the L-M algorithm is more efficient than t he<br />
gradient method. Concerned wit h t he t raining process<br />
and accuracy, the L-M algorithm is superior to vary<br />
learning rate BP-ANN and SVM [10, 11]. It greatly<br />
increased complexity <strong>of</strong> computation and difficulty <strong>of</strong><br />
design. Fault diagnosis expert system based on fuzzy<br />
theory can describe system fuzzy state, but the key<br />
reasoning technology is still at the stage <strong>of</strong> theoretical<br />
study and far away from the application. In contrast, it is<br />
simple to design and realize traditional fault diagnosis<br />
expert system based on rules. However, expert system<br />
based on rules has two bottlenecks <strong>of</strong> rule making and<br />
knowledge acquisition [12,13]To resolve rule making<br />
problem with complex strategy solving rule is easy to<br />
return to complex algorithms as neural network and<br />
genetic algorithm, the problem becomes complex again.<br />
Machine learning played good effecting solving problem<br />
<strong>of</strong> knowledge acquisition, while the machine learning<br />
strategy is not universal and is prone to induce<br />
combination explosion. Through the research on
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 843<br />
probability distribution <strong>of</strong> fault phenomenon and<br />
clustering characteristic <strong>of</strong> phenomenon group caused by<br />
faults, the paper applied the idea <strong>of</strong> distance<br />
discrimination in diagnose strategy. The diagnosis result<br />
was feedback to fault database, which provide good<br />
solution to solving two problems <strong>of</strong> traditional expert<br />
system based on rules, so that the complexity <strong>of</strong> system<br />
structure and s<strong>of</strong>tware design difficulty greatly reduced<br />
and diagnostic efficiency and engineering practicability<br />
greatly enhanced. Finally, Monte Carlo sampling and<br />
example <strong>of</strong> hydraulic excavator proves that the diagnostic<br />
method has characteristics <strong>of</strong> good real-time, simple<br />
operation and high diagnostic accuracy. The specific<br />
arrangement <strong>of</strong> the paper is as follows: Section 2 builds<br />
mathematical model <strong>of</strong> fault phenomenon vector; Section<br />
3 determines key techniques <strong>of</strong> fault phenomenon vector<br />
distance discrimination method; Section 4 performs<br />
simulation verification <strong>of</strong> the method taking wood-wool<br />
working equipment as example; Section 5 concludes our<br />
work.<br />
II. FAULT MODEL ESTABLISHMENT<br />
A. Mathematical Description <strong>of</strong> Fault Vector<br />
Phenomenon<br />
There are many factors led to fault <strong>of</strong> woodworking<br />
machinery system, most <strong>of</strong> which are not major. Under<br />
the influence <strong>of</strong> many non-essential factors, the<br />
phenomenon represented by faults that caused by few<br />
major factors appeared random. There are following<br />
facts: a fault may lead to simultaneous multiple<br />
phenomenons; occurrence <strong>of</strong> a fault phenomenon may be<br />
caused by different fault; multiple possible fault<br />
phenomenon caused by a fault is not certain, but<br />
statistically law.<br />
Assume the faults <strong>of</strong> system are single fault. We can<br />
know from statistics that there have n types <strong>of</strong> fault in the<br />
running history <strong>of</strong> system S, which forms a fault<br />
set F = { Fi<br />
| 1≤<br />
i ≤ n}<br />
, where Fi is the i-th type fault. We<br />
can also know that there are m types <strong>of</strong> fault phenomenon<br />
caused by n types fault, the set <strong>of</strong> which<br />
is I = { Ii<br />
| 1≤<br />
i ≤ m}<br />
.<br />
Define vector D = ( d1,<br />
d2,<br />
�,<br />
dm)<br />
, di ∈ B = { 0,<br />
1}<br />
,<br />
( 1≤<br />
i ≤ m)<br />
whose component is a boolean variable to<br />
represent a fault phenomenon group, which is called as<br />
fault phenomenon vector. Among them, di=1 says that the<br />
i-th phenomenon in set i occurs, di=0 says it does not<br />
occur. As phenomenon caused by a fault constitutes a<br />
vector, for the fault Fi, the set constituted by all possible<br />
fault phenomenon vectors is exactly a subspace <strong>of</strong> m<br />
dimensional boolean space, which is denoted as Vi. For<br />
different fault Fi and Fj ( i ≠ j ), the constituted<br />
subspaces Vi and Vj are not different, but there may be<br />
common ground. If Vi and Vj are basically same, and the<br />
spatial distribution <strong>of</strong> fault phenomenon is probably<br />
same, the fault Vi and Vj are in a fuzzy set, in other words,<br />
it is difficult to distinguish the two faults from the<br />
© 2011 ACADEMY PUBLISHER<br />
phenomenon. Each dimension <strong>of</strong> fault phenomenon is<br />
subject to 0-1 distribution and respectively has a<br />
expectation pi, then the fault phenomenon vector has a<br />
expectation µ . All fault phenomenon vector caused by Fi<br />
is the vector family around µ in the space. In other<br />
words, the fault phenomenon vector caused by each fault<br />
is a natural clustering whose accumulation point is the<br />
expectation vector. With the above definition, fault<br />
diagnosis becomes such a problem: given a fault<br />
phenomenon vector D, to determine i with a method, so<br />
that D ∈ Vi<br />
.<br />
B. Establishment <strong>of</strong> Expert System Model<br />
The whole fault diagnosis system is an expert system.<br />
The process <strong>of</strong> wood-wool working equipment fault<br />
diagnosis is shown in Fig. 1. Consists <strong>of</strong> three main<br />
stages flow is as follows:<br />
(a) Retrieving<br />
According to the current fault phenomenon and<br />
symptoms <strong>of</strong> the wood-wool working equipment, retrieve<br />
the similar case from a database. If the case is suited to<br />
the current fault phenomenon <strong>of</strong> the equipment<br />
Current state <strong>of</strong><br />
equipments<br />
Fault<br />
database<br />
Make a conclusion <strong>of</strong><br />
diagnose<br />
Retrieving Retrieving Judge Suited<br />
case<br />
case<br />
Revise index<br />
Store<br />
Similar<br />
case<br />
Reasoning<br />
machine<br />
Diagnosis success<br />
probability order<br />
table<br />
Synthesize Transfer<br />
Determine diagnosis<br />
success probability<br />
based on probability<br />
Fault phenomena<br />
vector<br />
Distance<br />
determinati<br />
on rule<br />
database<br />
Explain<br />
machine<br />
Make a conclusion<br />
<strong>of</strong> diagnose<br />
Figure 1. Fault diagnosis expert system model
844 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
completely, quote the case directly and make a<br />
conclusion.<br />
(b) Modifying<br />
It takes fault phenomenon vector as input and to reason<br />
with explained distance discrimination rules and past<br />
fault data. The reasoning machine issued a diagnostic<br />
probability order table <strong>of</strong> diagnosis result according to<br />
discrimination analysis rules, where the fault with<br />
maximum probability is the preferred result, and others<br />
are options by decreasing order <strong>of</strong> probability. If the case<br />
is not matched completely, The diagnostic probability<br />
order table will be available to maintenance personnel for<br />
reference <strong>of</strong> further confirm, use the Distance<br />
determination rule database, parts fault characteristic and<br />
actions record [16] etc. to Reasoning, adjust, rewrite,<br />
match and synthesize the case which has been retrieved<br />
according to the current fault phenomenon <strong>of</strong> equipment.<br />
(c) Storing<br />
Make the corrected case in keeping with the diagnosis<br />
<strong>of</strong> the current fault phenomenon, and make a conclusion.<br />
At the same time, the confirmed result will be fed back to<br />
fault database for record to prepare for the next diagnostic<br />
reference.<br />
The distance discrimination was used to fault diagnosis<br />
to establish expert system based on fault phenomenon<br />
vector. The core <strong>of</strong> fault diagnosis is that it can<br />
memorize/store the former fault, its environments and the<br />
process accurately, furthermore, it uses the past diagnosis<br />
experience, process and methods to complete the current<br />
diagnosis through analogy and association while<br />
diagnosing. Therefore, fault diagnosis based on fault<br />
phenomenon vector is a kind <strong>of</strong> methods realized through<br />
analogy [17, 18], and its design mode is to utilize the past<br />
designed case directly instead <strong>of</strong> the summary <strong>of</strong> design<br />
experience.<br />
III. KEY TECHNIQUES<br />
A. Rule-Based Diagnostic Expert Systems<br />
In the rule-based systems, knowledge is represented in<br />
the form <strong>of</strong> production rules. A rule describes the action<br />
that should be taken if a symptom is observed. The<br />
empirical association between premises and conclusions<br />
in the knowledge base is their main characteristic. These<br />
associations describe cause-effect relationships to<br />
determine logical event chains that were used to represent<br />
the propagation <strong>of</strong> complex phenomena. The general<br />
architecture <strong>of</strong> these systems includes domain<br />
independent components such as the rule representation,<br />
the inference engine and the explanation system. Basic<br />
structure <strong>of</strong> a classical rule-based expert system is shown<br />
in Fig. 2.<br />
Expert diagnosis experiences suitably formatted<br />
consists the basis for the classical expert system approach.<br />
Fault diagnosis requires domain specific knowledge<br />
formatted in a suitable knowledge representation scheme<br />
and an appropriate interface for the human-computer<br />
dialogue. In this system the possible symptoms <strong>of</strong> faults<br />
are presented to the user in a screen where the user can<br />
click the specific symptom in order to start a searching<br />
© 2011 ACADEMY PUBLISHER<br />
Fault<br />
database<br />
Knowledge<br />
base<br />
Distance<br />
determination rule<br />
database<br />
User<br />
interface<br />
maintenance<br />
personnel<br />
Inference<br />
engine<br />
Expert<br />
Figure 2. Basic structure <strong>of</strong> a rule-based expert system.<br />
process for the cause <strong>of</strong> the fault. Additional information<br />
about checking or measurements is used as input that, in<br />
combination with stored knowledge in the knowledge<br />
base guide to a conclusion [19, 20, 21, 23].<br />
B. Reasoning Rules Formulation<br />
The formulation <strong>of</strong> rules needs to resolve problem <strong>of</strong><br />
fault data table design. Table 1 is the designed fault data<br />
table <strong>of</strong> F1, where each line represents a fault<br />
phenomenon vector.<br />
Using the above method, we can build fault data table<br />
for each Fi. Each fault phenomenon obeys standard 0-1<br />
distribution, the value <strong>of</strong> which is shown in (1). The<br />
expectation <strong>of</strong> each phenomenon is pij, where i represent<br />
that the phenomenon is caused by the i-th fault; j<br />
F1<br />
TABLE I.<br />
DATA TABLE OF F1<br />
Phenomenon<br />
Number I1 I2 I3 I4 … Im<br />
1 1 0 0 1 … 1<br />
2 1 0 1 0 … 0<br />
3 0 0 1 1 … 0<br />
4 1 0 1 0 … 0<br />
5 1 0 1 1 … 0<br />
6 1 0 1 0 … 0<br />
7 1 0 1 1 … 0<br />
8 0 0 0 1 … 0<br />
9 1 0 0 0 … 0<br />
10 1 1 1 0 … 0<br />
… … … … … … …<br />
Total 1000 913 11 946 583 … 50
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 845<br />
represents that this phenomenon is the j-th phenomenon<br />
in the set; N is the sample data amount <strong>of</strong> this fault; Iijt<br />
represents that the t-th fault phenomenon vector <strong>of</strong> fault i<br />
is caused by the j-th component.<br />
N<br />
∑<br />
I ijt<br />
*<br />
µ i = ( p ij ) j=<br />
1,<br />
2,<br />
� , m<br />
t=<br />
1<br />
= (<br />
N<br />
) j=<br />
1,<br />
2,<br />
�,<br />
m (1)<br />
The variance is as (2):<br />
2<br />
r = ( S )<br />
i<br />
ij<br />
1<br />
= (<br />
N −1<br />
j=<br />
1,<br />
2,<br />
�,<br />
m<br />
N<br />
∑( I ijt −<br />
t=<br />
1<br />
p<br />
ij<br />
)<br />
2<br />
)<br />
j=<br />
1,<br />
2,<br />
�,<br />
m<br />
Covariance between different phenomenons is as (3):<br />
∑<br />
= [<br />
= [ σ ]<br />
i<br />
iuv u×<br />
v=<br />
m×<br />
m<br />
N<br />
∑I<br />
iukI<br />
ivkP(<br />
Iiuk,<br />
Iivk<br />
) ] u×<br />
v=<br />
m×<br />
m<br />
k=<br />
1<br />
( iuk , ivk I I<br />
(2)<br />
(3)<br />
Where, P ) is the joint probability <strong>of</strong> two<br />
fault phenomenon, which has only four cases as (4):<br />
⎧P(<br />
0,<br />
0)<br />
⎪<br />
P(<br />
0,<br />
1)<br />
P( I , I ) = ⎨<br />
(4)<br />
iuk ivk<br />
⎪ P(<br />
1,<br />
0)<br />
⎪<br />
⎩ P(<br />
1,<br />
1)<br />
The research on woodworking machinery system fault<br />
phenomenon space arrived at conclusion that the<br />
emergency <strong>of</strong> each fault phenomenon subject to 0-1<br />
independent and has the same distributions, That denoted<br />
as Ii1, Ii2 , . . . , Iin. With finite expected value<br />
*<br />
2<br />
µ i = E(<br />
Iij<br />
) and finite variance σ i = D(<br />
Iij<br />
) .<br />
Let Sn = Ii1 + Ii2 + … + Iin.<br />
2<br />
2 Sn<br />
σ i<br />
We know D( Sn<br />
) = nσ<br />
i , D(<br />
) = Also we<br />
n n<br />
S ∗<br />
know that E( ) = µ<br />
n<br />
n<br />
.<br />
We know from the large number law,by chebyshev’s<br />
inequality, then for anyε > 0 , as (5):<br />
2<br />
⎛ Sn<br />
* ⎞ σ i<br />
P⎜<br />
− µ i ≥ ε ⎟ ≤ . (5)<br />
2<br />
⎝ n ⎠ nε<br />
Thus, for fixed ε as (6):<br />
⎛ Sn<br />
* ⎞<br />
P ⎜ − µ i ⎟ ≥ ε → 0<br />
(6)<br />
⎝ n ⎠<br />
As n → ∞ . Equivalently as (7):<br />
⎛ Sn<br />
* ⎞<br />
P ⎜ − µ i ⎟ < ε → 1.<br />
(7)<br />
⎝ n ⎠<br />
That when the number <strong>of</strong> sample goes to infinity, the<br />
expectation limit <strong>of</strong> samples is equal to that <strong>of</strong> the overall<br />
is shown in (5-7) and sample variance is equal to that <strong>of</strong><br />
© 2011 ACADEMY PUBLISHER<br />
overall, the covariance <strong>of</strong> sample is equal to that <strong>of</strong><br />
overall [22].<br />
As Table 1 shows, the expectation <strong>of</strong> I1 caused by F1 is<br />
equal to p11=913/1000 =0.913. Furthermore, the<br />
*<br />
expectation fault phenomenon vector <strong>of</strong> fault Fi is µ i ,<br />
which is the accumulation point according to probability<br />
distribution in the space <strong>of</strong> all fault phenomenon caused<br />
by Fi. The discrimination analysis idea indicates that<br />
*<br />
when perform distance discrimination <strong>of</strong> all µ i and fault<br />
phenomenon vector to be diagnosed, then the fault<br />
phenomenon vector is possible belong to the x-th space.<br />
That is the probability that it caused by the x-th is the<br />
largest. In this way, the order result from little to large<br />
will led to sort <strong>of</strong> diagnose probability descending. The<br />
distance here can be Euclidean distance as (8), or be<br />
Mahalanobis distance as (9):<br />
*<br />
i<br />
Dis = µ − µ<br />
i<br />
=<br />
∑ ∞<br />
j=<br />
1<br />
( d − p )<br />
j<br />
T<br />
i<br />
ij<br />
∑ −1<br />
*<br />
( D −<br />
i<br />
i<br />
*<br />
Dis ( x,<br />
G)<br />
= ( D − ) µ )<br />
i<br />
Where, ∑ −1<br />
i<br />
(8)<br />
µ (9)<br />
is the inverse matrix <strong>of</strong> covariance<br />
matrix.<br />
The Euclidean distance is intuitive, while the<br />
Mahalanobis distance needs to compare and discriminate<br />
the standard overall phenomenon caused by each fault, so<br />
to as reflect reality. In the practical application,<br />
Mahalanobis distance needs to know the inverse matrix<br />
<strong>of</strong> covariance matrix among all phenomenon, which<br />
involve inverse operation, so it ie relatively complex.<br />
C. Design <strong>of</strong> Learning Strategy<br />
When the system is built, we should summarize expert<br />
diagnosis experience and input. The automatic learning in<br />
system running process can add conformed fault<br />
phenomenon vector into fault database. The sort<br />
according to probability from large to little will cause<br />
misdiagnosis, which means it may be wrong to take the<br />
fault at the most front as diagnosis result. The<br />
discrimination may cause mistakes, which is the fact that<br />
can not mastered by people. If the empirical data is very<br />
rich, the possibility <strong>of</strong> misdiagnosis will be very small.<br />
As to mistakes, the system will be the second diagnosis,<br />
which is ranked second in the probability <strong>of</strong> failure as a<br />
diagnostic output, and so on.<br />
The storage form affects the problem solving<br />
efficiency, whereas regulation and evaluation affect the<br />
problem solving accuracy. The matching degree <strong>of</strong> the<br />
fault and fault phenomenon can be expressed as (10):<br />
s<br />
n<br />
∑<br />
i=<br />
1<br />
2<br />
D ( c,<br />
c′<br />
) = 1−<br />
W ( X −Y<br />
) / n (10)<br />
i<br />
Where D s is the matching degree <strong>of</strong> fault c and fault<br />
phenomenon c′ ; W i is the weight <strong>of</strong> characteristic<br />
parameter i; n is the number <strong>of</strong> all symptoms; X i and<br />
i<br />
i
846 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Y i are respectively the initial character or the conclusion<br />
credibility <strong>of</strong> fault c and fault phenomenon c′ .<br />
If D s = 1 , it indicates that the fault and fault<br />
phenomenon are most suited, namely matched completely;<br />
if D s = 0 , the fault and fault phenomenon are<br />
completely different [19].<br />
Experience data is not all valid. According to expert<br />
experience, the fault phenomenon vector that is obviously<br />
not corresponding to fault phenomenon correspond to a<br />
fault, which is identified as abnormal. The abnormal<br />
should not be discarded directly, but added into database<br />
after marking. The reason is that if the abnormal after a<br />
major problem in direct disposal will cause the system to<br />
continue to drop later, the system will be committing a<br />
serious error. When conducting distance discrimination,<br />
these abnormal data should be excluded to avoid affect <strong>of</strong><br />
small probability abnormal on discrimination analysis. If<br />
this abnormal occurs frequently afterwards, the frequency<br />
<strong>of</strong> abnormal will naturally large. According to the<br />
abnormal determination formula (11), it will not still in<br />
the scope <strong>of</strong> abnormal.<br />
*<br />
D − µ i<br />
*<br />
≥ α%,<br />
D = ( 1,<br />
1,<br />
�,<br />
1)<br />
*<br />
m<br />
D<br />
(11)<br />
Where, α is the abnormal discrimination index that<br />
can be controlled.<br />
D. Diagnose Algorithm Design<br />
Diagnosis algorithm flow is as follows:<br />
Step 1: Input fault phenomenon to be diagnosed<br />
Dx = ( d1,<br />
d 2,<br />
�,<br />
d n ) .<br />
Step 2: For all fault Fi, i = 1, 2,<br />
�,<br />
n .<br />
(a) Compute expectation vector µ i <strong>of</strong> Fi with (1);<br />
(b) As to all fault phenomenon vector <strong>of</strong> Fi, to conduct<br />
abnormal discrimination with (11);<br />
(c)Using all abnormal vectors, re-compute expectation<br />
*<br />
µ i <strong>of</strong> Fi.<br />
Step 3: As far as to be diagnosed vector Dx, compute<br />
European (or Mahalanobis) distance Disi <strong>of</strong> each fault<br />
with (8) or (9).<br />
Step 4: Order Disi from small to large to obtain<br />
diagnose probability order table<br />
Pi k<br />
⎛ /<br />
⎜<br />
⎝ i<br />
Step 5: The maintenance personnel confirm faults<br />
according to probability from small to large.<br />
Step 6: The confirm result is fed back to fault data<br />
table.<br />
k<br />
⎞<br />
⎟<br />
⎠<br />
The diagnose probability order table<br />
n<br />
.<br />
Pi k<br />
⎛ /<br />
⎜<br />
⎝ i<br />
k<br />
⎞<br />
⎟<br />
⎠<br />
n<br />
means<br />
the probability P i <strong>of</strong> fault whose number is i<br />
k/<br />
k sorted in<br />
the k-th position <strong>of</strong> the table. As to the diagnosis result, if<br />
it is caused by the i1-th fault, it indicates that the first<br />
© 2011 ACADEMY PUBLISHER<br />
diagnosis is successful. If it is caused by the i2-th fault,<br />
then the first diagnosis is failure and second diagnosis is<br />
successful. And so on.<br />
IV. MODEL SIMULATION<br />
A. Simulation Algorithm Design<br />
The simulation algorithm is based on the above<br />
diagnosis algorithm. The standard to measure its<br />
efficiency is diagnostic success rate DFRk <strong>of</strong> the k-th<br />
diagnosis and accumulative success rate DFR k , the<br />
definition <strong>of</strong> which is shown in (12) and (13).<br />
DFRk = nk<br />
/ M<br />
(12)<br />
Where, nk is the frequency <strong>of</strong> vector to be diagnosed<br />
after k times diagnosis; M is the total time <strong>of</strong> diagnosis.<br />
DFR<br />
=<br />
k<br />
n<br />
M<br />
k ∑ i<br />
i=<br />
1 (13)<br />
Where, DFR k is the percentage that fault be<br />
diagnosed after k times <strong>of</strong> diagnosis. Obviously, k=1 is<br />
the fault detection rate. k=2 is the probability that isolate<br />
fault to two elements, and so on.<br />
The simulation algorithm is as follows:<br />
Step 1: As to all faultsi = 1, 2,<br />
�,<br />
n , use Monte Carlo<br />
method to sample according to fault phenomenon vector.<br />
Each fault generates N groups <strong>of</strong> sample data.<br />
Step 2: Extract a fault x using random method and then<br />
extract a fault phenomenon vector Dx.<br />
Step 3: To diagnose with diagnosis algorithm and<br />
⎛ Pi ⎞ k/<br />
present probability order table ⎜<br />
i ⎟ .<br />
⎝ k ⎠n<br />
Step 4: Repeat Step 2 and Step 3 M times.<br />
Step 5: For k = 1, 2,<br />
�,<br />
n , statistical nk. Compute DFRk<br />
and DFR k , then output.<br />
B. Simulation Result Analysis<br />
As to MQ3130-type wood-wool working equipment<br />
system, there are total 7 typical faults: rolling bearing<br />
fault、eccentric disk fault、the gear and rack fault、tool<br />
change Spindle fault、crank-connecting rod mechanical<br />
fault 、 work piece installation fault and feed drive<br />
structures fault. That denoted as I1 , I 2,<br />
� , I7<br />
. The<br />
distribution parameter <strong>of</strong> system fault and corresponding<br />
phenomenon is shown in Table 2.<br />
Design fault database with the method <strong>of</strong> Table 2 and<br />
conduct simulation, where the distance discrimination use<br />
Euclidean distance. M=1000, N=1000. The abnormal<br />
discrimination index α = 30 . Each fault samples to<br />
generate 1000 vectors and extract 1000 samples for<br />
simulation. The output result is shown in Table 3 and<br />
Table 4.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 847<br />
TABLE II.<br />
DISTRIBUTION PARAMETER OF SYSTEM PARAMETER AND<br />
CORRESPONDING PHENOMENON<br />
Results <strong>of</strong> Table 3 show that the number <strong>of</strong> abnormal<br />
<strong>of</strong> each fault is little, which is consistent with actual<br />
situation. In Table 4, one time fault detection rate is as<br />
high as 0.852. The three times accumulative diagnosis<br />
TABLE III.<br />
NUMBER OF EXCLUDED ABNORMAL.<br />
Fault number F1 F2 F3 F4 F5 F6 F7<br />
Number <strong>of</strong><br />
abnormal<br />
The k-th<br />
diagnosis<br />
F1 F2 F3 F4 F5 F6 F7<br />
I1 0.5 0.60 0.89 0.88 0.01 0.53 0.01<br />
I2 0.95 0.80 0.95 0.06 0.01 0.90 0.02<br />
I3 0.8 0.50 0.96 0.01 0.96 0.9 0.4<br />
I4 0.1 0.02 0.01 0.96 0.01 0.08 0.98<br />
I5 0.2 0.02 0.9 0.07 0.89 0.3 0.05<br />
I6 0.01 0.35 0.01 0.8 0.03 0.00 0.3<br />
I7 0.9 0.90 0.01 0.02 0.92 0.93 0.02<br />
I8 0.3 0.40 0.00 0.98 0.01 0.33 0.05<br />
I9 0.7 0.01 0.01 0.99 0.01 0.68 0.8<br />
I10 0.3 0.01 0.01 0.02 0.88 0.25 0.01<br />
1 0 0 25 23 2 1<br />
TABLE IV.<br />
DIAGNOSIS SIMULATION RESULT<br />
Diagnosis success<br />
probability<br />
Misdiagnosis<br />
probability<br />
Cumulative<br />
success rate<br />
1 0.852 0.148 0.852<br />
2 0.097 0.051 0.949<br />
3 0.030 0.021 0.979<br />
4 0.012 0.009 0.991<br />
5 0.009 0.000 1.000<br />
6 0.000 0.000 1.000<br />
7 0.000 0.000 1.000<br />
success rate is up to 0.979 when k=3, which means the<br />
probability that isolate fault to three elements can up to<br />
0.979. The reason is vector distribution parameters <strong>of</strong> F4<br />
and F5 is very close. From the above definition we can<br />
know that these three faults can be regarded as a fuzzy<br />
group. At the moment, we can regard them as a fault, so<br />
one time fault detection rate is up to 0.979. The data<br />
© 2011 ACADEMY PUBLISHER<br />
result analysis indicates that this kind <strong>of</strong> diagnosis<br />
method based fault phenomenon vector discrimination is<br />
effective.<br />
V. CONCLUSION<br />
The paper presented a kind <strong>of</strong> woodworking machinery<br />
system diagnosis method based on fault phenomenon<br />
vector discrimination analysis. Starting from the<br />
clustering characteristics <strong>of</strong> fault phenomenon vector,<br />
conduct reasoning rule design based on the idea <strong>of</strong><br />
discrimination analysis idea. The expert system model<br />
was built using determination and exclusion <strong>of</strong> abnormal.<br />
Finally, simulation illustration <strong>of</strong> MQ3130-type woodwool<br />
working equipment proves that the diagnostic<br />
method has characteristics <strong>of</strong> good real-time, simple<br />
operation and high diagnostic accuracy.<br />
However, the technique is a new branch <strong>of</strong> artificial<br />
intelligence, so systemic fruits are still not abundant,<br />
theories are still not mature, and the research and<br />
application are still in the exploring stage. If we apply it<br />
in machinery fault diagnosis system, the techniques <strong>of</strong><br />
fault phenomenon vector and fault, retrieving and<br />
matching, self-study method, etc. would need further<br />
improved. With the increasing complication <strong>of</strong> the<br />
equipment and systems, fault diagnosis based on fault<br />
phenomenon vector will become an effective method in<br />
the fault diagnosis realm.<br />
ACKNOWLEDGMENT<br />
The authors wish to thank Shu-Dong Xiu. This work<br />
was supported in part by a grant from the Science and<br />
Technology Agency <strong>of</strong> Zhejiang Province General<br />
Program Project No. 2007C22080, China; Technology<br />
Agency <strong>of</strong> Zhejiang Province R & D Program Plan<br />
Project No. 2008C02006-1, China.<br />
REFERENCES<br />
[1] Li Zhang, Jian-Hua Luo, Su-Ying Yang, “Forecasting box<br />
<strong>of</strong>fice revenue <strong>of</strong> movies wvith BP neural network”,<br />
Expert Systems with Applications, vol.36, pp.6580-6587,<br />
April 2009.<br />
[2] Wann-Yih Wu, Shuo-Pei Chen, “A prediction method<br />
using the grey model GMC (1, n) combined with the grey<br />
relational analysis: a case study on Internet access<br />
population forecast”, Applied Mathematics and<br />
Computation, vol.169, pp.198-217, 2005.<br />
[3] Gavin C. Cawley and Nicola L.C. Talbot, “Fast exact<br />
leave-one-out cross-validation <strong>of</strong> sparse least-squares<br />
support vector machines”, Neural Networks, vol.17, pp.<br />
1467-1475, December 2004.<br />
[4] Xue-Cheng Xi, Aun-Neow Poo, Siaw-Kiang Chou,<br />
“Support vector regression model predictive control on a<br />
HVAC plant”, Control Engineering Practice, vol.15,<br />
pp.897-908, 2007.<br />
[5] Zogg D, Shafai E and Geering H P., “Fault diagnosis for<br />
heat pump swish parameter identification and clustering,”<br />
Control Engineering Practice, vol. 14, pp. 1435-1444,<br />
2006.<br />
[6] Yun-Jie Xu, Wen-Bin Li, “Forecasting <strong>of</strong> the total power<br />
<strong>of</strong> woodworking machinery based on SVM trained by<br />
GA,” 2010 The 2nd International Conference on Computer
848 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
and Automation Engineering, Vo.01, pp. 358-360,<br />
February 2010.<br />
[7] Yun-Jie Xu, Wen-Bin Li, “Fault diagnosis for gearbox<br />
based on genetic-SVM classifier,” 2010 The 2nd<br />
International Conference on Computer and Automation<br />
Engineering, Vo.01, pp. 361-363, February 2010.<br />
[8] Yun-Jie Xu, Shu-Dong Xiu, “Prediction <strong>of</strong> wear for wood<br />
planning tool based on genetic-SVM classifier,” 2010<br />
International Conference on Electrical and Control<br />
Engineering, Vol.01, pp.5834-5836, June 2010.<br />
[9] Yun-Jie Xu, Shu-Dong Xiu, “Accurate diagnosis <strong>of</strong> rolling<br />
bearing based on wavelet packet and genetic-support<br />
vector machine,” 2010 International Conference on<br />
Electrical and Control Engineering, Vol.01, pp.5589-5591,<br />
June 2010.<br />
[10] Guo Kui, Yu Dan, “Spreading L-M method <strong>of</strong> multiple<br />
reliability evaluation,” Reliability Engineering, Vol.04,<br />
pp.157-160, 2003.<br />
[11] Jie Yu, Yao-Lin Shi , Gui-Xiang Shen , Ya-zhou Jia,<br />
“Reliability evaluation on CNC lathes based on the<br />
modified L-M method,” Vol.16, pp.665-668, May 2009.<br />
[12] Jian-Pei Zhang, Zhong-Wei Li and Jing Yang, “A parallel<br />
SVM training algorithm on large-scale classification<br />
problems,” Proceedings <strong>of</strong> the Fourth International<br />
Conference on Machine Learning and Cybernetics, vol. 01,<br />
pp. 1637-1641, August 2005.<br />
[13] KANGY W., LI J., CAO G. Y., “Dynanue temperature<br />
model in go fan so fusing Least square support vector<br />
machines,” <strong>Journal</strong> <strong>of</strong> Power sources, vol. 179, pp.683-<br />
692, 2008.<br />
[14] Ling-Jun Li, Zhou-Suo Zhang, Zheng-Jia He, “Research <strong>of</strong><br />
mechanical system fault diagnosis based on support vector<br />
data description,” <strong>Journal</strong> <strong>of</strong> Xi'an Jiaotong University,<br />
vol. 09, pp.910-913, 2003.<br />
[15] D. Wu, C.-W. Ma and S.-F. Du, “Influences <strong>of</strong> different<br />
damaged degrees <strong>of</strong> ieafminer-infected leaves on the nearinfrared<br />
spectral reflectance,” Trans. <strong>of</strong> the CSAE, vol. 23,<br />
no. 2, pp. 156-159, 2007.<br />
[16] Choy KL, Lee WB. Design <strong>of</strong> an intelligent supplier<br />
relationship management system: a hybrid case based<br />
neural network approach. Expert Systems with<br />
Application, vol.24, pp. 225-237, 2003.<br />
[17] Yang BS, Han T, Kim YS, “Integration <strong>of</strong> ART-Kohonen<br />
neural network and case-based reasoning for intelligent<br />
fault diagnosis,” Expert System with Applications, vol. 26,<br />
pp. 387-395, 2004.<br />
[18] Wen-Hong Li, Shao-Wen Sun, Qi Zhang, “Machinery fault<br />
diagnosis expert system based on case-based reasoning,”<br />
<strong>Journal</strong> <strong>of</strong> Chongqing University: English Edition, vol. 06,<br />
pp. 273-277, December. 2007.<br />
[19] Sajja, Akerkar, “Advanced knowledge based systems:<br />
model, applications & research,” TMRF e-Book, Vol.01,<br />
pp.50 -73, 2010.<br />
[20] Su Myat Marlar Soe and May Paing Paing Zaw, “Design<br />
and implementation <strong>of</strong> rule-based expert system for fault<br />
management,” World <strong>Academy</strong> <strong>of</strong> Science, Engineering<br />
and Technology 48, pp. 34-39, 2008.<br />
© 2011 ACADEMY PUBLISHER<br />
[21] Wei Liang, Mechanical fault diagnostics. Bei Jing: China<br />
coal industry publishing house. 2005.<br />
[22] Lefebvre, Mario, Applied Probability and Statistics<br />
[electronic book] by Mario Lefebvre. New York, NY:<br />
Springer Science +Business Media LLC.2005.<br />
[23] Wan-Lu Jiang, Shu-Qing Zhang, Yi-Qun Wang, Chaos and<br />
Wavelet Based Fault Information Diagnosis. Bei Jing:<br />
China Machine Prees.2005.<br />
[24] Jun Yang, Intelligent Fault Diagnosis Technology for<br />
Equipments. Bei Jing: National Defense Industry Press.<br />
2004.<br />
Yun-Jie Xu was born in Neimenggu,<br />
China, in 1976. He received the B.S.<br />
degree in fluid power transmission and<br />
control from Dongbei University <strong>of</strong><br />
Mechanical Engineering, Shenyang,<br />
China, in 1998, and the M.S. degree in<br />
Mechanical Design and Theory from<br />
Zhejiang University <strong>of</strong> Mechanical and<br />
Energy Engineering, Hangzhou, China, in<br />
2004. He is currently pursuing the Ph.D.<br />
degree in forest engineering, University Of Beijing Forestry,<br />
Beijing, China, in 2009. From April 2004 to Dec. 2010, He is<br />
serves an lecturer <strong>of</strong> the School <strong>of</strong> Engineering, Zhejiang<br />
Agricultural & Forestry University. His research interests<br />
include system fault diagnosis and signal propagation in forest.<br />
Shu-Dong Xiu received B.S. and M.S. degrees in harbin<br />
institute <strong>of</strong> technology, Heilongjiang, China, in 1994, and 1988,<br />
respectively. From April 2004 to Dec. 2010, he was a faculty<br />
with the School <strong>of</strong> Engineering, Zhejiang Agricultural &<br />
Forestry University and was promoted to be an pr<strong>of</strong>essor in<br />
2009. His current research interests include forestry machinery<br />
and woodworking equipment.<br />
Quan-Sheng Men received B.S. degrees in Zhejiang University<br />
<strong>of</strong> Technology, Zhejiang, China, in 1989, respectively. From<br />
April 2001 to Dec. 2010, he was a faculty with the School <strong>of</strong><br />
Engineering, Zhejiang Agricultural & Forestry University and<br />
was promoted to be an senior technician in 2010. His current<br />
research interests include forestry machinery and woodworking<br />
equipment.<br />
Liang Fang received M.S. degrees in Jiangsu University,<br />
Jiangsu, China, in 2007. From September 2007 to Dec. 2010, he<br />
was a faculty with the School <strong>of</strong> technology, Zhejiang<br />
Agricultural & Forestry University and was promoted to be an<br />
Laboratory Technician in 2007. His current research interests<br />
include mechatronic control, signal detection and processing.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 849<br />
A Novel Gray Image Watermarking Scheme<br />
Chen Yongqiang<br />
School <strong>of</strong> Computer Science, Wuhan Textile University, Wuhan 430073, China<br />
Email:chenyqwh@gmail.com<br />
Zhang Yanqing<br />
Department <strong>of</strong> Computer Science, Georgia State University, Atlanta 30303, USA<br />
Email: yzhang@zmail.cs.gsu.edu<br />
Hu Hanping<br />
Institute for Pattern Recognition and Artificial Intelligence, Huazhong University <strong>of</strong> Science and Technology, Wuhan<br />
430074, China<br />
Email: hphu@mail.hust.edu.cn<br />
Ling Hefei<br />
College <strong>of</strong> Computer Science and Technology, Huazhong University <strong>of</strong> Science and Technology, Wuhan 430074,<br />
China<br />
Email: lhf@mail.hust.edu.cn<br />
Abstract—An effective and integrated image watermarking<br />
scheme mainly includes watermark generation, watermark<br />
embedding, watermark identification, and watermark<br />
attack. In this paper, a novel discrete wavelet transform<br />
domain image watermark scheme is proposed to meet the<br />
watermarking properties: security, imperceptibility and<br />
robustness. Here watermark comes from a meaningful<br />
binary image encrypted by two-dimensional chaotic stream<br />
encryption, which has more security. In the procedure <strong>of</strong><br />
watermark embedding, the watermark is embedded into<br />
host image through selecting and modifying the wavelet<br />
coefficients using genetic algorithms with a simple fitness<br />
function to improve the imperceptibility <strong>of</strong> watermarked<br />
image. In order to identify the owner <strong>of</strong> extracted<br />
watermark, synergetic neural networks are used in the<br />
watermarking identification to overcome the limitation <strong>of</strong><br />
correlation analysis or the human sense organ after some<br />
attacks. The results <strong>of</strong> our scheme realization and robust<br />
experiments show that this scheme has preferable<br />
performance.<br />
Index Terms—image watermark, genetic algorithm,<br />
synergetic neural networks, discrete wavelet transform<br />
I. INTRODUCTION<br />
Digital watermark is a kind <strong>of</strong> technology that embeds<br />
copyright information into multimedia data[1]. Unlike<br />
encryption, which is useful for transmission but does not<br />
provide a way to examine the original data in its<br />
protected form, the watermark remains in the content in<br />
its original form and does not prevent a user from<br />
Manuscript received November 15, 2010; revised January 21, 2011;<br />
accepted January 1, 2011.<br />
Corresponding author: Chen Yongqiang<br />
Project number: National 863 Hi-Tech Grant 2009AA01Z411<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.849-856<br />
listening to, viewing, examining, or manipulating the<br />
content. Digital watermarking technology opens a new<br />
door to authors, producers, publishers, and service<br />
providers for protecting their rights and interests in<br />
multimedia documents.<br />
An effective image watermarking scheme mainly<br />
includes watermark generation, watermark embedding,<br />
watermark identification, and watermark attack.<br />
Watermark generation refers to what content and form <strong>of</strong><br />
data a watermarking scheme adopts as watermark. The<br />
data may be original or encrypted from copyright<br />
information <strong>of</strong> number, letter, image, and so on. Some <strong>of</strong><br />
copyright information is meaningful or meaningless.<br />
Meaningful information could be easily authenticated and<br />
usually needs to be encrypted in practice to strengthen<br />
watermarking security [2].<br />
Watermark embedding is the most important part in a<br />
watermarking scheme and must meet the two most<br />
fundamental requirements under the condition <strong>of</strong> fixed<br />
watermark size, imperceptibility and robustness. The two<br />
requirements are in conflict with each other and need to<br />
reach a trade-<strong>of</strong>f. Watermark embedding can be done in<br />
either spatial domain or frequency domain. The spatial<br />
domain watermark embedding manipulates host image<br />
pixels, especially on least significant bits that have less<br />
perceptual effect on the image[3]. Although the spatial<br />
domain watermark embedding is simple and easy to<br />
implement, it is less robust than frequency domain<br />
watermark embedding to various attacks and noise, which<br />
is made on the frequency coefficients <strong>of</strong> the host image.<br />
The existing frequency transformation methods for<br />
watermark embedding include discrete Fourier transform<br />
(DFT) [4], discrete cosine transform (DCT)[5], and<br />
discrete wavelet transform (DWT)[6]. Considering<br />
watermarking imperceptibility, we need to select an
850 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
appropriate embedding algorithm to embed the<br />
watermarking bits into certain frequency coefficients so<br />
that the quality <strong>of</strong> watermarked image does not obviously<br />
decline compared by original host image. But many<br />
traditional embedding algorithms in the literature can not<br />
optimize the embedding process by experiential method.<br />
In recent years, watermarking techniques have been<br />
improved using optimization algorithms such as genetic<br />
algorithm (GA) which is a popular evolutionary<br />
optimization technique invented by Holland [7]. In the<br />
field <strong>of</strong> watermarking, GA is mainly used in the<br />
embedding procedure to search for locations to embed the<br />
watermark [8-11].<br />
The act <strong>of</strong> watermark detection can be named as<br />
watermark verification that a watermarking receiver must<br />
do a yes or no judgment whether a watermark does exist<br />
in the received image. In general, the normalized<br />
cross-correlation (NC) value between the original and<br />
extracted watermark is used in watermark detection [11].<br />
Defined a threshold T, a yes judgment can be given if NC<br />
≥T, or a contrary result will be gotten. After getting a yes<br />
judgment in watermark detection, especially to the<br />
meaningful watermark, people may do more things to<br />
judge the owner <strong>of</strong> extracted watermark because <strong>of</strong><br />
possibility <strong>of</strong> spurious watermark. Based on the<br />
watermark detection, watermark identification is to<br />
farther judge what degree extracted watermark is similar<br />
to original watermark and whose extracted watermark<br />
belongs to. Although bit correct rate (BCR), NC and<br />
human eyes can be used in watermark identification, they<br />
all depend upon experimental results and human<br />
experiences. For distinguishing extracted watermark<br />
more clearly, meaningful watermark may be recovered<br />
partly or entirely from watermarked image by neural<br />
networks [12-14]. The introduction <strong>of</strong> neural networks<br />
helps to pave the way for the further development <strong>of</strong><br />
watermark identification techniques.<br />
The goal <strong>of</strong> watermark attack is to test the robustness<br />
<strong>of</strong> a watermarking system. To simulate the<br />
communication conditions and deliberate or unintentional<br />
processing, some attacks, including adding noise,<br />
filtering, compression and geometrical distortion, need to<br />
be used in the watermarked image. For copyright<br />
protection, we use robust watermark in the condition that<br />
the watermark can partially be recognized and the<br />
copyright can be preserved after attacked by some means.<br />
But based on the applied purpose <strong>of</strong> robust watermark, a<br />
watermarking scheme need not withstand all kinds <strong>of</strong><br />
attack.<br />
This paper presents a novel DWT domain gray image<br />
watermarking scheme. The watermarking data comes<br />
from a meaningful binary image encrypted by<br />
two-dimensional chaotic stream encryption. In the<br />
procedure <strong>of</strong> watermark embedding, GA is used to select<br />
the most fit wavelet coefficients to embed watermarking<br />
bits into the host gray image. After some kinds <strong>of</strong> attack,<br />
the extracted watermark can be identified expediently<br />
through the synergetic neural networks(SNN). The<br />
experimental results have shown that this scheme has<br />
© 2011 ACADEMY PUBLISHER<br />
preferable performance <strong>of</strong> security, imperceptibility and<br />
robustness.<br />
II. WATERMARK GENERATION<br />
The paper [2] employed the two-dimensional chaotic<br />
Logistic map to encrypt the meaningful gray image and<br />
gave the digital image stream encryption algorithm in<br />
detail. Here, we simplify the algorithm to encrypt a<br />
binary image.<br />
The two-dimensional Logistic map system with simple<br />
coupled term is defined in (1).<br />
⎧ x = 4 µ x (1 − x ) + γ y<br />
⎨<br />
⎩y<br />
= 4 µ y (1 − y ) + γ x<br />
n+ 1 1 n n n<br />
n+ 1 2 n n n<br />
The dynamical behavior <strong>of</strong> this map system is<br />
controlled by control parameters <strong>of</strong> µ 1,<br />
µ 2 andγ . When<br />
µ 1 = µ 2 = µ ≥ 0.89 and γ = 0.1,<br />
the system is chaotic<br />
and can be used in digital image encryption.<br />
Let B = [ b s, t] M× M represent a meaningful binary<br />
image with size M × M , 0≤ s ≤ M − 1 , 0≤t ≤ M − 1,<br />
bst , ∈ {0,1} . x P and y P are values obtained after the<br />
map system is iterated P times. Using iterative values<br />
x i and y i , encryption algorithm is described as follows.<br />
1)Transform the decimal fraction <strong>of</strong> x i into binary<br />
sequence and choose the first M bits to be represented<br />
as xi,0 xi,1 � xi, M−1.<br />
Like x i , the decimal fraction <strong>of</strong> y i is<br />
represented as yi,0 yi,1 � yi, M−1.<br />
2)According to the row order s = 0,1, 2, � , M −1and<br />
i = P+ s,<br />
do the XOR operation cs, t = bs, t ⊕ xi,<br />
j,<br />
j = t .<br />
3)According to the column order t = 0,1, 2, � , M −1<br />
and j t<br />
w = c ⊕ y ,<br />
= , do the XOR operation s, t s, t i, j<br />
i = P+ s.<br />
The watermark W = [ w s, t] M× M can be gotten by<br />
completing above three steps.<br />
Let � � W = [ w st , ] M × M represent the extracted<br />
watermark from watermarked image, the decryption<br />
procedure is described as follows.<br />
1)The decimal fraction <strong>of</strong> x i and y i are denoted<br />
by xi,0 xi,1 � xi, M−1and<br />
yi,0 yi,1 � yi, M−1respectively.<br />
2)According to the column order, do XOR<br />
operation c� = w�⊕ y .<br />
st , st , i, j<br />
(1)<br />
3)According to the row order, do XOR<br />
b� = c� ⊕x<br />
and get decrypted image<br />
operation st , st , i, j<br />
B� = [ b �<br />
st , ] M × M .<br />
From the above encryption and decryption algorithms,<br />
it can be concluded that if the received image has not<br />
been processed, the equations � W = W and � B = B are<br />
satisfied after the decryption.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 851<br />
III. WATERMARK EMBEDDING<br />
Wavelet transform is a time-frequency analyzing<br />
method to localize spacial and frequency domain. Using<br />
wavelet transform to code and compress image can<br />
acquire good effect having high compress ratio and no<br />
avail <strong>of</strong> block and midge noise. In our scheme, the<br />
encrypted watermark is embedded into host image<br />
through selecting and modifying the wavelet coefficients<br />
using GA.<br />
A. Genetic Algorithm<br />
GA is a kind <strong>of</strong> best searching algorithm that simulates<br />
biological evolution to produce a similar optimal solution<br />
and widely used in various fields such as pattern<br />
recognition, decision support and the nearest optimization<br />
problem. In organism evolution, organisms with defective<br />
genes are weeded out so that a species <strong>of</strong> organisms<br />
preserves its beneficial genes for its descendants.<br />
Generally, better chromosomes will be produced for<br />
propagation after crossover or mutation.<br />
The GA can be briefly depicted as follows.<br />
1) Code. In GA-based optimization, any possible<br />
solution in problem field is represented as an individual<br />
in colony and encoded by a finite-length binary string,<br />
called the chromosome. The elements in the binary string,<br />
or the genes, are adjusted to minimize or maximize the<br />
fitness value.<br />
2) Original colony. Some individuals or chromosomes<br />
are selected in random to form original colony as the first<br />
generation that can reproduce new generation.<br />
3) Fitness evaluation. The fitness function is defined<br />
by algorithm designers, with the goal <strong>of</strong> optimizing the<br />
outcome for the specific application. For every generation,<br />
a pre-determined number <strong>of</strong> chromosomes will<br />
correspondingly produce fitness values. The fitness<br />
values decide the probability <strong>of</strong> the chromosomes'<br />
survival or removal during the competition.<br />
Chromosomes with higher fitness values have higher<br />
probability to contribute more <strong>of</strong>fspring in the next<br />
generation.<br />
4) Genetic operation. Three GA operators, selection,<br />
crossover and mutation, the core components for GA, are<br />
applied to the chromosomes repeatedly.<br />
Selection: A large portion <strong>of</strong> the chromosomes with<br />
low fitness values is discarded through this natural<br />
selection step. The selection rate P s defines the portion<br />
<strong>of</strong> chromosomes with high fitness values that can be<br />
survived into the next generation.<br />
Crossover: Pairs <strong>of</strong> chromosomes among the survived<br />
chromosomes are chosen from the current generation to<br />
produce two new <strong>of</strong>f-springs. A crossover point is<br />
selected, and the fractions <strong>of</strong> each chromosome after the<br />
crossover point are exchanged, and two new<br />
chromosomes are produced.<br />
Mutation: Mutation is the occasional random<br />
alternation <strong>of</strong> the value in some positions <strong>of</strong><br />
chromosomes. It introduces traits not in the original<br />
individuals and keeps GA from converging too fast. Most<br />
mutations deteriorate the individual fitness values.<br />
However, the occasional improvement <strong>of</strong> the fitness adds<br />
© 2011 ACADEMY PUBLISHER<br />
diversity and strengthens the individual. Generally<br />
speaking, the probability P m for mutation is supposed<br />
to be low.<br />
These operators are used repeatedly to obtain<br />
successive generations <strong>of</strong> chromosomes. Within a<br />
generation, only the chromosomes with the higher fitness<br />
values can survive. They will be passed as parent<br />
chromosomes to the next generation.<br />
5) Terminating rule. The terminating rule can be<br />
selected as one <strong>of</strong> conditions that the generation number<br />
is more than a defined terminating number or the fitness<br />
values <strong>of</strong> chromosomes is unchanged after some<br />
generations.<br />
After a number <strong>of</strong> generations, the chromosomes are<br />
optimized. We can obtain the near-optimal solution <strong>of</strong> the<br />
modeled problem.<br />
B. Embedding algorithm using GA<br />
Embedding algorithms using GA in DWT domain<br />
image watermark have been researched in some papers.<br />
GA is applied to improve the quality <strong>of</strong> the watermarked<br />
image and the robustness <strong>of</strong> the watermark. But, the main<br />
drawback in these algorithms lies in the fitness function<br />
which is developed based on the combination <strong>of</strong><br />
imperceptibility and robustness. The objective functions<br />
used to measure these properties vary significantly by<br />
numerical values. The varieties <strong>of</strong> attacks make difficult<br />
for equal contribution <strong>of</strong> imperceptibility and robustness<br />
in fitness function even if robustness measure is scaled by<br />
a factor. In our embedding algorithm based on GA, a<br />
simple fitness function may be developed only<br />
considering imperceptibility rather than robustness dealt<br />
with in the procedure <strong>of</strong> watermark identification.<br />
Let I = [ I( i, j)]<br />
(1 ≤ i, j ≤ N ) represent the host<br />
gray image with size N× N and I� be the optimal<br />
watermarked image. The embedding algorithm is outlined<br />
below in detail.<br />
1) Divide the host image into ordinal un-overlapped<br />
N N<br />
2M2M ×<br />
× sub-images. There are 2M2M sub-images represented by<br />
N<br />
I i, j ( 1 ≤i, j ≤ 2M<br />
).<br />
2) Perform discrete wavelet transform independently to<br />
every sub-image I i, j and get the sub-image low subband<br />
LL i, j= [ LLi,<br />
j, s, t]<br />
, high subband HH i, j,<br />
two middle<br />
subbands HL i, j= [ HLi,<br />
j, s, t]<br />
and LH i, j= [ LHi,<br />
j, s, t]<br />
.<br />
Because the texture and edge information are mainly<br />
represented in the biggish wavelet coefficients <strong>of</strong> HH, HL<br />
and LH subbands, the watermark will be embedded into<br />
the low or middle subband.<br />
N N<br />
3) There are 2M × 2M × 3 subband positions in the<br />
host image so the chromosome is encoded to<br />
N N log 2( 2M × 2M<br />
× 3) bits . Each chromosome represents<br />
a position to embed the watermark.<br />
4) For one chromosome, modify the corresponding<br />
coefficients as (2) and (3).
852 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
'<br />
LL<br />
CF<br />
i, j, s, t<br />
'<br />
i, j, s, t<br />
M M<br />
⎧ α1<br />
⎪LLi,<br />
jst , , + 2 ∑∑LLi,<br />
jst , , if wst<br />
, = 1<br />
⎪ M s= 1 t=<br />
1<br />
= ⎨ M M<br />
⎪ α1<br />
LLi, jst , , − LL 2<br />
i, jst , , if wst<br />
, = 0<br />
⎪ ∑∑<br />
⎩ M s= 1 t=<br />
1<br />
(2)<br />
M M<br />
⎧ α2<br />
⎪CFi,<br />
jst , , + 2 ∑∑ CFi, jst , , if wst<br />
, = 1<br />
⎪ M s= 1 t=<br />
1<br />
= ⎨ M M<br />
⎪ α2<br />
CFi, jst , , − CF 2<br />
i, jst , , if wst<br />
, = 0<br />
⎪⎩<br />
∑∑ M s= 1 t=<br />
1<br />
(3)<br />
The parameter α 1 and α 2 are the embedding<br />
intensities and CF maybe one <strong>of</strong> HL and LH . Do<br />
inverse discrete wavelet transform after modifying the<br />
'<br />
'<br />
wavelet coefficients and get I i, j.<br />
All <strong>of</strong> I i, j are united<br />
' '<br />
to a watermarked image I = [ I ( i, j)]<br />
(1 ≤i, j ≤ N ).<br />
5) Define the fitness function using peak<br />
signal-to-noise ratio (PSNR) between I = [ I( i, j)]<br />
and<br />
' '<br />
I = [ I ( i, j)]<br />
.<br />
2 2<br />
N × max( I ( i, j))<br />
N N<br />
' 2<br />
PSNR = 10× log 10(<br />
)<br />
( Iij ( , ) − I( i, j))<br />
∑∑<br />
i= 1 j=<br />
1<br />
6) Create some random chromosomes into an original<br />
colony and give the values <strong>of</strong> s P and P m . Evaluate the<br />
fitness values <strong>of</strong> chromosomes and do the genetic<br />
operation until the process <strong>of</strong> GA stops and the optimal<br />
watermarked image I� is gotten.<br />
The final chromosome <strong>of</strong> GA and parameters<br />
( µ 1, µ 2, γ, x0, y0, P)<br />
<strong>of</strong> the two-dimensional chaotic<br />
Logistic map system can be looked upon the key <strong>of</strong> this<br />
watermarking scheme used in watermark extraction.<br />
IV. WATERMARK IDENTIFICATION<br />
To an encrypted meaningful watermark extracted from<br />
watermarked image, people maybe not distinguish its<br />
decrypted form through technical indexes, such as BCR,<br />
NC, and eyes, because <strong>of</strong> some interferential causations<br />
to watermarked image in the communication and usage.<br />
The SNN can effectively identify the extracted watermark<br />
in our former research[15] so that it is used in this scheme<br />
too.<br />
A. Synergetic Neural Networks<br />
The SNN model is a top-down network constructed by<br />
synergetic different from traditional network constructed<br />
by the method researched in single neuron’s characteristic,<br />
configuration and connection[16].<br />
© 2011 ACADEMY PUBLISHER<br />
(4)<br />
Dynamical system can be described by state vector in<br />
Synergetic. Let a state vector be q= ( q1, q2, � , q ' ) .<br />
M<br />
A synergetic associative pattern recognition system can<br />
be described by dynamical evolutionary process, in which<br />
the system evolves by neural network learning to fill<br />
incomplete data set and form pattern. Furthermore, let<br />
'<br />
prototype pattern number be M and prototype pattern<br />
'<br />
' '<br />
vector’s dimension be N , where satisfies M ≤ N .<br />
A dynamical equation can be described by (5).<br />
.<br />
∑ ∑ (5)<br />
q= λ v ( v q) −B ( v q) ( v qv ) −Cq<br />
( qq )<br />
+ + 2 + +<br />
k<br />
k k k<br />
'<br />
k≠k '<br />
k k k<br />
where q as recognizable pattern vector with original<br />
input value q0 = q(0)<br />
can be decomposed into<br />
prototype v k and remnant vector w , having<br />
'<br />
M<br />
∑ ξk<br />
k = 1<br />
k and<br />
+<br />
w = 0<br />
q= v + w<br />
vk . Attention parameter<br />
λ k is positive. B and C are appointed coefficients<br />
and must be more than zero. Prototype pattern vector k v<br />
is expressed as vk = ( vk1, vk2, � v ' ) ′ and<br />
kN<br />
+<br />
v k is an<br />
adjoint vector <strong>of</strong> v k , which satisfies an orthogonal<br />
⎧ ′<br />
+<br />
1,<br />
k = k<br />
condition vk vk<br />
= δ kk′<br />
= ⎨ . All v k will be<br />
⎩0,<br />
k ≠ k′<br />
normalized as<br />
'<br />
N<br />
∑ vkl<br />
= 0 and centered as<br />
l = 1<br />
'<br />
N<br />
2 1/2<br />
k = ( ) 1<br />
2 ∑ kl =<br />
l=<br />
1<br />
v v<br />
.<br />
Order parameter ξ k is defined as k k vq ξ<br />
+<br />
= . The<br />
dynamical equation can be rewritten by order parameter.<br />
k = k k − B∑ 2<br />
k′ '<br />
M<br />
k − C ( ∑<br />
2<br />
k′ ) k<br />
k′ ≠ k k′<br />
= 1<br />
ξ� λξ ξ ξ ξ ξ (6)<br />
D= ( B+ C) ∑ ξ , (6) is simplified to (7).<br />
k<br />
2<br />
Used '<br />
'<br />
k<br />
� (7)<br />
ξ ξ λ ξ<br />
2<br />
k = k( − D+ B k )<br />
So the SNN model is constructed with three layers.<br />
The top layer is the input layer. All order parameter<br />
neurons form the middle layer. The down layer is the<br />
output layer.<br />
B. Watermark Extracting<br />
The watermark extracting is the contrary producer <strong>of</strong><br />
watermark embedding. The DWT transforms <strong>of</strong> the<br />
received watermarked image I � and host image I<br />
could be done according to the rule <strong>of</strong> watermark<br />
embedding and the final chromosome <strong>of</strong> GA need be
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 853<br />
gotten from the key. The extracted encrypted watermark<br />
�W can be extracted by (8).<br />
'<br />
⎪<br />
⎧CF − CF<br />
, , , , , , 0 , 1<br />
i j u v i j u v> ⇒ ws<br />
t=<br />
⎨ '<br />
⎪⎩<br />
CF − CF<br />
, , , , , , 0 , 0<br />
i j u v i j u v< ⇒ ws<br />
t=<br />
The CF presents one <strong>of</strong> LL , HL and LH .<br />
Then using the parameters ( µ 1, µ 2, γ , x0, y0, P)<br />
<strong>of</strong><br />
the two-dimensional chaotic Logistic map system from<br />
the key and decryption algorithm, we can decrypt the<br />
extracted encrypted watermark � W and get the<br />
decrypted watermark � B .<br />
C. Decrypted Watermark Identification using SNN<br />
The decrypted watermark identification may be taken<br />
for the process that a special existing watermark is<br />
formed and recognized in a mass <strong>of</strong> watermark patterns<br />
so that the pattern recognition method may be used in the<br />
watermark algorithm.<br />
The original meaningful watermark image and some<br />
binary images having the same size and similar content as<br />
the watermark image are select to makeup a prototype<br />
'<br />
pattern set including M components. All <strong>of</strong><br />
two-dimensional binary images are transferred to<br />
one-dimensional sequences and the vectors<br />
[ 1, 2,<br />
, ' ] T<br />
' ' 2<br />
vk = vk vk � v ( k = 1, 2, � , M , N = M )<br />
kN<br />
can be gotten. A prototype pattern set may be composed<br />
'<br />
' '<br />
<strong>of</strong> these M pattern vectors only if M ≤ N .<br />
According to the SNN model, the learning algorithm <strong>of</strong><br />
networks is the training process that adjoins vectors are<br />
calculated through prototype pattern vector.<br />
1) Compute prototype pattern vector v k satisfying<br />
normal and center condition.<br />
2) Compute the according adjoint vector<br />
+<br />
v k <strong>of</strong><br />
prototype pattern vector v k .<br />
Used the SNN method, the watermark detection and<br />
identification may be accomplished at one time through<br />
recognized pattern. Now the constants <strong>of</strong> synergetic<br />
dynamic equation are given to B = C = 1 and λ k = 1 .<br />
Thus the recognition process <strong>of</strong> SNN is showed as<br />
following.<br />
1) Compute the test pattern vector q(0) = { qi}<br />
,<br />
'<br />
i = 1, 2, � , N , which satisfying normal and center<br />
condition, too.<br />
2) Achieve the according order parameter ξ k ( 0)<br />
<strong>of</strong><br />
prototype patterns. According to synergetic slaving<br />
principle, the pattern having the most value <strong>of</strong> order<br />
parameters will prevail in the synergetic evolution, and<br />
thus the watermark embedded in the host image carrier<br />
may be detected firstly.<br />
3) Evolve by (7) until the neural networks becomes<br />
stabilized to specific prototype pattern.<br />
© 2011 ACADEMY PUBLISHER<br />
(8)<br />
The decrypted watermark sequence represented by the<br />
special prototype pattern can revert to the original<br />
meaningful watermark so that the decrypted watermark is<br />
identified.<br />
V. SCHEME REALIZATION AND ROBUST EXPERIMENTS<br />
In order to test the validity <strong>of</strong> the proposed scheme, we<br />
select Peppers image as host gray image with size<br />
N = 512 and a binary face image as original<br />
meaningful image with size M = 64 treated from The<br />
Database <strong>of</strong> Faces [17]. In the mean time, other four<br />
binary face images are selected to compose a prototype<br />
pattern vector set including five one-dimensional vector<br />
components with the original watermark. Therefore there<br />
'<br />
are M = 5 components in the prototype pattern set.<br />
The images used in our scheme are all listed in Fig.1.<br />
(a) (b)<br />
(c) (d)<br />
(e)<br />
Figure 1. Images in the scheme<br />
After selected control parameters µ 1 = µ 2 = µ = 0.9 ,<br />
γ = 0.1 and initial values x 0 = 0.1 , y 0 = 0.11 ,<br />
P = 500 , the binary face image is encrypted to<br />
watermark used the encryption algorithm. The face image<br />
and watermark are showed in Fig.1(b) and Fig.1(d)<br />
respectively.<br />
The embedding intensities α 1 = 0.02 and<br />
α 2 = 1.5 are set firstly. Used GADS Toolbox in the<br />
Matlab7.0, the watermark is embedded into the peppers
854 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
image. The host Peppers image and watermarked Peppers<br />
image are showed in Fig.1(a) and Fig.1(c). In the GA, the<br />
best position LL 2,1 and the most value <strong>of</strong> PSNR<br />
53.1417 are gotten through about 15 generations.<br />
To image watermark, the possible attacks in the usage<br />
are adding noise, range change, linear filter, and lossy<br />
compression, which used to review the image<br />
watermark’s robustness. In the Matlab7.0 s<strong>of</strong>tware<br />
environment, we accomplished attack experiments to the<br />
watermarked Peppers image: adding gaussian noise with<br />
zero mean and 0.0005 variance, adding salt-pepper noise<br />
which zero mean and 0.0005 variance, strengthening<br />
contrast from [0.1 0.9] to [0 1], weakening contrast from<br />
[0 1] to [0.1 0.9], doing 3×3 median filter and wiener<br />
filter, and JPEG compression with quality 50%. After<br />
these attacks, the extracted watermark can be identified<br />
rightly by SNN in the 20-50 steps <strong>of</strong> evolution and some<br />
robust experimental results are showed in Figs. 2-8. In<br />
these figures, (a) are extracted watermarks, (b) are<br />
encrypted images <strong>of</strong> extracted watermarks, and (c) are<br />
evolution lines <strong>of</strong> SNN.<br />
(a) (b) (c)<br />
Figure 2. Evolution <strong>of</strong> robust experiments for Gaussian noise<br />
(a) (b) (c)<br />
Figure 3. Evolution <strong>of</strong> robust experiments for salt-pepper noise<br />
(a) (b) (c)<br />
Figure 4. Evolution <strong>of</strong> robust experiments for strengthen<br />
(a) (b) (c)<br />
Figure 5. Evolution <strong>of</strong> robust experiments for weaken<br />
© 2011 ACADEMY PUBLISHER<br />
(a) (b) (c)<br />
Figure 6. Evolution <strong>of</strong> robust experiments for median filter<br />
(a) (b) (c)<br />
Figure 7. Evolution <strong>of</strong> robust experiments for wiener filter<br />
(a) (b) (c)<br />
Figure 8. Evolution <strong>of</strong> robust experiments for JPEG compression<br />
From the Figs. 2-8, we can see that some extracted<br />
watermarks in Fig.3, Fig.5 and Fig.8 can be directly<br />
identified by our eyes or correlation analysis, but others<br />
in Fig.2, Fig.4 and Fig.6 can’t be. Used the SNN, the<br />
SNN evolution results <strong>of</strong> watermarks tends to 1 and the<br />
watermarks embedded in the host image could be easily<br />
identified.<br />
VI. CONCLUSION<br />
An effective digital watermark scheme must meet three<br />
main properties: security, imperceptibility and robustness.<br />
In our scheme the two-dimensional chaotic stream<br />
encryption is used to encrypt a meaningful image to<br />
generate a watermark. The watermark encrypted from a<br />
meaningful image can not be fabricated so that there is<br />
very strong watermarking security. GA is adopted to find<br />
the best position to embed watermark to wavelet<br />
coefficients <strong>of</strong> host image in order to guarantee the<br />
quality <strong>of</strong> watermarked image. This kind <strong>of</strong> evolutionary<br />
optimization technique can improve watermarking<br />
imperceptibility and robustness. In the procedure <strong>of</strong><br />
watermarking identification, SNN has the ability to<br />
recognize the original watermark quickly and accurately<br />
after attacks.<br />
In our scheme realization and robust experiments, the<br />
results prove the feasibility and validity <strong>of</strong> our proposed<br />
scheme. But in the watermarking embedding, one <strong>of</strong> the<br />
limitations is that the embedding intensity is given by<br />
experience in this scheme. In the next step, we will use<br />
GA to find the best value <strong>of</strong> embedding intensity to<br />
improve embedding performance. It is better that GA
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 855<br />
could be used to select the embedding position and<br />
intensity synchronously.<br />
ACKNOWLEDGMENT<br />
This work was supported in part by grants from the<br />
National 863 Hi-Tech Grant 2009AA01Z411 and the<br />
2008 importance project <strong>of</strong> Wuhan Textile University.<br />
REFERENCES<br />
[1] I. J. Cox, M. L. Miller, and J. A, “Bloom, Digital<br />
watermarking,” San Francisco: Morgan Kaufmann<br />
<strong>Publisher</strong>s, 2002<br />
[2] H. P. Hu and Y. Q. Chen, “Image watermarking technique<br />
based on two-dimensional chaotic stream encryption,” The<br />
First International Workshop on Security in Ubiquitous<br />
Computing Systems, LNCS 3823, pp.817-824,2005<br />
[3] I. Nasir, Y. Weng, J. M. Jiang, and S. Ipson, “Multiple<br />
spatial watermarking technique in color images,” Signal,<br />
Image and Video Processing, vol.4, pp.145-154, 2009<br />
[4] M. David, S. R. Jordi, and F. Mehdi, “Efficient self-<br />
synchronised blind audio watermarking system based on<br />
time domain and FFT amplitude modification,” Signal<br />
Processing. Vol.90, pp.3078-3092, 2010<br />
[5] W. Liu and C. H. Zhao, “Digital watermarking for volume<br />
data based on 3D-DWT and 3D-DCT,” The 2nd<br />
International Conference on Interaction Sciences:<br />
Information Technology, Culture and Human, pp.352-<br />
357, 2009<br />
[6] B. Deepayan and A. Charith, “Video watermarking using<br />
motion compensated 2D+t+2D filtering,” The 12th ACM<br />
workshop on Multimedia and security, pp.127-136, 2010<br />
[7] J. Holland, “Adaptation in natural and artificial systems,”<br />
University <strong>of</strong> Michigan Press, Ann Arbor, MI ,1975<br />
[8] P. Kumsawat, K. Attakitmongcol, and A. Srikaew, “A new<br />
approach for optimization in image watermarking by using<br />
genetic algorithms,” IEEE Transactions on Signal<br />
Processing, vol.53, pp.4707-4719, 2005<br />
[9] Y. T. Wu and F. Y. Shih, “Genetic algorithm based<br />
methodology for breaking the steganalytic systems,” IEEE<br />
Transactions on Systems, Man, and Cybernetics, vol.36,<br />
pp.24-31,2006<br />
[10] H. C. Huang, J. S. Pan, Y. H. Huang, F. H. Wang, and K.<br />
C. Huang, “Progressive watermarking techniques using<br />
genetic algorithms,” Circuits Systems Signal Processing,<br />
vol.26, pp.671-687, 2007<br />
[11] S. C. Chu, H. C. Huang, Y. Shi, S. Y. Wu, and C. S. Shieh,<br />
“Genetic watermarking for zerotree-based applications,”<br />
Circuits Systems Signal Process, vol.27, pp.171-182, 2008<br />
[12] Z. F. Wang, N. C. Wang, and B. C. Shi, “A novel blind<br />
watermarking scheme based on neural network in wavelet<br />
domain,” The 6th World Congress on Intelligent Control<br />
and Automation, vol. 1, pp.3024-3027, 2006<br />
[13] S. Huang, W. Zhang, W. Feng, and H.Q. Yang, “Blind<br />
watermarking scheme based on neural network,” The 7th<br />
World Congress on Intelligent Control and Automation,<br />
vol.1, pp.5985- 5989, 2008<br />
[14] C. Y. Chang and S. J. Su, “The application <strong>of</strong> a full counter<br />
propagation neural network to image watermarking,”<br />
Proceedings <strong>of</strong> IEEE on Networking, Sensing and Control,<br />
pp.993-998, 2005<br />
[15] Y. Q. Chen, H. P. Hu, and X. T. Li, “Extracted watermark<br />
identification using synergetic pattern recognition,” The<br />
4th International Symposium on Multispectral Image<br />
Processing and Pattern Recognition, Vol.6043, pp.256-264,<br />
2005<br />
© 2011 ACADEMY PUBLISHER<br />
[16] H. Hanken, “Synergetic computers and cognition-a top-<br />
down approach to neural nets,” Berlin: Springer-Verlag,<br />
1991<br />
[17] AT&T Laboratories Cambridge. The Database <strong>of</strong> Faces.<br />
http://www.cl.cam.ac.uk/research/dtg/attarchive/facedataba<br />
se.html. 2010-3-24<br />
Chen Yongqiang Wuhan China, July<br />
1967. He received the B.S. degree in<br />
Fluid Drive and Control, M.S. degree in<br />
Mechanical Design and Theory and Ph.D.<br />
degree in Pattern Recognition and<br />
Intelligence System from Huazhong<br />
University <strong>of</strong> Science and Technology,<br />
China, in 1989, 2001 and 2005,<br />
respectively.<br />
Dr. Chen is currently an Associate Pr<strong>of</strong>essor <strong>of</strong> School <strong>of</strong><br />
Computer Science at Wuhan Textile University, Wuhan, China.<br />
His research areas include computer graphics, digital image<br />
processing, multimedia technology, artificial intelligence and<br />
digital watermarking.<br />
Dr. Chen is a member <strong>of</strong> ACM, China Computer Federation<br />
and China Society <strong>of</strong> Image and Graphics. He has been awarded<br />
the third prize <strong>of</strong> “Prize <strong>of</strong> Scientific Progress” <strong>of</strong> Hubei<br />
Province and the third prize <strong>of</strong> “Prize <strong>of</strong> Scientific Progress” <strong>of</strong><br />
Wuhan City. He published one book and about 40 journal or<br />
conference papers.<br />
Zhang Yanqing He received the B.S.<br />
and M.S. degrees in computer science<br />
from Tianjin University, China, in 1983<br />
and 1986, respectively, and the Ph.D.<br />
degree in computer science from the<br />
University <strong>of</strong> South Florida, Tampa, in<br />
1997.<br />
Dr. Zhang is currently an Associated<br />
Pr<strong>of</strong>essor <strong>of</strong> the Computer Science<br />
Department at Georgia State University, Atlanta, USA. His<br />
research interests include computational intelligence, data<br />
mining, bioinformatics, web intelligence, and intelligent<br />
parallel/distributed computing.<br />
Dr. Zhang is a member <strong>of</strong> the Bioinformatics and<br />
Bioengineering Technical Committee, and the Data Mining<br />
Technical Committee <strong>of</strong> the IEEE Computational Intelligence<br />
Society. He has co-authored two books, co-edited two books<br />
and four conference proceedings. He published 15 book<br />
chapters, 65 journal papers and over 130 conference/workshop<br />
papers.<br />
Hu Hanping He received the M.S. and Ph.D. degrees in<br />
Pattern Recognition and Intelligence System from Huazhong<br />
University <strong>of</strong> Science and Technology, China, in 1995 and 1998,<br />
respectively.<br />
Dr. Hu is currently a Pr<strong>of</strong>essor <strong>of</strong> the Institute for Pattern<br />
Recognition and Artificial Intelligence at Huazhong University<br />
<strong>of</strong> Science and Technology, Wuhan, China. His research areas<br />
include information security, computer networks, digital image<br />
processing, artificial intelligence and information hiding.<br />
Dr. Hu is a committeeman <strong>of</strong> the intelligent Automation<br />
Committee in the Chinese Association <strong>of</strong> Automation. He<br />
published about 70 journal or conference papers.
856 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Ling Hefei He received the B.S. degree in Energy and Power<br />
Engineering and Ph.D. degree in Computer Science and<br />
Technology from Huazhong University <strong>of</strong> Science and<br />
Technology, China, in 1999 and 2005, respectively.<br />
Dr. Ling is currently an Associated Pr<strong>of</strong>essor <strong>of</strong> the School<br />
<strong>of</strong> Computer Science and Technology at Huazhong University<br />
<strong>of</strong> Science and Technology, Wuhan, China. His research areas<br />
include multimedia security, digital watermarking, copy<br />
detection, digital media forensics and intelligent video<br />
processing.<br />
Dr. Ling is a senior member <strong>of</strong> ACM, IEEE and China<br />
Computer Federation. He published about 40 journal or<br />
conference papers.<br />
© 2011 ACADEMY PUBLISHER
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 857<br />
An Efficient Method for Improving Query<br />
Efficiency in Data Warehouse<br />
Zhiwei Ni 1,2<br />
1)School <strong>of</strong> Management, Hefei University <strong>of</strong> Technology, Hefei , Anhui, China<br />
2)Key Lab. <strong>of</strong> Process Optimization and Intelligent Decision-making, Ministry <strong>of</strong> Education, Hefei , Anhui, China<br />
zhwnelson@163.com<br />
Junfeng Guo 1,2 , Li Wang 1,2 and Yazhuo Gao 1,2<br />
1)School <strong>of</strong> Management, Hefei University <strong>of</strong> Technology, Hefei , Anhui, China<br />
2)Key Lab. <strong>of</strong> Process Optimization and Intelligent Decision-making, Ministry <strong>of</strong> Education, Hefei , Anhui, China<br />
alloy1129@yahoo.com.cn, wl820609@163.com, yazhuogao@163.com<br />
Abstract—There are lots <strong>of</strong> performance bottlenecks for<br />
real-time queries in mass data. Many methods can only<br />
improve the efficiency for frequently used queries, but it is<br />
not advisable to neglect the non-frequently used queries.<br />
This paper proposes a new integrated index model called<br />
BBI and illustrates the application <strong>of</strong> this model. Based on<br />
the feature <strong>of</strong> data warehouse and OLAP queries, this index<br />
model is built with inverted index, aggregation table, bitmap<br />
index and b-tree. It greatly promotes not only the efficiency<br />
<strong>of</strong> frequently used queries, but also the performance <strong>of</strong><br />
other queries. The analytical and experimental results<br />
demonstrate the utility <strong>of</strong> BBI.<br />
Index Terms—Aggregation Table, Inverted Index, Bitmap<br />
Index, B-Tree Index<br />
I. INTRODUCTION<br />
Data warehouse (DW) is defined as a subject-oriented,<br />
integrated, steady and time varying data set which<br />
supports enterprises or organizations to make decisions.<br />
As the decision maker needs to query several values from<br />
one subject for real-time analysis processing, the<br />
multidimensional model <strong>of</strong> DW is usually implemented as<br />
star schemes to meet the requirements. This kind <strong>of</strong><br />
hierarchical model is highly unnormalized and queryoriented.<br />
There are two kinds <strong>of</strong> table in star schemes.<br />
One is fact table which contains basic quantitative<br />
measurements <strong>of</strong> a business subject, the other is<br />
dimension table that describes the facts. If there are more<br />
than one fact table in a DW, it can be called galaxy model<br />
which is actually constituted <strong>of</strong> several star schemes.<br />
Complex queries are always requested in DW. When<br />
users need to process multi-dimensional analysis, multitable<br />
joins may be involved. Although data can be stored<br />
in a multi-dimensional database, DW usually stores data<br />
in the form <strong>of</strong> relational database. As the number <strong>of</strong><br />
dimension and the overall size <strong>of</strong> data sets increase, the<br />
size <strong>of</strong> DW <strong>of</strong>ten grows to gigabytes or terabytes. When<br />
the complex queries are implemented on mass multidimensional<br />
data , the query efficiency is far beyond<br />
satisfaction. Fact tables in data warehouses which store<br />
business measures usually have millions <strong>of</strong> records or<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.857-865<br />
more. Such tables usually have more than 10 attribute<br />
dimensions. For example, to select records <strong>of</strong> which time<br />
between 01/01/2008 and 09/10/2009, it needs to join the<br />
tables and compare the time value <strong>of</strong> millions <strong>of</strong> each<br />
record with the requested value. So it is necessary to<br />
retrieve the data more efficiently. Some methods and<br />
technologies were proposed to improve queries efficiency,<br />
such as materialized view[1], feature selection[5], index<br />
technology[3], etc.<br />
Materialized view is a kind <strong>of</strong> pre-computed structure,<br />
it materializes the calculated results ahead <strong>of</strong> using. The<br />
pre-computed values are <strong>of</strong>ten mean, sum, average, etc.<br />
Queries on materialized views are fast responded, because<br />
no join needs to be made on successive requests, and the<br />
records in views are less than the original tables.<br />
Materialized views can be applied to OLAP, but due to the<br />
limit <strong>of</strong> storage space, it is infeasible to store results <strong>of</strong> all<br />
queries. Some heuristic algorithms have been used to find<br />
an approximate optimal solution. For example, greedy and<br />
genetic algorithms that based on requirement and<br />
probability are applied to generate views. But once queries<br />
are made on the records which are not materialized, the<br />
efficiency can not be improved, and it is unacceptable for<br />
any delay when users need the results urgently. So there is<br />
limitation <strong>of</strong> materialized method.<br />
Feature selection is a procedure to select a subset<br />
from the original feature set by eliminating redundancy<br />
and less informative features so that the subset contains<br />
only the most discriminative features [4]. Applied to<br />
dimension reduction, a set <strong>of</strong> attributes that best represents<br />
the overall data set is found out by feature selection. But<br />
feature selection has the same problem with materialized<br />
view that when the queries involve the dimensions which<br />
are not selected, the efficiency <strong>of</strong> this method deceases.<br />
Index technology greatly cuts down the load <strong>of</strong> I/O,<br />
which is highly effective in real application. Compared<br />
with materialized view, the space cost <strong>of</strong> index is reduced.<br />
Many indexes are classified into data-partitioning indexes,<br />
such as B+ tree and R-tree family and other tree indexes.<br />
B+ tree indexes are <strong>of</strong>ten adopted in databases to retrieve<br />
rows <strong>of</strong> a table with specified values involving one or
858 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
more columns. Data are placed in some partitions by the<br />
sequence <strong>of</strong> key values which also need to be precomputed.<br />
Using these indexes to answer a query, system<br />
should find the partitions which contain the related data by<br />
comparing the key value from the root node to the leaf<br />
nodes. Those all search paths that may be potentially<br />
matched must be explored. Data-partitioning indexes are<br />
effective for single keyword queries. As the dimension<br />
quantity <strong>of</strong> both the indexes and the queries increases, the<br />
efficiency deceases.<br />
OLAP query includes point query and cube query. It<br />
takes less time to process point query whose result is a<br />
single value or one record. Cube query returns a list <strong>of</strong><br />
values or multiple rows <strong>of</strong> data which are aggregated from<br />
the data set. It needs to traversal the whole data table to<br />
get the data set and is relatively long in the duration <strong>of</strong><br />
query implementation. For example, if we need the total<br />
revenue which is sorted only by time and location, it is a<br />
cube query that needs to traversal the whole sale fact table<br />
to aggregate the data. As for OLAP query,the common<br />
index technology can not meet the requirements <strong>of</strong> query<br />
efficiency. Data cube plays an essential role in fast OLAP<br />
query, but high dimensional data cube requires massive<br />
memory and disk space, and the current algorithms are<br />
unable to materialize the full cube under such conditions.<br />
It is called curse <strong>of</strong> dimensionality. Besides, it is hard to<br />
build data cubes based on relational databases, so how to<br />
promote the query efficiency becomes the key problem.<br />
As for OLAP application,paper [17] used inverted index<br />
which is common technology <strong>of</strong> search engine to build<br />
shell cube. Though the new cubing approach reduces the<br />
space cost <strong>of</strong> data cube and promotes the efficiency <strong>of</strong><br />
queries, many queries require to be computed at run time.<br />
Introducing inverted-index in search engine<br />
technology, integrating join-index and materialized view,<br />
we propose a new index model in this paper based on user<br />
interest and query statistics, called BBI. The new index<br />
can not only greatly promote the efficiency <strong>of</strong> frequently<br />
used queries, but also improve the performance <strong>of</strong> other<br />
queries. With a good performance in storage size, it is<br />
suitable to be applied in OLAP and other complex queries.<br />
In Section 2, the relevant knowledge <strong>of</strong> existing<br />
approaches and technology are presented; our approach is<br />
elaborated and the efficiency <strong>of</strong> the theory is analyzed in<br />
Section 3. BBI is further discussed in Section 4. Section 5<br />
describes the performance evaluation <strong>of</strong> our approach.<br />
Section 6 is the conclusion.<br />
II. RELATED WORK<br />
There are some feasible methods with acceptable<br />
performance for the queries that require multi-table joins<br />
in high dimension data warehouses when the queries are<br />
based on the dimensions that are important or commonly<br />
used, but not all dimensions can be included with most<br />
methods while the space expense grows rapidly as the<br />
dimension grows. The common technologies are view<br />
materialization, feature selection, index technology, etc.,<br />
they are not independent with each other, and many<br />
researches concentrate on integrating various technologies<br />
to improve the efficiency <strong>of</strong> DW.<br />
© 2011 ACADEMY PUBLISHER<br />
A. Materialized View<br />
Dynamic materialized view [7] selectively materializes<br />
only a subset <strong>of</strong> rows which are the most frequently<br />
accessed. Compared to conventional materialized view<br />
which maintains all rows <strong>of</strong> a view, the set <strong>of</strong> dynamic<br />
materialized views can be changed dynamically and the<br />
storage space is reduced. A method in [8] materializes the<br />
views in a data warehouse to reduce the query response<br />
time. Aiming at the insufficient consideration <strong>of</strong> the<br />
dynamic update, the method can wash out materialized<br />
views and add new materialized views in the set <strong>of</strong> current<br />
materialized views on the basis <strong>of</strong> the greedy algorithm.<br />
Paper [9] proposes a constrained evolutionary algorithm<br />
for materialized views. Constraints are incorporated into<br />
the algorithm through a stochastic ranking procedure [18].<br />
The basic principle <strong>of</strong> this technology has been well<br />
described in [10] and [11]. But [7], [8], [9], [10], [11] all<br />
avoid the question <strong>of</strong> generality.<br />
An algorithm is presented in [1] for building<br />
materialized sample views for database approximation.<br />
The core technique is called ACE (Appendability,<br />
Combinability, and Exponentiality) Tree, improved from<br />
B+-tree, that is suitable for organizing and indexing a<br />
sample view, but the algorithm is not useful when<br />
integrated views are needed.<br />
B. Feature selection<br />
Feature selection techniques are targeted at finding a<br />
set <strong>of</strong> attributes that best represent the overall data. [2], [4]<br />
and [19] are traditional techniques <strong>of</strong> feature selection<br />
which focus on maximizing data energy or classification<br />
accuracy for dimension reduction [19]. The algorithm in<br />
[4] groups the features into different clusters based on<br />
feature similarity and selects a representative feature from<br />
each cluster, so that the feature redundancy is reduced. As<br />
a result, selected features may have no overlap with<br />
queried attributes. In this case, to neglect any attribute<br />
may bring troubles when queries are based on the<br />
attributes that have not been selected.<br />
C. Index<br />
Patrick O’Neil and Dallan Quass presented a review <strong>of</strong><br />
indexing technology in Paper [6] which included join<br />
index, bitmap index and B+-tree. Two indexing structures<br />
called Bit-Sliced indexes and Projection indexes were<br />
introduced as well. The core <strong>of</strong> the method was the<br />
combination <strong>of</strong> B+-tree and bitmap index, which was not<br />
complex but effective.<br />
At present, B+-tree and bitmap index are two <strong>of</strong> the<br />
most important indexes in most database s<strong>of</strong>tware. In fact,<br />
the new edition <strong>of</strong> ORACLE database has involved the<br />
improved indexing technology. The key indexes <strong>of</strong><br />
ORACLE are shown in Fig. 1 and Fig. 2. Fig. 1 shows the<br />
application <strong>of</strong> B-tree index. Based on the rules <strong>of</strong> B-tree,<br />
relational table is divided by a numerical attribute, all<br />
rows <strong>of</strong> the table are distributed in the leaf nodes <strong>of</strong> a tree.<br />
In leaf nodes, the values <strong>of</strong> indexed attribute are<br />
considered as labels. Each label corresponds to a value<br />
called ‘rowid’ which is used to uniquely identify one row<br />
<strong>of</strong> data in ORACLE database and can be seen as physical<br />
addresses. Leaf nodes are connected by indicator so that it
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 859<br />
is convenient to use range query. When queries are made<br />
on keywords, it is rapidly to find the ‘rowid’ in leaf nodes<br />
by b-tree rule and localize the rows <strong>of</strong> data in database by<br />
‘rowid’. B-tree index in ORACLE is suitable for highcardinality<br />
columns and it is inexpensive to update on<br />
keys relatively. But it is inefficient for queries using ‘or’<br />
predicates.<br />
Fig. 1. B-tree index in ORACLE<br />
Fig. 1. shows the structure <strong>of</strong> bitmap index which is<br />
built for gender in ORACLE. The word ‘start’ and ’end’<br />
represent a segment <strong>of</strong> storage space. The ‘rowid’ <strong>of</strong><br />
‘8.0.1’ is the beginning address and ’12.0.1’ is end.<br />
Bitmap shows the distributing <strong>of</strong> all the gender keywords.<br />
‘1’ means the keyword appears in the row, ‘0’ means the<br />
contrary. Bitmap index in ORACLE is suitable for lowcardinality<br />
columns and it is efficient for queries using OR<br />
predicates. But it is expensive to update key column. At<br />
the same time, each keyword needs a bitmap whose length<br />
is the same as the fact table. When the row number is<br />
large, it is difficult to use and store bitmap. ORACLE<br />
<strong>of</strong>ten uses the subsection structures to solve this problem<br />
which also shows in Fig. 2,but as the number <strong>of</strong> segment<br />
increases, performance decreases quickly, because it<br />
needs to checkall the bitmap segments to find answer.<br />
Fig. 2. Bitmap index in ORACLE<br />
Several papers proposed designs for index<br />
recommendations based on optimization rules [14], [15],<br />
[16].Since the effectiveness <strong>of</strong> these indexes degrades<br />
when the query patterns change, Michael Gibas and his<br />
collaborators [5] introduced a technique to recommend<br />
indexes based on index types that were frequently used for<br />
high-dimensional data sets and to dynamically adjust<br />
indexes as the underlying query workload changes.<br />
Paper [3] evaluated experimentally the dimension-join<br />
indexes using the TPC-H benchmark and showed a new<br />
index structure using bitmap and B+ tree that can<br />
dramatically improve the performance for some queries.<br />
© 2011 ACADEMY PUBLISHER<br />
Papers [12] proposed Hybrid Index which is suitable for<br />
given data by building with B+ tree and hash table, but it<br />
is not universality. Paper [13] introduced a new kind <strong>of</strong><br />
multi-table join index and proved it was more effective<br />
than only using multi-table join by experiment. But this<br />
technique also only has the index on the frequently using<br />
data to advance the query performance; it upgrades<br />
nothing when queries are made on the data which has not<br />
been paid attention.<br />
III. APPROACH<br />
A. Inverted Index<br />
Inverted index comes from the functional needs <strong>of</strong><br />
attribute retrieval in practice. Each item in the index table<br />
has an attribute value and an ID which corresponds to the<br />
value. Inverted index tables identify ID by attribute, which<br />
is different from the common tables that identify attribute<br />
by ID, that is why it is called inverted index. Table 1 is a<br />
fact table which has three dimension columns and one<br />
numerical value column. Table 2 is the first order inverted<br />
index <strong>of</strong> table 1. The keyword ‘male’ appears in line 1, 2,<br />
5 in table 1; so there is one line in table 2 which records<br />
‘male’ and ‘1,2,5’. The rest can be deduced accordingly. It<br />
is easy to find that the storage space <strong>of</strong> inverted index<br />
smaller than that <strong>of</strong> the original table because it does not<br />
include the numerical value column.<br />
Table 1. Fact Table<br />
TID sex age specialty score<br />
1 male 20 computer 90<br />
2 male 20 computer 74<br />
3 female 19 computer 83<br />
4 female 20 computer 95<br />
5 male 19 computer 81<br />
6 female 20 computer 70<br />
Table 2. First-order Inverted Index<br />
Word TID<br />
male 1,2,5<br />
female 3,4,6<br />
19 3,5<br />
20 1,2,4,6<br />
computer 1,2,3,4,5,6<br />
Second-order and high-order inverted index can also<br />
be built. Table 3 shows the second-order inverted index <strong>of</strong><br />
sex and age. The TID <strong>of</strong> male and 19 is 5, it tells that male<br />
and 19 both appear in line 5. The advantage <strong>of</strong> inverted<br />
index is fast keyword retrieval.<br />
Table 3. Second-order Inverted Index<br />
Word TID<br />
male ,19 5<br />
male ,20 1,2<br />
female,19 3<br />
female,20 4,6
860 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Table 2 can be translated into Table 4 by using bitmap,<br />
which can further decrease the storage space and increase<br />
the query efficiency.<br />
Table 4. Bitmap-based Inverted Index<br />
Word TID<br />
male 110010<br />
female 001101<br />
19 001010<br />
20 110101<br />
computer 111111<br />
B. Definitions<br />
Definition 1 High-frequency Join<br />
Queries which relate to the same dimensions are<br />
classified into the same category. If the ratio <strong>of</strong> the<br />
number <strong>of</strong> queries in the same category to the total<br />
number <strong>of</strong> all queries is over HFJ, the category is called<br />
high-frequency Join. HFJ is the threshold <strong>of</strong> highfrequency<br />
which is between 0 and 1. The lower the HFJ is,<br />
the more the high-frequency Join there are, which leads to<br />
the large space occupation. The setup <strong>of</strong> HFJ depends on<br />
the real cases.<br />
Definition 2 Fact table can be formalized as Table<br />
(Dimx1, Dimx2,…,Dimxn, M1,…,Mm). Aggregation<br />
tables are derived from the original fact table, indicating to<br />
AgTable (Dimx1, Dimx2,…,Dimxi, f(M1),…,f(Mm)).<br />
Dimx1,Dimx2,…,Dimxi indicates the remaining<br />
dimensions after the aggregation. f ( ) is the aggregation<br />
function. There are (n-i) dimensions in AgTable, that is<br />
less than original fact table.<br />
C. Approach Overview<br />
The abstract <strong>of</strong> our approach is as follows: In<br />
condition <strong>of</strong> the limited storage space, inverted index is<br />
built for fact table in database while aggregation table is<br />
established for frequently used queries, aggregation table<br />
is applied for frequently used queries to get quick<br />
response and inverted index is adopted for other queries to<br />
reduce response time. So it improves the efficiency <strong>of</strong><br />
both frequently used queries and the other queries.<br />
This paper establishes aggregation based on the<br />
frequency <strong>of</strong> queries from users and adopts bitmap to<br />
optimize inverted index. A solution is proposed for the<br />
inefficient performance <strong>of</strong> bitmap when the number <strong>of</strong><br />
records becomes too large. The approach has the<br />
advantages as quick response for frequently used queries,<br />
performance promotion for other queries and reasonable<br />
space cost.<br />
D. Application <strong>of</strong> Our Approach<br />
The establishing process <strong>of</strong> our approach can be<br />
mainly divided into three steps: getting high-frequency<br />
Joins; building inverted indexes; building aggregation<br />
tables and join indexes. If better space performance is<br />
required, then only the aggregation table for those highfrequency<br />
joins meet the thresholdα will be built (α is<br />
HFJ which has been introduced before). The function<br />
<strong>of</strong>α is to reduce the inconsequence <strong>of</strong> building too many<br />
aggregation tables. For some high-frequency joins, the<br />
© 2011 ACADEMY PUBLISHER<br />
number <strong>of</strong> involved dimensions is slightly smaller than the<br />
total number, there is only tiny advancement by applying<br />
aggregation table for them. So this kind <strong>of</strong> high-frequency<br />
joins will be ignored while building aggregation tables.<br />
Algorithm 1 Creating Index and AgTable<br />
Input: Fact Table, Query Set<br />
Output: Inverted Index, AgTable(Dimx1,Dimx2 …Dimxi<br />
, f(M1),…,f(Mm))<br />
begin<br />
(1)Scan Query Set → Get High Frequency Dim and<br />
High Frequency Join<br />
(2)Scan Database → Create First-order Inverted<br />
Index<br />
IF space is surplus<br />
For each High Frequency Dim<br />
Create High-order Inverted Index(X≥2)<br />
End<br />
(3)For each High Frequency Join<br />
IF i
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 861<br />
Theorem 1 The ratio <strong>of</strong> aggregation table to fact table<br />
is getting smaller rapidly with the increase <strong>of</strong> rows <strong>of</strong> any<br />
dimension table or the number <strong>of</strong> dimensions.<br />
Theorem 2 Fact table and the structure <strong>of</strong> our<br />
approach have the same the space complexity.<br />
Time complexity analysis is as follows: When there is<br />
no index, Cube queries <strong>of</strong> OLAP need to join the fact<br />
table with dimension table to build a temporary view. A<br />
summary query needs a traversal <strong>of</strong> the whole table, so the<br />
time complexity is O (Mn). When our approach is<br />
adopted, there are two situations:<br />
(1)If the aggregation table can be used, it costs time to<br />
search for aggregation and query on it. As there are join<br />
index in RAM, it can quickly find out the aggregation, so<br />
the time is mainly spent on the second step. Query by<br />
using aggregation, the time complexity is O (Mn-i), ‘i’ is<br />
(1-α )*n which stands for the difference <strong>of</strong> dimension<br />
number <strong>of</strong> fact table and aggregation table. O (Mn-i) is<br />
much smaller than O (Mn), the more the dimensions in the<br />
dimension table are and the bigger the fact table is, the<br />
more efficient our approach is.<br />
(2) If no aggregation table can be used, then inverted<br />
index can be adopted by OLAP query. The total time can<br />
be divided into three parts: the time <strong>of</strong> reading out the<br />
result id set from inverted index, the time <strong>of</strong> getting the<br />
intersection <strong>of</strong> result id set, the time <strong>of</strong> querying on the<br />
fact table with id. If inverted index is expressed by bitmap,<br />
time for intersection can be omitted, so the total time<br />
complexity is O (M*n). Otherwise, the intersection time<br />
should be considered. In fact, the time for calculating is<br />
much less than reading time. But for convenience, we<br />
suppose they are in same level. If we use dichotomy to<br />
sort one set, the time complexity is O (M ㏒ M), so the<br />
time for sorting all sets is O (nM ㏒ M). The time for<br />
getting common elements on N ordered set is O (M*n). At<br />
last the total time complexity is O (nM ㏒ M+ M*n),<br />
equal to O (nM(1+㏒ M)). It is still much smaller than O<br />
(Mn).<br />
IV. BBI<br />
The application <strong>of</strong> bitmap in expressing inverted index<br />
decreases the space cost, as well as promotes the<br />
efficiency, but there are two problems for using bitmap on<br />
huge database. Firstly, every keyword needs a long bitmap<br />
with the same length <strong>of</strong> the whole table. If there are many<br />
records in a table, it is hard to store and use the bitmap.<br />
Suppose there are 10000000 records in the table, however<br />
one keyword needs 125000 bytes for bitmap, getting the<br />
intersection <strong>of</strong> two 125000 bytes bitmap is also difficult.<br />
Secondly, high-cardinality columns like time dimension<br />
have many keywords and it is common that most<br />
keywords appear rarely, so it wastes much space by using<br />
bitmap inverted index to express each keyword. For the<br />
above two problems, we made an improvement on our<br />
approach. We use bitmap, b-tree and inverted index and<br />
apply two different methods to high-cardinality columns<br />
and low-cardinality columns, called BBI.<br />
© 2011 ACADEMY PUBLISHER<br />
A. BBI index for low-cardinality columns<br />
For low-cardinality columns’ keywords, the number is<br />
not large and the frequency is high. For these columns we<br />
use the BBI index structure as shown in Fig. 3. It divides<br />
the fact table into some segments which still can be<br />
divided into many blocks. Index blocks are established on<br />
each table block by using inverted index and bitmap,<br />
containing the initial and ending address <strong>of</strong> the block. One<br />
bit <strong>of</strong> the bitmap refers to one row and stands for whether<br />
a keyword appears in that row. After establishing all the<br />
index blocks, it establishes index segment for the index<br />
blocks. Index segments has the similar structure as index<br />
block, but one bit <strong>of</strong> the bitmap refers to one block and<br />
stands for whether a keyword appears in that block. It<br />
establishes chief index on the total index segments and<br />
also uses a bit to stand for whether a keyword appears in<br />
that segment. BBI is an open index, using the same<br />
method, it can build higher order index on the table, but<br />
not only third order.<br />
Such as Fig. 3, it establishes index block for each 256<br />
rows, and builds index segment for each 64 index blocks;<br />
at last built a chief index for 64 index segments.<br />
Fig. 3. BBI index for low-cardinality columns<br />
The main space cost is the storage space <strong>of</strong> index<br />
blocks, because the space <strong>of</strong> index segments and chief<br />
index is only a small portion <strong>of</strong> the index blocks’ . We can<br />
see from Fig. 3 that establishing BBI for one column costs<br />
the same space as building bitmap index <strong>of</strong> ORACLE.<br />
Suppose there are N rows in the fact table, the total<br />
number <strong>of</strong> keywords <strong>of</strong> all the low-cardinality columns is<br />
M, K bytes bitmap is used for one keyword in each block,<br />
so it comes that:<br />
N<br />
NM<br />
Space = * M * K =<br />
8K<br />
8<br />
(1)<br />
It can be derived from (1) that the space <strong>of</strong> BBI is only<br />
related to the number <strong>of</strong> rows and the number <strong>of</strong><br />
keywords. Suppose there are one million rows and one<br />
thousand keywords, the space cost <strong>of</strong> BBI for all the<br />
keywords is 125M. Compared to the space <strong>of</strong> table with<br />
one million rows, it is much smaller.<br />
B. BBI index for high-cardinality columns<br />
For high-cardinality columns’ keywords, the number<br />
is large but the frequency is low. For these columns we<br />
use the BBI index structure like Fig. 2. It also divides the<br />
fact table into many blocks. Index is established by using
862 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
B-tree, inverted index and bitmap. Index is organized by<br />
b-tree and the inverted indexes are stored in the leaf<br />
nodes. According to the property <strong>of</strong> high-cardinality<br />
columns, it will waste too much space to establish whole<br />
inverted index for all the keywords in all the rows, so it<br />
only stores the bitmap for the block in which the<br />
keywords appear, containing the tab <strong>of</strong> block. All the leaf<br />
nodes are linked by indicator for range query. Such as Fig.<br />
4, there are 3000 keywords in one column, it only find out<br />
the id <strong>of</strong> the keywords in dimension table. The keyword<br />
’1’ exists in some rows <strong>of</strong> block 5 and block 121, so there<br />
are two bitmaps in leaf node 1 for keyword ‘1’. Each leaf<br />
node stores the bitmaps <strong>of</strong> 10 keywords at most, sorting<br />
by ID.<br />
Fig. 4. BBI index for high-cardinality columns<br />
The main space cost is the storage space <strong>of</strong> index leaf<br />
nodes. Suppose there are N rows in the fact table, the total<br />
number <strong>of</strong> keywords <strong>of</strong> all the low-cardinality columns is<br />
M, each keyword may appear in L blocks on average (it<br />
means each keyword needs L rows <strong>of</strong> bitmap in the leaf<br />
node on average), it uses K bytes for each row <strong>of</strong> bitmap,<br />
so it comes that:<br />
Space = M * L * K<br />
(2)<br />
It can be seen from (2) the space <strong>of</strong> BBI for highcardinality<br />
columns is related to size <strong>of</strong> one block, the<br />
distribution <strong>of</strong> keywords and the number <strong>of</strong> keywords.<br />
Suppose there are 100000 keywords, each keyword may<br />
exist in 10 blocks on average and each bitmap is<br />
expressed by 32 bytes, the space cost <strong>of</strong> BBI is 30M.<br />
Two extreme conditions are considered. The first<br />
condition is that every keyword exists in all blocks. It is<br />
obvious that the space cost can be calculated by (1). The<br />
second extreme condition is that for one column, the<br />
keyword in each row is different from each other. So the<br />
number <strong>of</strong> keywords is the same as row number. If the<br />
row number is N and the dimension number is D, we can<br />
derive that:<br />
Space = N * D * K<br />
(3)<br />
Suppose there are one million rows and one hundred<br />
high-cardinality columns with the second extreme<br />
condition, it uses 32 bytes for one bitmap; the BBI space<br />
cost <strong>of</strong> these a hundred million keywords is 3.2G.<br />
Comparing to the space <strong>of</strong> table with one hundred highcardinality<br />
columns, it is much smaller.<br />
© 2011 ACADEMY PUBLISHER<br />
V. PERFORMANCE EVALUATION<br />
In this section the performance evaluation <strong>of</strong> BBI is<br />
illustrated. In experiments, we used both real data and<br />
simulated data to verify the space and time performance<br />
with the variation <strong>of</strong> row number and dimension number.<br />
The experiments are performed on fedora core 10.0 with<br />
Inter(R) Core(TM)2 2.83G CPU and 2GB RAM, data is<br />
stored on a local disk which is 7,200-rpm. The space <strong>of</strong><br />
simulated data is 1622.8M which contains 5 million rows<br />
and 22 dimensions, including 11 high-cardinality columns<br />
and 11 low-cardinality columns, it is randomly generated.<br />
The real data set contains 7.79 million rows and 12<br />
columns, and the space is 1080M.<br />
A. IO performance <strong>of</strong> BBI<br />
For retrieval speed, one <strong>of</strong> the most important<br />
influences is I/O cost. On the one hand, if it is not<br />
consecutively stored in physical address, the efficiency <strong>of</strong><br />
disk I/O will decline. On the other hand, it costs huge I/O<br />
for querying on huge data, so using BBI to decrease I/O<br />
cost can increase the retrieval efficiency.<br />
Fig. 5 shows the change <strong>of</strong> I/O cost when establishing<br />
BBI in stages. As the number <strong>of</strong> columns on which BBI<br />
established grows, 100 queries are repeatedly executed on<br />
the simulated data.<br />
Fig.5. I/O Cost<br />
In fact, if all the data is read into RAM at a time, it<br />
doesn’t need disk I/O any more if the following queries<br />
are executed on the same data. But it is hard to read all the<br />
huge data to RAM, so only the essential data is read at a<br />
time in the experiment, and released after query. When<br />
there is no BBI, the I/O cost is close to 40000M. When<br />
there are 4 columns with BBI, the I/O cost decreased to<br />
24100M. When there were 20 columns with BBI, the I/O<br />
cost is only 5400M.<br />
B. Space size <strong>of</strong> aggregation table<br />
We use the simulated data and simulated queries in<br />
this experiment. We vary HFJ to see the change <strong>of</strong> highfrequency<br />
join number. Fig. 6 shows change tendency <strong>of</strong><br />
ratio <strong>of</strong> high-frequency joins to all joins when HFJ ranges<br />
from 1% to 5% and the columns number are 6,10,14,18,22<br />
respectively. There are 10 high-frequency joins when<br />
there are 22 columns and HFJ equals to 0.5%, but there<br />
are only 3 when HFJ equals to 2%. No high-frequency<br />
joins exist when HJF increases to 4%. It shows the
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 863<br />
common discipline by using simulated data and simulated<br />
queries which are all randomly generated.<br />
Fig. 7 shows the storage size <strong>of</strong> aggregation table,<br />
α =2/3. The storage size <strong>of</strong> aggregation table decreases<br />
rapidly with the increase <strong>of</strong> HFJ, but the tendency is not<br />
regular. Through analysis we can see that high-cardinality<br />
columns <strong>of</strong>ten affect more than low-cardinality columns,<br />
because high-cardinality columns contain more keywords.<br />
So if a high-cardinality column is deducted, the storage<br />
size <strong>of</strong> aggregation will drastically decrease. In the<br />
condition <strong>of</strong> 22 columns, when the HFJ increases from<br />
1.5% to 2%, the number <strong>of</strong> high-frequency joins decreases<br />
1, but the aggregation table size decreases 200M. At the<br />
same time, when HFJ increases from 2.5% to 3.0%, the<br />
number <strong>of</strong> high-frequency joins also decreases 1, but the<br />
aggregation table size only decreases 7.1M.<br />
Fig.6. Number <strong>of</strong> High-frequency Joins<br />
Fig.7. Storage Size <strong>of</strong> Aggregation table<br />
C. Performance <strong>of</strong> our approach<br />
In this section, the overall test is illustrated. Our<br />
approach has two functions, one is only to establish BBI<br />
as common index, and apply it to promote the efficiency<br />
for querying on huge data, the other is to use BBI and<br />
aggregation table to promote the efficiency for OLAP<br />
query. Based on real data, we first establish BBI, B-Tree<br />
index, traditional bitmap index and compare their<br />
efficiency for kinds <strong>of</strong> queries, then verify the OLAP<br />
performance <strong>of</strong> our approach.<br />
There are 7.79 million rows in the fact table. We<br />
choose 6 low-cardinality columns to establish BBI, B-<br />
Tree and traditional bitmap index, then 6 high-cardinality<br />
columns. Fig.8 shows the comparison <strong>of</strong> space costs. First<br />
two low-cardinality columns only have 9 keywords, both<br />
storage size <strong>of</strong> BBI and traditional bitmap are 12M, but B-<br />
© 2011 ACADEMY PUBLISHER<br />
Tree is over 100M. When two high- cardinality columns<br />
are added, keyword number is over 31000, the traditional<br />
bitmap already can not be built, its storage size is<br />
predicted to be over 38000M. At this time, though BBI<br />
also used bitmap, its size only increases to 550M. At last,<br />
the number <strong>of</strong> all keywords is over 8.2 million, the<br />
traditional bitmap is strongly unsuitable, but the storage<br />
size <strong>of</strong> BBI and B-Tree are 767M and 593M, both <strong>of</strong><br />
which show the good space performance for huge number<br />
<strong>of</strong> keywords. We can see that BBI has good space<br />
performance no matter how many the columns are.<br />
Fig.8. Comparison <strong>of</strong> Space Costs<br />
Fig.9. Comparison <strong>of</strong> Query Performance<br />
As proved above, BBI has good query performance.<br />
Suppose there are three conditions, the queries involve<br />
1,6,12 columns. We simulate queries for each condition.<br />
Fig. 9 shows the comparison <strong>of</strong> query performance <strong>of</strong> BBI<br />
and B-Tree. BBI always surpasses B-tree in the three<br />
conditions especially when the columns increase. BBI<br />
inherits the advantages <strong>of</strong> bitmap and b-tree, it could<br />
easily answer reply the range query, multi keywords<br />
query, ‘or’ query and etc.<br />
At last, we verify the comprehensive performance<br />
(containing cube query for OLAP) <strong>of</strong> our approach. We<br />
establish the aggregation table on real data with the<br />
condition thatα =2/3, HFJ=3%. For comparison, we also<br />
use greedy algorithm to establish materialized views<br />
which has the same space cost <strong>of</strong> our approach<br />
(aggregation table and BBI). Fig.10 shows the comparison<br />
<strong>of</strong> comprehensive performance. As cube queries increase,<br />
it turns up that some queries could not use materialized<br />
views and aggregation tables, but BBI is suitable for all<br />
the queries which could use inverted index to established<br />
data cube for OLAP (paper [17]).
864 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Fig.10. Comparison <strong>of</strong> Comprehensive performance<br />
VI. CONCLUSIONS<br />
A new approach is introduced in this paper, which can<br />
be used to decrease the time cost for frequently used<br />
queries, including cube queries. The core <strong>of</strong> the approach<br />
is BBI which is an integrative index, inheriting the<br />
advantage <strong>of</strong> bitmap index, b-tree index and inverted<br />
index. Inverted index represented by bitmap is adopted to<br />
get result quickly by intersection operations. Meanwhile,<br />
tree structure is used to accelerate speed for range queries.<br />
BBI can be built on both high-cardinality and lowcardinality<br />
columns and it is suitable to all data types. BBI<br />
established on different columns can cooperate with each<br />
other to promote the efficiency. Combining with<br />
aggregation which is based on user-driven, the approach<br />
can promote the efficiency for <strong>of</strong> cube queries as well. It<br />
does not only greatly promote the efficiency <strong>of</strong> frequently<br />
used queries, but also improve the performance <strong>of</strong> other<br />
queries. This paper discusses the space and time<br />
complexity <strong>of</strong> BBI, and the experiment results show good<br />
performance on space and time <strong>of</strong> this approach. Future<br />
work is planned to be focused on live update strategy.<br />
ACKNOWLEDGMENT<br />
This work was supported by the National Natural<br />
Science Foundation <strong>of</strong> China under Grant NO. 70871033<br />
and the National High-Tech Research and Development<br />
Plan <strong>of</strong> China under Grant NO. 2007AA04Z116.<br />
REFERENCES<br />
[1] Joshi.S, Jermaine.C, “Materialized Sample Views for<br />
Database,” [J] IEEE Transactions on Knowledge and Data<br />
Engineering, Volume 20, Issue 3, pp: 337 – 351, March<br />
2008<br />
[2] Guangrong.Li, Xiaohua.Hu and etc, “A Novel<br />
Unsupervised Feature Selection Method for Bioinformatics<br />
Data Sets through Feature Clustering” Proc. Granular<br />
Computing, 2008. IEEE International Conference on 26-28<br />
Aug. 2008(GrC 2008.), pp: 41 - 47<br />
[3] Dimension-Join: A New Index for Data Warehouses<br />
http://www4.wiwiss.fu-berlin.de/dblp/resource/record/<br />
conf/sbbd/BizarroM01<br />
[4] M.E Morita, R. Sabourin, F. Bortolozzi, and C.Y. Suen,<br />
“Unsupervised Feature Selection Using Multi-Objective<br />
Genetic Algorithm for Handwritten Word Recognition”, in<br />
the 7th International Conference on Document Analysis<br />
and Recognition, Edinburgh, Scotland, 2003, pp.666-670.<br />
© 2011 ACADEMY PUBLISHER<br />
[5] Gibas.M, Canahuate.G, Ferhatosmanoglu.H, “On row<br />
Index Recommendations for High-Dimensional Databases<br />
Using Query Workloads” IEEE Transactions on<br />
Knowledge and Data Engineering, Volume 20, Issue<br />
2, Feb. 2008 Page(s):246 - 260<br />
[6] P·O’Neil, D·Quass. Improved query performance with<br />
variant indexes [EB/OL]. http://www.cs.duke.edu/~<br />
junyang /courses/cps216-2003-spring/papers/oneil-quass-<br />
1997.pdf,1997-05.<br />
[7] Jingren.Zho, Larson.P.A, Goldstein.J, Luping.Ding,<br />
“Dynamic Materialized Views”, Data Engineering, 2007.<br />
ICDE 2007. IEEE 23rd International Conference on 15-20<br />
April 2007 Page(s):526 - 535<br />
[8] Yin.GS ,Yu.X, Lin.LD, ” Strategy <strong>of</strong> Selecting<br />
Materialized Views Based on Cache updating”, IEEE<br />
International Conference on Integration Technology<br />
Shenzhen, CHINA, MAR 20-24, 2007 pp:789-792<br />
[9] Jeffrey.Xu.Yu, Xin.Yao, ChiHon.Choi, Gang.Gou.<br />
“Materialized View Selection as Constrained Evolutionary<br />
Optimization”, IEEE Transactions on Systems, Man, and<br />
Cybernetics, Part C: Applications and Reviews, Volume<br />
33, Issue 4, Nov. 2003 Page(s):458 - 467<br />
[10] H. Gupta and I. S. Mumick, “Selection <strong>of</strong> views to<br />
materialize under a maintenance cost constraint,” in Proc.<br />
7th Int. Conf. Database Theory,1999, pp. 453–470.<br />
[11] A. Shukla, P. Deshpande, and J. F. Naughton,<br />
Materialized view selection for multidimensional<br />
datasets,in Proc. 24th Int. Conf. Very Large Data Bases,<br />
1998, pp. 488–499.<br />
[12] Byeong-Seob You, Dong-Wook Lee, et al. Hybrid Index<br />
for Spatio-temporal OLAP Operations[A] //International<br />
Conference on Advances in Information<br />
Systems(ADVIS 2006). Germany:Springer,2006:110-118.<br />
[13] Wen Juan, Xue Yongshen, et al. An Efficient Method for<br />
Multi-Table Joining in Data Warehouse[J]. <strong>Journal</strong> <strong>of</strong><br />
Computer Research and Development, 2005, 44(11):<br />
2010~2017(in Chinese).<br />
[14] M. Frank, E. Omiecinski, and S. Navathe, “Adaptive and<br />
Automated Index Selection in RDBMS,” Proc. Third Int’l<br />
Conf. Extending Database Technology (EDBT ’92), 1992.<br />
[15] S. Choenni, H. Blanken, and T. Chang, “On the Selection<br />
<strong>of</strong> Secondary Indexes in Relational Databases,” Data and<br />
Knowledge Eng., 1993.<br />
[16] A. Capara, M. Fischetti, and D. Maio, “Exact and<br />
Approximate Algorithms for the Index Selection Problem<br />
in Physical Database Design”, Knowledge and Data<br />
Engineering, IEEE Transactions on Volume 7, Issue<br />
6, Dec. 1995 Page(s):955 - 967<br />
[17] Xiaolei Li, Jiawei Han, Hector Gonzalez.Highdimensional<br />
OLAP:a minimal cubing approach[A].<br />
NASCIMENTO M A,OZSU M T,KOSSMANN D,et al.<br />
International Conference on Very Large Data Bases(VLDB<br />
2004).San Fransisco:Morgan Kaufmann,2004:528-539.<br />
[18] Yan.Jun; Liu, Ning; Yan, Shuicheng; Yang, Qiang; Chen,<br />
Zheng;, “Synthesizing Novel Dimension Reduction<br />
Algorithms in Matrix Trace Oriented Optimization<br />
Framework”, Data Mining, 2009. ICDM '09. Ninth IEEE<br />
International Conference on 6-9 Dec. 2009 Page(s):598 -<br />
606<br />
[19] Smalter.A, Huan.Jun, Lushington.G, “Feature Selection in<br />
the Tensor Product Feature Space”, in the ICDM '09. 2009<br />
Page(s):1004-1009.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 865<br />
Zhiwei Ni (Tongcheng City, Anhui<br />
Province,1963), Pr<strong>of</strong>essor, Doctoral<br />
supervisor.<br />
He received his master degree from the<br />
Department <strong>of</strong> Computer Science and<br />
Engineering, Anhui University, Hefei,<br />
China, 1991 and a PhD degree from the<br />
Department <strong>of</strong> Computer Science and<br />
Technology, Hefei, China, in 2002, all in computer science.<br />
He is currently a full Pr<strong>of</strong>essor in the School <strong>of</strong> Management<br />
and also the Director for the Institute <strong>of</strong> Intelligent Management<br />
in Hefei University <strong>of</strong> Technology, Hefei, China. His major<br />
research interests include Artificial Intelligence, Machine<br />
Learning, Intelligent Management and Intelligent Decision<br />
Technique.<br />
Junfeng Guo (Hefei City, Anhui Province, 1983), graduate<br />
student. He focuses on the research <strong>of</strong> business intelligence,<br />
data warehouse and OLAP (online analytical processing).<br />
Li Wang (Fuyang City, Anhui Province, 1982), PhD student.<br />
His research field includes business intelligence, data mining<br />
and cloud computing.<br />
Yazhuo Gao (Zibo City, Shandong Province, 1984), PhD<br />
student. Her research field includes business intelligence, data<br />
mining and OLAP.<br />
© 2011 ACADEMY PUBLISHER
866 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Co-simulation Study <strong>of</strong> Vehicle ESP System<br />
Based on ADAMS and MATLAB<br />
Shengqin Li<br />
State Key Laboratory <strong>of</strong> Automotive Safety and Energy, Tsinghua University, Beijing 100084, China<br />
Email: lishengqin@126.com<br />
Le He<br />
State Key Laboratory <strong>of</strong> Automotive Safety and Energy, Tsinghua University, Beijing 100084, China<br />
Email: luckhero@263.net<br />
Abstract—ESP is an active safety system for road vehicles to<br />
control the dynamic vehicle motion in emergency, the<br />
composition and working principle <strong>of</strong> ESP were introduced<br />
in the paper, and the control technology <strong>of</strong> ESP was studied<br />
too. A virtual prototype model <strong>of</strong> a vehicle model was built<br />
in ADAMS/Car, and the yaw fuzzy control co-simulation<br />
model <strong>of</strong> vehicle was established in Matlab/Simulink, to<br />
study the stability <strong>of</strong> vehicle with ESP disabled and enabled<br />
under sine with dwell. Results showed that, the vehicle<br />
electronic stability program can make the handling<br />
performance under big steering wheel angle, and improve<br />
the vehicle stability.<br />
Index Terms—co-simulation; virtual prototype; ESP;<br />
stability<br />
I. INTRODUCTION<br />
Electronic stability program (ESP) is an evolution <strong>of</strong><br />
antilock brake technology designed to help drivers<br />
maintain handling control <strong>of</strong> their vehicles in high-speed<br />
or sudden maneuvers and on slippery roads. (Refs. [1],<br />
[2])Antilock brakes (ABS) have wheel speed sensors and<br />
the ability to apply brake pressure to individual wheels.<br />
ESP has additional sensors that monitor how well the<br />
vehicle is responding to a driver’s steering input. If the<br />
sensors determine that the vehicle is straying from the<br />
chosen path, brake pressure will be automatically applied<br />
as necessary at individual wheels to bring the vehicle<br />
back to the direction that the driver is steering. In<br />
addition, in many cases engine power is reduced by<br />
means <strong>of</strong> an electronic throttle, thus slowing the vehicle<br />
down even more.<br />
ESP is a vehicle control system comprising sensors,<br />
brakes, engine control modules, and a microcomputer that<br />
continuously monitors how well the vehicle responds to<br />
the driver’s steering input. (Refs. [3])The computer<br />
compares a driver’s commands to the actual behavior <strong>of</strong><br />
the vehicle. In general, when the sensors indicate the<br />
vehicle is leaving the intended line <strong>of</strong> travel, ESP applies<br />
This work was supported by the National high technology program<br />
Foundation China (Grant No. 2006AA110101)<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.866-872<br />
the brake pressure needed at each individual wheel to<br />
bring the vehicle back on track. In some cases ESP also<br />
reduces the force exerted by the engine. The way ESP<br />
systems are programmed to respond to the information<br />
from the sensors varies among vehicle models. Some<br />
systems intervene sooner and take away more driver<br />
control <strong>of</strong> speed than others.<br />
ESP first appeared in Europe in the 1995 model year<br />
and in the U.S. market a few years later (Memmer, 2001).<br />
As is typical <strong>of</strong> new technologies, ESP initially was<br />
available as optional equipment on luxury cars. However,<br />
by model year 2001 it was standard on a number <strong>of</strong> highselling<br />
vehicles and available as an option in many more.<br />
For the 2004 model year, ESP was on all cars and light<br />
trucks manufactured by Audi, BMW, and Mercedes, and<br />
on some models produced by just about every other<br />
automaker. The marketing names <strong>of</strong> ESP systems vary.<br />
For example, BMW refers to its system as Dynamic<br />
Stability Control (DSC), Mercedes calls it Electronic<br />
Stability Program (ESP), Toyota calls it Vehicle Stability<br />
Control (VSC), Ford calls it AdvanceTrac, and General<br />
Motors uses the names StabiliTrak, Active Handling, and<br />
Precision Control.<br />
NHTSA estimates that the installation <strong>of</strong> ESP will<br />
reduce single vehicle crashes <strong>of</strong> passenger cars by 34<br />
percent and single vehicle crashes <strong>of</strong> sport utility vehicles<br />
(SUVs) by 59 percent, with a much greater reduction <strong>of</strong><br />
rollover crashes. (Refs. [4], [5])NHTSA estimates that<br />
ESP has the potential to prevent 71 percent <strong>of</strong> the<br />
passenger car rollovers and 84 percent <strong>of</strong> the SUV<br />
rollovers that would otherwise occur in single vehicle<br />
crashes.<br />
Manufacturers first began equipping vehicles with<br />
ESP, introduced under many different names, in the mid-<br />
1990s in Europe, and the technology appeared in other<br />
markets several years later. As with many new<br />
technologies, ESP first appeared as an option on more<br />
expensive luxury vehicles but within a few years was<br />
being <strong>of</strong>fered as standard equipment on these and other<br />
less expensive models. Although Europe and Japan<br />
initially led the way, ESP is now standard on many<br />
vehicles in the United States. In Europe, 5 million ESP<br />
are expected to produce annually by 2004, and in the U.S
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 867<br />
ESP is just catching on. On the other hand, in South<br />
Korea the demand <strong>of</strong> ESP is slowly rising.<br />
A co-simulation model is established in the paper,<br />
based on yaw fuzzy control technology, the simulation<br />
results are studied, and used to study the vehicle handling<br />
and stability test method and rules.<br />
II. SYSTEM COMPOSITION AND WORKING<br />
PRICINPLE OF ESP<br />
The ESP system aims at helping the driver to maintain<br />
vehicle stability, its main design philosophy is that the<br />
system should help the driver to keep the vehicle<br />
controllable i.e. to avoid excessive vehicle side slip<br />
angles. (Refs. [6], [7], [8])This is achieved by using<br />
individual wheel brakes to control the vehicles yaw<br />
motion. A typical ESP system include traditional brake<br />
system, sensors (such as, wheel speed sensors, wheel<br />
steering angle sensor, later acceleration sensor, yaw<br />
sensor, and rake master cylinder pressure sensor),<br />
hydraulic modulator, stability electronic control unit<br />
(ECU), and other support system.<br />
At the present, the control methods <strong>of</strong> most ESP<br />
system are differential braking control. Figure 1 shows<br />
the action <strong>of</strong> ESP using single wheel braking to correct<br />
the onset <strong>of</strong> oversteering or understeering, if the vehicle<br />
has entered a left curve that is extreme for the speed it is<br />
traveling. The rear <strong>of</strong> the vehicle begins to slide which<br />
would lead to a vehicle without ESP turning sideways<br />
unless the driver expertly countersteers. (Refs. [9]~[11])<br />
In a vehicle equipped with ESP, the system immediately<br />
detects that the vehicle’s heading is changing more<br />
quickly than appropriate for the driver’s intended path, it<br />
momentarily applies the right front brake to turn the<br />
heading <strong>of</strong> the vehicle back to the correct path. (Refs.<br />
[12])In the situation <strong>of</strong> understeering, the ESP system<br />
rapidly detects that the vehicle’s heading is changing less<br />
quickly than appropriate for the driver’s intended path, it<br />
momentarily applies the left rear brake to turn the<br />
heading <strong>of</strong> the vehicle back to the correct path.<br />
Figure 1 Note how the caption is centered in the column.<br />
The agency proposes to adopt the ESP definition based<br />
on the Society <strong>of</strong> Automotive Engineers (SAE) Surface<br />
Vehicle Information Report J2564 (revised June 2004).<br />
The ESP is defined as a system that has all <strong>of</strong> the<br />
following attributes:<br />
(a) Augments vehicle directional stability by applying<br />
and adjusting the vehicle brakes individually to induce<br />
correcting yaw torques to the vehicle.<br />
© 2011 ACADEMY PUBLISHER<br />
(b) Is computer-controlled, which uses a close-loop<br />
algorithm to limit understeer and oversteer <strong>of</strong> the vehicle<br />
when appropriate.<br />
(c) Has a means to determine vehicle yaw rate and to<br />
estimate its sideslip or the time derivative <strong>of</strong> sideslip.<br />
(d) Has a means to monitor driver steering input.<br />
(e) Has an algorithm to determine the need, and a<br />
means to modify engine torque, as necessary, to assist the<br />
driver in maintaining control <strong>of</strong> vehicle.<br />
(f) Is operational over the full speed range <strong>of</strong> the<br />
vehicle (except below a low –speed threshold where loss<br />
<strong>of</strong> control is unlikely).<br />
III. VEHICE MODEL<br />
A. The ADAMS Model<br />
An ADAMS model is established to study the ESP<br />
control system, based on the appropriate simplification <strong>of</strong><br />
prototype vehicle.<br />
The vehicle model is created in Adams, using the<br />
graphical user interface <strong>of</strong> Adams Car. (Refs. [13], [14])<br />
The modeling process is structured to facilitate ease <strong>of</strong><br />
modification later in the design, starting with creating<br />
hard points denoting the various key locations <strong>of</strong> the<br />
suspension system. This is followed by creating links<br />
using those hard points, and finally adding joints and<br />
constraints between the links to complete the geometry.<br />
The mass and inertia properties are then added to the<br />
components <strong>of</strong> the suspension system.<br />
The suspension parts are created using the cylinder<br />
member in the Adams Car template tool box. The hard<br />
points already created mark the end points <strong>of</strong> each <strong>of</strong> the<br />
suspension links, these points are used to create the<br />
suspension geometry. Each suspension element is<br />
modeled as a separate part, connected to other parts<br />
through joints. The prototype vehicle employs a High<br />
Place Double A-arm suspension on front suspension. For<br />
each wheel a lower control arm, upper control arm and<br />
knuckle are modeled as parts. The upper and lower<br />
control arms are connected to the chassis with bushings<br />
and to the knuckles with spherical joints. The bushings<br />
are used to introduce some steering compliance and they<br />
are modeled to be extremely stiff in the vertical and<br />
longitudinal directions compared to the lateral direction.<br />
The prototype vehicle uses a rack and pinion steering<br />
system. The rack is connected to the chassis with a<br />
translational joint.<br />
Figure 2 shows the front High Place Double A-arm<br />
suspension model in Adams Car, and figure 3 shows the<br />
rear Multi-links suspension model in Adams Car. The<br />
springs are modeled as nonlinear single component forces<br />
(S force in Adams) acting between two points which are<br />
the mounting points <strong>of</strong> the strut. The force is defined by a<br />
2D curve with spring deflection on the x axis and force<br />
on the y axis. The shock absorbers are modeled as<br />
nonlinear single component forces acting between the<br />
same points as the strut. The force is defined by a 2D<br />
curve with deformation velocity along the x axis and<br />
force on the y axis.
868 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Once the parts are created, their mass and inertia<br />
properties are defined. The data for the mass, inertia and<br />
joint locations were gained by the company. The graphics<br />
<strong>of</strong> the vehicle body are modeled, and the mass and inertia<br />
properties <strong>of</strong> the body are incorporated in the model.<br />
Figure 2 The front suspension model.<br />
Figure 3 The rear Multi-links suspension model.<br />
The tires and road are modeled using the Adams Tire<br />
module available in Adams Car. One <strong>of</strong> the default flat<br />
road pr<strong>of</strong>iles available in the Adams database is used for<br />
the road. The Pac2002 tire property file suitable for<br />
P205/55R16 tires was used. (Refs. [15])Road model<br />
documents are established by the road builder in the<br />
ADAMS/Car, and the parameters are setup. Figure 4<br />
shows the vehicle ADAMS model.<br />
Figure 4 The ADAMS model <strong>of</strong> vehicle.<br />
© 2011 ACADEMY PUBLISHER<br />
The vehicle model is run only in coast mode for testing<br />
the ESP systems, and for this reason a drive train is not<br />
incorporated in the model. Instead, forced motions are<br />
applied at the wheels to control the speed. The motions<br />
are then switched <strong>of</strong>f using scripted controls to let the<br />
vehicle coast while the maneuver is performed. (Refs.<br />
[16]) Since the scripted controls cannot be used during<br />
co-simulation with Matlab, torqueses are used instead <strong>of</strong><br />
the forced motions to control the vehicle speed when cosimulating<br />
with Matlab.<br />
In any computer model, the accuracy <strong>of</strong> the simulation<br />
relies on the accuracy <strong>of</strong> the model and the vehicle<br />
parameters used to build the model. Hence the mode is<br />
checked against experimental data to ensure that the data<br />
matches to confirm the accuracy <strong>of</strong> the model.<br />
In order to validate the ADAMS model, double lane<br />
change experiment and simulation are carried out, and the<br />
results are contrasted, shown in figure 5. Figure 6 shows<br />
the contrast <strong>of</strong> experiment and simulation under the Sine<br />
with Dwell maneuver, it can be seen that, the curves <strong>of</strong><br />
simulation and experiment are in good agreement, so it is<br />
considered that, the ADAMS model can reflect the basic<br />
characteristics <strong>of</strong> vehicle, and can be used to simulate and<br />
analyze the vehicle stability and ESP control system.<br />
yaw velocity / deg/s<br />
20<br />
15<br />
10<br />
5<br />
0<br />
-5<br />
-10<br />
-15<br />
-20<br />
experiment<br />
simulation<br />
-25<br />
0 2 4 6 8<br />
time / s<br />
10 12 14 16<br />
Figure 5 Contrast <strong>of</strong> simulation and experiment under Double Lane<br />
Change<br />
yaw velocity/deg/s<br />
40<br />
30<br />
20<br />
10<br />
0<br />
-10<br />
-20<br />
-30<br />
-40<br />
-50<br />
experiment<br />
simulation<br />
-60<br />
0 0.5 1 1.5<br />
t /s<br />
2 2.5 3<br />
Figure 6 Contrast <strong>of</strong> simulation and experiment under Sine with Dwell<br />
B. Co-simulation Control Model<br />
In order to simulate the ESP control system, the<br />
ADAMS model should be translated into S-function in<br />
Matlab/Simulink. (Refs. [17], [18])Co-simulation is the<br />
process <strong>of</strong> simulating a system where two or more<br />
separate simulation programs are simultaneously used to<br />
model various aspects <strong>of</strong> the system and these simulation<br />
programs communicate during run-time, to simulate the
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 869<br />
whole system, thus affecting each other’s output. In this<br />
case the vehicle is modeled in Adams-Car whereas the<br />
brake system is modeled in Simulink and a co-simulation<br />
is setup to run the vehicle model in Adams using the<br />
brake model in Simulink.<br />
The various steps involved in setting up a cosimulation<br />
between Adams and Simulink are:<br />
a. Loading Adams/Controls<br />
b. Defining Input and Output Variables<br />
c. Referencing Input Variables in the Adams Model<br />
d. Exporting the Adams Block<br />
e. Connecting the Adams Block and the CES Block in<br />
Simulink<br />
f. Running the Co-simulation<br />
g. Things to Remember<br />
Figure 6 is the co-simulation principle <strong>of</strong> ESP, the<br />
yaw velocity and side slid angle <strong>of</strong> vehicle body are<br />
obtained from ADAMS model, and are contrasted with<br />
the same parameters which are calculated from the<br />
reference model, thus the stable state <strong>of</strong> vehicle can be<br />
estimated and intend to brake the wheel.<br />
Figure 6 The co-simulation model <strong>of</strong> ESP system<br />
The adams_sub module in figure 6 is the S-function<br />
obtained from ADAMS model, which includes the whole<br />
vehicle information. The input and output state variables<br />
have been defined while the sub-system being<br />
established, such as, the brake pressure <strong>of</strong> each wheel was<br />
defined as input state variable while the brake model<br />
being established, the later velocity, longitude velocity<br />
and yaw velocity were defined output state variables<br />
while vehicle body being established, and the steering<br />
wheel angle was defined as output state variable while<br />
steering system being established. Desired module is the<br />
linear two degrees <strong>of</strong> freedom vehicle model, used to<br />
calculate the desired state parameters <strong>of</strong> vehicle. ESP<br />
module is the core <strong>of</strong> co-simulation model, which can<br />
complete the estimation <strong>of</strong> vehicle stable state and active<br />
yaw control. The fuzzy control principle is adopted based<br />
on the yaw velocity in the paper, which is shown in figure<br />
7.<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 7 The fuzzy control principle based on yaw velocity<br />
Once the system is setup, the simulation time is<br />
entered in the box on top <strong>of</strong> the screen and the play<br />
button is clicked to run the simulation. (Refs. [19])<br />
Simulink invokes Adams and runs the model in<br />
Adams/Car while the damper forces are calculated in<br />
Simulink and fed into Adams while the simulation is<br />
running. Thus co-simulation is achieved.<br />
IV. SIMULATION RESULTS<br />
NHTSA has proposed a new Federal motor vehicle<br />
safety standard (FMVSS). FMVSS No. 126, Electronic<br />
Stability Control Systems, would require ESP systems on<br />
passenger cars, multipurpose passenger vehicles, trucks<br />
and buses with a gross vehicle weight rating <strong>of</strong> 4,536 Kg<br />
(10,000 pounds) or less.<br />
As shown in Figure 8, the Sine with Dwell maneuver<br />
was based on a single cycle <strong>of</strong> sinusoidal steering input.<br />
A single cycle input is performed at a frequency <strong>of</strong> 0.7<br />
Hz, with a 500 ms pause between completion <strong>of</strong> the third<br />
quarter cycle and initiation <strong>of</strong> the fourth quarter cycle.<br />
Figure 8 The Sine with Dwell maneuver<br />
To begin the maneuver, the driver accelerates the<br />
vehicle to a speed <strong>of</strong> approximately 52 mph, at which<br />
point the throttle is released and a programmable steering<br />
controller is engaged. Since the maneuver entrance speed<br />
is always 50 mph, increasing the magnitude <strong>of</strong> the<br />
steering wheel angles is used to increase maneuver<br />
severity. This is accomplished by multiplying the steering<br />
wheel angle capable <strong>of</strong> producing a lateral acceleration <strong>of</strong><br />
0.3g during Slowly Increasing Steer testing (δ0.3g) by a<br />
series <strong>of</strong> scalars. The steering wheel angles nominally<br />
begin at 1.5*δ0.3g, and are increased in increments <strong>of</strong><br />
0.5*δ0.3g until the steering wheel angle <strong>of</strong> 6.5*δ0.3g or<br />
270 degrees is used (whichever was greater). Sine with
870 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Dwell tests are performed with left-right and right-left<br />
steering.<br />
The proposed criterion performance limit establishes<br />
the displacement threshold to ensure that the ESP<br />
intervention used to achieve acceptable lateral ability<br />
dose not compromise the ability <strong>of</strong> the vehicle to<br />
response to the driver’s input. The proposal would require<br />
that an ESP-equipped vehicle a gross vehicle weight<br />
rating <strong>of</strong> 3500Kg or less would have a lateral<br />
displacement <strong>of</strong> at least 1.83 meters at 1.07 seconds after<br />
the initiation <strong>of</strong> steering, and the ESP-equipped vehicle a<br />
gross vehicle weight rating <strong>of</strong> 3500 Kg above would have<br />
a lateral displacement <strong>of</strong> at least 1.52 meters at 1.07<br />
seconds after the initiation <strong>of</strong> steering.<br />
Based on consideration <strong>of</strong> all available test data,<br />
NHTSA ultimately decided a metric based on the YRR<br />
1.0 seconds after completion <strong>of</strong> steer would meet the two<br />
requirements and effectively augment the later value, as<br />
indicated in Figure 9. Specifically, the yaw rate ratio <strong>of</strong><br />
the vehicle are measured at 1.5 to 1.75 seconds after<br />
completion <strong>of</strong> steer, where the yaw rates <strong>of</strong> the vehicles<br />
equipped with fully enabled ESP systems had decayed to<br />
approximately zero while those associated with the fully<br />
disabled tests remained quite high.<br />
Figure 9 Steering wheel position and yaw rate information used to<br />
assess lateral stability<br />
A formal definition <strong>of</strong> the lateral stability performance<br />
criteria is provided below.<br />
⎧ rT<br />
0+<br />
1<br />
⎪ × 100%<br />
≤ 35%<br />
⎪ rpeak<br />
⎨<br />
r<br />
⎪ T0<br />
+ 1.<br />
75<br />
× 100%<br />
≤ 20%<br />
⎪<br />
⎩ rpeak<br />
In both criterion, rpeak is the first local yaw rate peak<br />
produced after the second steering reversal,<br />
r T0+ xyaw<br />
rate<br />
at x (x=1, 1.75) seconds after completion <strong>of</strong> a maneuver’s<br />
dynamic steering inputs.<br />
The sine with dwell maneuver simulation is carried out<br />
on the road with high attachment coefficient, according to<br />
© 2011 ACADEMY PUBLISHER<br />
FMVSS 126 sine with dwell standard, the results <strong>of</strong><br />
vehicle with ESP disabled and enabled are shown in<br />
figure 10 and figure 11. As shown in Figure 10, when the<br />
steering amplitude is 80 and 120 degrees, following a<br />
smooth 0.7 Hz sinusoidal pattern, the absolute value <strong>of</strong><br />
the yaw velocity increases with the absolute value <strong>of</strong> the<br />
steering angle, and then the vehicle changes to clockwise<br />
yaw velocity in response to right steering. At two seconds<br />
after the beginning <strong>of</strong> steering, the steering wheel has<br />
been turned back to straight ahead, and the yaw rate<br />
returns to zero after a fraction <strong>of</strong> a second response time.<br />
At that point, the vehicle is being steered straight ahead,<br />
and it is going straight ahead without any yaw rotation.<br />
The vehicle is responding closely to the steering input,<br />
and the driver is in control. However, when the steering<br />
amplitude is increased to 169 degrees, the vehicle spins<br />
out, exhibiting oversteer loss <strong>of</strong> control. This condition is<br />
identified in the yaw rate trace. When the steering is<br />
straight ahead at time = 2 seconds, the yaw rate for this<br />
run is still about 35 deg/sec. However, there is a time lag<br />
past the instant <strong>of</strong> steering to straight ahead even for the<br />
previous runs where there was no loss <strong>of</strong> control. What is<br />
different is that the yaw rate does not swiftly decline to<br />
zero as it does with a vehicle under control. At time = 3<br />
seconds, the yaw rate is still the same, and it has actually<br />
increased at time =4 seconds in this example. The<br />
physical interpretation <strong>of</strong> this graph is that the driver has<br />
turned the wheels straight ahead and wants the vehicle to<br />
go straight, but the vehicle is spinning clockwise about a<br />
vertical axis through its center <strong>of</strong> gravity. It is out <strong>of</strong><br />
control in a spinout. The driver’s steering input is not<br />
causing the vehicle to take the desired path and heading,<br />
and the vehicle would depart the road surface sideways or<br />
even backward.<br />
Figure 10 Sine with dell maneuver test <strong>of</strong> a vehicle without ESP<br />
Figure 11 shows another series <strong>of</strong> tests <strong>of</strong> the same<br />
vehicle but with ESP enabled. The first two runs were at<br />
80 and 120 degrees <strong>of</strong> steering angle, and the vehicle’s<br />
yaw rate declined to zero in a fraction <strong>of</strong> a second after
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 871<br />
the steering command. This is the same good response to<br />
steering exhibited by the vehicle with ESP disabled in the<br />
previous figure. The third run was conducted at 180<br />
degrees <strong>of</strong> steering angle. This is greater than the 169<br />
degrees that caused a severe loss <strong>of</strong> control without ESP,<br />
but the yaw rate returned to zero with the steering angle<br />
just as quickly as in the runs with less steering. The final<br />
set <strong>of</strong> curves in Figure 11 represents a run conducted with<br />
279 degrees <strong>of</strong> steering angle. This would be the left-right<br />
portion <strong>of</strong> the performance test proposed for the ESP<br />
system <strong>of</strong> this vehicle since 279 degrees is 6.5 times the<br />
steering angle that produces 0.3g steady state lateral<br />
acceleration for this example vehicle. In this case, the<br />
yaw rate did not return to zero nearly instantaneously as it<br />
had at lower steering angle. Instead, it steadily declined<br />
after the steering was turned to straight ahead, and the<br />
vehicle was completely stable and going straight in about<br />
1.75 seconds. Clearly, the vehicle remained in control<br />
compared to its behavior without ESP (see Figure 10) in<br />
which turning the steering to straight ahead had no effect<br />
on the vehicle’s heading. However, the ESP system<br />
required some time to cause the vehicle to stop turning in<br />
response to the driver’s straight ahead steering command.<br />
It can be concluded that, ESP can make the handling and<br />
stability performance on big lateral acceleration and slip<br />
angle improved, and make the driver drive the vehicle<br />
normally.<br />
Figure 11 Sine with dell maneuver test <strong>of</strong> a vehicle with ESP<br />
V. CONCLUSIONS<br />
(1) The virtual prototype model <strong>of</strong> vehicle and cosimulation<br />
model <strong>of</strong> ESP control system based on the<br />
fuzzy control principle were established in ADAMS and<br />
Matlab, in order to simulate study the performance <strong>of</strong><br />
ESP. From the simulation, the model was shown to give<br />
accurate results for the purposes <strong>of</strong> this study;<br />
(2) The ESP model was developed in Matlab/Simulink<br />
and a co-simulation was set up to integrate the ESP<br />
model with the vehicle model. ESP fuzzy controller based<br />
on the yaw velocity can improve the controlling stability<br />
© 2011 ACADEMY PUBLISHER<br />
<strong>of</strong> the automotives by initiatively finishing the<br />
implementation <strong>of</strong> the wheel braking, thus the driver can<br />
help the driver to keep the vehicle controllable;<br />
(3) The design cost can be decreased, and the<br />
development cycle can be shortened, by means <strong>of</strong> virtual<br />
prototype and co-simulation technology.<br />
ACKNOWLEDGMENT<br />
The authors wish to give their sincere thanks to the<br />
editor and the anonymous referees, for their valuable<br />
suggestions and helpful comments which improved the<br />
presentation <strong>of</strong> the paper.<br />
REFRENCE<br />
[1] CHARLES M. FARMER. “Effect <strong>of</strong> Electronic Stability<br />
Control on Automobile Crash Risk,” Traffic Injury<br />
Prevention, pp. 317–325, May, 2004.<br />
[2] Ma Chun-Hui, Wu Zhi-Lin, Wang Liang-Mo, Li Song-<br />
Yan. “Modeling and controlling method for vehicle ESP<br />
system,” <strong>Journal</strong> <strong>of</strong> Nanjing University <strong>of</strong> Science and<br />
Technology, Vol.34, pp.108-112, February 2010. (In<br />
Chinese)<br />
[3] Y.Shibahata, K.Shimada and T.Tomari. “Improvement <strong>of</strong><br />
Vehicle Maneuverability by Direct Yaw Moment Control,”<br />
Vehicle System Dynamics, Vol.22, pp.465-481, 1993.<br />
[4] WANG Xia, HANG Li. “The dynamics simulation <strong>of</strong><br />
automotive controlling stability,” <strong>Journal</strong> <strong>of</strong> Shenyang<br />
Institute <strong>of</strong> Aeronautical Engineering, Vol.26, No.4, pp.24-<br />
26, 2009 (In Chinese)<br />
[5] “Vehicle Modeling and ADAMS-SIMULINK CO-<br />
SIMULATION with integrated continuously controlled<br />
Electronic Suspension (CES) and Electronic Stability<br />
Control (ESC) Models,” [D]: Sughosh Jagannatha Rao,<br />
B.S.M.E, Univ. <strong>of</strong> Ohio State University<br />
[6] MSC S<strong>of</strong>tware Corp., “Getting Started Using<br />
Adams/Controls Introducing and Starting the Tutorials”,<br />
Mechanical Dynamics Inc., 2002<br />
[7] Chen, B.-C., Peng, H., “Differential braking based rollover<br />
prevention for Sport Utility Vehicles with human-in-theloop<br />
evaluations”. Vehicle System Dynamics, Vol. 36, No.<br />
4-5, pp. 359-389, 2001.<br />
[8] U.S. Department <strong>of</strong> Transportation. “National Highway<br />
Traffic Safety Administration, Laboratory Test Procedure<br />
for FMVSS 126, Electronic Stability Control Systems, ”<br />
TP-126-01, April 10, 2008<br />
[9] FAN Xiao-bin; XIA Qun-sheng. “Vehicle Stability Direct<br />
Yaw Moment Fuzzy Control Based on Virtual<br />
Prototyping,” Tractor & Farm Transporter, Vol.37, pp.47-<br />
49, 2010 (In Chinese)<br />
[10] Kinjawadekar, T., Dixit, N. Heydinger, G.J., Guenther,<br />
D.A., and Salaani, M.K., “Vehicle Dynamics Modeling<br />
and Validation the 2003 Ford Expedition with ESC using<br />
CarSim”, SAE Paper 2009-01-0452, April 2008<br />
[11] Federal Register; Friday, April 6, 2007; Part II,<br />
Department <strong>of</strong> Transportation; National Highway Traffic<br />
Safety Administration; 49 CFR Parts 571 and 585, Federal<br />
Motor Vehicle Safety Standards; Electronic Stability<br />
Control Systems; Controls and Displays; Final Rule<br />
[12] Dang, Jennifer N., “Preliminary Results Analyzing The<br />
Effectiveness <strong>of</strong> Electronic Stability Control (ESC)<br />
Systems” September 2004, DOT HS809790<br />
[13] Pan, W. and Papelis, Y.E., “Real-Time Dynamic<br />
Simulation Of Vehicles With Electronic Stability Control:
872 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Modeling And Validation,” Vehicle Systems Modeling and<br />
Testing, Vol. 1, Nos. 1/2/3, 2005<br />
[14] Tingvall C, Krafft M, Kullgren A, Lie A. “The<br />
effectiveness <strong>of</strong> ESP (electronic stability program) in<br />
reducing real-life accidents,” Traffic Injury Prevention,<br />
Vol. 5, pp. 37–41, 2004<br />
[15] Najm W, Sen B, Smith J, Campbell B. “Analysis <strong>of</strong> light<br />
vehicle crashes and pre-crash scenarios based on the 2000<br />
General Estimates System,” Report no. DOT-HS-809-573.<br />
U.S. Department <strong>of</strong> Transportation, Washington, DC, 2003<br />
[16] Brown, T. A. et al., “Rollover Stability Control for an<br />
Automotive Vehicle, ” US patent No. 6,263,261 B1<br />
[17] Van Zanten, A. T., “Bosch ESP systems: 5 years <strong>of</strong><br />
experience, ” SAE 2000-01-1633<br />
[18] Branicky, M.S., “Studies in Hybrid Systems: Modeling,<br />
Analysis, and Control,” PhD Thesis, Laboratory for<br />
Information and Decision Systems, MIT, Cambridge,<br />
USA, 1995<br />
© 2011 ACADEMY PUBLISHER<br />
[19] Fennel, Ding, ‘A Model-Based Failsafe System for the<br />
Continental Teves Electronic Stability Program (ESP)’,<br />
SAE 2000-01-1635<br />
Li Shengqin graduated from<br />
Northeast Forest University (NEFU),<br />
Harbin, Heilongjiang, P.R. China, in 208,<br />
and received her Doctor Degree in<br />
Vehicle Application Engineering.<br />
She is currently an associate<br />
pr<strong>of</strong>essor in the Traffic College,<br />
Northeast Forest University, China, and<br />
engages in the postdoctoral research in<br />
the State Key Laboratory <strong>of</strong> Automotive Safety and Energy,<br />
Tsinghua University, Beijing, China. Her research interest<br />
covers vehicle dynamics and control.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 873<br />
An Improved Fuzzy C-means Clustering Algorithm<br />
based on PSO<br />
Abstract—To deal with the problem <strong>of</strong> premature<br />
convergence <strong>of</strong> the fuzzy c-means clustering algorithm<br />
based on particle swarm optimization, which is sensitive to<br />
noise and less effective when handling the data set that<br />
dimensions greater than the number <strong>of</strong> samples, a novel<br />
fuzzy c-means clustering method based on the enhanced<br />
Particle Swarm Optimization algorithm is presented. Firstly,<br />
this approach distributes the memberships on the basis <strong>of</strong><br />
the distance between the sample and cluster centers, making<br />
memberships meet the constraints <strong>of</strong> FCM. Then,<br />
optimization strategy is presented that the optimal particle<br />
can be guided to close the group effectively. The<br />
experimental results show the proposed method significantly<br />
improves the clustering effect <strong>of</strong> the PSO-based FCM that<br />
encoded in membership.<br />
Index Terms—clustering, particle swarm algorithm, fuzzy C<br />
means, membership, constraint strategy<br />
I. INTRODUCTION<br />
Generally speaking, clustering is in accordance with<br />
certain requirements and rules to distinguish between<br />
things, and classification <strong>of</strong> the process. Clustering<br />
algorithm is a set <strong>of</strong> classification <strong>of</strong> the data that<br />
distribution is unknown, the aim is to find the structure<br />
hidden in data, and as much as possible to make the data<br />
that have same nature attributed to the same class<br />
according to some measure <strong>of</strong> similarity degree.<br />
Clustering is a form <strong>of</strong> unsupervised learning whereby<br />
objects that similar to each other are put into the same<br />
cluster. It is the first stage <strong>of</strong> knowledge acquisition<br />
concerning a group <strong>of</strong> objects that is obtaining knowledge<br />
<strong>of</strong> classes.<br />
Fuzzy clustering methods that based on the objective<br />
function is the most studied in the literature and the most<br />
widely used in practice, such algorithm takes the<br />
clustering problem as a constrained optimization problem,<br />
by solving the optimization problem to determine the<br />
fuzzy partition and the clustering results in data set. Such<br />
algorithms are characterized by simple and easy to apply<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.873-879<br />
Qiang Niu<br />
School <strong>of</strong> Computer Science &Technology<br />
China University <strong>of</strong> Mining & Technology<br />
Xuzhou Jiangsu, China<br />
niuqiang@vip.163.com<br />
Xinjian Huang<br />
School <strong>of</strong> Computer Science &Technology<br />
China University <strong>of</strong> Mining & Technology<br />
Xuzhou Jiangsu, China<br />
xinjian1020@yahoo.cn<br />
and clustering performance is good, can take use <strong>of</strong> the<br />
classical optimization theory as its theoretical support,<br />
and easy for the programming.<br />
Fuzzy c-means clustering algorithm (FCM) [1-2] is an<br />
effective algorithm and is one <strong>of</strong> the most used clustering<br />
methods. But when the data set has a higher dimension,<br />
the clustering effect <strong>of</strong> FCM is poor, and it is difficult to<br />
find the global optimum [3-4].<br />
Particle Swarm Optimization (PSO) [11] is one <strong>of</strong> the<br />
modern heuristic algorithms under the evolutionary<br />
algorithms, and has proved to be very effective for<br />
solving global optimization, and gained lots <strong>of</strong> attention<br />
in various engineering applications. It is not only a<br />
recently invented high-performance optimizer that is easy<br />
to understand and implement, but it also requires little<br />
computational bookkeeping and generally only a few<br />
lines <strong>of</strong> code. It is a stochastic search technique with<br />
reduced memory requirement, computationally effective<br />
and easier to implement compared to other evolutionary<br />
algorithms.<br />
Clustering problems can be attributed to optimization<br />
problems under certain conditions, Particle Swarm<br />
Optimization is an optimization algorithm based on the<br />
theory <strong>of</strong> swarm intelligence, which could be<br />
implemented and applied easily to solve various function<br />
optimization problems, or the problems that can be<br />
transformed to function optimization problems. PSO is<br />
easy to describe and implement, it also has a strong<br />
global search capability and a faster convergence [12].<br />
Many PSO-based Fuzzy Clustering Algorithms are<br />
proposed [5-9]. However, in most <strong>of</strong> these algorithms the<br />
particle is encoded by cluster centers, less <strong>of</strong> these<br />
algorithms use the method that the particle is encoded by<br />
membership.<br />
If a data set has n samples and c clusters, each sample<br />
has d dimensions. While encoded by membership, a<br />
particle is an one-dimensional row vector with n×c rows.<br />
While encoded by cluster centers, a particle is an onedimensional<br />
row vector with c×d rows. In a data set, d is
874 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
usually less than n, then c×d is less than n×c, so most<br />
<strong>of</strong> PSO-based FCM is encoded by cluster centers. But<br />
when the particle is encoded by cluster centers, the range<br />
<strong>of</strong> particle is difficult to confirm for different clusters<br />
have different centers. When the particle is encoded by<br />
membership, the rang <strong>of</strong> particle is [0,1], and the PSObased<br />
FCM is better than FCM on processing the data<br />
that d is more than n [9]. When the particle is encoded by<br />
membership, the sum <strong>of</strong> the membership between a<br />
sample and all cluters should be one, this is the constraint.<br />
Thomas A. Runkler et al. put forward a method for Fuzzy<br />
clustering constraints when the particle is encoded by<br />
membership in [9]. When the sum <strong>of</strong> membership<br />
between a sample and all cluters is not one, the method in<br />
[9] increases or decreases the insufficient or extra parts<br />
evenly. And their method is sensitive to noise, and less<br />
effective when handling the data set that dimensions less<br />
than the number <strong>of</strong> samples [9].<br />
In order to solve the above problems, this paper<br />
proposes an improved method for the distribution <strong>of</strong><br />
membership, having a better effect on handling the data<br />
containing noise, and also on low dimensional and high<br />
dimensional data sets. At the same time, optimization<br />
strategy is presented that the optimal particle can be<br />
guided to close the group effectively.<br />
The rest <strong>of</strong> the paper is organized as follows. After the<br />
introduction, Section II gives a description <strong>of</strong> the<br />
generalized FCM clustering. In Section III, PSO is briefly<br />
described, and the improved method is introduced.<br />
Section IV provides the experiments conducted over three<br />
different data sets and discusses the results. Finally,<br />
Section V concludes the paper.<br />
II. FUZZY C-MEANS CLUSTRING ALGORITHM<br />
Different clustering criteria can produce different<br />
clustering methods. Clustering algorithm can be put into<br />
traditional hard clustering and fuzzy clustering algorithm<br />
if in accordance with the range <strong>of</strong> membership.<br />
Traditional hard clustering division is “either-or” type <strong>of</strong><br />
a division, namely the membership for a sample to a<br />
clustering is either 0 or 1. Since fuzzy clustering<br />
algorithm extends the range <strong>of</strong> membership, so that it can<br />
take any value within 0 to 1, which has better clustering<br />
effect and data expression, has become a hot research in<br />
this field. Fuzzy C-means algorithm theory is<br />
substantially complete, applications are relatively wide.<br />
The following is a brief introduction on fuzzy C means<br />
clustering algorithm.<br />
The data set � has n samples and c<br />
n<br />
clusters, and . The objective function <strong>of</strong> FCM is:<br />
X X X X � , , � 1 2 �<br />
p<br />
X � R<br />
m<br />
i<br />
n<br />
c<br />
��<br />
m<br />
2<br />
J ( U,<br />
E)<br />
� ( � ) || x � e || (2.1)<br />
k�1i�1<br />
m is constant, and m>1. Cluster i is expressed as<br />
e . The membership between sample k and<br />
i ( i � 1,<br />
2,<br />
� � �,<br />
c)<br />
cluster i is expressed as � ( i � 1,<br />
2,<br />
��<br />
�,<br />
c,<br />
k � 1,<br />
2,<br />
��<br />
�,<br />
n)<br />
© 2011 ACADEMY PUBLISHER<br />
ik<br />
ik<br />
k<br />
i<br />
�ik<br />
�{ 0,<br />
1},<br />
�i,<br />
k;<br />
� �ik<br />
� 1,<br />
�k<br />
i�1<br />
c<br />
(2.2)<br />
The method to optimize the FCM model is alternating<br />
optimization through the necessary conditions:<br />
�<br />
ik �<br />
c<br />
�<br />
j �1<br />
n<br />
�<br />
k �1<br />
ei � n<br />
1<br />
|| xk<br />
� ei<br />
||<br />
( )<br />
|| x � e ||<br />
k<br />
j<br />
2<br />
m�1<br />
(2.3)<br />
m<br />
( � ik ) xk<br />
(2.4)<br />
, 1 � i � c<br />
m<br />
( � )<br />
�<br />
k �1<br />
ik<br />
The final aim is minimizing (2.1) [10].<br />
The specific steps for FCM:<br />
Step 1: set the number <strong>of</strong> clusters c (2≤c1), initializing the matrix <strong>of</strong> membership (or<br />
initializing cluster centers), set the maximum iterations n.<br />
Step 2: calculate various cluster centers (or the matrix<br />
<strong>of</strong> membership).<br />
Step 3: calculate the matrix <strong>of</strong> membership (or various<br />
cluster centers).<br />
Step 4: repeat step 2 and step 3, until the completion <strong>of</strong><br />
the maximum number <strong>of</strong> iterations. It can also set a<br />
convergence precision as the condition for a loop<br />
terminates.<br />
III. IMPROVED FCM CLUSTERING ALGORITHM BASED ON<br />
PSO<br />
A. Fuzzy c means algorithm based on PSO<br />
Particle swarm optimization (PSO) [11] is an<br />
optimization algorithm based on the theory <strong>of</strong> swarm<br />
intelligence, the cooperation and competition among<br />
particles produced swarm intelligence to guide the<br />
optimization search. PSO is easy to describe and<br />
implement, it also has a strong global search capability<br />
and fast convergence. But PSO also has defects, as in<br />
convergence condition, all particles are in the direction <strong>of</strong><br />
the optimal, if optimal particle is not good enough, it can<br />
easily fall into local optimum [12].<br />
In the D-dimensional space, the number <strong>of</strong> the particle<br />
is m. [ , , , ]<br />
1 2<br />
D i<br />
i i i X � X X � X is the position <strong>of</strong> particle i,<br />
its velocity is , ] D i<br />
Vi � [ Vi , V , V<br />
1 i � , its best position is<br />
2<br />
Pi � [ Pi<br />
, P , , ]<br />
1 i � P .<br />
2 i<br />
, ]<br />
D<br />
i , , � P<br />
1 i2<br />
iD<br />
P [ Pg � P<br />
is the best<br />
position <strong>of</strong> all particles. Each particle velocity is updated<br />
by (3.1), then each particle position is updated by (3.2).<br />
n<br />
n<br />
�P � X �� c r �P X �<br />
V �<br />
n�1<br />
n<br />
i � Vi<br />
� c r<br />
(3.1)<br />
1 1 i i 2 2 g i<br />
�1<br />
X � X � V<br />
(3.2)<br />
n<br />
i<br />
n<br />
i<br />
In (3.1) and (3.2), i=1,2, … ,m expresses different<br />
particles, c1 and 2 are acceleration constants; and<br />
are random real numbers drawn from [0,1]; n denotes<br />
evolutionary epochs [13]. From a sociological point <strong>of</strong><br />
c 1 r 2 r<br />
n<br />
i
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 875<br />
view, the first part <strong>of</strong> (3.1) as “Memory” entry, is the<br />
previous velocity, that the current velocity is by the<br />
impact <strong>of</strong> previous velocity; the second part is<br />
“cognitive” entry, represents particles itself thinking; the<br />
third part is the “social” entry, reflects the collaboration<br />
between the particles and information sharing, which<br />
guide the particles toward the optimal position in the<br />
entire group.<br />
PSO algorithm steps:<br />
Step 1: initialize the particle swarm, including<br />
population size, initial position and velocity <strong>of</strong> particles,<br />
etc.<br />
Step 2: calculate fitness for each particle, storage each<br />
particle best position P and its fitness, and choose the<br />
best<br />
particle that has the best fitness as G ; best<br />
Step 3: update the velocity and the position <strong>of</strong> each<br />
particle according to (3.1) and (3.2);<br />
Step 4: calculate the fitness <strong>of</strong> each particle after<br />
update the position, compare the fitness <strong>of</strong> each particle<br />
with its best previous fitness P , if better than it, then<br />
best<br />
set the current position as P ; best<br />
Step 5: compare the fitness <strong>of</strong> each particle with the<br />
group best previous fitness, if better than it, then set the<br />
current position as G ; best<br />
Step 6: search algorithm to determine whether the<br />
results meet the conditions set by the end <strong>of</strong> (usually<br />
good enough to adapt to a preset value or the maximum<br />
number <strong>of</strong> iterations), if preconditions not met, then<br />
return to Step 3; if preconditions are met, then stop<br />
iteration, output the optimal solution.<br />
While PSO is used in FCM, particle can be encoded by<br />
membership or by cluster centers. If the data set has n<br />
samples and c clusters, each sample has d dimensions.<br />
When particle is encoded by membership, a particle is an<br />
one-dimensional row vector with n × c rows, that is<br />
�x 11,<br />
x12,<br />
�, x1c<br />
, �,<br />
xn1,<br />
xn2,<br />
�,<br />
x � , x<br />
nc ij means the<br />
membership between sample i and cluster j. When<br />
particle is encoded by cluster centers, a particle is an onedimensional<br />
row vector with c × d rows, that is<br />
�x 11,<br />
x12�<br />
x1d<br />
, �,<br />
xc1,<br />
xc2,<br />
�,<br />
xcd�<br />
, xij<br />
means the value<br />
<strong>of</strong> cluster i in dimension j. If n>d, encoded by cluster<br />
centers is simple, and could better handle data sets that<br />
n>d. If n
876 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
The distance between sample k and cluster i is , the<br />
membership between sample k and cluster i is u ,<br />
uik<br />
�[<br />
0,<br />
1]<br />
. If � 1,<br />
the change <strong>of</strong> is determined<br />
u<br />
l<br />
by .<br />
i<br />
c<br />
�<br />
i�1<br />
c<br />
�uik ik<br />
i�1<br />
If u � 1 , use (3.5), smaller distance, more plus;<br />
ik<br />
greater distance, less plus.<br />
c<br />
�<br />
i�1<br />
c<br />
u ik � uik<br />
� ( 1�<br />
�uik<br />
) � ( 1�<br />
li<br />
c ) (3.5)<br />
i�1<br />
l<br />
�<br />
i<br />
i�1<br />
If u � 1 , use (3.6), greater distance, more<br />
ik<br />
reduction; smaller distance, less reduction.<br />
l<br />
( (3.6)<br />
c<br />
i<br />
ik � uik<br />
� 1�<br />
�uik<br />
) � c<br />
i�1<br />
�li<br />
i�1<br />
u<br />
Secondly, for optimal particle in PSO has an important<br />
role in guiding the group, if can get better optimal particle<br />
in each iteration, then can speed up the convergence and<br />
optimize cluster results, so this paper puts forward a new<br />
optimization method for optimal particle. The new<br />
method optimizes optimal particle through optimizing the<br />
worst sample in the optimal particle.<br />
Data set X � { x , ,..., } has n samples and<br />
1 x2<br />
xn<br />
c( 2 � c � n)<br />
clusters, m>1 is constant, � means the<br />
ik<br />
membership between sample k and cluster i, ei<br />
means<br />
cluster i. Using (3.7) get the fitness <strong>of</strong> sample k, that is<br />
L(k)<br />
, to fix the worst sample in the optimal particle.<br />
Greater fitness, the worse the sample.<br />
c<br />
�<br />
i�1<br />
m<br />
2<br />
L(<br />
k)<br />
� ( � ) x � e (3.7)<br />
� means the membership between the worst sample<br />
n<br />
and cluster n, d means the distance between the worst<br />
n<br />
sample and cluster n. The irrational distribution <strong>of</strong><br />
membership cause the worst sample, the most reasonable<br />
distribution is that � and are proportional.<br />
n n d<br />
Let � d �� d � � ��<br />
nd and 1 1 2 2<br />
n �1 �� 2 ��<br />
��<br />
n � 1 ,<br />
t<br />
gets<br />
k � � k �<br />
, tk � d d d �� � dk<br />
dk<br />
��<br />
� d , so<br />
1 2 3 �1 �1<br />
n<br />
t1<br />
� t2<br />
��<br />
� �tn<br />
� and d are proportional.<br />
n n<br />
This improved method firstly considers the distance<br />
between sample and different clusters. For the clusters<br />
near the sample, if the sum less than one, plus more, if the<br />
sum more than one, decreased less; for the clusters away<br />
from the sample, if the sum less than one, plus less, if the<br />
sum more than one, decreased more. Improved constraint<br />
© 2011 ACADEMY PUBLISHER<br />
ik<br />
k<br />
i<br />
l<br />
i<br />
ik<br />
method makes the sample anear its closer clusters and<br />
away from clusters that far from it in each iteration. Then,<br />
optimizing the worst sample in the optimal particle, to<br />
ensure the membership in near clusters big and the<br />
membership in far clusters small, optimization <strong>of</strong> the<br />
worst sample means optimizing the optimal particle at the<br />
same time, serve to the purpose that speeding up the<br />
convergence and optimizing cluster results. Compare to<br />
method in [9], the improved method adds the process <strong>of</strong><br />
computing the distance, but gives up the process <strong>of</strong> using<br />
the sigmoid function (i.e. (3.3)), so the computed amount<br />
between the improved method and method in [9] is not<br />
obviously.<br />
IV. EXPERIMENT TESTING AND COMPARATIVE ANALYSIS<br />
Hardware environment <strong>of</strong> experiment is PC with<br />
Intel(R) Core(TM)2 Duo, CPU E7400 2.80GHz, 2GB<br />
RAM. Operating system is Windows XP Pr<strong>of</strong>essional,<br />
program code is achieved in platform <strong>of</strong> Visual Studio<br />
2005 using C#.<br />
Test data sets are: (1) Single outlier data set: [-<br />
1.2,0.5,0.6,0.7,1.5,1.6,1.7], 7 group with 1dimension data,<br />
one with the point [0.5,0.6,0.7], one with the point<br />
[1.5,1.6,1.7], a single outlier at -1.2. (2) Iris data set: 150<br />
vectors with 4 features, has 3 clusters, each cluster has 50<br />
samples. (3) Lung cancer data set: 32 vectors with 56<br />
features (for containing 5 unknown data, only use 32<br />
vectors with 54 features), has 3 clusters, the first contains<br />
9 samples, the second contains 13 samples, the third<br />
contains 10 samples.<br />
When the number <strong>of</strong> particle is 10 and with 100<br />
iterations, table 1 to table 3 show the index <strong>of</strong> average<br />
clustering effect after running various methods. DIC<br />
stands for average distance inside clusters, DBC stands<br />
for average distance between clusters, OFV stands for<br />
objective function value, SCR stands for successful<br />
classification rate.<br />
TABLE I.<br />
SINGLE OUTLIER DATA SET<br />
FCM Paper [9] Improved method<br />
DIC 0.28 0.56±0.05 0.26±0.01<br />
DBC 2.28 0.44±0.24 2.29±0.03<br />
OFV 1.54 2.79±0.11 1.53±0.07<br />
SCR (%) 85.71 82.86±11.43 85.71<br />
TABLE II.<br />
IRIS DATA SET<br />
FCM Paper [9] Improved method<br />
DIC 0.65 1.93±0.03 0.67±0.02<br />
DBC 3.30 0.13±0.12 2.98±0.04<br />
OFV 160.51±0.01 227.36±0.03 155.92±8.52<br />
SCR (%) 89.33 46.60±2.07 90.47±2.33<br />
TABLE III.<br />
LUNG CANCER DATA SET<br />
FCM Paper [9] Improved method<br />
DIC 4.24±0.37 4.32±0.04 4.07±0.10<br />
DBC 0.04±0.01 0.23±0.06 2.07±0.47<br />
OFV 204.32 200.49±0.03 123.01±8.72<br />
SCR (%) 42.81±7.19 61.25±7.50 69.38±3.75
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 877<br />
Table I shows the improved method is better than the<br />
method in [9] in various performance, and better than<br />
FCM in DIC and DBC. From table I, the improved<br />
method is better than FCM in various performances<br />
except in SCR. The improved method is obviously better<br />
than method in [9] in various performances too. Also, the<br />
method in [9] is worse than FCM in all performances. So,<br />
we can know the improved method has the best effect in<br />
data sets that has noise, and we can know the difference<br />
between the improved method and FCM when handling<br />
small data sets is not obvious.<br />
Table II shows the improved method is better than the<br />
method in [9] obviously, and also better than FCM in the<br />
iris data set. Comparing FCM with method in [9], we can<br />
know FCM is better than method in [9], and the<br />
difference is obviously, because when PSO based FCM is<br />
encoded by membership, the algorithm can only better<br />
handle data sets that dimension greater than the number<br />
<strong>of</strong> sample, do not has a better performance in handling<br />
data sets that dimension less than the number <strong>of</strong> sample,<br />
like iris data set. However, table II shows the improved<br />
method makes the PSO based FCM that encoded by<br />
membership can also have a better effect in handling data<br />
sets that dimension less than the number <strong>of</strong> sample, and<br />
the advantages are obvious.<br />
Table III shows the improved method is better than the<br />
method in [9] and FCM obvious in lung cancer data sets.<br />
From the comparation between FCM and the method in<br />
[9], we can see FCM is not suitable for data sets that<br />
dimension better than the number <strong>of</strong> sample, PSO based<br />
FCM that encoded by membership can better handle them,<br />
and the improved method is obviously better than the<br />
method in [9].<br />
Table I to table III show the improved method is better<br />
than FCM and method in [9] not only in data sets that<br />
have noise, but also in data sets that have a low<br />
dimension or a high dimension, when the iteration is<br />
taken at 100.<br />
Take the number <strong>of</strong> particle at 10, increasing iteration<br />
from 1 to 100, Fig. 1 to Fig. 6 show the change <strong>of</strong><br />
successful classification rate and objective function value<br />
by using different methods. OFV means objective<br />
function value, SCR means successful classification rate.<br />
Fig. 1 shows the method in [9] is worse than the other<br />
two methods in successful classification rate, the<br />
difference between FCM and the improved method is not<br />
obvious too when the iteration is change. So we can see<br />
the method in [9] is more sensitive to noise than the other<br />
two methods.<br />
From Fig. 2, we can see the improved method has a<br />
faster convergence than the method in [9], and finally<br />
better than FCM. The change <strong>of</strong> objective function value<br />
in the improved method has a clear trend that is the value<br />
<strong>of</strong> objective function in the improved method decrease<br />
with the increase <strong>of</strong> iterations.<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 1. Comparation <strong>of</strong> SCR in single outlier data set.<br />
Figure 2. Comparation <strong>of</strong> OFV in single outlier data set.<br />
Figure 3. Comparation <strong>of</strong> SCR in iris data set.
878 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Figure 4. Comparation <strong>of</strong> OFV in iris data set.<br />
From Fig. 3, knows the improved method is better than<br />
the method in [9] obviously, successful classification rate<br />
in the improved method and the method in [9] is not at<br />
the same level, and the improved method has a faster<br />
convergence with the increase <strong>of</strong> iterations, then finally<br />
better than FCM. When the iteration is 32, the improved<br />
method nearly has a convergence, compare to the method<br />
in [9] with a convergence number at 56. While the<br />
number <strong>of</strong> iteration increases to 70, the successful<br />
classification rate <strong>of</strong> the improved method is better than<br />
FCM.<br />
From Fig. 4, knows objective function value in the<br />
improved method and the method in [9] is not at the same<br />
level too, and the improved method has a fast<br />
convergence with the increase <strong>of</strong> iterations, using less<br />
than 10 iterations. The overall level <strong>of</strong> the improved<br />
method is significantly lower than FCM, but the overall<br />
trend <strong>of</strong> the improved method in objective function value<br />
is not stable enough. The trend that PSO based FCM<br />
encoded by membership can also has a good effect on<br />
data sets that dimension less than the number <strong>of</strong> sample is<br />
obviously.<br />
Figure 5. Comparation <strong>of</strong> SCR in lung cancer data set.<br />
Fig. 5 shows the performance <strong>of</strong> FCM is worse, the<br />
improved method is better than the method in [9]<br />
obviously, and having a faster convergence. From Fig. 5,<br />
knows the curve <strong>of</strong> FCM is the worst one, having the<br />
© 2011 ACADEMY PUBLISHER<br />
lowest successful classification rate, using 78 iterations to<br />
come to a convergence. The method in [9] has a middle<br />
level successful classification rate, but the rate <strong>of</strong> coming<br />
to convergence is the biggest one, using 80 iterations. The<br />
improved method only uses 12 iterations to come to a<br />
convergence, the successful classification rate is<br />
significantly high than others, is the best one.<br />
Figure 6. Comparation <strong>of</strong> OFV in lung cancer data set.<br />
Fig. 6 displays the performance <strong>of</strong> FCM is the worst<br />
one, the method in [9] is little better than FCM, but worse<br />
than the improved method obviously. The performance <strong>of</strong><br />
FCM and the method in [9] is stable enough in objective<br />
function value, but they are so worse. The improved<br />
method in objective function value has a fast convergence<br />
that only uses 18 iterations, and with the increase <strong>of</strong><br />
iteration, the volatility <strong>of</strong> the curve decreased.<br />
To sum up, the experiment using single outlier data set<br />
show the method in [9] is sensitive to noise, the improved<br />
method and FCM can handle the noise better; the<br />
experiment using iris data set show the new method<br />
improves the clustering effect <strong>of</strong> PSO based FCM better<br />
than FCM in data sets that dimensions less than the<br />
number <strong>of</strong> samples; the experiment using lung cancer<br />
data set show FCM is not suitable for high-dimensional<br />
data sets, the improved method gets the best clustering<br />
effect. So the improved method is better than the method<br />
in [9] obviously, having a faster convergence, and better<br />
than FCM in various data sets.<br />
V. CONCLUSIONS<br />
For the problems when PSO-based fuzzy clustering<br />
algorithm is encoded by membership, this paper improves<br />
the method <strong>of</strong> achieving constraint and puts forward an<br />
optimization method for optimal particle. In the previous,<br />
PSO-based FCM that encoded by membership can only<br />
better handle data sets that dimensions greater than the<br />
number <strong>of</strong> samples, but not suitable for data sets that<br />
dimensions less than the number <strong>of</strong> samples.<br />
Three typical data sets are used to verify different<br />
algorithms. Experiments show that the improved method<br />
can handle the noise better than previous methods, further<br />
improves clustering effect in data sets that dimensions<br />
greater than the number <strong>of</strong> samples, and gets better effect<br />
than FCM in data sets that dimensions less than the
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 879<br />
number <strong>of</strong> samples at the same time, making PSO based<br />
FCM encoded by membership can better handle data sets<br />
that dimensions less than the number <strong>of</strong> samples too. The<br />
desired effect is achieved<br />
REFERENCES<br />
[1] Maria Halkidi, Yannis Batistakis and Michalis<br />
Vazirgiannisv. On Clustering Validation Techniques.<br />
<strong>Journal</strong> <strong>of</strong> Intelligent Information Systems. 2001, (17):<br />
107-145.<br />
[2] J. C. Bezdek.Pattern Recognition with fuzzy objective<br />
function algorithms. Plenum Press, New York, 1981.<br />
[3] Cai WL, Chen SC, Zhang DQ. Fast and robust fuzzy cmeans<br />
clustering algorithms incorporating local<br />
information for image segmentation. Pattern Recognition,<br />
2007, 40(3): 825-833.<br />
[4] Jiayin Kang, Lequan Min, Qingxian Luan. Novel modified<br />
fuzzy c-means algorithm with applications. Digital Signal<br />
Processing, 2009, 19: 309-319.<br />
[5] WEN ZW, LI RJ. Fuzzy c-means clustering algorithm<br />
based on improved PSO. Application Research <strong>of</strong><br />
Computers, 2010, 27(7): 2520-2522.<br />
温重伟, 李荣钧. 改进的粒子群优化模糊 C 均值聚类算<br />
法[J]. 计算机应用研究,2010 ,27 (7): 2520-2522.<br />
[6] LI LL, LI M, LIU XY. Image segmentation algorithm<br />
based on particle swarm optimization fuzzy c-means<br />
clustering. Computer Engineering and Applications, 2009,<br />
45(31): 158-160.<br />
李丽丽, 李明, 刘希玉. 基于粒子群模糊 C-均值聚类的<br />
图像分割算法[J]. 计算机工程与应用,2009 ,45 (31):<br />
158-160.<br />
[7] PU PB, WANG G, LIU TA. Research <strong>of</strong> improved fuzzy<br />
c-means algorithm based on particle swarm optimization.<br />
Computer Engineering and Design, 2008, 29(16): 4277-<br />
4279.<br />
蒲蓬勃, 王鸽, 刘太安. 基于粒子群优化的模糊 C-均值<br />
聚类改进算法[J]. 计算机工程与设计,2008 ,29 (16):<br />
4277-4279.<br />
[8] YANG GQ, ZHU CM. Particle swarm optimization<br />
algorithm based fuzzy kernel clustering method. <strong>Journal</strong> <strong>of</strong><br />
Shanghai Jiao Tong University, 2009, 43(6): 935-939.<br />
© 2011 ACADEMY PUBLISHER<br />
杨广全, 朱昌明. 基于粒子群优化的模糊核聚类方法[J].<br />
上海交通大学学报,2009 ,43 (6): 935-939.<br />
[9] Thomas A. Runkler, Christina Katz. Fuzzy clustering by<br />
particle swarm optimization [C]. 2006 IEEE International<br />
Conference on Fuzzy Systems. 2006: 601-608.<br />
[10] Jiayin Kang, Lequan Min, Qingxian Luan, Xiao Li and<br />
Jinzhu Liu. Novel modified fuzzy c-means algorithm with<br />
applications. Digital Signal Processing. 2009, (19): 309-<br />
319.<br />
[11] Riccardo Poli, James Kennedy and Tim Blackwell. Particle<br />
Swarm Optimization. Swarm Intell. 2007, (1): 33-57.<br />
[12] WANG JW, LI HN. Summary <strong>of</strong> particle swarm<br />
optimization algorithm. Modern Computer, 2009, 301: 22-<br />
27.<br />
王杰文, 李赫男. 粒子群优化算法综述[J]. 现代计算机,<br />
2009,301:22-27.<br />
[13] Gerhard Venter and Jaroslaw Sobieszczanski-Sobieski.<br />
Particle Swarm Optimization. AIAA JOURNAL. 2003,<br />
41(8): 1583-1589.<br />
Qiang Niu born in 1974, doctor,<br />
associate pr<strong>of</strong>essor in China University<br />
<strong>of</strong> Mining and Technology, received<br />
B.S. in Northeastern University in 1997,<br />
received Master in 2004 and PHD in<br />
2010 in China University <strong>of</strong> Mining<br />
and Technology. His main research<br />
interests are intelligent optimization<br />
algorithms and data mining.<br />
Xinjian Huang born in 1986, master<br />
graduate student, received the B.S.<br />
degree in China University <strong>of</strong> Mining<br />
and Technology in 2010. His main<br />
research interests are particle swarm<br />
optimization and its application in time<br />
series.
880 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Classification <strong>of</strong> Bio-potential Surface Electrode<br />
based on FKCM and SVM<br />
Hao Liu<br />
School <strong>of</strong> Textile, Tianjin Polytechnic University, Tianjin, China<br />
Key Laboratory for Advanced Textile Composite <strong>of</strong> Ministry <strong>of</strong> Education, Tianjin Polytechnic University, Tianjin,<br />
China<br />
liuhao_0760@yahoo.com.cn<br />
Xiaoming Tao<br />
Institute <strong>of</strong> Textiles and Clothing, Hong Kong Polytechnic University, Hong Kong, China<br />
tctaoxm@polyu.edu.hk<br />
Pengjun Xu<br />
School <strong>of</strong> Textile, Donghua University, Shanghai, China<br />
tcxupj@inet.polyu.edu.hk<br />
Guanxiong Qiu<br />
Key Laboratory for Advanced Textile Composite <strong>of</strong> Ministry <strong>of</strong> Education, Tianjin Polytechnic University, Tianjin,<br />
300160, China<br />
qiuguanxiong@tjpu.edu.cn<br />
Abstract—In this paper, a method which is used for<br />
evaluating the performance <strong>of</strong> bio-potential surface<br />
electrode (BSE) with multi-index is presented. The Fuzzy<br />
kernel C-means (FKCM) algorithm and KF statistic are<br />
employed for classifying the BSE samples and searching an<br />
optimal classification amount respectively. Subsequently, a<br />
discriminant function is constructed by support vector<br />
machines (SVM) for recognizing the new measured samples.<br />
Experimental result shows classification correction ratios <strong>of</strong><br />
improved FKCM algorithm are 96.3% and 85% on the IRIS<br />
and BSE dataset according a priori knowledge,<br />
furthermore, the recognition correction ratios <strong>of</strong> SVM<br />
algorithm are 96.3% and 90% on the IRIS and BSE dataset.<br />
Index Terms—FKCM, SVM, classification, recognition, biopotential<br />
surface electrode<br />
I. INTRODUCTION<br />
Bio-potential surface electrode (BSE) is an importance<br />
unit in some health monitoring devices, especially in<br />
some wearable bio-potential monitoring garments [1-2].<br />
In [3], the measurement is performed in vivo and the biopotential<br />
is utilized for evaluating the performance <strong>of</strong><br />
BSE. In [4-7], the impedance spectra are utilized for<br />
evaluating the performance <strong>of</strong> textile-base BSE on some<br />
device by more objective methods. However, efficient<br />
evaluation methods for analyzing the performance <strong>of</strong><br />
Manuscript received December 24, 2010; revised February 1, 2010;<br />
accepted February 14, 2010.<br />
Research Grants Council <strong>of</strong> the Hong Kong SAR Government<br />
(Grant No. PolyU5277/07E).<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.880-886<br />
BSE with multi-indexes are absence so far. Improved<br />
FKCM and SVM which are the algorithms based on<br />
kernel method have better capability for solving the<br />
nonlinear problems than FCM and Fisher linear<br />
discriminant analysis method [8-11]. FKCM which is a<br />
generalization <strong>of</strong> the conventional fuzzy C-means<br />
clustering algorithm (FCM) is presented, and the concrete<br />
algorithm is shown in [12, 13]. The theory <strong>of</strong> SVM is<br />
based on the idea <strong>of</strong> structural risk minimization (SRM)<br />
[14-17], and the good generalization ability <strong>of</strong> SVM is<br />
obtained by finding a large margin between two classes.<br />
In this paper, the FKCM and SVM are employed for<br />
classifying and recognizing the BSE samples with multiindexes,<br />
however the analysis result can provide help for<br />
design and improvement <strong>of</strong> BSE.<br />
II. EXPERIMENTAL MATERIAL AND MEASUREMENT<br />
INDEXES<br />
A. Mearsurement indexes<br />
Five types <strong>of</strong> BSE were used in this study. A pair <strong>of</strong><br />
99.99% gold button electrodes (G), 4 types <strong>of</strong> fabric<br />
electrodes which are terry or plain coating silver/silver<br />
chloride (TC or PC) electrode and terry or plain coating<br />
silver (TS or PS) electrode are selected and each type <strong>of</strong><br />
electrode with 6 pair <strong>of</strong> specimens are measured. The<br />
measurement indexes are composed <strong>of</strong> static open circuit<br />
potential (OCP) differences (z1 and z2), low frequency<br />
impedance at 0.01, 1, and 10Hz (z3, z4 and z5), dynamic<br />
OCP variation (z6). Furthermore, low frequency<br />
impedance represents the measured resistance in low<br />
frequency domain, magnitude <strong>of</strong> static OCP reflects the
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 881<br />
symmetry <strong>of</strong> two electrodes, and static OCP variation<br />
represents the stable <strong>of</strong> electrodes in measurement<br />
process. Dynamic OCP variation represents the noise <strong>of</strong><br />
interface <strong>of</strong> electrode/electrolyte. However, the less are<br />
magnitude <strong>of</strong> these indexes, the better are performances<br />
<strong>of</strong> BSE. Experiments are performed at 20 degree<br />
temperature and 65% relative humidity.<br />
B. Measurement data<br />
Data <strong>of</strong> 26 samples are acquired by using<br />
electrochemical station which is composed <strong>of</strong> a computer,<br />
Electrochemical Interface 1252A (Solartron, UK) and<br />
Frequency Analyzer Response 1287 (Solartron, UK), a<br />
code<br />
G1<br />
G2<br />
TC1<br />
TC2<br />
TC3<br />
TC4<br />
TC5<br />
TC6<br />
TS1<br />
TS2<br />
TS3<br />
TS4<br />
TS5<br />
TS6<br />
PC1<br />
PC2<br />
PC3<br />
PC4<br />
PC5<br />
PC6<br />
PS1<br />
PS2<br />
PS3<br />
PS4<br />
PS5<br />
PS6<br />
z1<br />
(mV)<br />
TABLE I.<br />
INITIAL MEASUREMENT DATA OF 26 BSES<br />
z2<br />
(mV)<br />
Measurement Indexes<br />
z3<br />
(ohm)<br />
z4<br />
(ohm)<br />
z5<br />
(ohm)<br />
series <strong>of</strong> signal conditioning devices and sensors.<br />
z6<br />
(mV)<br />
1.4 5.4 792320 22521 3235.8 1.34<br />
2.5 180.7 652490 23365 3788.3 1.002<br />
0.1 7.6 3526 309.6 125 0.2<br />
1.2 23.3 1521 283.5 117.7 1.11<br />
0.5 2.1 1953 235.3 102.5 0.13<br />
1.2 12.5 871 278.9 111 0.512<br />
1.2 2.1 613 195.6 77.0 0.483<br />
0.3 2.5 685 206.2 85.4 0.494<br />
5.7 28.6 28007 1469.7 342.9 0.71<br />
0.5 12.0 55407 2707.6 597.4 0.79<br />
4.3 62.3 44980 2176.8 493.3 0.98<br />
1.1 4.3 62134 3539.1 805.7 0.829<br />
0.8 4.0 65408 4015.9 878.5 0.939<br />
4 67.3 66192 3072.3 671.8 1.059<br />
0 11.0 5471 626.3 259.7 0.32<br />
1.5 8.3 6991 679.9 265.3 0.15<br />
10 161 6701 641.7 228.4 0.41<br />
0.5 2.6 517 153.8 69.1 0.553<br />
0.5 3.4 720 275.7 108.6 0.38<br />
0.2 2.1 619 260.4 99.7 0.204<br />
0.2 7.3 63082 2923.3 637.8 1.92<br />
0.3 10.5 131000 9958 2142.7 1.94<br />
0.1 12.4 73751 3618.5 769.3 2.21<br />
1.4 0.5 114000 6358.2 1350.7 1.902<br />
6.0 4.3 132000 6973.8 1492.1 0.976<br />
0.7 7.2 127000 7307.4 1576.5 2.208<br />
© 2011 ACADEMY PUBLISHER<br />
III. CLASSIFICATION AND RECOGNITION ALGORITHMS OF<br />
BSE<br />
A. Data pre-processing<br />
To enhance the efficiency and accuracy <strong>of</strong> data<br />
analysis, it is <strong>of</strong>ten necessary to utilize pre-processing on<br />
the dataset before applying the improved FKCM<br />
clustering analysis algorithm. The data preprocess<br />
procedure consist <strong>of</strong> data normalization, correlative<br />
analysis <strong>of</strong> indexes, calculation <strong>of</strong> index weight, and<br />
calculation <strong>of</strong> initial clustering centers.<br />
Let x be vector that is composed <strong>of</strong> measurement<br />
indexes <strong>of</strong> a sample, Dataset X consists <strong>of</strong> all samples<br />
X= { x1, x2, �,<br />
xn}<br />
and can be represented as ,<br />
xi = ( xi1, xi2, �,<br />
xip)<br />
where , ( 1,2, , )<br />
i n = � . Vector x<br />
p<br />
is called as pattern <strong>of</strong> input space Ω also. The set X<br />
p<br />
with n patterns is a subset <strong>of</strong> input space Ω . The<br />
measured indexes can be represented by<br />
Z= { z1, z2, � , zp}<br />
.<br />
To eliminate effect <strong>of</strong> indexes’ quantity difference to<br />
final evaluation, initial measurement data should be<br />
normalized to compress the data in [0,1]. Data<br />
normalization function is<br />
x′ - x′<br />
i min<br />
x i =<br />
x′ max -x'min<br />
Where i x and i ′ x denote the normalized vector and<br />
measurement vector <strong>of</strong> the ith sample respectively,<br />
x′ max and x ′ min denote the maximum and minimum <strong>of</strong><br />
measurement vectors in initial data set respectively.<br />
The redundancy <strong>of</strong> indexes on data set exists, so<br />
correlation analysis <strong>of</strong> indexes is <strong>of</strong>ten necessary for<br />
reducing the dimension <strong>of</strong> data.<br />
cov(<br />
zi, z j)<br />
ρ ( zi, z j)<br />
= , i, j = 1,2, � , p (2)<br />
Dz Dz<br />
i j<br />
Where ρ is the correlative coefficient between indexes,<br />
z i and z j denote the random index in index set, cov is<br />
the covariance function.<br />
The contribution <strong>of</strong> indexes <strong>of</strong> samples in classification<br />
is different, and the clustering result and actual<br />
classification have the better consistent after the index<br />
weights <strong>of</strong> samples are introduced in classification.<br />
However, the methods <strong>of</strong> index weight acquisition have<br />
subjective method and objective method. In this paper,<br />
the objective method is employed for acquiring the index<br />
weight <strong>of</strong> all indexes.<br />
(1)
882 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
w<br />
=<br />
n n<br />
∑∑<br />
i= 1 k=<br />
1<br />
j p n n<br />
∑∑∑<br />
j= 1 i= 1 k=<br />
1<br />
| z − z |<br />
ij kj<br />
| z − z |<br />
ij kj<br />
where wj denotes weight <strong>of</strong> the jth index,<br />
n<br />
zij= xij ∑ x<br />
i=<br />
1 ij ( i = 1,2, ⋅⋅⋅ , n; j = 1,2, ⋅⋅⋅ , p)<br />
To enhance the stability <strong>of</strong> clustering result, a<br />
determinate initial clustering center is desired prior to<br />
performing clustering algorithm. In this paper, the<br />
relation matrix R is constructed by employing the<br />
included angle cosine formula (4), and the samples are<br />
classified by threshold partition method. Though the<br />
classifying effect is not well, the classification result can<br />
provide a decided initial clustering center for improved<br />
FKCM clustering algorithm.<br />
r<br />
ij<br />
=<br />
p<br />
∑<br />
| x x |<br />
k = 1<br />
ik jk<br />
p p<br />
2 2<br />
( ∑x )( )<br />
ik ∑x<br />
jk<br />
k= 1 k=<br />
1<br />
(3)<br />
(, i j = 1,2, � , n)<br />
(4)<br />
where r ij denotes the similarity between the ith and the<br />
jth sample.<br />
B. FKCM algorithm<br />
However, the FCM clustering analysis is somewhat<br />
limited in real world problems and nonlinear clustering<br />
analysis would be highly desirable. An efficient method<br />
<strong>of</strong> obtaining the nonlinear cluster algorithm is to first map<br />
p<br />
the patterns <strong>of</strong> input space Ω into some higher<br />
q<br />
dimensional feature space Ω using a kernel<br />
function φ() ⋅ , the FCM can be performed in this feature<br />
space. When the kernel function is chosen, the Euclid<br />
distance between i x and x j in feature space<br />
1/2<br />
is dˆ ij( xi, x j) = [ K( xi, xi) − 2 K( xi, x j) + K(<br />
xj, x j)]<br />
,<br />
i, j = 1,2, � , n.<br />
Let V be clustering center matrix in input space,<br />
V= ( v , v , , v ) v = ( v , v , �, v ),( i = 1,2, � , c)<br />
.<br />
1 2 � c i i1 i2 ip<br />
Let Û be membership matrix in feature,<br />
Uˆ= ( uˆ ˆ ˆ<br />
1, u2, � , un)<br />
,<br />
uˆ ˆ ˆ ˆ<br />
i = ( ui1, ui2, �, uic),( i = 1,2, � , n)<br />
. Hence, Objective<br />
function <strong>of</strong> FKCM clustering algorithm in feature space<br />
is<br />
m( ; ,<br />
c n<br />
) = ∑∑<br />
j= 1 i=<br />
1<br />
m ˆ 2<br />
ji ij<br />
Jˆ XUD ˆ ˆ uˆd , 2 < c < n (5)<br />
New clustering center vectors in feature space are<br />
© 2011 ACADEMY PUBLISHER<br />
j<br />
j<br />
n<br />
ukj m<br />
i<br />
n<br />
ukj<br />
m<br />
k= 1 i=<br />
1<br />
vˆ φ( v ) ( ˆ ) φ(<br />
x )/ ( ˆ ) , j = 1, 2, � , c (6)<br />
= =∑ ∑<br />
The φ( xi ) is dropped in (6). Unfortunately, the mapping<br />
function φ() ⋅ may not be known explicitly and if the<br />
dimension <strong>of</strong> the feature space<br />
q<br />
Ω is very high or<br />
infinite, it is difficult to solve for objective function by<br />
(6). To get around this difficulty, the problem is<br />
reformulated to involve only the dot product <strong>of</strong> the<br />
patterns x i ( i= 1, 2, � , n)<br />
in the feature space.<br />
K<br />
n<br />
m<br />
∑(<br />
uˆkj ) K(<br />
xk, xi)<br />
( , ˆ i j) = φ( i) ⋅ φ ( k = 1<br />
j) = n<br />
m<br />
∑ ( uˆ<br />
kj )<br />
k = 1<br />
n n<br />
∑∑ uˆkj m<br />
uˆtj m<br />
K xkxt j j = φ j ⋅ φ j<br />
k= 1 t=<br />
1 =<br />
n<br />
2<br />
⎛ m ⎞<br />
⎜∑( uˆ<br />
kj ) ⎟<br />
k = 1<br />
x v x v (7)<br />
K ( vˆ , vˆ ) ( v ) ( v )<br />
uˆ<br />
=<br />
=<br />
ij c<br />
j=<br />
1<br />
(1 / dˆ<br />
( x , vˆ<br />
))<br />
j=<br />
1<br />
2 1/( m−1)<br />
ij i j<br />
(1 / dˆ<br />
( x , vˆ<br />
))<br />
2 1/( m−1)<br />
ij i j<br />
( ) ( ) ( , )<br />
⎝ ⎠<br />
(1 / ( K( x , x ) − 2 K( x , vˆ ) + K(<br />
vˆ , vˆ<br />
)))<br />
c<br />
∑<br />
∑<br />
i i i j j j<br />
(1 / ( K( x , x ) − 2 K( x , vˆ ) + K(<br />
vˆ , vˆ<br />
)))<br />
i i i j j j<br />
1/( m−1)<br />
1/( m−1)<br />
When ˆ 2<br />
d ( , ˆ ij xiv j ) = 0,<br />
uˆ 1, ˆ ij = uit = 0, ( t∈[1, j) ∪ ( j, c])<br />
.<br />
ˆ 1/2<br />
d ( , ˆ ) [ ( , ) 2 ( , ˆ ) ( ˆ , ˆ<br />
ij xiv j = K xixi− K xiv j + K v j v j )] ,<br />
i = 1, 2, �, n; j = 1, 2, �,<br />
c<br />
(10)<br />
To acquire the optimization membership degree matrix<br />
*<br />
Û and corresponding distance matrix * ˆD , the equation <strong>of</strong><br />
ˆ() l ˆ(<br />
l 1)<br />
| J J |<br />
−<br />
− must be convergent, that is, equation <strong>of</strong><br />
lim Jˆ<br />
( ; ˆ, ˆ<br />
m XUD) comes into existence [18]. Hence, the<br />
l→∞<br />
variance ε can be set at a random small value, the initial<br />
distance matrix and the initial membership matrix are<br />
known, then the iterative algorithm can be performed by<br />
() ( 1)<br />
(5), (7), (8), (9), and (10), if ˆ l<br />
| ˆ l−<br />
J − J | < ε , the<br />
iterative algorithm ceases, and the constraint optimization<br />
membership matrix () ˆ l<br />
U and the constraint optimization<br />
()<br />
distance matrix ˆ l<br />
D can be acquired, finally, samples is<br />
classified in terms <strong>of</strong> maximum membership principle.<br />
When dot product operation is performed between pattern<br />
and indexes weight vector in kernel function <strong>of</strong> the<br />
FKCM clustering algorithm, the improved FKCM<br />
clustering algorithm can be obtained. Furthermore, the<br />
statistic F in (11) can be utilized for acquiring the optimal<br />
classification amount. Statistic F is a conventional index<br />
for evaluating the clustering validity and the nonlinear<br />
factors <strong>of</strong> data set are not considered, hence the KF index<br />
is constructed by using kernel function and shown in (12)<br />
for evaluating more efficiently the clustering validity .<br />
(8)<br />
(9)
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 883<br />
( n−c) ni<br />
|| xi −x||<br />
SSA ( c −1)<br />
i=<br />
1<br />
F = =<br />
c ni<br />
SSE ( n − c)<br />
( c −1) || x −x<br />
||<br />
c<br />
∑<br />
∑∑<br />
i= 1 t=<br />
1<br />
it i<br />
c<br />
2<br />
( n−c) ˆ ∑ nd i ( xi, x)<br />
i=<br />
1<br />
c− c ni<br />
2<br />
∑∑d<br />
xit xi<br />
i= 1 t=<br />
1<br />
SSA ( c −1)<br />
KF = =<br />
SSE ( n − c)<br />
( 1) ˆ ( , )<br />
2<br />
2<br />
(11)<br />
(12)<br />
Where: KF is statistic <strong>of</strong> samples vectors in feature<br />
space, SSA is between class variance, SSE is inner-class<br />
variance, xi is the mean vector <strong>of</strong> the ith class samples<br />
vectors, x is the mean vector <strong>of</strong> the whole samples<br />
vectors, it x is the ith class and the tth sample vector, i n<br />
is amount <strong>of</strong> samples <strong>of</strong> the ith class.<br />
C. SVM Algorithm<br />
According to the above classification result, we can<br />
acquire a training set S = {( x1, y1),( x2, y2), � ,( xN,<br />
yN)}<br />
p<br />
<strong>of</strong> N data points, where i ∈Ω x is the ith input pattern<br />
and yi ∈ R is the ith output pattern. In most cases, the<br />
searching <strong>of</strong> a suitable hyperplane in an input space is too<br />
restrictive to be <strong>of</strong> practical use. Hence, suppose<br />
m<br />
{ ϕ j ( x)} j=<br />
1 represents the nonlinear transfer set from<br />
the input space to feature space, where m is the dimension<br />
<strong>of</strong> feature space. Hence, a decision hyperplane in feature<br />
can be defined as<br />
y i<br />
T<br />
i[ w ϕ ( x ) + b]<br />
≥ 1,<br />
i 1, �,<br />
N,<br />
= (13)<br />
Where ϕ (⋅)<br />
is a kernel function which maps the input<br />
space into a higher dimensional space, m and n are,<br />
respectively, the dimensions <strong>of</strong> the input space and<br />
feature space. However, this function is not explicitly<br />
constructed. In order to have the possibility to violate<br />
(15), in case a separating hyperplane in this higher<br />
dimensional space does not exist, slack variables ξ k are<br />
introduced such that<br />
T ⎧y<br />
i[<br />
w ϕ(<br />
xi<br />
) + b]<br />
≥ 1−<br />
ξi<br />
, i = 1,<br />
�,<br />
N<br />
⎨<br />
⎩ξi<br />
≥ 0,<br />
i = 1,<br />
�,<br />
N<br />
(14)<br />
Subsequently, according to the structural risk<br />
minimization principle, the risk bound is minimized by<br />
considering the optimization problem<br />
1<br />
w<br />
T<br />
Minimize ⋅ w + C∑<br />
ξ i (15)<br />
2<br />
= 1<br />
subject to (14). Where C is a constant and can be<br />
regarded as a regularization parameter. Tuning this<br />
parameter can obtain a balance between margin<br />
maximization and classification violation. In order to<br />
© 2011 ACADEMY PUBLISHER<br />
i<br />
N<br />
solve the constraint optimal problem, one constructs the<br />
Lagrangian and transformed into the dual<br />
⎧Maximize<br />
⎪<br />
N N<br />
⎪<br />
1<br />
i= 1, �,<br />
N<br />
⎪W(<br />
α) = ∑αi − ∑αα<br />
i iyiyK i ( xi, xj)<br />
⎨<br />
i= 1 2 i, j=<br />
1<br />
⎪<br />
N<br />
⎪ Subject to ∑ yiαi = 0, 0 ≤αi ≤ C, i = 1, �,<br />
N<br />
⎪⎩<br />
i=<br />
1<br />
(16)<br />
Searching the optimal hyperplane in (15) is a quadratic<br />
programming (QP) problem, according to the Kuhn-<br />
Tucker theorem, the solution <strong>of</strong> the optimal problem must<br />
satisfies the equality<br />
⎧αi(<br />
yi( xw i i + b)<br />
− 1 + ξi)<br />
= 0<br />
⎨<br />
⎩(<br />
C − αi) ξi<br />
= 0<br />
, i = 1, �,<br />
N (17)<br />
In (12), α i is zero for most <strong>of</strong> samples, when the non-<br />
zero values α i are satisfied with the equality sign in<br />
(14), the pattern x i corresponding with α i is called<br />
support vector.<br />
*<br />
If α is the optimal solution in (16), then<br />
w<br />
*<br />
=<br />
N<br />
*<br />
∑ α i yi<br />
xi<br />
(18)<br />
i=<br />
1<br />
That is the weight coefficient vector <strong>of</strong> optimal<br />
classification hyperplane is linear combination <strong>of</strong> training<br />
pattern vectors. After solving the above problems, the<br />
optimal classification function can be acquired as<br />
N<br />
⎛ *<br />
* ⎞<br />
f ( x)<br />
= sign⎜∑<br />
yiα<br />
i K(<br />
xi<br />
⋅ x)<br />
+ b ⎟ (19)<br />
⎝ i=<br />
1<br />
⎠<br />
IV. RESULET AND DISCUSSION<br />
In order to evaluate the performance <strong>of</strong> BSE and verify<br />
effect <strong>of</strong> these algorithms, the improved FKCM and SVM<br />
were performed on IRIS dataset and measurement dataset<br />
respectively. Matlab7.01 s<strong>of</strong>tware was utilized for data<br />
processing and analyzing.<br />
A. Pre-processing <strong>of</strong> measurement dataset<br />
After data normalization, procedures <strong>of</strong> correlation<br />
analysis, weight computation, and initial clustering center<br />
were performed on IRIS dataset and measurement dataset<br />
in turn. Correlation coefficients <strong>of</strong> IRIS dataset were<br />
shown in Tab. II and Tab. III by using (2). However,<br />
some indexes with strong correlation can be eliminated<br />
by Pearson Correlation coefficient analysis method.<br />
Because <strong>of</strong> strong correlation in indexes, 4 z , 5 z and 4 z′ can<br />
be deleted in data analysis process. Furthermore, index<br />
weight coefficient <strong>of</strong> measurement dataset and IRIS<br />
dataset was, respectively, WM = (0.2399 0.2858 0.2967<br />
0.1776) and WIRIS = (0.2374 0.1785 0.2785 0.30) by<br />
using (3).<br />
FKCM and SVM Performed on IRIS Dataset
884 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
TABLE II.<br />
PEARSON CORRELATION COEFFICIENT OF ALL MEASURED INDEXES<br />
IN IRIS DATASET<br />
TABLE IV.<br />
COMPARISON OF WRONG CLASSIFICATION AMOUNT OF SAMPLES BY<br />
USING THREE CLUSTERING METHODS<br />
Clustering Amount in<br />
Algorithm 1 st Amount in<br />
Class 2 nd Amount in<br />
Class 3 rd Total Correction<br />
Class amount Ratio (%)<br />
FCM 0 12 4 16 89.33<br />
FKCM 0 9 3 12 92.00<br />
Improved<br />
FKCM<br />
code<br />
z′ 1<br />
2 z′<br />
0 4 3 7 95.33<br />
TABLE III.<br />
STATISTIC F AND KF OF IRIS DATASET USING IMPROVED FKCM<br />
Preset Class Amount 2 3 4 5 6 7<br />
Actual Class Amount 2 3 4 5 6 7<br />
F validity index 339 342 284 233 197 192<br />
KF validity index 430 485 409 346 289 273<br />
IRIS dataset contains 150 examples with 4 dimensions<br />
and 3 classes. One class is linearly separable from the two<br />
other; the latter are not linearly separable from each<br />
other. Iterative accurate degree and class number are,<br />
respectively, 10e-5 and 3, and the kernel function <strong>of</strong><br />
improved FKCM clustering algorithm chooses<br />
p<br />
2<br />
k( xy , ) = exp( ∑ ( w *( )) )<br />
i 1 i xi − yi σ<br />
=<br />
,<br />
whereσ<br />
= 0.8 .<br />
Tab. IV showed the F and KF value were all maximal<br />
when samples in IRIS were classified into three classes,<br />
and the result was consistent with the actual classification<br />
<strong>of</strong> samples. Furthermore, wrong classification amount <strong>of</strong><br />
samples and classification correction ratios using FCM,<br />
FKCM, improved FKCM in IRIS dataset were shown in<br />
Tab. V, samples in the 1st class was classified correctly<br />
which shows three clustering algorithms can solve<br />
efficiently the linear classification problems, however,<br />
the improved FKCM is obviously better than FCM and<br />
KFCM for solving the nonlinear problems.<br />
In order to compare the performance <strong>of</strong> four<br />
discriminant methods: the SVM, Kernel Fisher<br />
Discriminant Analysis (KFDA), back promulgation<br />
neural network (BPNN), and radial basis function neural<br />
z′ 3<br />
z′ 4<br />
z′ 1 1 -0.12 0.87 0.82<br />
z′ 2 -0.12 1 -0.42 0.37<br />
z′ 3 0.87 -0.42 1 0.96<br />
z′ 4 0.82 -0.37 0.96 1<br />
© 2011 ACADEMY PUBLISHER<br />
TABLE V.<br />
PEARSON CORRELATION COEFFICIENT OF ALL MEASURED INDEXES IN<br />
MEASUREMENT DATASET<br />
Index<br />
code<br />
z 1<br />
2 z<br />
network (RBFNN), We performed these algorithms on<br />
IRIS dataset, the training samples were utilized for<br />
training the networks, then employing the trained<br />
networks to recognize the testing samples. The<br />
parameters <strong>of</strong> BPNN were set as follow: the neurons <strong>of</strong><br />
input layer were the amount <strong>of</strong> the training samples, the<br />
neurons <strong>of</strong> hidden layer were obtained according the<br />
equation n 1 = i + o + a where 1 n , i and o were the<br />
neurons amount <strong>of</strong> hidden layer, input layer and output<br />
layer respectively, parameter a were taken in the integer<br />
domain [1,10]. The transfer function <strong>of</strong> hidden layer was<br />
set for ”tansig”, the transfer function <strong>of</strong> output layer was<br />
set for ”purelin”, training algorithm selected “Levenberg-<br />
Marquardt” method, the output tolerance was 0.05 ,<br />
training error was set for 0.001,the transfer coefficient<br />
<strong>of</strong> RBFNN was 1.0. In KFDA algorithm, Gauss kernel<br />
2<br />
function<br />
k(<br />
x, y)<br />
= exp( − || x − y || / σ )<br />
was selected<br />
and parameterσ was 0.7. In SVM algorithm, the kernel<br />
function was ‘gaussian’ and parameter <strong>of</strong> ‘kerneloption’<br />
was 2, and bound on the lagrangian multipliers was 1000.<br />
Then above four methods were performed on IRIS<br />
dataset, and the effects <strong>of</strong> every method were evaluated<br />
by the correction recognition ratios to testing samples.<br />
The four fifth <strong>of</strong> each class <strong>of</strong> IRIS were using as<br />
training samples, and the other samples were using as<br />
testing samples, the discriminant functions were<br />
constructed by above described four methods. And<br />
experimental results showed the correction recognition<br />
ratios <strong>of</strong> BPNN, RBFNN, KFDA, and SVM methods in<br />
Tab. VI. Obviously, the effects <strong>of</strong> SVM method and<br />
KFDA were better than other two methods. Therefore,<br />
the SVM method was chosen for constructing the<br />
discriminant function <strong>of</strong> measurement dataset.<br />
B. SVM and FKCM Performed on Measured Dataset<br />
26 samples were measured on electrochemical<br />
station and 6 indexes are obtained. G, TS and PS are<br />
polarization electrodes but TC and PC are nonpolarization<br />
electrodes, the priori knowledge showed the<br />
non-polarization electrodes had the better performance<br />
than polarization electrodes [19]. Improved KFCM was<br />
performed on measurement dataset. Tab. VII showed KF<br />
value was maximal when samples were classified into<br />
z 3<br />
z 4<br />
5 z<br />
z 1 0.63 0.03 0.03 0.04 -0.12<br />
1<br />
z 2 0.63 1 0.35 0.36 0.35 -0.05<br />
z 3 0.03 0.35 1 0.97 0.92 0.31<br />
z 4 0.03 0.36 0.97 1 0.99 0.43<br />
z 5 0.04 0.35 0.92 0.99 1 0.51<br />
z 6 -0.12 -0.05 0.31 0.43 0.51 1<br />
z 6
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 885<br />
TABLE VI.<br />
COMPARISON OF CORRECTION RECOGNITION RATIOS USING ABOVE<br />
FOUR METHODS ON IRIS DATASET<br />
Discriminant Methods BPNN RBFNN KFDA SVM<br />
Correction Recognition<br />
Ratio (%)<br />
two classes. Obviously, two classes was best<br />
classification amount, and the class amount <strong>of</strong><br />
classification result was consistent with the priori<br />
knowledge.<br />
Tab. VIII showed the first class has 14 samples and<br />
the second class has 12 samples by using improved<br />
FKCM algorithm. The four samples <strong>of</strong> TS2, TS4, TS5<br />
and PC3 are disagreement with the priori knowledge, and<br />
approximate 85% samples agree with the priori<br />
knowledge. Subsequently, the front eight <strong>of</strong> each class<br />
measured samples were selected as training samples, and<br />
the other measured samples were selected as testing<br />
samples. According to the previous describe, SVM was<br />
performed on training samples and acquires a<br />
discriminant function and some support vectors, and 90%<br />
recognition correction ratio can be acquired by applying<br />
discriminant function on the testing samples.<br />
TABLE VII.<br />
STATISTIC KF OF MEASUREMENT DATASET USING IMPROVED FKCM<br />
Preset Class Amount 2 3 4<br />
Actual Class Amount 2 3 -<br />
KF validity index 15 10 -<br />
TABLE VIII.<br />
CLASSIFICATION NUMBER AND QUALITY GRADE OF SAMPLES<br />
code Membership<br />
degree<br />
Number<br />
<strong>of</strong> class<br />
Membership Number<br />
grade code<br />
degree <strong>of</strong> class grade<br />
G1 0.53 2 2 G2 0.54 2 2<br />
TC1 0.69 1 1 PC1 0.71 1 1<br />
TC2 0.65 1 1 PC2 0.69 1 1<br />
TC3 0.68 1 1 PC3* 0.54 2 2<br />
TC4 0.77 1 1 PC4 0.75 1 1<br />
TC5 0.74 1 1 PC5 0.72 1 1<br />
TC6 0.73 1 1 PC6 0.69 1 1<br />
TS1 0.54 2 2 PS1 0.51 2 2<br />
TS2* 0.82 1 1 PS2 0.54 2 2<br />
TS3 0.62 2 2 PS3 0.53 2 2<br />
TS4* 0.82 1 1 PS4 0.55 2 2<br />
TS5* 0.77 1 1 PS5 0.55 2 2<br />
TS6 0.63 2 2 PS6 0.55 2 2<br />
a.* express class number <strong>of</strong> the sample is different according the priori knowledge and improved<br />
FKCM algorithm<br />
© 2011 ACADEMY PUBLISHER<br />
93.33 86.67 96.67 96.67<br />
V. CONCLUSION<br />
In this paper, a generalization evaluation method is<br />
proposed and employed in quality evaluation <strong>of</strong> BSE. By<br />
classifying the IRIS dataset using FCM, FKCM and<br />
improved FKCM clustering algorithm, experimental<br />
result shows improved FKCM is more efficient than other<br />
two algorithms for solving the nonlinear problem. The<br />
constructed KF statistic can help find the optimal<br />
classification amount <strong>of</strong> measured samples, and the<br />
classification result is consistent with a priori knowledge.<br />
Subsequently, we construct the discriminant function for<br />
recognizing the new measured samples by SVM<br />
algorithm, and a well recognition effect can be acquired.<br />
In all, the improved FKCM and SVM algorithms can<br />
compose a complete evaluation method for the<br />
performance <strong>of</strong> BSE.<br />
ACKNOWLEDGMENT<br />
The authors would like to thank Research Grants Council<br />
<strong>of</strong> the Hong Kong SAR Government (Grant No.<br />
PolyU5277/07E). This work was supported in part by a<br />
grant from The Hong Kong Polytechnic University.<br />
REFERENCES<br />
[1] Jerald Yoo, Long Yan, Seulki Lee, Hyejung Kim, and Hoi-<br />
Jun Yoo, “A wearable ECG acquisition system with<br />
compact planar-Fashionable circuit board-based shirt,”<br />
IEEE Trans. Inform. Tech. Biomed., vol. 13, pp. 897–902,<br />
November 2009.<br />
[2] Tae-Ho Kang, Carey R. Merritt, Edward Grant, Behnam<br />
Pourdeyhimi, and H. Troy Nagle, “Nonwoven fabric active<br />
electrodes for biopotential measurement during normal<br />
daily activity,” IEEE Trans. Biomed. Eng., vol. 55, pp.<br />
188–195, January 2008.<br />
[3] Enzo Pasquale Scilingo, Gemignani A, Paradiso R, Taccini<br />
N, Ghelarducci B, and De Rossi D, “Performance<br />
evaluation <strong>of</strong> sensing fabrics for monitoring physiological<br />
and biomechanical variables,” IEEE Trans. Inform. Tech.<br />
Biomed., vol. 9, pp. 345–352, September 2005.<br />
[4] Rattfalt L, Linden M, Hult P, Berglin L and Ask P,<br />
“Electrical characteristics <strong>of</strong> conductive yarns and textile<br />
electrodes for medical applications,” Med. Biol. Eng.<br />
Comput., vol. 12, pp. 1251–1257, December 2007.<br />
[5] Westbroek P, Priniotakis G, Palovuori E, De Clerck K,<br />
Van Langenhove L and Kiekens P, “Quality control <strong>of</strong><br />
textile electrodes by electrochemical impedance<br />
spectroscopy,” Text. Res. J., vol. 2, pp. 152–159, February<br />
2006.<br />
[6] Priniotakis G., Westbroek P., Van Langenhove L. and<br />
Kiekens P., “An experimental simulation <strong>of</strong> human body<br />
behaviour during sweat production measured at textile<br />
electrodes,” Int. J. Cloth. Sci. Technol., vol. 3–4, pp. 232-<br />
241, October 2005.<br />
[7] L Beckmann, C Neuhaus, G Medrano, N Jungbecker, M<br />
Walter, T Gries, et, al., “Characterization <strong>of</strong> textile<br />
electrodes and conductors using standardized measurement<br />
setups,” Physiol. Meas., vol. 31, pp. 233–247, February<br />
2010.<br />
[8] GROLAMI M., “Mercer kernel based clustering in feature<br />
space,” IEEE Trans. Neural Netw., vol.13, pp.780–784,<br />
May 2002.<br />
[9] Bernhard Scholkopf, Sebastian Mika, Chris J. C. Burges,<br />
Philipp Knirsch, Klaus-Robert M¨uller, Gunnar Ratsch, et,
886 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
al., “Input space versus feature space in kernel-based<br />
methods,” IEEE Trans. Neural Netw., vol.10, pp. 1000–<br />
1017, September 1999.<br />
[10] Chua, K.S., “Efficient computations for large least square<br />
support vector machine classifiers,” Pattern Recogn. Lett.,<br />
vol. 24, pp. 75–80, January 2003.<br />
[11] Vapnik, V., Statistical Learning Theory, Wiley, New York,<br />
1998.<br />
[12] ZHANG Li, ZHOU Weida and JIAO Licheng, “Kernel<br />
clustering algorithm,” Chinese <strong>Journal</strong> <strong>of</strong> Computers, vol.<br />
25, pp. 587–590, June 2002.<br />
[13] ZHAO Yugao and PENG Hong, “An improved fuzzy<br />
kernel clustering algorithm,” <strong>Journal</strong> <strong>of</strong> Xihua University:<br />
Natural Science Edition, vol. 26, pp. 48–50,69, March<br />
2007.<br />
[14] Shawe-Taylor, J. and Bartlett, P.L., “structural risk<br />
minimization over data-dependent hierarchies,” IEEE<br />
Trans. Inform. Theor., vol. 44, pp. 1926–1940, September<br />
1998.<br />
[15] Chih-Wei Hsu and Chih-Jen Lin, “A comparison <strong>of</strong><br />
methods for multi-class support vector machines,” IEEE<br />
Trans. Neural Netw., vol. 13, pp. 415–425, March 2002.<br />
[16] Qin Yuping, Wang Xiukun, Li Xiangna and Wang Chunli,<br />
“Study on multi-class text classification algorithm based<br />
on hyper-sphere support vector machines,” Computer<br />
Engineering and Applications, vol.44, pp. 166–168, July<br />
2008.<br />
[17] K. Crammer and Y. Singer, “On the learnability and design<br />
<strong>of</strong> output codes for multiclass problems,” Mach. Learn.,<br />
vol. 47, pp. 201–233, February/March 2002.<br />
[18] BEZDEK J C., “Convergence theory for fuzzy c-Means:<br />
counterexamples and repaires,” IEEE Trans on SMC, vol.<br />
17, pp. 873–877, September/October 1987.<br />
[19] John G. Webster, Medical instrumentation : application<br />
and design, 3 rd ed., New York : Wiley, 1998, pp. 183-232.<br />
© 2011 ACADEMY PUBLISHER<br />
Hao Liu received the B.Eng. and M.Eng. degrees in textile<br />
material and design from Tianjin Polytechnic University,<br />
Tianjin, China, in 2001 and 2004. He is currently working<br />
towards the PhD degree in textile engineering at Tianjin<br />
Polytechnic University, Tianjin, China. His research interests<br />
are data analysis and image processing in textile and clothing<br />
Engineering, smart textiles and apparel and wearable electronics.<br />
Xiaoming Tao is Chair Pr<strong>of</strong>essor and Head <strong>of</strong> Institute <strong>of</strong><br />
Textiles and Clothing. Pr<strong>of</strong>. Tao graduated with a B.Eng. in<br />
Textile Engineering and a first class prize for undergraduate<br />
students from East China Institute <strong>of</strong> Textile Science and<br />
Technology in 1982. She gained her PhD in Textile Physics<br />
from University <strong>of</strong> New South Wales, Australia in 1987.Her<br />
research interests are fibrous materials, textile Science and<br />
technology, smart textiles and apparel and wearable electronics<br />
and photonics.<br />
Pengjun Xu is currently working towards the PhD degree in<br />
textile engineering at Donghua University, Shanghai, China. His<br />
research interests are fibrous materials, smart textiles and<br />
apparel.<br />
Guanxiong Qiu is pr<strong>of</strong>essor <strong>of</strong> Tianjin Polytechnic University.<br />
His research interests are textile material and knitted<br />
engineering.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 887<br />
Consonant Recognition <strong>of</strong> Dysarthria Based on<br />
Wavelet Transform and Fuzzy Support Vector<br />
Machines<br />
Zhuo-ming Chen 1<br />
1 The First Affiliated Hospital, Jinan University, Guangzhou, China<br />
Email: tchzm@21cn.com<br />
Wei-xin Ling 2 and Jian-hui Zhao 3, *<br />
School <strong>of</strong> Science, South China University <strong>of</strong> Technology, Guangzhou, China<br />
Email: 2 lingweixin@21cn.com, 3 awordman@163.com<br />
Tao-tao Yao 4<br />
4 The First Affiliated Hospital, Jinan University, Guangzhou, China<br />
Email: selena.567.com@163.com<br />
Abstract—Consonant(in Chinese) recognition had important<br />
clinical significance in the assessment <strong>of</strong> dysarthria, while<br />
the consonants were so short and unstable that the<br />
recognition results <strong>of</strong> traditional methods were ineffective.<br />
The algorithm described in this paper extracted a new<br />
feature(DWTMFC-CT) <strong>of</strong> the consonants employing<br />
wavelet transformation, and the difference <strong>of</strong> similar<br />
consonants can be described more accurately by the feature.<br />
Then the algorithm classified consonants using multi-class<br />
fuzzy support vector machines(FSVM). In order to reduce<br />
the computation complexity caused by using the standard<br />
fuzzy support vector machines for multi-class classification,<br />
this paper proposed a algorithm based on two stages.<br />
Experimental results shown that the proposed algorithm<br />
could get better classification results while reducing the<br />
training time greatly.<br />
Index Terms—wavelets transform, fuzzy theory, support<br />
vector machines, consonant recognition<br />
I. INTRODUCTION<br />
There are a large number <strong>of</strong> pronunciation-impaired<br />
patients in China. It’s very important to assess the patient<br />
with dysarthria accurately. The methods <strong>of</strong> traditional<br />
dysarthria assessment, including Franchy Dysarthria<br />
Assessment and the dysarthria assessment method made<br />
by Zhongkang, with great subjectivity, <strong>of</strong>ten lead to<br />
diagnose inaccurately and incorrectly. Speech analysis is<br />
an effective assessment tool. With non-invasive and<br />
objective, this method can test a large number <strong>of</strong> patients<br />
in a short time. Speech analysis is <strong>of</strong>ten based on some<br />
long vowels [1-2], but practice shows that the clinical<br />
significance <strong>of</strong> consonant is more important than the long<br />
vowels’, and there is almost no objective assessment in<br />
dysarthria now. Automatic and accurate identification <strong>of</strong><br />
the 21 categories <strong>of</strong> consonant in the Mandarin Language<br />
*Corresponding author<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.887-893<br />
is the key to objective assessment <strong>of</strong> consonant.<br />
Because <strong>of</strong> consonant’s instability, strong dynamic and<br />
short duration, so to identify them is difficult. There are<br />
two ways to improve the correct recognition rate: 1) To<br />
extract better feature parameters <strong>of</strong> consonant; 2) To<br />
choice a suitable recognition method. Feature parameters<br />
<strong>of</strong> speech are used widely, including Linear Prediction<br />
Cepstrum Coefficient (LPCC) and Mel Cepstrum<br />
Coefficient (MFCC), etc. They are assumed that speech<br />
signal is short-time stationarity, but the consonants are<br />
very unstable signal, so these parameter models have<br />
poor effect in consonant recognition [3].<br />
It’s a good choice to extract the consonant features by<br />
employing wavelet transformation, because wavelet<br />
transformation has good localize characteristics <strong>of</strong> time<br />
domain and frequency domain. The time-frequency<br />
window can adjust according to the signal’s shape and<br />
multi-resolution analysis, so it can describe non-stable<br />
signal more precisely.<br />
HMM technology [4], Gaussian mixture model [5] and<br />
neural network [6] are used widely in the field <strong>of</strong> speech<br />
recognition, but all <strong>of</strong> them have some defects, which are<br />
hard to make up. HMM is poor in classification decisionmaking,<br />
and need to priori statistical knowledge first;<br />
Gaussian mixture model is also based on statistical<br />
theory, and need to a large number <strong>of</strong> training samples to<br />
get good recognition effect; neural network’s problems<br />
are hard to determine the network structure, local<br />
optimization and easy to over learning. Support vector<br />
machine is the important theory based on VCdimensional<br />
theory <strong>of</strong> statistical learning theory and<br />
structural risk minimizes principle. It seeks the best<br />
compromise between the Modal complexity and learning<br />
ability to obtain the best extension according to the<br />
limited sample information. It can solve small sample,<br />
nonlinear, high dimension and local minimal problems<br />
[7].
888 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
This research combines the advantages <strong>of</strong> wavelet<br />
transformation and support vector machine, and puts<br />
forward a new two-stage consonant recognition method.<br />
The experiments show that this method can make higher<br />
accuracy for consonant identification with small<br />
samples..<br />
II. FUZZY SUPPORT VECTOR MACHINE<br />
A. Two-class fuzzy support vector machine<br />
Standard support vector machine (SVM) is a twoclass<br />
classifier, if there are k training samples{(xi, yi),<br />
i=1,2,…,k}. in which xi∈R N , yi∈{+1,-1} is the<br />
corresponding class label. If the training samples are<br />
linearly separable, finding separating hyper plane w • xi,<br />
+ b = 0 to make each sample has: yi [w • xi, + b] -1 ≥ 0.<br />
Solving the optimal hyper plane is equivalent to<br />
make‖w‖ 2 /2 minimize, that is solving the solution <strong>of</strong><br />
optimal problem:<br />
k<br />
⎧ 1 2<br />
⎪min<br />
w + C∑ξi<br />
⎨ 2<br />
i=<br />
1<br />
(1)<br />
⎪<br />
⎩st<br />
.. yi( w⋅ xi + b) ≥1 − ξi,<br />
i= 1, �,<br />
k<br />
In which: C is penalty factor, which controls the penalty<br />
degree <strong>of</strong> misclassification; ξi is slack variable, which<br />
compensates some samples that cannot be correctly<br />
classified by hyper plane.<br />
The principle between FSVM and standard SVM is<br />
similar, the difference is that FSVM weights<br />
classification error ξi caused by each input point through<br />
the fuzzy factor q i , qiξ i means each input point<br />
corresponding classification error. The smaller fuzzy<br />
factor i q , leading to smaller classification error qiξ i ,<br />
which reduces the importance <strong>of</strong> the wrongly classified<br />
samples [8]. The objective function as follows:<br />
k<br />
⎧ 1 2<br />
⎪min<br />
w + C∑qiξi ⎨ 2<br />
i=<br />
1<br />
(2)<br />
⎪<br />
⎩st<br />
.. yi( w⋅ xi + b) ≥1 − ξi,<br />
i= 1, �,<br />
k<br />
To solve the above objective function, it can be<br />
transformed into the corresponding dual form. we can get<br />
the two classification decisions function:<br />
k<br />
f ( x) = sign( ∑ aiyixix+ b)<br />
(3)<br />
i=<br />
1<br />
It transformed the sample points by nonlinear and<br />
mapped to high dimensional feature space for the<br />
nonlinear problems. It could be realized classification by<br />
linear classifier in high-dimension. By the method <strong>of</strong><br />
introducing the kernel function, it needn’t to know the<br />
exact mapping function, and could calculate the inner<br />
product between the samples. The decision function was:<br />
k<br />
f ( x) = sign( ∑ aiyK i ( xi⋅ x) + b)<br />
(4)<br />
i=<br />
1<br />
The kernel function mainly used in this research was dorder<br />
polynomial kernel function:<br />
© 2011 ACADEMY PUBLISHER<br />
( , ) ( 1) d<br />
K xi xj = xi⋅ xj<br />
+ (5)<br />
The choice <strong>of</strong> penalty factor C and order d <strong>of</strong> the<br />
kernel function can impact the FSVM greatly. There are<br />
mainly two methods, including the experience<br />
deterministic method and the grid-search method, applied<br />
in the current practice. The grid-search method was used<br />
in this paper, setting the C value space is {1, 10, 100,<br />
1000, 10000}and d is {1, 1.5, 2, 2.5, 3}, to make the<br />
space <strong>of</strong> C and d divided into grids, which trialed one by<br />
one to determine the optimal parameters in each grid<br />
point.<br />
B. multi-class fuzzy support vector machines<br />
FSVM algorithm was originally designed for twoclass<br />
classification problems. It needs to be extended to<br />
multi-class classifier when dealing with multi-class<br />
problems. There are two ways used widely at present:<br />
one-to-many and one-to-one. The method <strong>of</strong> one-to-many<br />
makes some class samples classified as one-class in turn<br />
when it trains, remaining samples classified as the other<br />
one, so k-class samples are constructed to k FSVM.<br />
Unknown samples are classified to the class that has the<br />
largest classification function value. The practice <strong>of</strong> oneto-one<br />
method is to design a FSVM between any twoclass<br />
samples, so k-class samples need to design k (k-1) /<br />
2 FSVM. When classifying an unknown sample, the<br />
category <strong>of</strong> the sample is the class that gets most votes by<br />
last.<br />
Experiment showed that the one-to-one method could<br />
get better classification effect than the one-to-many<br />
method [9], however, its time complexity is O (k2). The<br />
performance <strong>of</strong> the algorithm would drop dramatically<br />
with the number <strong>of</strong> categories increases. These FSVM got<br />
by one-to-one training method, organized into a directed<br />
graph (DirectedGraph, DG) structure with unique root<br />
node, then got the fuzzy support vector machine<br />
(FDGSVM), shown in Fig. 1. For the k classification<br />
problem, FDGSVM required only k-1 dimensions [10],<br />
which reduced the time complexity effectively.<br />
3<br />
4<br />
2<br />
3<br />
4<br />
1<br />
2<br />
3<br />
4<br />
1,4<br />
2,4 1,3<br />
1<br />
2<br />
3<br />
2<br />
3,4 3 2,3 1,2<br />
4 3 2 1<br />
Figure 1. The flow chart <strong>of</strong> FDGSVM (K=4).<br />
The flow <strong>of</strong> FDGSVM was as follows: A list was<br />
formed by all samples. A test sample was input from the<br />
root. First, it was determine that whether it belonged to<br />
the first category or the last category in the list. After<br />
1<br />
2
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 889<br />
removing the category which was not selected, went to<br />
the next level node in DG. The new list was made the<br />
same treatment until the node was leaf node.<br />
III. WAVELET TRANSFORMATION<br />
2<br />
Ψ() t ∈ L ( R)<br />
, the Fourier transform ˆ ( ω)<br />
2<br />
If<br />
Ψ meets<br />
the permit conditions C = Ψ ˆ ( ω) ω dω<br />
=1) layer, then it<br />
expands as following:<br />
j−1j j<br />
A2 [ f( t)] = D2 [ f( t)] + A2 [ f( t)]<br />
(8)<br />
In which, 2 j<br />
D is the detail coefficient, representing<br />
the high-frequency component <strong>of</strong> the j layer, 2 j<br />
A is the<br />
approximate coefficient, representing the low-frequency<br />
component <strong>of</strong> the j layer, when j = 1,<br />
0<br />
f () t = A2[ f()] t .<br />
This research chose db4 wavelet as the mother<br />
wavelet, because the db wavelet is the compact<br />
orthogonal wavelets, and has a good expansibility. So it<br />
could weigh the border problem that brought by<br />
increasing the support set length flexibly (to increase the<br />
concentrative degree <strong>of</strong> energy) [11].<br />
IV. ALGORITHM DESCRIPTION<br />
A. The two-stage recognition algorithm<br />
To reduce the algorithm’s time complexity and ensure<br />
its accuracy, the whole algorithm was divided into two<br />
stages, shown in Fig. 2.<br />
The first stage is the rough classification stage <strong>of</strong><br />
consonant. Among a numerous acoustic parameters <strong>of</strong><br />
consonants, we extracted features such as: length,<br />
periodicity, relative energy and zero-crossing rate for the<br />
consonant classification [12]. Using FDGSVM, the 21<br />
consonants were divided into 7 rough categories:<br />
C1(b,d,g), C2(1,m,n,r), C3(z,zh,j), C4(p,t,k), C5(c,ch,q),<br />
C6(f,h) and C7(s,sh,x). The second stage is the fine<br />
classification stage <strong>of</strong> consonants. Because <strong>of</strong> high<br />
similarity between the different consonants in the same<br />
rough category, it could be described more accurately by<br />
© 2011 ACADEMY PUBLISHER<br />
∫<br />
R<br />
using the wavelet transformation to extract distinguishing<br />
features <strong>of</strong> consonants. And more detailed delineations <strong>of</strong><br />
7 categories were done by using FDGSVM again (using a<br />
separate fine classifier for each rough category). Finally<br />
the purpose <strong>of</strong> identifying each consonant was achieved.<br />
Rough stage<br />
Fine stage<br />
C1<br />
FDGSVM1<br />
b d g<br />
21 consonants<br />
FDGSVM0<br />
……<br />
……<br />
RC<br />
Figure 2. The two-stage recognition algorithm flow (RC=rough<br />
classifier, FCG= fine classifier group)..<br />
FCG<br />
The detail steps <strong>of</strong> the algorithm were as follows:<br />
Step 1 Set the training sample set was S={S1, S2, …,<br />
S7}, in which Si(i=1,…,7) was sample set <strong>of</strong> the ith rough<br />
category. The training samples were extracted<br />
consonant’s length(L), periodicity(P), relative energy(E)<br />
and zero-crossing rate (including the mean zero-crossing<br />
rate(MZ), the last zero-crossing rate(LZ) and phonetic<br />
rhyme transition zero-crossing rate(TZ)) to form the<br />
characteristic parameters(F = (L, P, E, MZ, LZ, TZ)) <strong>of</strong><br />
rough category.<br />
Step 2 Set a sample point SPi,j∈Si (j=1,…, Ni, Ni is<br />
the number <strong>of</strong> samples in Si). Rough category feature<br />
with different units and orders, were normalized first, and<br />
then calculated the average <strong>of</strong> each feature, composed the<br />
center <strong>of</strong> feature vector F <strong>of</strong> Si:<br />
Fi= ( LPEMZLZTZ<br />
i, i, i, i, i, i)<br />
(in which Li = ∑ Li, j Ni<br />
,<br />
other features were treated similarly).<br />
The calculation method <strong>of</strong> each sample fuzzy factor<br />
qi,j was: qi, j= 1−di, j max { di,1 , � , di,<br />
Ni}<br />
. In which,<br />
di,j I is Euclidean distance between the sample point SPi,j<br />
feature vector and the feature vector center F i .<br />
Step 3 The algorithm trained 21 FSVM by using the<br />
training sample S, then organized these trained FSVM<br />
into a fuzzy directed graph support vector machines:<br />
FDGSVM0 for rough classification.<br />
Step 4 New consonant feature vectors (DWTMFC-<br />
CT) were extracted based on discrete wavelet transform<br />
(see section B), as the fine feature vectors in the second<br />
phase.<br />
Step 5 Based on parameters DWTMFC-CT, similar<br />
to the method <strong>of</strong> step 2, the algorithm then calculated the<br />
fuzzy factor for each sample (7 rough classification<br />
sample sets were calculated independently), The<br />
C7<br />
FDGSVM7<br />
s sh x
890 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
algorithm trained the Ki*(Ki-1)/2 FSVM used for<br />
subdividing rough category Ci by using the training<br />
sample Si, (Ki is the number <strong>of</strong> class <strong>of</strong> consonants in Ci),<br />
then organized them into fine classifier group: FDGSVMi<br />
(i = 1, ..., 7).<br />
Step 6 The algorithm extracted test samples feature<br />
parameters F and DWTMFC-CT, and input feature<br />
parameter F to the rough classifier FDGSVM0, the most<br />
appropriate fine classifier would be selected from the fine<br />
classifier group, and then determined test samples belong<br />
to different categories according the parameters<br />
DWTMFC-CT.<br />
B. feature parameters DWTMFC-CT extraction<br />
Some speech features had be extracted using wavelet<br />
transform by some researchers, such as MWBC [13],<br />
DWT-MFC [14]. The method <strong>of</strong> DWT-MFC was<br />
improved appropriately in this paper as it could adapt the<br />
features <strong>of</strong> consonant recognition. The extraction method<br />
<strong>of</strong> the new consonant feature vector DWTMFC-CT was<br />
as follows:<br />
Step 1 Enflame: According to the different length <strong>of</strong><br />
consonant, the consonant signal was split up into several<br />
frames on average, as shown in TABLE I.<br />
Step 2 Wavelet transformation: Using db4 as mother<br />
wavelet, the consonant signals were decomposed to 3<br />
TABLE I.<br />
THE NUMBER OF FRAMES<br />
rough category C1 C2 C3 C4 C5 C6 C7<br />
number 1 2 2 3 3 4 4<br />
layers, then 3 groups <strong>of</strong> detail coefficients:<br />
1<br />
D 2 ,<br />
3<br />
D 2 and a group <strong>of</strong> similar coefficients: 3<br />
2<br />
2<br />
D 2 ,<br />
A were<br />
extracted.<br />
Step 3 Spectrum combined: The 4 groups <strong>of</strong> wavelet<br />
coefficients were done by Fast Fourier Transform (FFT),<br />
the wavelet coefficients spectrum were translated from<br />
the time domain into the frequency domain, then all <strong>of</strong><br />
the wavelet coefficients will combined into a full<br />
spectrum.<br />
Step 4 Calculation cepstrum coefficient: The full<br />
spectrum above were done by M-order Mel filter, and got<br />
Mel spectrum, furthermore, translated by discrete cosine<br />
transformation to obtain cepstral vector coefficient dh=<br />
(dh,1, dh,2,…,dh,M ) <strong>of</strong> the hth frame, in which h=1,…,<br />
Nci, NCi is the number <strong>of</strong> the frames.<br />
Step 5 Cepstrum coefficient splice: Each frame was<br />
processed by the method above, and cepstrum<br />
coefficients <strong>of</strong> all frames were spliced, then could get<br />
NCi*M-dimension feature vectors DWTMFC-CT=(d1,<br />
d2,…,dNCi).<br />
V. EXPERIMENTS<br />
Speech samples were collected in a quiet<br />
environment, recorded by Cool Edit s<strong>of</strong>tware. The<br />
number <strong>of</strong> recording channel was one, its frequency was<br />
16000Hz and precision was 16bit. The distance from<br />
microphone to people’s mouth is form 10 cm to 20 cm.<br />
10 females and 10 males (healthy and speech Mandarin)<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 3. A graph describing the result <strong>of</strong> FSVM(C1-C2).<br />
Figure 4. A graph describing the result <strong>of</strong> FSVM(C3-C4).<br />
Figure 5. A graph describing the result <strong>of</strong> FSVM(C5-C6).
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 891<br />
were called to do experiments. Each consonant was read<br />
5 times, then all <strong>of</strong> the samples were front-end processed<br />
and segmented the vowel parts and consonant parts <strong>of</strong><br />
consonants by usual. Finally each consonant had 100<br />
samples.<br />
The aim <strong>of</strong> the first experiment was to determine<br />
whether the feature parameter vector F (including length<br />
(L), periodicity (P), relative energy (E) and zero-crossing<br />
rate(Z)) was useful in the first stage <strong>of</strong> consonant<br />
recognition. 100 samples in each rough category set were<br />
selected randomly. Two-class fuzzy support vector<br />
machine was used as classifier. For example, three<br />
pictures <strong>of</strong> results were shown in three rough category<br />
pairs (C1-C2 (Fig. 3), C3-C4 (Fig. 4), and C5-C6 (Fig.<br />
5)). We can see that, there were significant differences<br />
among the rough categories with the feature parameter<br />
vector F.<br />
In the second stage <strong>of</strong> consonant recognition, in order<br />
to test the effectiveness <strong>of</strong> the 7 fine classifiers, 10<br />
experiments were done. In each experiment, 60 samples<br />
in each consonant sample set were selected randomly as<br />
the training samples, the remaining 40 samples as the test<br />
samples. That is, the ith fine classification had 60*Ki<br />
category title<br />
Accuracy(%)<br />
TABLE III.<br />
THE RECOGNITION RESULTS OF 7 CLASSES<br />
training samples and 40*Ki test samples. The Mel<br />
cepstrum coefficients (MFCC) and DWTMFC-CT <strong>of</strong><br />
consonant samples were extracted (the number <strong>of</strong> FFT<br />
points was min {512,the number <strong>of</strong> sample points}, Mel<br />
filter order was 24). SVM and FSVM were also used for<br />
comparative experiments. The recognition results <strong>of</strong> 7<br />
classes were shown in TABLE II and TABLE III. The<br />
results <strong>of</strong> TABLE II and TABLE III were the average <strong>of</strong><br />
10 experiments.<br />
We can see that: compared with the speech feature<br />
classification by using the MFCC directly, the<br />
DWTMFC-CT based on wavelet transformation could<br />
reduce a large number <strong>of</strong> support vectors and improve the<br />
correct rate, particularly in rough categories with similar<br />
pronunciation: C3 (z similar to zh), C5 (c similar to ch),<br />
C7 (s similar to sh), and the effectiveness <strong>of</strong> C1 (with the<br />
strongest instability and the shortest length) was also<br />
significant. It showed that unstable consonants can be<br />
described more accurately by the multi-scale wavelet<br />
analysis. When chosen the same DWTMFC-CT feature<br />
vectors, compared with SVM, the recognition correct<br />
rates <strong>of</strong> FSVM were better, while the difference <strong>of</strong><br />
support vectors number was small. It showed that FSVM<br />
SVM(MFCC) SVM(DWTMFCC-CT) FSVM(DWTMFCC-CT)<br />
number <strong>of</strong> support<br />
vectors<br />
Accuracy(%)<br />
number <strong>of</strong> support<br />
vectors<br />
Accuracy(%)<br />
number <strong>of</strong> support<br />
vectors<br />
C1 [b,d,g] 84.33 63.4 89.83 47.2 91.58 46.8<br />
C2 [l,m,n,r] 93.75 88.8 97.13 47.5 98.38 50.6<br />
C3 [z,zh,j] 85.75 61 90.92 49.5 92.17 54.4<br />
C4 [p,t,k] 85.67 68.7 89.33 51.5 91.67 50.2<br />
C5 [c,ch,q] 82.58 68.7 88.17 41.8 90.83 44.2<br />
C6 [f,h] 95.50 10.1 98.25 7.3 99.25 8.4<br />
C7 [s,sh,x] 86.42 75.9 95.50 23.5 96.58 24.8<br />
Average 87.71 61.34 92.73 38.33 94.35 39.91<br />
category title<br />
TABLE II.<br />
COMPARISON AMONG SVM(DWTMFCC), SVM(MFCC) AND FSVM(DWTMFCC-CT)<br />
SVM(MFCC) VS<br />
SVM(DWTMFCC-CT)<br />
Difference <strong>of</strong><br />
Accuracy(%)<br />
Difference <strong>of</strong> the<br />
number <strong>of</strong> support<br />
vectors(%)<br />
SVM(DWTMFCC-CT) VS<br />
FSVM(DWTMFCC-CT)<br />
Difference <strong>of</strong><br />
Accuracy(%)<br />
Difference <strong>of</strong> the<br />
number <strong>of</strong> support<br />
vectors(%)<br />
SVM(MFCC) VS<br />
FSVM(DWTMFCC-CT)<br />
Difference <strong>of</strong><br />
Accuracy(%)<br />
Difference <strong>of</strong> the<br />
number <strong>of</strong> support<br />
vectors(%)<br />
C1 [b,d,g] 6.52 -25.55 1.95 0.85 8.60 -26.18<br />
C2 [l,m,n,r] 3.60 -46.51 1.29 -6.53 4.93 -43.02<br />
C3 [z,zh,j] 6.03 -18.85 1.37 -9.90 7.48 -10.82<br />
C4 [p,t,k] 4.28 -25.04 2.61 2.52 7.01 -26.93<br />
C5 [c,ch,q] 6.76 -32.03 3.02 -5.74 9.99 -28.13<br />
C6 [f,h] 2.88 -27.72 1.02 -15.07 3.93 -16.83<br />
C7 [s,sh,x] 10.51 -69.04 1.13 -5.53 11.76 -67.33<br />
Average 5.80 -60.04 1.77 -3.97 7.67 -53.69<br />
© 2011 ACADEMY PUBLISHER
892 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Figure 6. The Standard Deviation <strong>of</strong> accuracy <strong>of</strong> each category.<br />
Figure 7. The Standard Deviation <strong>of</strong> the support vector number <strong>of</strong><br />
each category.<br />
with introducing fuzzy membership could describe the<br />
importance <strong>of</strong> each training sample to classification<br />
result. So it could optimize SVM classification face and<br />
improve recognition accuracy (Fig. 6, Fig. 7).<br />
At last the efficiency <strong>of</strong> algorithm (CFDCT)<br />
mentioned in this paper was further validated by<br />
comparing with the BP neural network (three structures,<br />
hidden nodes is 49, the maximum training number is 500<br />
and error goal
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 893<br />
algorithm. Control and Decision, vol. 17, No. 1, pp. 65-68,<br />
2002.<br />
[7] ZHAI Yong-jie; HAN Pu; WANG Dong-feng; WANG<br />
Guo-peng. Sisk function based sum algorithm and its<br />
application to a slight malfunction diagnosis. Proceedings<br />
<strong>of</strong> the Csee, vol. 23, No. 9, pp. 198-203, 2003.<br />
[8] QI Li; LIU Yu-shu. Fuzzy Support Vector Machine Based<br />
on Two Stage Clustering. Computer Engineering, vol. 34,<br />
No. 1, pp. 4-6, 2008.<br />
[9] Hsu Chihwei, Lin Chihjen. A comparison <strong>of</strong> methods for<br />
multi-class support vector machines. IEEE Trans on Neural<br />
Networks,<br />
[10] Zhang Jun; Zhang De-yun; Fu Peng. Objective Speech<br />
Quality Evaluation Based on Fuzzy Multi-Class Support<br />
Vector Machine. <strong>Journal</strong> <strong>of</strong> Xi an Jiaotong University, vol.<br />
40, No. 2, pp. 199-202, 2006.<br />
[11] DONG Chang-hong, MTLAB toolbox <strong>of</strong> theory and<br />
application <strong>of</strong> wavelet analysis. Beijing: National Defence<br />
Industry Press, 2004.<br />
[12] Xu Bing-zheng, Qiu Wei. Classification and Recognition<br />
<strong>of</strong> Chinese (Putonghua) Consonants.<strong>Journal</strong> <strong>of</strong> Chinese<br />
Information Processing, vol. 1, No. 7, pp. 33-39, 1993.<br />
[13] MO Jia-ling; HU Wei-ping. Speech Features Extraction<br />
Based on Invariant Sets Multi-wavelet. Audio Engineering,<br />
vol. 33, No. 7, pp. 63-67, 2009.<br />
[14] LIU Ming, DAI Bei-qian, LI Hui, LI Xiao-han, LU Wei. A<br />
New Speech Feature Extracted by Wavelet Analysis &<br />
Mel-Frequancy Filtering. <strong>Journal</strong> <strong>of</strong> Circuits and Systems,<br />
vol. 5, No. 1, pp. 21-25, 2000.<br />
Zhuo-ming Chen received the B.S.<br />
degree in clinical medicine and M.S.<br />
degree in neurology from Jinan<br />
University, Guangzhou, China in 198*<br />
and 199*, respectively, and the Ph.D.<br />
degree in Neuropsychology From South<br />
China Normal University, Guangzhou,<br />
China in 2007.He is the chief <strong>of</strong><br />
Rehabilitation Department and Center <strong>of</strong><br />
Language Disorder Diagnosis and<br />
treatment at the first affiliate hospital <strong>of</strong> Jinan University. He is<br />
the moonlighting researcher in the Psychological Applying<br />
Center at the South China Normal University. He is the main<br />
researcher in the “Language disorder diagnosis apparatus” and<br />
“Cognitive disorder diagnosis apparatus”. He is pr<strong>of</strong>icient in<br />
neuro-rehabilitation and diagnosis and treatment <strong>of</strong> language<br />
disorder. Dr. Chen had been the subeditor <strong>of</strong> the , editorial board member <strong>of</strong> the , and so on.<br />
Wei-xing Ling received the B.S., M.S., and Ph.D. degree in<br />
computer science from South China University <strong>of</strong> Technology,<br />
China. She is associate pr<strong>of</strong>essor at School <strong>of</strong> Sciences. Her<br />
main researches are neural networks and fuzzy theory.<br />
Jian-hui Zhao received the B.S. degree in mathematics from<br />
South China University <strong>of</strong> Technology, China. He is on reading<br />
postgraduate. His main researches are speech recognition and<br />
image recognition. .<br />
Tao-tao Yao is on reading postgraduate. Her main researches<br />
are neuro-rehabilitation and diagnosis and treatment <strong>of</strong> language<br />
disorder.<br />
© 2011 ACADEMY PUBLISHER
894 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
ELECTRE I Decision Model <strong>of</strong> Reliability<br />
Design Scheme for Computer Numerical Control<br />
Machine<br />
Jihong Pang<br />
College <strong>of</strong> Mechanical Engineering, Chongqing University, Chongqing 400044, China<br />
Department <strong>of</strong> Management, Guangxi University <strong>of</strong> Technology, Liuzhou 545006, China<br />
E-mail: pangjihong@163.com<br />
Genbao Zhang and Guohua Chen<br />
College <strong>of</strong> Mechanical Engineering, Chongqing University, Chongqing 400044, China<br />
E-mail: genbaozhang@163.com; 59782071@163.com<br />
Abstract—The ELECTRE I is one <strong>of</strong> the most extensively<br />
used methods to solve multiple criteria decision making<br />
(MCDM) problems. In this paper, we propose a novel AHPbased<br />
ELECTRE I method <strong>of</strong> reliability design scheme<br />
decision for computer numerical control (CNC) machine.<br />
Based on the AHP method combined with ELECTRE I, the<br />
decision model is built to select the optimal design scheme.<br />
The AHP method is applied to determinate the weights <strong>of</strong><br />
reliability design factors through the decision model.<br />
ELECTRE I method is then designed to rank reliability<br />
design scheme in order <strong>of</strong> decision maker’s preference. To<br />
evaluate performance <strong>of</strong> the developed algorithm, an<br />
illustrative example <strong>of</strong> CNC machine is given. The<br />
computational results show that the proposed approach is<br />
reliable and performs well.<br />
Index Terms—reliability design, scheme decision, multiple<br />
criteria decision making, electre, analytic hierarchy process<br />
I. INTRODUCTION<br />
Reliability design <strong>of</strong> CNC machine has been widely<br />
applied during the past decades. High reliability proves<br />
not only successful experience in manufacturing field,<br />
bust also strategic need for manufacturing enterprises<br />
improving market competence. Strictly speaking,<br />
performance is less important than reliability in a CNC<br />
machine. It is the key for quality <strong>of</strong> the products to realize<br />
the value <strong>of</strong> reliability design. Furthermore, the<br />
optimization reliability design scheme has played an<br />
important role to ensure the reliability and rationality <strong>of</strong><br />
the product development design [1]. More and more<br />
enterprises attach great importance to vouch for the<br />
reliability <strong>of</strong> the mechanical products in the development<br />
and application <strong>of</strong> reliability design [2].<br />
On the other hand, customers require high quality CNC<br />
machine with high performance, high reliability and<br />
security. Therefore, at the product development and<br />
Manuscript received June 1, 2010; revised November 1, 2010;<br />
accepted January 5, 2011.<br />
Corresponding Author: Jihong Pang<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.894-900<br />
design stage, adequate decision method that select the<br />
optimal reliability design scheme for the CNC machine<br />
are essential. However, reliability design is also a<br />
complex task because <strong>of</strong> the large number <strong>of</strong> reliability<br />
factors that have to be taken into consideration in the<br />
product design process [3]. The enormous complexity <strong>of</strong><br />
reliability design makes product designers hard to select<br />
an optimum scheme from many design schemes.<br />
Much research has been done on reliability-based<br />
design optimization. Youn et al. [4] presented the<br />
conjugate mean value (CMV) method for the concave<br />
performance function in the performance measure<br />
approach (PMA) <strong>of</strong> reliability-based design optimization.<br />
Du and Chen [5] developed the sequential optimization<br />
and reliability assessment method for probabilistic<br />
optimization. Using a single-loop strategy with<br />
deterministic optimization and reliability assessment,<br />
their application results demonstrated the effectiveness <strong>of</strong><br />
reliability-based design method. Gea and Oza [6]<br />
proposed a two-level approximation method to solve the<br />
reliability-based design optimization problem. Chwail<br />
and Choi [7] presented an improved method to solve<br />
reliability-based design optimization problem. To<br />
estimate the effect <strong>of</strong> the response surface error, the<br />
developed method used the prediction interval to obtain<br />
an optimum reliability design.<br />
Because <strong>of</strong> CNC machines with their millions <strong>of</strong><br />
components, reliability design evaluation and<br />
optimization is becoming more and more complex and<br />
difficult. This decision and optimization model is <strong>of</strong>ten<br />
called MCDM problem. In a recent paper [8], the authors<br />
have provided a reliability assessment method to improve<br />
the efficiency for solving problem <strong>of</strong> probabilistic<br />
optimization with changing variance. In order to improve<br />
the accuracy <strong>of</strong> nonlinear and multi-dimensional<br />
performance functions, Lee et al. [9] proposed an inverse<br />
reliability analysis method was applied to improve the<br />
accurate probability <strong>of</strong> failure calculation for reliability<br />
design optimization. Zhang et al. [10] provided<br />
probabilistic perturbation method multi-objective<br />
optimization problem <strong>of</strong> reliability optimization design.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 895<br />
They put forward Ant Colony Algorithm to improve the<br />
road header operational reliability. Injoong [11] proposed<br />
a system design-for-reliability method and reliability<br />
object model tree for reliability design <strong>of</strong> complex<br />
systems. Bhattacharjee et al. [12] established reliability<br />
design optimization formulation based on response<br />
surface method under uncertainty environment. And then<br />
the structural reliability was evaluated by the Advanced<br />
First-Order Second-Moment Method.<br />
This paper develops a decision method <strong>of</strong> reliability<br />
design scheme for CNC machine using AHP assessment<br />
model and elimination and choice translating reality<br />
(ELECTRE) method. The AHP method is applied to<br />
determinate the weight factors through the selecting and<br />
decision-making model. Then, the ELECTRE I method is<br />
used to select the alternatives combining AHP method.<br />
The objective is to select the optimal reliability design<br />
scheme, satisfying customers in the aspects <strong>of</strong> quality and<br />
reliability needs to the most degree.<br />
The paper is organized as follows. Section 2 describes<br />
the AHP and ELECTRE I method. The framework <strong>of</strong> the<br />
proposed AHP-based ELECTRE I algorithm are<br />
demonstrated. In Section 3, the hierarchic architecture<br />
model for the reliability design scheme is established<br />
based on AHP method. It then proposes a novel method<br />
for the scheme decision during the CNC machine<br />
reliability design process. An illustrative example <strong>of</strong><br />
CNC machine is provided in order to assess the<br />
contribution <strong>of</strong> the proposed approach. The final diction<br />
<strong>of</strong>fers concluding remarks.<br />
II. DECISION OF THE PROPOSED MODEL FOR RELIABILTY<br />
DESIGN SCHEME<br />
The decision <strong>of</strong> reliability design scheme for CNC<br />
machine is a MCDM problem in engineering worlds. The<br />
decision <strong>of</strong> reliability design scheme is a choice made<br />
from two or more reliability design schemes. The<br />
selection <strong>of</strong> reliability design scheme is very critical for<br />
product development staff because the optimum design<br />
adds vital value on the product quality and reliability.<br />
When a new product is under study, product development<br />
teams should make a major strategic decision <strong>of</strong><br />
reliability design scheme.<br />
In the decision making process considered in this<br />
paper, it is very important to find a suitable method to<br />
solve the alternatives selection problem. The best<br />
decision <strong>of</strong> product development team is pursuing high<br />
reliability and quality for the good design product.<br />
Therefore, the AHP-based ELECTRE I method is<br />
developed to make the decision <strong>of</strong> reliability design<br />
scheme.<br />
The decision making process <strong>of</strong> reliability design<br />
scheme for CNC machine is shown in Fig.1. Since the<br />
decision <strong>of</strong> reliability design scheme for CNC machine is<br />
a quite complicated process, AHP method is first applied<br />
to build the decision model so as to aid decision support.<br />
When the weights <strong>of</strong> reliability design indicators are<br />
confirmed by using AHP approach, ELECTRE I method<br />
must be taken to determine the rank <strong>of</strong> reliability design<br />
© 2011 ACADEMY PUBLISHER<br />
scheme. The following sections describe the decision<br />
process <strong>of</strong> reliability design scheme for CNC machine.<br />
AHP<br />
ELECTRE<br />
Reliability design scheme<br />
decision for CNC machine<br />
Decision model <strong>of</strong> reliability<br />
design scheme<br />
Confirmation <strong>of</strong> reliability design<br />
indicators weights using AHP<br />
Determining reliability design<br />
scheme rank using ELECTRE<br />
Figure 1. Decision making process <strong>of</strong> reliability design scheme<br />
A. Application <strong>of</strong> AHP in weighting design indicators<br />
The analytic hierarchy process (AHP) method was first<br />
proposed by Saaty [13]. The AHP is widely used as one<br />
<strong>of</strong> the popular methods in solving all kinds <strong>of</strong> problems<br />
<strong>of</strong> MCDM and calculating weighting vector method [14-<br />
15]. The primary advantage <strong>of</strong> the AHP approach is to<br />
incorporate judgments on qualitative and quantitative<br />
data [16]. First, AHP breaks down a complex MCDM<br />
problem into a hierarchy <strong>of</strong> interrelated decision<br />
indicators and alternatives. Then, the indicators and<br />
alternatives are compared in pair-wise comparison within<br />
each level. The standardized comparison scale <strong>of</strong> 9 levels<br />
is used to compare the importance <strong>of</strong> all indicators, such<br />
as “3” means “moderately more important”.<br />
Once the weights <strong>of</strong> reliability design indicators are<br />
calculated by AHP method, the ELECTRE I approach<br />
will be used to obtain the four ranking scheme scores <strong>of</strong><br />
the CNC machine.<br />
B. Decision <strong>of</strong> reliability design scheme by using<br />
ELECTREⅠ<br />
To rank a set <strong>of</strong> alternatives, the ELECTRE method as<br />
outranking relation theory was used to analyze the data <strong>of</strong><br />
a decision matrix. The Elimination and Choice<br />
Translating Reality (ELECTRE) method was first<br />
introduced in [17]. It is one <strong>of</strong> the most extensively used<br />
outranking methods reflecting the decision maker’s<br />
preferences in many fields. The ELECTRE I approach<br />
was then developed by a number <strong>of</strong> variants [18].<br />
Teixeira [19] utilized the ELECTRE I method in a multi<br />
criteria decision model supports decision makers. Shanian<br />
and Savadogo [20] provided ELECTRE I method to<br />
select the material <strong>of</strong> bipolar plates based on multiple<br />
conflicting objectives. The transport sustainability was<br />
firstly evaluated by ELECTRE method in [21], then the<br />
modification <strong>of</strong> ELECTRE I was used to reduce the<br />
subjectivity <strong>of</strong> decision makers.<br />
ELECTRE method reflect the dominance <strong>of</strong> relations<br />
among alternatives by outranking relations [22]. It is<br />
possible that the alternatives can be compared by these
896 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
outranking relations built in the way. Different<br />
ELECTRE method, concordance and discordance indexes<br />
are two types <strong>of</strong> indices pair-wise comparison between<br />
alternatives in ELECTRE I. With a simple analysis <strong>of</strong> the<br />
concordance reliability index, ELECTRE I method was<br />
applied to select the optimal reliability design scheme in<br />
this paper.<br />
We assume that A1, A2,…, Am are m possible<br />
alternatives for optimum reliability design scheme <strong>of</strong><br />
CNC machine, C1, C2,…, Cn are criteria that used to<br />
describe the alternative characters, after the assignment,<br />
defined as xij for the degree <strong>of</strong> alternative Ai with respect<br />
to criteria Cj. Let Wn be the weight for importance <strong>of</strong> Cn,<br />
which is determined by AHP method. The computation<br />
flow process <strong>of</strong> ELECTRE I method is stated in the<br />
following paragraphs.<br />
Step 1. Normalization <strong>of</strong> matrix and weighted matrix<br />
Considering concepts on the interval numbers <strong>of</strong><br />
decision matrix, the normalized matrix <strong>of</strong> R ij = [ rij<br />
] is<br />
calculated by (1):<br />
x ij<br />
rij = , i = 1, 2, …, n j = 1, 2, …,<br />
m (1)<br />
m<br />
x<br />
2<br />
∑ ij<br />
i=<br />
1<br />
Thus, the weighted matrix depends on normalized<br />
matrix assigned to it is given by:<br />
r ⋅w r ⋅w … r ⋅w<br />
r21 ⋅w1 Vij = R× W =<br />
�<br />
r22⋅w2 �<br />
…<br />
�<br />
r2n⋅w<br />
�<br />
r ⋅w r ⋅w � r ⋅w<br />
11 1 12 2 1n⋅n<br />
m1 1 m2 2<br />
mn n<br />
Where 0≤w1,w2,…,wn≤1. The weights <strong>of</strong> the attributes<br />
are expressed by these constants. Besides, the correlation<br />
coefficients <strong>of</strong> normalized interval numbers are between<br />
0 and 1.<br />
Step 2. Ascertainment <strong>of</strong> concordance and discordance<br />
interval sets<br />
Considering that reliability design scheme decision is a<br />
multi-attribute decision with preference information, the<br />
decision rules are reasoned by the concordance and<br />
discordance interval sets, and then the attribute sets are<br />
obtained through these decision rules. Let A = { abc , , , � }<br />
denote a finite set <strong>of</strong> alternatives, in the following<br />
formulation we divide the attribute sets into two different<br />
sets <strong>of</strong> concordance interval set (Cab) and discordance<br />
interval set (Dab). The concordance interval set is applied<br />
to describe the dominance query if the following<br />
condition is satisfied:<br />
{ jx x }<br />
Cab aj bj<br />
n<br />
(2)<br />
= ≥ (3)<br />
On complementation <strong>of</strong> Cab, we obtain the discordance<br />
interval set (Dab) using (4):<br />
{ aj bj}<br />
D = jx < x = J−<br />
C<br />
(4)<br />
ab ab<br />
© 2011 ACADEMY PUBLISHER<br />
Step 3. Calculation <strong>of</strong> the concordance interval matrix<br />
According to the deciders’ preference for alternatives,<br />
the concordance interval index (Cab) between Aa and Ab<br />
can be obtained using (5):<br />
Cab<br />
= ∑ w<br />
(5)<br />
j∈Cab The concordance index indicates the preference <strong>of</strong> the<br />
assertion “A outranks B”. The concordance interval<br />
matrix can be formulated as follows:<br />
− c(1, 2) … c(1, m)<br />
C =<br />
c(2,1)<br />
�<br />
−<br />
�<br />
…<br />
�<br />
c(2, m)<br />
�<br />
c( m,1) c( m,2)<br />
� −<br />
Step 4. Calculation <strong>of</strong> the discordance interval matrix<br />
First, we consider the discordance index <strong>of</strong> d(a,b) ,<br />
which can be viewed as the preference <strong>of</strong> discontent in<br />
decision <strong>of</strong> scheme a rather than scheme b. More<br />
specifically, we define:<br />
d(a,b) =<br />
max v − v<br />
j∈Dab max<br />
j∈J, m, n∈I j<br />
aj bj<br />
v − v<br />
mj nj<br />
Here scheme m, n is used to calculate the weighted<br />
normalized value among all scheme target attributes.<br />
Then, using discordance interval index sets, we can<br />
obtain discordance interval matrix as:<br />
− d(1,2) … d(1, m)<br />
D =<br />
d(2,1)<br />
�<br />
−<br />
�<br />
…<br />
�<br />
d(2, m)<br />
�<br />
d( m,1) d( m,2)<br />
� −<br />
Step 5. Determine the concordance index matrix<br />
The concordance index matrix for satisfaction<br />
measurement problem can be written as follows:<br />
m<br />
m<br />
a= 1 b<br />
(6)<br />
(7)<br />
(8)<br />
c = ∑∑ cab ( , )/ mm ( −1)<br />
(9)<br />
Here c is the critical value, which can be determined by<br />
average dominance index. Thus, a Boolean matrix (E) is<br />
given by:<br />
⎧eab<br />
( , ) = 1 if cab ( , ) ≥c<br />
⎨<br />
⎩eab<br />
( , ) = 0 if cab ( , ) < c<br />
(10)<br />
Step 6. Determine the discordance index matrix<br />
On the contrary, the preference <strong>of</strong> dissatisfaction can<br />
be measured by discordance index:
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 897<br />
d =<br />
m<br />
m<br />
∑∑<br />
a= 1 b<br />
dab ( , )<br />
mm ( −1)<br />
(11)<br />
Based on the discordance index mentioned above, the<br />
discordance index matrix (F) is given by:<br />
⎧ ⎪ f ( ab , ) = 1 if dab ( , ) ≤ d<br />
⎨<br />
⎪⎩ f ( ab , ) = 0 if dab ( , ) > d<br />
Step 7. Calculate the net superior and inferior value<br />
(12)<br />
Let c a and d a be the net superior and net inferior<br />
value respectively. c a sums together the number <strong>of</strong><br />
competitive superiority for all alternatives, and the more<br />
and bigger, the better. The c a is given by:<br />
c<br />
n n<br />
∑ ∑ (13)<br />
= c − c<br />
a ( a, b) ( b, a)<br />
b= 1 b=<br />
1<br />
On the contrary, d a is used to determine the number <strong>of</strong><br />
inferiority ranking the alternatives:<br />
d<br />
n n<br />
∑ ∑ (14)<br />
= d − d<br />
a ( a, b) ( b, a)<br />
b= 1 b=<br />
1<br />
Smaller is better. This is the biggest reason that smaller<br />
net inferior value gets better dominant then larger net<br />
inferior value by sequence order.<br />
III. ILLUSTRATIVE EXAMPLE<br />
As an illustration <strong>of</strong> the use <strong>of</strong> the proposed method for<br />
reliability design scheme decision for CNC machine, a<br />
numerical example is presented in this study. To examine<br />
the potential applications <strong>of</strong> the AHP-based ELECTRE I,<br />
we taken into account the design standards data obtained<br />
from CNC machine.<br />
A. Confirmation <strong>of</strong> reliability design indicators weights<br />
using AHP<br />
The AHP method was utilized to calculate the<br />
indicators weights <strong>of</strong> the reliability design scheme (RDS).<br />
Based on a basic reliability design, CNC machine was<br />
taken as one <strong>of</strong> the references to estimate the design<br />
schemes. The all reliability design indicators were<br />
selected: Mean Time To First Failure (MTTFF, hour),<br />
Mean Time Between Failures (MTBF, hour), Mean Time<br />
To Repair (MTTR, hour), Annual Maintenance Charge<br />
Rate (AMCR, %), Inherent Reliability (IR, %) and<br />
Failure Rate (FR). The structure <strong>of</strong> decision hierarchy is<br />
shown in Fig.2.<br />
Then, the task <strong>of</strong> the experts in the expert team is to<br />
create individual pair-wise comparison matrix for all<br />
design indicators. The matrices <strong>of</strong> these values are given<br />
in Table I.<br />
By applying the AHP method, the importance weights<br />
<strong>of</strong> the all reliability design indicators with respect to the<br />
main objective were obtained, the details <strong>of</strong> the calculated<br />
results are shown in Table II.<br />
© 2011 ACADEMY PUBLISHER<br />
Decision <strong>of</strong> reliability design scheme<br />
MTTFF MTBF MTTR AMCR IR FR<br />
RDS 1 RDS 2 … RDS n<br />
Figure 2. Decision model <strong>of</strong> reliability design scheme<br />
TABLE I.<br />
PAIR-WISE COMPARISON MATRIX FOR RELIABILITY INDICATORS<br />
TABLE II.<br />
THE IMPORTANCE WEIGHTS BY AHP METHOD<br />
MTTFF MTBF MTTR AMCR IR FR<br />
W 0.2336 0.1652 0.3355 0.1021 0.0424 0.1212<br />
Rank 2 3 1 5 6 4<br />
λmax 6.5162<br />
CI 0.1032<br />
RI 1.24<br />
CR 0.0833<br />
MTTFF MTBF MTTR AMCR IR FR<br />
MTTFF 1 2 1 1 4 3<br />
MTBF 1/2 1 1/2 2 3 2<br />
MTTR 1 2 1 3 7 5<br />
AMCR 1 1/2 1/3 1 2 1/2<br />
IR 1/4 1/3 1/7 1/2 1 1/7<br />
FR 1/3 1/2 1/5 2 7 1<br />
The importance weights <strong>of</strong> reliability design indicators<br />
were accepted because the associated CR were smaller<br />
than 0.1, as is shown in Table II. Therefore, the decision<br />
matrix <strong>of</strong> the proposed hierarchical structure for decision<br />
model <strong>of</strong> reliability design scheme is consistent. The<br />
results indicate that the calculation and analysis are<br />
accurate and rational.<br />
B. Determining the scheme rank using ELECTRE<br />
a. Confirming normalized and weighted matrix<br />
In this case study, four reliability design schemes for<br />
CNC machine are compared with respect to six reliability<br />
design indicators (see Fig.2). There is a close relation<br />
between reliability design scheme and reliability design<br />
indicators measured by quantitative index. Thus, the<br />
system <strong>of</strong> decision index to estimate the reliability must<br />
be established with the quantitative data. In addition,<br />
since it takes much decisive data to select an optimal<br />
scheme by using the proposed approach, the values <strong>of</strong>
898 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
qualitative research on indicators for reliability design<br />
scheme are presented in Table III.<br />
The indicators <strong>of</strong> MTTFF, MTBF and IR are the<br />
“bigger-the-better” type <strong>of</strong> indicators, and others are the<br />
“smaller-the-better” type. According to normalization<br />
method, the normalized matrix can be determined by<br />
using (1):<br />
⎡0.4441 0.5059 0.4642 0.3500 0.4972 0.3116⎤<br />
⎢<br />
0.5527 0.4513 0.5261 0.5088 0.5068 0.4708<br />
⎥<br />
R = ⎢ ⎥<br />
⎢0.5132 0.5333 0.4023 0.6594 0.4712 0.6578⎥<br />
⎢ ⎥<br />
⎣0.4836 0.5059 0.5880 0.4287 0.5233 0.4985⎦<br />
Based on the importance weights (see Table Ⅱ) and<br />
(2), the weighted matrix is calculated as follows:<br />
⎡0.1037 0.0836 0.1558 0.0357 0.0211 0.0378⎤<br />
⎢<br />
0.1291 0.0745 0.1765 0.0519 0.0215 0.0571<br />
⎥<br />
V= ⎢ ⎥<br />
⎢0.1199 0.0881 0.1350 0.0673 0.0200 0.0797⎥<br />
⎢ ⎥<br />
⎣0.1130 0.0836 0.1973 0.0438 0.0222 0.0604⎦<br />
b. Computing process by using ELECTRE<br />
In this work, we are interested in making decision for<br />
the best alternatives. As a result, the computing process<br />
was proposed to rank four reliability design schemes <strong>of</strong><br />
CNC machine by using ELECTRE I methods. With<br />
respect to (3), the concordance interval sets can be<br />
ascertained as follows:<br />
C<br />
C<br />
C<br />
C<br />
C<br />
C<br />
12<br />
14<br />
23<br />
31<br />
34<br />
42<br />
= {2,3,4,6},<br />
= {2,<br />
3,4,6},<br />
= {1,4,5,6},<br />
= {1,2,3},<br />
= {1,2,<br />
3},<br />
= {2,4,5},<br />
C<br />
C<br />
C<br />
C<br />
C<br />
C<br />
13<br />
21<br />
24<br />
32<br />
41<br />
43<br />
= {4,5,6},<br />
= {1,5},<br />
= {1,<br />
3,6},<br />
= {2,3},<br />
= {1,2,5},<br />
= {4,5,6}.<br />
Accordingly, based on the concept <strong>of</strong> discordance<br />
interval set, we have the discordance interval sets using<br />
(4) as follows:<br />
D<br />
D<br />
D<br />
D<br />
D<br />
D<br />
12<br />
14<br />
23<br />
31<br />
34<br />
42<br />
TABLE III.<br />
THE VALUES OF RELIABILITY DESIGN SCHEME<br />
MTTFF MTBF MTTR AMCR IR FR<br />
RDS1 1350 1850 7.5 2.58 93.5 0.045<br />
RDS2 1680 1650 8.5 3.75 95.3 0.068<br />
RDS3 1560 1950 6.5 4.86 88.6 0.095<br />
RDS4 1470 1850 9.5 3.16 98.4 0.072<br />
= {1,5},<br />
= {1,<br />
5},<br />
= {2,3},<br />
= {4,5,6},<br />
= {4,5,<br />
6},<br />
= {1,3,6},<br />
D<br />
D<br />
D<br />
D<br />
D<br />
D<br />
13<br />
21<br />
24<br />
32<br />
41<br />
43<br />
© 2011 ACADEMY PUBLISHER<br />
= {1,2,3},<br />
= {2,3,4,6},<br />
= {2,<br />
4,5},<br />
= {1,4,5,6},<br />
= {3,4,6},<br />
= {1,2,3}.<br />
Using (5), the concordance interval index can be<br />
obtained. For example, the concordance interval index<br />
<strong>of</strong> c ( 1,<br />
2)<br />
and c( 1,<br />
3)<br />
can be calculated as follows:<br />
c(<br />
1,<br />
2)<br />
= ∑ w j<br />
j∈c12<br />
= 0.<br />
1652 + 0.<br />
3355 + 0.<br />
1021+<br />
c(<br />
1,<br />
3)<br />
= ∑ w j<br />
j∈c12<br />
= 0.<br />
1021+<br />
0.<br />
0424 + 0.<br />
1212 =<br />
0.<br />
1212<br />
0.<br />
2657<br />
=<br />
0.<br />
7240<br />
Similarly, the same procedure is applied to calculate<br />
the other concordance interval indexes. After all<br />
concordance interval indexes had been calculated, the<br />
concordance interval matrix is given as:<br />
⎡ −<br />
C =<br />
⎢0.<br />
2760<br />
⎢0.<br />
7343<br />
⎢⎣<br />
0.<br />
4412<br />
0.<br />
7240<br />
−<br />
0.<br />
5007<br />
0.<br />
3097<br />
0.<br />
2657<br />
0.<br />
4993<br />
−<br />
0.<br />
2657<br />
0.<br />
7240⎤<br />
0.<br />
6903⎥<br />
0.<br />
7343⎥<br />
− ⎥⎦<br />
Furthermore, the concordance index can be determined<br />
by (9), which is expressed as follows:<br />
c<br />
4 4<br />
= ∑ ∑<br />
a= 1 b=<br />
1<br />
c(<br />
a,<br />
b)<br />
=<br />
4×<br />
( 4 −1)<br />
6.<br />
1652<br />
12<br />
=<br />
0.<br />
5138<br />
Once the concordance index was calculated, according<br />
to (10), the concordance index matrix is given as:<br />
⎡−<br />
E =<br />
⎢0<br />
⎢1<br />
⎢⎣<br />
0<br />
1<br />
−<br />
0<br />
0<br />
0<br />
0<br />
−<br />
0<br />
1⎤<br />
1⎥<br />
1⎥<br />
−⎥⎦<br />
Therefore, the net superior values for each scheme are<br />
obtained by (13):<br />
c<br />
c<br />
c<br />
c<br />
1<br />
3<br />
4<br />
2<br />
4<br />
4<br />
1<br />
1 1<br />
( 0.<br />
7240 0.<br />
2657 0.<br />
7240 )<br />
( 0.<br />
2760 0.<br />
7343 0.<br />
4412 ) 0.<br />
2622<br />
1 = ∑ c − ∑<br />
b c b<br />
b = b =<br />
= + +<br />
− + + =<br />
4<br />
4<br />
2<br />
1 1<br />
( 0.<br />
2760 0.<br />
4993 0.<br />
6903 )<br />
( 0.<br />
7240 0.<br />
5007 0.<br />
3097 ) 0.<br />
0688<br />
2 = ∑ c − ∑<br />
b cb<br />
b = b =<br />
= + +<br />
− + + = −<br />
4<br />
4<br />
3<br />
1 1<br />
( 0.<br />
7343 0.<br />
5007 0.<br />
7343 )<br />
( 0.<br />
2657 0.<br />
4993 0.<br />
2657 ) 0.<br />
9386<br />
3 = ∑ c − ∑<br />
b cb<br />
b = b =<br />
= + +<br />
− + + =<br />
4<br />
4<br />
= ∑ c4<br />
− ∑<br />
b cb<br />
4<br />
b = 1 b = 1<br />
= ( 0.<br />
4412 + 0.<br />
3097 + 0.<br />
2657 )<br />
− ( 0.<br />
7240 + 0.<br />
6903 + 0.<br />
7343 ) = −1.<br />
1320<br />
Similarly, the discordance index can be obtained by<br />
using (7) using the same count. For example, the<br />
discordance index <strong>of</strong> d ( 1,<br />
2)<br />
and d( 1,<br />
3)<br />
can be calculated<br />
as follows:
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 899<br />
max(<br />
0.<br />
1037 − 0.<br />
1291,<br />
0.<br />
0211−<br />
0.<br />
0215)<br />
d(<br />
1,<br />
2)<br />
=<br />
0.<br />
0254<br />
0.<br />
0254<br />
= = 1.<br />
0000<br />
0.<br />
0254<br />
max(<br />
0.<br />
1037 − 0.<br />
1199,<br />
0.<br />
0836−<br />
0.<br />
0881,<br />
0.<br />
1558−<br />
0.<br />
1350)<br />
d(<br />
1,<br />
3)<br />
=<br />
=<br />
0.<br />
0208<br />
0.<br />
0420<br />
=<br />
0.<br />
0420<br />
0.<br />
4949<br />
Using the same counting method, the remaining<br />
discordance interval indexes are computed. After all<br />
discordance interval indexes had been determined by the<br />
similar computational process, the discordance interval<br />
matrix is given as:<br />
⎡ −<br />
D =<br />
⎢0.<br />
8189<br />
⎢1.<br />
0000<br />
⎢⎣<br />
1.<br />
0000<br />
1.<br />
0000<br />
−<br />
0.<br />
5455<br />
1.<br />
0000<br />
0.<br />
4949<br />
1.<br />
000<br />
−<br />
1.<br />
0000<br />
0.<br />
2220⎤<br />
0.<br />
4351⎥<br />
0.<br />
3780⎥<br />
− ⎥⎦<br />
Furthermore, using the discordance interval matrix<br />
described above, the discordance index can be<br />
determined by (11):<br />
d<br />
4 4<br />
= ∑ ∑<br />
a= 1 b=<br />
1<br />
d ( a,<br />
b)<br />
=<br />
4 × ( 4 − 1)<br />
8.<br />
8945<br />
12<br />
=<br />
0.<br />
7412<br />
Based on the discordance index calculated above, the<br />
discordance index matrix (F) is obtained by using (12) as<br />
follows:<br />
⎡−<br />
F =<br />
⎢1<br />
⎢1<br />
⎢⎣<br />
1<br />
1<br />
−<br />
0<br />
1<br />
0<br />
1<br />
−<br />
1<br />
0⎤<br />
0⎥<br />
0⎥<br />
−⎥⎦<br />
Finally, based on the concept <strong>of</strong> net inferior ranking<br />
the alternatives, the net inferior values for each scheme<br />
are obtained by (14):<br />
d<br />
d<br />
d<br />
d<br />
1<br />
2<br />
3<br />
4<br />
4<br />
4<br />
= ∑ d1<br />
− ∑<br />
b d b1<br />
b = 1 b = 1<br />
= ( 1.<br />
0000 + 0.<br />
4949 + 0.<br />
2220 )<br />
− ( 0.<br />
8189 + 1.<br />
0000 + 1.<br />
0000 ) = −1<br />
. 1020<br />
4<br />
4<br />
= ∑ d 2 − ∑<br />
b d b 2<br />
b = 1 b = 1<br />
= ( 0 . 8189 + 1 . 0000 + 0 . 3936 )<br />
− ( 1.<br />
000 + 0.<br />
5455 + 1 . 000 ) = − 0.<br />
3330<br />
4<br />
4<br />
= ∑ d 3 − ∑<br />
b d b 3<br />
b = 1 b = 1<br />
= ( 1.<br />
000 + 0.<br />
5455 + 0.<br />
3780 )<br />
− ( 0.<br />
4949 + 1.<br />
000 + 1.<br />
000 ) = −0<br />
. 5714<br />
4<br />
4<br />
= ∑ d 4 − ∑<br />
b d b 4<br />
b = 1 b = 1<br />
= ( 1..<br />
000 + 1.<br />
000 + 1.<br />
000 )<br />
− ( 0.<br />
2220 + 0.<br />
3936 + 0.<br />
3780 ) =<br />
© 2011 ACADEMY PUBLISHER<br />
2.<br />
0064<br />
After all the net superior values and net inferior values<br />
for each scheme are calculated, reliability design scheme<br />
can be sorted by the calculations.<br />
c. Discussion <strong>of</strong> the sorting results <strong>of</strong> reliability design<br />
scheme<br />
According to computing the net superior and net<br />
inferior values for each scheme, the sorting results are<br />
shown in Table IV.<br />
TABLE IV.<br />
SORTING RESULTS OF RELIABILITY DESIGN SCHEME<br />
Net superior<br />
values<br />
Net inferior<br />
values<br />
Ranking <strong>of</strong> Net<br />
superior values<br />
Table IV compares the performances <strong>of</strong> each design<br />
scheme with the net superior and net inferior values. The<br />
computation results <strong>of</strong> the net superior values show that<br />
RDS3 have the max value, which is the best scheme (see<br />
Table Ⅳ). On the other hand, sorting the reliability<br />
design scheme based on the net inferior values, RDS1<br />
finished top while RDS4 ranked last. According to the<br />
theory <strong>of</strong> ELECTRE I, excluding RDS2 and RDS4, the<br />
optimal schemes <strong>of</strong> reliability design for CNC machine<br />
include RDS1 and RDS3.<br />
IV. CONCLUSION<br />
Ranking <strong>of</strong> Net<br />
inferior values<br />
RDS1 0.2622 -1.1020 2 1<br />
RDS2 -0.0688 -0.3330 3 3<br />
RDS3 0.9386 -0.5714 1 2<br />
RDS4 -1.1320 2.0064 4 4<br />
The conclusion <strong>of</strong> this study is that the optimal<br />
reliability design scheme can be selected accurately by<br />
using AHP and ELECTRE I method. Firstly, we adopt<br />
AHP method to calculate the weights <strong>of</strong> reliability design<br />
indicators. Then, AHP-based ELECTRE I methodology<br />
were utilized synthetically to rank the design schemes.<br />
The approach proposed in this paper presents diverse<br />
choices for product designers select the best alternatives.<br />
Finally, the implementation <strong>of</strong> the novel method is<br />
demonstrated by the illustrative example <strong>of</strong> CNC<br />
machine. The results <strong>of</strong> computational experiments<br />
indicated that the proposed algorithms possess good<br />
application prospect.<br />
As mentioned above, this research was motivated by a<br />
selecting problem <strong>of</strong> reliability design scheme. In<br />
practice, reliability design scheme decision for CNC<br />
machine usually consists <strong>of</strong> multi-objective optimization<br />
model. Thus, various effective factors <strong>of</strong> optimized model<br />
need to be considered in the decision process. The focus<br />
<strong>of</strong> future studies will concentrate on other ELECTRE<br />
methods such as ELECTRE II and III. We will also<br />
research other methods to select reliability design scheme<br />
for CNC machine.
900 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
ACKNOWLEDGMENT<br />
Project supported by the National High-Tech. R&D<br />
Program, China (No. 2009AA04Z119), the National<br />
Natural Science Foundation, China (No. 50835008), the<br />
National Major Scientific and Technological Special<br />
Project for “High-grade CNC and Basic Manufacturing<br />
Equipment”, China (No.2009ZX04014-016 ;<br />
2009ZX04001-013;2009ZX04001-023; 2010ZX04014-<br />
015), and supported by Open Research Foundation <strong>of</strong><br />
State Key Lab. <strong>of</strong> Digital Manufacturing Equipment &<br />
Technology in Huazhong University <strong>of</strong> Science &<br />
Technology.<br />
REFERENCES<br />
[1] L. Jinghong, Z. P. Mourelatos, and T. Jian, "A single-loop<br />
method for reliability-based design optimisation,"<br />
International <strong>Journal</strong> <strong>of</strong> Product Development, pp. 76-92,<br />
2008.<br />
[2] H. Shimizu, Y. Otsuka, and H. Noguchi, "Design review<br />
based on failure mode to visualise reliability problems in<br />
the development stage <strong>of</strong> mechanical products,"<br />
International <strong>Journal</strong> <strong>of</strong> Vehicle Design, vol. 53, pp. 149-<br />
165, 2010.<br />
[3] A. Mohsine, G. Kharmanda, and A. El-Hami, "Improved<br />
hybrid method as a robust tool for reliability-based design<br />
optimization," Structural and Multidisciplinary<br />
Optimization, vol. 32, pp. 203-213, 2006.<br />
[4] B. D. Youn, K. K. Choi, and Y. H. Park, "Hybrid analysis<br />
method for reliability-based design optimization,"<br />
Transactions <strong>of</strong> the ASME. <strong>Journal</strong> <strong>of</strong> Mechanical Design,<br />
vol. 125, pp. 221-32, 2003.<br />
[5] X. P. Du and W. Chen, "Sequential optimization and<br />
reliability assessment method for efficient probabilistic<br />
design," <strong>Journal</strong> <strong>of</strong> Mechanical Design, vol. 126, pp. 225-<br />
233, 2004.<br />
[6] H. C. Gea and K. Oza, "Two-level approximation method<br />
for reliability-based design optimisation," International<br />
<strong>Journal</strong> <strong>of</strong> Materials & Product Technology, vol. 25, pp.<br />
99-111, 2006.<br />
[7] [7] K. Chwail and K. K. Choi, "Reliability-based design<br />
optimization using response surface method with<br />
prediction interval estimation," <strong>Journal</strong> <strong>of</strong> Mechanical<br />
Design, p. 121401 (12 pp.), 2008.<br />
[8] X. L. Yin and W. Chen, "Enhanced Sequential<br />
Optimization and Reliability Assessment method for<br />
probabilistic optimization with varying design variance,"<br />
Structure and Infrastructure Engineering, vol. 2, pp. 261-<br />
275, 2006.<br />
[9] I. Lee, K. K. Choi, L. Du, and D. Gorsich, "Inverse<br />
analysis method using MPP-based dimension reduction for<br />
reliability-based design optimization <strong>of</strong> nonlinear and<br />
multi-dimensional systems," Computer Methods In<br />
Applied Mechanics and Engineering, vol. 198, pp. 14-27,<br />
2008.<br />
[10] Z. Qiang, L. Shouju, and T. Ying, "Multi-objective<br />
Incomplete Probability Information Optimization<br />
Reliability Design Based on Ant Colony Algorithm,"<br />
<strong>Journal</strong> <strong>of</strong> S<strong>of</strong>tware Engineering and Applications, pp.<br />
350-3, 2009.<br />
[11] K. Injoong, "Reliability object model tree (ROM-Tree): a<br />
system design-for-reliability method," Microelectronics<br />
Reliability, pp. 438-46, 2010.<br />
© 2011 ACADEMY PUBLISHER<br />
[12] P. Bhattacharjee, K. Ramesh Kumar, and T. A. Janardhan<br />
Reddy, "Reliability design evaluation and optimization <strong>of</strong> a<br />
nitrogen gas bottle using response surface method,"<br />
International <strong>Journal</strong> <strong>of</strong> Reliability, Quality and Safety<br />
Engineering, vol. 17, pp. 119-132, 2010.<br />
[13] T. L. Saaty, "The Analytic Hierarchy Process," New York:<br />
McGraw Hill, 1980.<br />
[14] N. Y. Secme, A. Bayrakdaroglu, and C. Kahraman, "Fuzzy<br />
performance evaluation in Turkish Banking Sector using<br />
Analytic Hierarchy Process and TOPSIS," Expert Systems<br />
with Applications, vol. 36, pp. 11699-11709, 2009.<br />
[15] S. Parthasarathy and N. Anbazhagan, "Evaluating ERP<br />
implementation choices using AHP," International <strong>Journal</strong><br />
<strong>of</strong> Enterprise Information Systems, pp. 52-65, 2007.<br />
[16] T. Soota, H. Singh, and R. Mishra, "Defining<br />
characteristics for product development using quality<br />
function deployment: a case study on Indian bikes,"<br />
Quality Engineering, pp. 195-208, 2008.<br />
[17] R. Benayoun, B. Roy, and N. Sussman, "Manual de<br />
reference du programme electre," Note De Synthese et<br />
Formaton, vol. 25, 1966.<br />
[18] B. Roy, "Classement et choix en presence de points de vue<br />
multiples: La methode ELECTRE," R.I.R.O, vol. 8, pp. 57-<br />
75, 1968.<br />
[19] A. Teixeira De Almeida, "Multicriteria modelling for a<br />
repair contract problem based on utility and the ELECTRE<br />
I method," IMA <strong>Journal</strong> <strong>of</strong> Management Mathematics, vol.<br />
13, pp. 29-37, 2002.<br />
[20] A. Shanian and O. Savadogo, "ELECTRE I decision<br />
support model for material selection <strong>of</strong> bipolar plates for<br />
Polymer Electrolyte Fuel Cells applications," <strong>Journal</strong> <strong>of</strong><br />
New Materials for Electrochemical Systems, vol. 9, pp.<br />
191-199, 2006.<br />
[21] [N. Bojkovic, I. Anic, and S. Pejcic-Tarle, "One solution<br />
for cross-country transport-sustainability evaluation using<br />
a modified ELECTRE method," Ecological Economics,<br />
vol. 69, pp. 1176-1186, 2010.<br />
[22] A. T. de Almeida, "Multicriteria decision model for<br />
outsourcing contracts selection based on utility function<br />
and ELECTRE method," Computers & Operations<br />
Research, vol. 34, pp. 3569-3574, 2007.<br />
Jihong Pang was born in Beihai,<br />
Guangxi Zhuangzu Autonomous Region,<br />
China, on January 10, 1978. He received<br />
his master's degree in Management<br />
Science and Engineering from Tianjin<br />
University in 2006.<br />
Currently, he is a PH.D candidate<br />
with Mechanical Engineering at the<br />
College <strong>of</strong> Mechanical Engineering,<br />
Chongqing University in China since 2008. His main research<br />
interest is quality and reliability engineering, industrial<br />
engineering (IE), Enterprise Resource Planning (ERP).<br />
Genbao Zhang is a pr<strong>of</strong>essor at Chongqing University. His<br />
main research interest is quality and reliability engineering,<br />
enterprise informatization, advanced manufacturing technology.<br />
Guohua Chen is a PH.D candidate with Mechanical<br />
Engineering at Chongqing University. His main research<br />
interest is quality engineering, supply chain management.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 901<br />
Fractional Modeling Method Research on<br />
Education Evaluation<br />
Chunna Zhao<br />
Information Engineering College, Capital Normal University, Beijing, China<br />
Email: chunnazhao@163.com<br />
Yu Zhao<br />
Yunnan Technician College, Kunming, China<br />
Email: yuzhao66@163.com<br />
Liming Luo<br />
Information Engineering College, Capital Normal University, Beijing, China<br />
Email: luolm@mail.cnu.edu.cn<br />
Yingshun Li<br />
Engineering College, Shenyang University <strong>of</strong> Technology, Liaoyang, China<br />
Email:liyingshunok@163.com<br />
Abstract—Education assessment is one <strong>of</strong> important<br />
measures that will be to ensure and continuously improve<br />
the educational level and educational quality. A fractional<br />
order model method for education evaluation is proposed in<br />
this paper. Improved fractional Basset force model is<br />
referred to constitute the complex education evaluation<br />
model. The detailed descriptions are displayed through<br />
building block diagram. An algorithm for linear fractional<br />
order systems is described. The fractional evaluation model<br />
is composed <strong>of</strong> fractional order and common coefficient.<br />
Model parameters can be determined by a large number <strong>of</strong><br />
actual data and mathematical statistics method. The<br />
proposed model was applied to actual course evaluation<br />
work <strong>of</strong> Capital Normal University. The practicability and<br />
effectiveness <strong>of</strong> the method have been validated.<br />
Index Terms—fractional order, model, evaluation<br />
I. INTRODUCTION<br />
Post-Secondary Education Accreditation Council is set<br />
up in the United States in 1975. And this is the first<br />
institution <strong>of</strong> higher education assessment. In China<br />
educational assessment <strong>of</strong> colleges and universities began<br />
in the twentieth century, the eighties. Educational<br />
assessment is the efficient means that higher education<br />
institution realizes the higher education self-perfecting,<br />
self-regulation and self-improvement. Higher education<br />
assessment is one <strong>of</strong> important measures that will be to<br />
ensure and continuously improve the educational level<br />
and educational quality <strong>of</strong> China's institutions <strong>of</strong> higher<br />
Manuscript received January 10, 2010; revised June 15, 2010;<br />
accepted July 16, 2010.<br />
This work is supported by Beijing Education Committee<br />
Science(KM201010028021) and Technology Foundation and Liaoning<br />
Nature Science Foundation (20082044, 20060624)<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.901-907<br />
learning. It aims to improve the quality <strong>of</strong> instruction and<br />
promote teaching reform. There is more and more<br />
research on education evaluation recently. Reference [1]<br />
applies a growth modeling approach to the stability <strong>of</strong><br />
teaching effectiveness. Reference [2] contributes to the<br />
conceptual and empirical distinction between appraisals<br />
<strong>of</strong> teaching behavior and self-reported competence<br />
acquirement within academic education evaluation.<br />
Reference [3] examined the effects <strong>of</strong> embedding special<br />
education instruction into pre-service general education<br />
assessment courses. Some methods had not considered<br />
the existence <strong>of</strong> objective weight, so that the result is too<br />
subjective. Because education evaluation is a complex<br />
nonlinear process that affected by many factors,<br />
traditional integer order calculus model is unable to<br />
accurately describe its action. Fractional order system is<br />
established on the idea <strong>of</strong> fractional order calculus and<br />
theory <strong>of</strong> fractional order differential equations, which is<br />
an extension to the conventional calculus problems.<br />
It is well known that fractional order systems itself is<br />
an infinite dimensional filter due to the fractional order in<br />
the differentiator or integrator while the integer-order<br />
systems are with limited memory(finite dimensional).<br />
There has been a surge <strong>of</strong> interest in the possible<br />
engineering application <strong>of</strong> fractional order differentiation.<br />
Examples may be found in [4] and [5]. Some applications<br />
including automatic control are surveyed in [6]. The<br />
significance <strong>of</strong> fractional order theory is that it is a<br />
generalization <strong>of</strong> classical integral order theory, which<br />
could lead to more adequate modeling and more robust<br />
control performance. Fractional order systems could<br />
model various real materials more adequately than integer<br />
order ones and thus provide an excellent modeling tool in<br />
describing many actual dynamical processes[7].<br />
Fractional model provides the scientific basis for<br />
prevention and treatment <strong>of</strong> satellite monitoring
902 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
absorption rate [8]. The nematode movement can be<br />
simulated through fractional model [9]. It may be used<br />
for building “love” models using fractional-order system<br />
[10]. [11] modeled iron meteorites crystallization by<br />
fractional theory. And there are some people pay close<br />
attention to unemployment rates by means <strong>of</strong> fractional<br />
calculus [12].<br />
Fractional model is a mathematical modeling approach<br />
based on fractional calculus, and it provides a powerful<br />
decision support and scientific basis for education<br />
evaluation. Fractional education evaluation model is<br />
proposed in this paper. Model parameters can be obtained<br />
by the corresponding actual data. It aims to reduce the<br />
complexity while improving the scientific validity <strong>of</strong> the<br />
assessment results based on the fractional model.<br />
The remaining part <strong>of</strong> this paper is organized as<br />
follows. In Section II, mathematical foundation <strong>of</strong><br />
fractional calculus is briefly introduced; in Section III, a<br />
fractional model method is presented for education<br />
evaluation; in Section IV, some practical examples are<br />
presented to verify the feasibility. Finally, conclusions are<br />
drawn in Section V.<br />
II. BRIEF INTRODUCTION OF FRACTIONAL CALCULUS<br />
Although the fractional order calculus is a 300-years<br />
old topic, the theory <strong>of</strong> fractional order derivative was<br />
developed mainly in the 19th century. References [13-18]<br />
provide a good source <strong>of</strong> references on fractional calculus.<br />
Fractional calculus is a generalization <strong>of</strong> integration<br />
and differentiation to a fractional, or non-integer order<br />
fundamental operator aDt � , where a and t are the<br />
lower/upper bounds <strong>of</strong> integration and � the order <strong>of</strong> the<br />
operation.<br />
�<br />
� d<br />
� R(<br />
�)<br />
� 0<br />
�<br />
��<br />
dt<br />
�<br />
D ��1 R(<br />
�)<br />
�<br />
� t<br />
( ��<br />
)<br />
� ( d�) R(<br />
�)<br />
� 0<br />
a<br />
�� �<br />
0 (1)<br />
a t<br />
which R( � ) is the real part <strong>of</strong> � . Moreover, the<br />
fractional order can be a complex number as discussed in<br />
[19]. In this paper, we focus on the case where the<br />
fractional order is a real number.<br />
Caputo’s fractional-order differentiation is defined by<br />
( m�1)<br />
1 t<br />
�<br />
f ( � )<br />
D f() t � d�<br />
(1 ) a<br />
�<br />
� �� � (2)<br />
( t ��)<br />
a t<br />
where � �m� � , m is an integer, and 0���<br />
1 .<br />
Similarly, by Caputo’s definition, the integral is described<br />
by<br />
� 1 f ( � )<br />
D f() t d<br />
( �) ( t �) �<br />
�<br />
�� �<br />
a t<br />
© 2011 ACADEMY PUBLISHER<br />
t<br />
� � (3)<br />
a 1 �<br />
As in the case for conventional calculus, fractionalorder<br />
derivatives and integrals have the following<br />
qualities:<br />
(1) If f () t is an analytic function <strong>of</strong> the variable t , the<br />
�<br />
derivative Dt f() t is an analytic function <strong>of</strong> t and � .<br />
(2) The operation Dt � and the usual derivative <strong>of</strong> order<br />
�<br />
n�Z , � � n give the same result; The operation Dt �<br />
�<br />
and the usual n-fold integral with n�Z , � �n<br />
give the<br />
0<br />
same result, and Dt f() t � f() t .<br />
(3) The operator should be linear:<br />
� �<br />
�<br />
D [ af ( t) �bg( t)] �aD f ( t) �bDg(<br />
t)<br />
t t t<br />
(4) For the fractional-order integrals <strong>of</strong> arbitrary order, it<br />
holds the additive law <strong>of</strong> exponents (semi-group<br />
property):<br />
(4)<br />
� � ��� D [ D f( t)] � D f( t)<br />
(5)<br />
t t t<br />
Linear fractional-order differential equations are the<br />
fundamental governing equations. The linear fractionalorder<br />
differential equation is defined as<br />
aD yt � a D yt ��<br />
(6)<br />
� aD yt �aDyt�b n<br />
�n t () n�1 �n�1<br />
t ()<br />
1<br />
�1<br />
t () 0<br />
�0<br />
t ()<br />
Substituting fractional-order differentiation definition<br />
into the above equation, one may find that<br />
� �<br />
�� � �b(7)<br />
[( t�a)/ h] [( t�a)/ h]<br />
0<br />
( �i) m<br />
( �n)<br />
j yt jh j y<br />
� � � � t jh<br />
0<br />
� � � �<br />
n<br />
h j�0 h j�0<br />
where the binomial coefficients<br />
evaluated recursively with<br />
� � 1,<br />
�<br />
( �i<br />
)<br />
0<br />
� � �1<br />
�<br />
� �<br />
� j �<br />
( �i)<br />
i ( �i)<br />
j � 1�<br />
� j�1<br />
� can still be<br />
( �i<br />
)<br />
j<br />
, j �1, 2, � (8)<br />
By slight rearrangement <strong>of</strong> the terms, the closed-form<br />
solution <strong>of</strong> the fractional-order differential equation can<br />
be obtained as<br />
� �<br />
�<br />
y �b yt�jh�<br />
� �<br />
n [( t�a)/ h]<br />
1 i<br />
( �i<br />
)<br />
t � �<br />
�<br />
n<br />
�<br />
j<br />
i<br />
� � �<br />
i i�0 h j�1<br />
� �i<br />
i�0<br />
h<br />
Fractional evaluation model will be proposed based on<br />
the above theory in this paper. Model parameters can be<br />
obtained by the corresponding actual data. It aims to<br />
reduce the complexity while improving the scientific<br />
validity <strong>of</strong> the assessment results based on the fractional<br />
model.<br />
III. FRACTIONAL MODEL<br />
Here fractional model <strong>of</strong> education evaluation will be<br />
established based on the above fractional order systems.<br />
Educational evaluation is to assess the course system.<br />
(9)
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 903<br />
Firstly, each course is evaluated by the proposed method.<br />
Then course system evaluation result can be gotten<br />
depending on the course evaluation results. And then the<br />
curriculum and the construction could be analyzed. You<br />
can also compare the differences between courses.<br />
Previous courses are assessed by the expert ratings.<br />
The human factors have an important effect, and the<br />
result is not so objective. In order to overcome the<br />
drawbacks, fractional modeling approach is adopted.<br />
Based on some obtained actual data, the effect <strong>of</strong> course<br />
evaluation can be taken through fractional model. It is the<br />
relative objective, realistic, and highly persuasive.<br />
A. Each Course Evaluation<br />
Fractional model <strong>of</strong> education evaluation can be<br />
modeled by improved Basset force and fractional model<br />
in this paper. Basset force mainly describes the process<br />
that the ball moves in a straight line. And when the ball<br />
sinks into the viscous fluid, two-phase flow in the actual<br />
ball movement is not linear motion. The force is impacted<br />
by other particles movement. The force should be<br />
connected with particle size, particle and fluid density<br />
ratio and fluid pulsation frequency so on. The process is<br />
multi-factor process. Refer to the model <strong>of</strong> fractional<br />
Basset force, based on the character <strong>of</strong> education<br />
evaluation and a lot <strong>of</strong> relevant data, fractional education<br />
evaluation model for one course can be modeled.<br />
�<br />
� 9 �<br />
� �<br />
�1�2��� � �<br />
D x() t �bD x() t �aDx() t � x() t � 1(10)<br />
where x() t expresses the final evaluation result <strong>of</strong> the<br />
course. Fractional coefficient � shows characteristics <strong>of</strong><br />
the teachers. Whether teachers have the experience,<br />
passion, quality and evaluation <strong>of</strong> previous classes so on?<br />
And it also includes the teachers teaching methods and<br />
means. Fractional factor � shows the overall<br />
characteristics <strong>of</strong> the students. It includes the students<br />
understanding <strong>of</strong> the course, interest and the past<br />
accumulation <strong>of</strong> knowledge so on. Other coefficients are<br />
determined by teachers and school students. They express<br />
that students are main body and teacher is the organizer.<br />
And it fully reflects that the masters <strong>of</strong> classroom are<br />
students. The primary role <strong>of</strong> teachers is to guide and<br />
answer questions in the classroom. And it should not be<br />
spoon-fed the traditional speaking. Students’ active<br />
learning should be mainly part. Coefficient � shows the<br />
evaluation <strong>of</strong> students for the course. It is mainly<br />
confirmed by recognition degree and benefit from the<br />
course <strong>of</strong> students. And it fully reflects student initiative.<br />
The coefficient a expresses the evaluation <strong>of</strong> course<br />
teachers. It is mainly determined based on the teaching<br />
content, teaching hours and teaching arrangement aspect.<br />
Coefficient b expresses students and teachers for the<br />
objective evaluation <strong>of</strong> teaching and learning<br />
environment. It is decided by the credits set, the college<br />
supporting degree for the program and class conditions so<br />
on.<br />
The fractional simulation block diagram is used for the<br />
proposed fractional model[20]. Through building<br />
© 2011 ACADEMY PUBLISHER<br />
Simulink model, the numerical solution <strong>of</strong> fractional<br />
order nonlinear calculus equation can be obtained directly.<br />
A fractional calculus module has been mainly adopted. In<br />
fractional calculus model, a modified approximation<br />
method is introduced[21]. Based on series expansion and<br />
recurrence, the continuous rational transfer function is<br />
2 N<br />
'<br />
� � ds �b�hs� 1 �s/<br />
�k<br />
Gs () � ( �� b h)<br />
� 2<br />
�<br />
�d(1 ��) s �b�hs�d� �k��N1 � s / �k<br />
�<br />
(11)<br />
where,<br />
2 k �� 1 1<br />
N�k� (1 ��) N�k� (1 ��)<br />
2N1 2 2<br />
' �b� �<br />
2N�1 2N�1 k h b<br />
� � � � � �<br />
�d� 2 k �� 1 1<br />
N�k� (1 ��) N�k� (1 ��)<br />
2N1 2 2<br />
�b� �<br />
2N�1 2N�1 k h b<br />
� � � � � �<br />
�d� (12)<br />
(13)<br />
where 2N� 1 is the order <strong>of</strong> approximation, and b , d<br />
are improvement factor. Here b �10 , d � 9 , N � 3 ,<br />
and the pre-specified frequency range is �b � 0.001 ,<br />
� � 1000 .<br />
h<br />
B. Course System Evaluation<br />
Linear fractional order system is adopted for each<br />
course assessment result. Output is the final result <strong>of</strong> the<br />
evaluation system that we expect. The fractional order is<br />
important. The different course evaluation results are<br />
introduced as orders <strong>of</strong> fractional order systems. Other<br />
parameters are determined by the characteristics <strong>of</strong><br />
curriculum.<br />
� �<br />
aD yt () �aD yt () ��<br />
1 2<br />
1 2<br />
�n<br />
� aD yt ( ) �ayt ( ) �1<br />
n<br />
0<br />
(14)<br />
One coefficient ai<br />
shows the characteristic parameters<br />
<strong>of</strong> the course. And � i is the above evaluation result.<br />
Through a comprehensive study for college courses, we<br />
can select<br />
a � , a �10 ��, i�1,2, � , n (15)<br />
0 1<br />
i i<br />
Then the above fractional model can be expressed as:<br />
� �<br />
10 � D y( t) �10 � D y( t)<br />
��<br />
1 2<br />
1 2<br />
�n<br />
�10 � D y( t) � y( t)<br />
�1<br />
n<br />
(16)<br />
Based on the above algorithm, the numerical solutions<br />
to the linear fractional-order differential equation can be<br />
obtained with a MATLAB function. Results <strong>of</strong> curve can<br />
be achieved by the established fractional model.<br />
IV. COMPARATIVE SIMULATIONS<br />
Taken the recent course evaluation as an example,<br />
there are three courses in s<strong>of</strong>tware engineering system.
904 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
They are S<strong>of</strong>tware Testing Technology, S<strong>of</strong>tware Testing<br />
Practice and S<strong>of</strong>tware Engineering Practice respectively.<br />
Firstly each course is analyzed.<br />
A. S<strong>of</strong>tware Testing Technology Evaluation<br />
Conventional course evaluation score <strong>of</strong> S<strong>of</strong>tware<br />
Testing Technology is 78 out <strong>of</strong> a hundred. And then the<br />
course is evaluated by the proposed fractional model in<br />
this paper. There are two fractional coefficients in the<br />
above fractional model, which<br />
ranges between 0 and 1.<br />
The coefficient � shows characteristics <strong>of</strong> the<br />
teachers. The larger the value <strong>of</strong> fractional coefficients<br />
shows that teachers have the higher overall quality <strong>of</strong>, the<br />
better characteristics and ways. And it is converse if the<br />
value is smaller. The fractional coefficient can be<br />
determined grounded on the above factors, expert ratings<br />
and data analysis so on. And there is � � 0.8 . The<br />
fractional order coefficient � is decided due to the past<br />
content knowledge and overall level <strong>of</strong> students to<br />
understand. The coefficient is relatively large if the<br />
student has accumulated a strong knowledge <strong>of</strong> related<br />
courses with active learning. It is converse if the value is<br />
smaller. According to the previous data analysis <strong>of</strong> the<br />
students selected the course, sorting and statistics,<br />
mathematical statistics and other conv entional methods,<br />
the<br />
fractional coefficient can be gotten � � 0.6 .<br />
The rest factors should be confirmed by teaching<br />
teachers and school students all together. The<br />
scope <strong>of</strong><br />
these three factors is 1 to 10. Coefficient � is evaluated<br />
from the perspective <strong>of</strong> the students for course. It is<br />
mainly reflected on students’ satisfaction for the<br />
curriculum and interest for course content. The value is<br />
large shows that students are satisfied with the curriculum<br />
and interested in course content. And they believe that<br />
teachers have very good teaching ways and means. It is<br />
converse if the value is smaller. The value is 6 through<br />
investigating the overall students in the classroom. The<br />
coefficients a is mainly determined by teachers and<br />
curriculum. The larger coefficient indicates that teachers<br />
think that the course is enough for students and the<br />
content is appropriate for students, whereas the smaller<br />
the value. The coefficient value is 9 in this course.<br />
Coefficient b is confirmed from the perspective <strong>of</strong><br />
students and teachers for teaching objective configuration.<br />
In other words, it reflects that support degree <strong>of</strong> external<br />
factors for the course. And it includes the institutions<br />
support and the school classroom environment. The<br />
larger coefficient indicates that the course has been<br />
attached importance to and various external factors are<br />
favorable for the course. While it is converse if the value<br />
is smaller. The coefficient is taken as 8 under the joint<br />
participation<br />
<strong>of</strong> all students and Teaching Committee.<br />
Based on the above data and related methods, the<br />
fractional program evaluation model can be obtained:<br />
� 9 �<br />
� �<br />
�1�2�6� 0.8<br />
0.8<br />
D x t<br />
0.6<br />
D x t Dx t x t<br />
© 2011 ACADEMY PUBLISHER<br />
() �8 () �9 () � () � 1<br />
(17)<br />
Simulation model can be built by using the above<br />
algorithm, as shown in Fig. 1.<br />
Figure 1. Simulink model<br />
According to the algorithm proposed in this paper, the<br />
corresponding course curve can be obtained with<br />
MATLAB, as shown in Fig. 2.<br />
Figure 2. Output curve <strong>of</strong> S<strong>of</strong>tware Testing Technology<br />
The result obtained by the proposed method is close to<br />
0.72 in this figure. It is equivalent to 72 percentile points.<br />
And it is slightly inferior to the results <strong>of</strong> traditional<br />
assessment methods. Through a lot <strong>of</strong> surveys and<br />
interviews, it can be found that this method is more<br />
objective for course evaluation and avoids a lot <strong>of</strong> human<br />
factors.<br />
B. S<strong>of</strong>tware Testing Technology Evaluation<br />
In S<strong>of</strong>tware Testing Technology, the coefficient �<br />
shows characteristics <strong>of</strong> th e teachers. And it can be<br />
determined grounded on the above factors, expert ratings<br />
and data analysis so on. And there is also � � 0.8 . The<br />
fractional order coefficient � is decided due to the past<br />
content knowledge and overall level <strong>of</strong> students to<br />
understand. According to the previous data analysis <strong>of</strong> the<br />
students selected the course, sorting and statistics,<br />
mathematical statistics<br />
and other conventional methods,
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 905<br />
the fractional coefficient can be gotten � � 0.7 .<br />
Coefficient � is mainly<br />
reflected on students’<br />
satisfaction for the curriculum and interest for course<br />
content. Here is � � 7 .<br />
The coefficients a is 8 in this course. Coefficient b<br />
reflects that support degree <strong>of</strong> external factors for the<br />
course. And it includes the institutions support and the<br />
school classroom environment. The coefficient<br />
is taken as<br />
8 under the joint participation <strong>of</strong> all students and<br />
Teaching Committee.<br />
Then fractional model<br />
is as follows:<br />
� 9 �<br />
� �<br />
�1�2�7�<br />
0.8<br />
0.8<br />
D x() t<br />
� �<br />
0.7<br />
8 D x() t 8 Dx() t<br />
� x() t � 1<br />
(18)<br />
Simulatio n model<br />
can be built by using the above<br />
algorithm, as shown<br />
in Fig. 3.<br />
Figure 3. Simulink model<br />
The final result curve<br />
<strong>of</strong> the evaluation can<br />
be gotten<br />
by building Simulation<br />
model<br />
block, as shown in Fig. 4.<br />
The result is 0.825.<br />
Figure 4. Output curve <strong>of</strong> S<strong>of</strong>tware Testing Practice<br />
© 2011 ACADEMY PUBLISHER<br />
C. S<strong>of</strong>tware Engineering Practice Evaluation<br />
Course parameters <strong>of</strong> S<strong>of</strong>tware Engineering Practice<br />
can also be obtained. The coefficient � can be<br />
determined grounded on the above factors, expert ratings<br />
and data analysis so on. And there is � � 0.9 . The<br />
fractional order coefficient � is decided due to the past<br />
content knowledge and overall level <strong>of</strong> students to<br />
understand. According to the previous data analysis <strong>of</strong> the<br />
students selected the course, sorting and statistics,<br />
mathematical statistics and other conventional methods,<br />
the fractional coefficient can be gotten � � 0.8 , and it is<br />
high. Coefficient � is evaluated from the perspective <strong>of</strong><br />
the students for course. It is mainly reflected on students’<br />
satisfaction for the curriculum and interest for course<br />
content. The value is 8 through investigating the overall<br />
students in the classroom. The coefficients a is mainly<br />
determined by teachers and curriculum. And it is 7 in this<br />
course. Coefficient b is confirmed from the perspective <strong>of</strong><br />
students and teachers for teaching objective configuration.<br />
And it includes the institutions support and the school<br />
classroom environment. The larger coefficient indicates<br />
that the course has been attached importance to and<br />
various external factors are favorable for the course. It is<br />
9 in this course.<br />
So the fractional model is:<br />
� 9 �<br />
� �<br />
�1�2�8� 0.9<br />
0.9<br />
D x t �<br />
0.8<br />
D x t � Dx t � x t<br />
() 9 () 7 () () � 1<br />
Figure 5. Simulink model<br />
(19)<br />
Simulation model can be built as shown in Fig. 5.<br />
Through building Simulation block, the final result curve<br />
is as shown in Fig. 6. The result is 0.905.
906 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Figure 6. Output curve <strong>of</strong> S<strong>of</strong>tware Engineering Practice<br />
Analysis: Teachers are not the most important for<br />
curriculum and student evaluation in education evaluation.<br />
In contrast the overall quality characteristic <strong>of</strong> the<br />
students is the most important for the course evaluation.<br />
From the view <strong>of</strong> above three courses, the course<br />
evaluation result is high when the teacher did not think<br />
highly <strong>of</strong> their own but the overall quality <strong>of</strong> students is<br />
high and student evaluation is good, such as S<strong>of</strong>tware<br />
Engineering Practice. While the final result <strong>of</strong> the<br />
evaluation is not good when the teacher evaluation is high<br />
whereas the evaluation <strong>of</strong> the students is low. It can be<br />
shown in this evaluation model system that external<br />
factors and students play an important role and the<br />
proportion <strong>of</strong> teachers is not large. The actual data and<br />
results could be more convincing. It is fully consistent<br />
with the actual teaching activities. And it is shown that<br />
the fractional order model is valid.<br />
D. Course System Evaluation<br />
The fractional order linear model is taken based on<br />
each course evaluation result. Output is the evaluation <strong>of</strong><br />
the course system.<br />
�1 �2<br />
�3<br />
10 �1D y( t) �10 �2D y( t) �10 �3D<br />
y( t) � y( t)<br />
�1<br />
(20)<br />
There is a fractional order system founded on the<br />
above three course evaluation results<br />
0.91 0.83 0.72<br />
9.1 D y( t) �8.3 D y( t) �7.2 D y( t) � y( t)<br />
�1<br />
(21)<br />
The result is the output yt ( ) � 0.78 , as shown in Fig. 7.<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 7. Output curve <strong>of</strong> course system evaluation<br />
Analysis: It is obviously that the poor evaluation result<br />
has a great influence on the overall evaluation program in<br />
the course evaluation system. And it is one <strong>of</strong> the<br />
characteristics <strong>of</strong> the proposed model. It should be taken<br />
into account the effect <strong>of</strong> each course not the average. It<br />
aimed at improving the overall quality and not just<br />
pursuing the optimal assessment <strong>of</strong> individual course.<br />
And it will improve the overall standard <strong>of</strong> teaching<br />
rather than creating one or two quality courses. So<br />
students will get the most benefit.<br />
The results are consistent with the actual situation, and<br />
there is more obvious difference in evaluation results. It<br />
is clear that the proposed method is practical and<br />
effective.<br />
V. CONCLUSION<br />
Education evaluation is a complex multi-factorial<br />
process, and it is not modeled by integer order model<br />
accurately. While fractional order system can model the<br />
complex process. And the corresponding curves can be<br />
shown in the model block. A fractional modeling method<br />
<strong>of</strong> course evaluation is proposed in this paper. The<br />
fractional model is based on the linear fractional order<br />
systems. The coefficients <strong>of</strong> the model are ascertained by<br />
a large number <strong>of</strong> related data. Results <strong>of</strong> the assessment<br />
can be obtained through MATLAB program. At last, the<br />
method was applied to actual course assessment instance<br />
<strong>of</strong> Capital Normal University Information Engineering<br />
College. And result indicates that this method is highly<br />
efficient for solving real-world problems.<br />
REFERENCES<br />
[1] W. M. Herbert, “Do university teachers become more<br />
effective with experience: a multilevel growth model <strong>of</strong><br />
students' evaluations <strong>of</strong> teaching over 13 years,” <strong>Journal</strong> <strong>of</strong><br />
Educational Psychology, vol. 99, no.4, pp. 775-790, 2007.<br />
[2] B. Edith and L. Bernhard, “Academic course evaluation:<br />
theoretical and empirical distinctions between self-rated
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 907<br />
gain in competences and satisfaction with teaching<br />
behavior,” European Psychologist, vol.14, no.4, pp.297-<br />
306, 2009.<br />
[3] S. B. Kimberlee, A. W. Lesley, H. H. Kristin, et al, “The<br />
efficacy <strong>of</strong> embedding special education instruction in<br />
teacher preparation programs in the United States,”<br />
Teaching and Teacher Education, vol. 24 no.8, pp. 2087-<br />
2094, 2008.<br />
[4] C. N. Zhao, F. Pan, and D. Y. Xue, “H∞ controller design<br />
for fractional order system,” <strong>Journal</strong> <strong>of</strong> Northeastern<br />
University, vol. 27, pp. 1189-1192, 2006.<br />
[5] D. Y. Xue and C. N. Zhao, “Fractional order PID<br />
controller design for fractional order system,” Control<br />
Theory and Applications, vol. 24, pp. 771-776, 2007.<br />
[6] C. N. Zhao and X. D. Zhang, “The application <strong>of</strong><br />
fractional order PID controller to position<br />
servomechanism,” IEEE WCICA, p. 3380-3383, 2008.<br />
[7] D. Y. Xue, C. N. Zhao, and Y. Q. Chen, “Fractional Order<br />
PID Control <strong>of</strong> A DC-Motor with Elastic Shaft: A Case<br />
Study,” American Control Conference, p. 3182-3187, 2006.<br />
[8] O. Pontus and E. Lars, “Estimation <strong>of</strong> absorbed PAR<br />
across Scandinavia from satellite measurements. Part II:<br />
Modeling and evaluating the fractional absorption,”<br />
Remote Sensing <strong>of</strong> Environment, vol. 110, pp. 240-251,<br />
2007.<br />
[9] S. Hapca, J. W. Crawford, K. MacMillan, et al, “Modelling<br />
nematode movement using time-fractional dynamics,”<br />
<strong>Journal</strong> <strong>of</strong> Theoretical Biology, vol. 248, pp. 212-224,<br />
2007.<br />
[10] W. M. Ahmad and R. El-Khazali, “Fractional-order<br />
dynamical models <strong>of</strong> love,” Chaos, Solitons & Fractals,<br />
vol. 33, pp. 1367-1375, 2007.<br />
[11] J. W. Richard, F. M. William, H. Jenise, et al, “Modeling<br />
fractional crystallization <strong>of</strong> group IVB iron meteorites,”<br />
Geochimica et Cosmochimica Acta, vol.72, p. 2198-2216,<br />
2008.<br />
[12] M. C. Guglielmo and A. G. Luis, “Modelling the US, UK<br />
and Japanese unemployment rates: Fractional integration<br />
and structural breaks,” Computational Statistics & Data<br />
[18] S. E. Hamamci, M. Koksal, “Calculation <strong>of</strong> all stabilizing<br />
fractional-order PD controllers for integrating time delay<br />
systems,” Computers & Mathematics with Applications,<br />
Vol. 59, no. 5, pp. 1621-1629, 2010.<br />
[19] A. Oustaloup, F. Levron, B. Mathieu, and F.M. Nanot,<br />
“Frequency band complex noninteger differentiator:<br />
characterization and synthesis,” IEEE Trans. Circuits Syst.<br />
I, vol. 47, pp. 25-39, 2000.<br />
[20] C. N. Zhao, Y. Zhao, Y. Liu, Y. S. Li, L. M. Luo,<br />
“Fractional Personnel Losing Modeling Approach and<br />
Application,” IEEE CISE, p. 14-17, 2009.<br />
[21] D. Y. Xue, C. N. Zhao, and Y. Q. Chen, “Modified<br />
Approximation Method <strong>of</strong> Fractional Order System,” IEEE<br />
ICMA, p. 1043-1048, 2006.<br />
Chunna Zhao was born in Liaoning<br />
Province, China, in 1978. She received<br />
her B.S. degree in Liaoning Normal<br />
University, Dalian, in 2001. She received<br />
her M.S. and Ph.D. degree in<br />
Northeastern University, Shenyang, in<br />
2004 and 2006 respectively. She studied<br />
in Northeastern University postdoctoral<br />
from 2006 to 2008. Her current research<br />
interests include evaluation, data analysis, fractional systems<br />
and mathematics modeling. Her address is with Capital Normal<br />
University, Information Engineering College, Beijing, 100048,<br />
China. (Corresponding author to provide phone: 86-10-<br />
68901370-213 & 15011489020; e-mail:<br />
chunnazhao@163.com.)<br />
Yu Zhao was born in Liaoning Province, China, in 1977. He<br />
received his B.S. degree in Shenyang University, Shenyang, in<br />
2006. She received her M.S. degree in yunnan university <strong>of</strong><br />
finance and economics, Kunming, in 2008. His current research<br />
interests include evaluation, data analysis, logistics management.<br />
Analysis, vol.52, pp. 4998-5013, 2008. His address is with Yunnan Technician College, Kunming,<br />
[13] D. Y. Xue, C. N. Zhao, and F. Pan, “Simulation model<br />
method and application <strong>of</strong> fractional order nonlinear<br />
system,” <strong>Journal</strong> <strong>of</strong> System Simulation, pp. 2405-2408,<br />
China. Email: yuzhao66@163.com.<br />
2006.<br />
Liming Luo was born in Beijing, China, in 1965. He received<br />
[14] C. N. Zhao, X. D. Zhang, and Y. R. Sun, “Simulation <strong>of</strong> his M.S. degree in Capital Normal University, Beijing, in 2008.<br />
commensurate fractional order systems,” <strong>Journal</strong> <strong>of</strong> System His current research interests include evaluation, data analysis.<br />
Simulation, pp. 3948-3950, 2008.<br />
His address is with Capital Normal University, Information<br />
[15] A. Dzielinski, D. Sierociuk, “Ultracapacitor Modelling and Engineering College, Beijing, 100048, China. Email:<br />
Control Using Discrete Fractional Order State-Space<br />
Model,” Acta Montanistica Slovaca, vol. 13, no.1, pp.<br />
208–216, 2008.<br />
luolm@mail.cnu.edu.cn.<br />
[16] S. Y.n Xing, J. G. Lu, “Robust stability and stabilization <strong>of</strong> Yingshun Li was born in Liaoning Province, China, in 1971.<br />
fractional-order linear systems with nonlinear uncertain She received her B.S. degree in 1993. She received her M.S. in<br />
parameters: An LMI approach,” Chaos, Solitons & Dalian University <strong>of</strong> Technology in 2000. And she received her<br />
Fractals, Vol. 42, no. 2, pp. 1163-1169, 2009.<br />
Ph.D. degree in Northeastern University, Shenyang, in 2006.<br />
[17] L. M. Richard, J. R. Thomas, “Fractional-order elastic Her research interest covers intelligent system, pattern<br />
models <strong>of</strong> cartilage: A multi-scale approach,” recognition and chemical automation. Her address is with<br />
Communications in Nonlinear Science and Numerical Engineering College, Shenyang University <strong>of</strong> Technology,<br />
Simulation, vol. 15, no. 3, pp. 657-664, 2010.<br />
Liaoyang, China. Email:liyingshunok@163.com.<br />
© 2011 ACADEMY PUBLISHER
908 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Immune Genetic Evolutionary Algorithm <strong>of</strong><br />
Wavelet Neural Network to Predict the<br />
Performance in the Centrifugal Compressor and<br />
Research<br />
Shengzhong Huang<br />
Department <strong>of</strong> Mathematics and Computer Science, Liuzhou Teachers College<br />
Liuzhou, Guangxi, 545004, China<br />
gxhsz@126.com<br />
Abstract—Prediction <strong>of</strong> the performance <strong>of</strong> centrifugal<br />
compressors, the traditional methods using BP neural<br />
network. This single neural network for forecasting problem<br />
is not high enough precision, slow convergence and easy to<br />
fall into local optimal solution. In order to more accurately<br />
predict the performance <strong>of</strong> centrifugal compressors, the<br />
implicit commit identify problems early. Are the immune<br />
algorithm, genetic algorithm, wavelet theory, the<br />
combination <strong>of</strong> neural networks, established immune<br />
genetic algorithm optimization <strong>of</strong> wavelet neural network<br />
model (IGA-WNN). Realized to predict the performance <strong>of</strong><br />
centrifugal compressor, and the predicted results with the<br />
BP neural network model prediction results and the wavelet<br />
neural network model prediction results were compared.<br />
Simulation results show that: the prediction model, can<br />
achieve the centrifugal compressor performance prediction<br />
and monitoring. Which, IGA-WNN optimal prediction<br />
results: with a simple algorithm, structural stability, the<br />
convergence speed and generalization ability <strong>of</strong> the<br />
advantages <strong>of</strong> prediction accuracy <strong>of</strong> 99% over traditional<br />
methods <strong>of</strong> prediction accuracy <strong>of</strong> 15%, with a certain<br />
Theoretical study and practical value.<br />
Index Terms—immune algorithm, genetic algorithm,<br />
wavelet theory, centrifugal compressor, performance<br />
prediction.<br />
I. INTRODUCTION<br />
As centrifugal compressor owns the features <strong>of</strong> high<br />
rotating speed, small size, small occupancy area, etc,<br />
therefore, it is widely used in the petrochemical industry.<br />
The following stages in the process <strong>of</strong> new product<br />
development for centrifugal compressor are needed:<br />
theoretical design, modeling production, performance test<br />
and prototype production. When designing, we must test<br />
on centrifugal compressor’s performance, which can help<br />
us know whether the centrifugal compressor meet the<br />
requirements or not. If the result is not good, then a<br />
further optimization is needed. However, this approach<br />
will inevitably need large input <strong>of</strong> manpower, material<br />
and financial resources, so applying a new method can<br />
predict the performance <strong>of</strong> centrifugal compressor before<br />
designed to provide theoretical guidance for the optimal<br />
design. Artificial neural networks can train the existing<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.908-914<br />
samples in order to predict the conditions <strong>of</strong> centrifugal<br />
compressor’s best performance, shorten the testing time,<br />
increase the efficiency and cut down the cost. In the past,<br />
the BP neural network approach is <strong>of</strong>ten considered as the<br />
main network approach, however, for complex<br />
centrifugal compressors, in order to obtain a better<br />
prediction, the further optimization is a must. When<br />
conventional neural network recognizes centrifugal<br />
compressor, there exists the defects with low<br />
identification accuracy, poor convergence speed, and<br />
easily falling into local optimal solution. Therefore, it’s<br />
necessary to seek for an optimal identification model with<br />
high identification accuracy, fast convergence speed and<br />
strong global searching optimization, which is significant<br />
for the research and understanding <strong>of</strong> centrifugal<br />
compressor’s fault and performance.<br />
To solve these problems, the immune genetic<br />
algorithm is proposed wavelet neural network model<br />
(IGA-WNN). Advantages <strong>of</strong> this model are:<br />
(1) structure determination, avoiding the blindness in<br />
the structure design <strong>of</strong> BP network;<br />
(2) the linear distribution <strong>of</strong> network weight factors<br />
and the convexity <strong>of</strong> study objective function<br />
fundamentally prevent issues such as the local<br />
optimization in network training process;<br />
(3)simple concept <strong>of</strong> algorithm, faster convergence<br />
speed;<br />
(4) strong function learning ability, able to approach<br />
any nonlinear function in high precision.<br />
The results show that: the immune genetic algorithm<br />
for wavelet neural network model (IGA-WNN)<br />
prediction accuracy 99%.<br />
II. IMMUNE GENETIC ALGORITHM OPTIMIZATION OF<br />
WAVELET NEURAL NETWORK MODEL (IGA-WNN)<br />
Wavelet neural network WNN is based on the wavelet<br />
theory, put forward artificial neural network as a<br />
feedforward network. It is based on the wavelet function<br />
as the neuron activation function, wavelet scaling,<br />
translation factors, as well as connection weights, the<br />
error energy function in the optimization process to be<br />
adaptive. Use <strong>of</strong> models such as (1) type shown.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 909<br />
M<br />
y( x)<br />
= f ( ∑ω<br />
jϕ<br />
a,<br />
b[<br />
∑v<br />
ji xi<br />
])<br />
(1)<br />
j=<br />
1<br />
N<br />
i=<br />
1<br />
Type in xi (i = 1,2,3, ... N) is the i-input; y (x) for the<br />
network output; ωj first j for the hidden layer nodes to<br />
output layer weights; vji for the first i- input to the j-node<br />
hidden layer weights; f (•) for the hidden layer to output<br />
layer activation function; ϕ a,<br />
b ( •)<br />
for the wavelet<br />
function, a, b are scaling and wavelet function for the<br />
translation factor; N input number; M is the number <strong>of</strong><br />
hidden layer neurons<br />
Error energy function is:<br />
1 ∑=<br />
K<br />
2<br />
E = [ T − f ( xk<br />
)]<br />
(2)<br />
2 k 1<br />
Type in: x K as the sample; K for the sample number.<br />
Wavelet theory, Zhang and Benveniste first proposed<br />
wavelet neural network (WNN), its forward neural<br />
networks as a new form <strong>of</strong> training with back propagation<br />
algorithm to approximate WNN arbitrary nonlinear<br />
function. Wavelet neural network (WNN)’s structure<br />
shown in Figure 1.<br />
Figure1. Schematic diagram <strong>of</strong> wavelet neural network<br />
Wavelet neural network is basically divided into three<br />
layers: input layer, wavelet function and output layers.<br />
The output expression is:<br />
( _<br />
y<br />
m<br />
∑<br />
j<br />
j<br />
_<br />
= w jψ x)<br />
(3)<br />
Type in: x = x1<br />
..., x i ,..., xm<br />
, ψ j That the wavelet<br />
function layer node function, w j equivalent to the<br />
wavelet coefficients after the wavelet decomposition.For<br />
a multi-variable nonlinear coupled system, need to build<br />
multi-dimensional wavelet function as the wavelet layer<br />
WNN node, where more than scalar wavelet function<br />
using the product to build multidimensional wavelet<br />
function.Therefore, WNN output expression to read:<br />
n m xi<br />
− bij<br />
y = ∑ w j∏<br />
( )<br />
a<br />
j<br />
ψ (4)<br />
i ij<br />
Among them, the scalar function ψ, multi-dimensional<br />
wavelet function in wavelet layer node number n,<br />
coefficient <strong>of</strong> Wj, scale parameters a ij and b ij are the<br />
translation parameters need to be identified and<br />
© 2011 ACADEMY PUBLISHER<br />
estimated.Here choose ψ (x) =- xexp (-1 / 2x2). For the<br />
parameters n, a ij and b ij , using immune algorithm is<br />
estimated that in the course <strong>of</strong> the iterative algorithm for<br />
updating coefficients Wj.<br />
Immune algorithm is a combination <strong>of</strong> deterministic<br />
and stochastic selection heuristic random search<br />
algorithm, which is considered to be adaptive immune<br />
response in a simple simulation, this study <strong>of</strong> antibodies<br />
and antigen response process to complete. Immune<br />
algorithm includes initialization antibody group, clonal<br />
selection, antibody clones, affinity mutation, clone<br />
inhibition, immune selection, new members <strong>of</strong> the other<br />
steps. each step corresponds to an evolutionary<br />
mechanism for the immune system. The evolution<br />
process <strong>of</strong> antibody optimization problem as a candidate<br />
solution, antigen as the optimal solution, process <strong>of</strong><br />
finding the optimal solution can be achieved by the<br />
immune algorithm.<br />
For a set <strong>of</strong> training data St={( xk , yk ), k = 1,…, nd} ,<br />
Objective function obtained here:<br />
( a ) ( b ) , n)<br />
nd<br />
1<br />
∧ ⎛ ⎞<br />
J ij , = ∑ ⎜ − ⎟ × ij<br />
y<br />
m n m×<br />
n<br />
k y (5)<br />
k<br />
n ⎝ ⎠<br />
Where, k<br />
y∧ is the y k estimate.<br />
Calculated using the following formula between the<br />
antibody and antigen affinity:<br />
f<br />
aff<br />
( a ) , ( b ) , n)<br />
ij m×<br />
n<br />
=<br />
1+<br />
exp<br />
( η J ( a ) , ( b ) , n )<br />
aff<br />
ij m×<br />
n<br />
1<br />
ij m×<br />
n<br />
d<br />
k<br />
ij m×<br />
n<br />
Where, 0
910 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Step 4: According to the affinity <strong>of</strong> antibodies size,<br />
degree <strong>of</strong> similarity and incentive on the antibody clone,<br />
mutation, suppression and selection;<br />
Step 5: Obtained from step 4, remove the new antibody<br />
population in one <strong>of</strong> the largest affinity antibodies to<br />
determine the antibody corresponding objective function<br />
value is less than the set value, if less than, the end <strong>of</strong> the<br />
algorithm; Otherwise, return to step 2.<br />
Genetic Algorithm (GA) is a global optimization<br />
algorithm based on natural selection and natural heredity,<br />
and it uses the selection, crossover and mutation <strong>of</strong> the<br />
three genetic operators abstracted from the mechanism <strong>of</strong><br />
natural selection to operate on the parameters encoding<br />
string, which features with overall importance, rapidity,<br />
good adaptability and strong robustness, etc and is able to<br />
achieve global search in complex, multimodal, nonlinear<br />
and non-differentiable space. The general steps <strong>of</strong> using it<br />
to solve problems are:<br />
Step1:conduct chromosome bit string encoding on the<br />
parameters that need to be optimized;<br />
Step2:generate initial population;<br />
Step3: evaluate the group and solute the fitness value<br />
<strong>of</strong> each individual;<br />
Step4: apply genetic operators on groups and generate<br />
new population, executing circularly. Specific genetic<br />
manipulation includes selection, crossover and mutation.<br />
When carrying out network training, the author applies<br />
genetic algorithm to optimize the network parameters <strong>of</strong><br />
wavelet neural network predictive model and determine<br />
hidden layer nodes---the number <strong>of</strong> wavelet in order to<br />
simplify network structure and improve the accuracy,<br />
adaptability and robustness <strong>of</strong> anode effect prediction.<br />
The author uses genetic algorithm optimization<br />
approach to identify the number <strong>of</strong> hidden nodes is the<br />
number <strong>of</strong> wavelet basis, while the second part is the<br />
training method <strong>of</strong> training: first with the genetic<br />
algorithm to train the network's scale factor, translation<br />
factor and weights the same time determine the wavelet<br />
Number, and then use gradient descent on the scale,<br />
translation factors and weights, the threshold for<br />
secondary training. The specific steps:<br />
1. encode<br />
For chromosomes to mixed binary and real coded form<br />
<strong>of</strong> the binary code to each network that the effectiveness<br />
<strong>of</strong> Cain layer unit, randomly generated N (determined<br />
based on experience) one structure, each individual<br />
corresponds to a structure, the wavelet network The<br />
number <strong>of</strong> input and output nodes to reflect the anode<br />
effect by the number <strong>of</strong> parameters determined by the<br />
actual situation, when encoding only the number <strong>of</strong><br />
hidden layer wavelet encoding, 0 for invalid connections,<br />
1 connection is valid;On the network weights, scale<br />
factor, translation factor to real coding, the wavelet<br />
corresponding to each individual network, weight, scale<br />
factor, translation factor compiled a code string sequence<br />
as a gene. Code string obtained by mixing the form <strong>of</strong><br />
coding<br />
h h h h h h h h h h ο ο ο<br />
φ w ⋅⋅wa<br />
b ⋅⋅φHw<br />
⋅⋅<br />
11 11 1 1 H1<br />
wH<br />
1aHb<br />
Hφ<br />
1<br />
w ⋅⋅<br />
Ο 11 wH<br />
1<br />
1…0…1 (10)<br />
© 2011 ACADEMY PUBLISHER<br />
Where: h is hidden, O for the output layer.<br />
2. Swarm initialization<br />
For the initialization for weights, threshold, scale<br />
factor and shift factor, the initialization interval is [-1, 1].<br />
Set the population size to S, crossover probability to Pc,<br />
mutation probability to Pm, and the maximum number <strong>of</strong><br />
genetic iterations to Gmax.<br />
3. Calculation <strong>of</strong> individual fitness<br />
Evaluate the training results according to the fitness<br />
function, and the evaluation evidence is:<br />
f<br />
1<br />
=<br />
1+<br />
E<br />
(11)<br />
4. determine whether the fitness value meets the<br />
overall requirements, if it satisfies, refer to 6, otherwise<br />
execute 5.<br />
5. Selection, crossover and mutation<br />
Adopt the roulette selection method to get a large<br />
number <strong>of</strong> individuals with strong fitness, and then use<br />
them to directly copy the next generation. At the same<br />
time, carry out crossover and mutation on the individuals<br />
which need to be conducted these operations according to<br />
the crossover probability Pc and mutation probability Pm<br />
in order to generate the next generation, then refer to 3, to<br />
evaluate its fitness value.<br />
6. if it meets the pre-conditions or maximum<br />
iterations, end the loop to obtain the optimal chromosome<br />
and decode it into corresponding number <strong>of</strong> hidden layer<br />
wavelet basis, weight, scale factor and shift factor.<br />
7. Secondary Training<br />
After determining the number <strong>of</strong> hidden layer network<br />
nodes, use gradient descent algorithm to conduct<br />
secondary optimization training on parameters such as<br />
weight, threshold, scale factor, scale factor and shift<br />
factor. The parameters obtained after two optimizations<br />
will be used as the final parameters <strong>of</strong> genetic wavelet<br />
network prediction model, and furthermore used to<br />
predict the performance <strong>of</strong> centrifugal compressors.<br />
III. THE EXTRACTION OF MODEL IDENTIFICATION<br />
PARAMETER<br />
The factors affecting the performance <strong>of</strong> centrifugal<br />
compressor own the following performance parameters:<br />
flow(Q), blade incidence(βA) , rotational speed(n) ,<br />
number <strong>of</strong> leaves(Z), number <strong>of</strong> guide vanes(Z1),<br />
impeller diameter(D), ratio <strong>of</strong> impeller outer and inner<br />
diameter(D1/D2), the impeller outlet width(b2), pressure<br />
ratio(Pd/Ps), etc. Simply calculating, select 4 main<br />
performance parameters: flow(Q), installation angle <strong>of</strong><br />
the impeller outlet (β2A), pressure ratio(ε=Pd/Ps)and<br />
efficiency(η)to establish predictive model. Research on<br />
the centrifugal compressor with the same rotate speed,<br />
and take the pressure ration corresponding to 4 different<br />
installation angles <strong>of</strong> the impeller outlet(β2A) and the<br />
performance curve <strong>of</strong> efficiency changing with the flow.<br />
Utilize partial data <strong>of</strong> these known performance curve to<br />
conduct training for BP neural network, and then make<br />
use <strong>of</strong> other data to test the network prediction ability that<br />
has been trained. According to the efficiency and pressure<br />
ratio <strong>of</strong> 16 flow points <strong>of</strong> each blade angle obtained
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 911<br />
through 4 performance testing data, divide the data into<br />
groups, as shown in table 1. These data constitute 64<br />
pairs <strong>of</strong> sample points. The input mode <strong>of</strong> each sample is<br />
constituted by 1 angle value and 1 flow value, while the<br />
output mode is constituted by 1 efficiency or pressure<br />
β2A°<br />
30<br />
30<br />
Q<br />
m 3 /s<br />
1.52<br />
1.51<br />
1.50<br />
1.49<br />
1.48<br />
1.47<br />
1.46<br />
1.45<br />
1.44<br />
1.43<br />
1.52<br />
1.51<br />
1.50<br />
1.49<br />
1.48<br />
1.47<br />
ε<br />
1.21<br />
1.31<br />
1.40<br />
1.50<br />
1.66<br />
1.71<br />
1.80<br />
1.91<br />
2.00<br />
2.10<br />
1.21<br />
1.32<br />
1.34<br />
1.47<br />
1.58<br />
1.66<br />
η<br />
% β2A°<br />
71.00<br />
73.00<br />
75.00<br />
77.00<br />
79.00<br />
81.00<br />
83.00<br />
84.00<br />
86.00<br />
89.00<br />
71.00<br />
73.00<br />
75.00<br />
77.00<br />
79.00<br />
81.00<br />
32<br />
32<br />
Table 1<br />
Sample Centrifugal Compressor Performance Prediction<br />
Q<br />
m 3 /s<br />
1.67<br />
1.66<br />
1.65<br />
1.64<br />
1.63<br />
1.62<br />
1.61<br />
1.60<br />
1.59<br />
1.58<br />
1.67<br />
1.66<br />
1.65<br />
1.64<br />
1.63<br />
1.62<br />
IV. SIMULATION RESULTS<br />
ε<br />
1.31<br />
1.41<br />
1.60<br />
1.70<br />
1.81<br />
1.90<br />
2.00<br />
2.11<br />
2.30<br />
2.40<br />
1.32<br />
1.41<br />
1.65<br />
1.73<br />
1.82<br />
1.96<br />
η<br />
%<br />
74.00<br />
76.00<br />
77.00<br />
78.00<br />
80.00<br />
81.00<br />
82.00<br />
83.00<br />
84.00<br />
86.00<br />
74.00<br />
76.00<br />
77.00<br />
78.00<br />
80.00<br />
81.00<br />
Immune genetic algorithm to optimize the initial<br />
antibody population or the population size S = 50, the<br />
maximum number <strong>of</strong> iterations Gmax = 10000, training<br />
for gradient descent learning rate η = 0.85, momentum<br />
factor α = 0.921, learning error to set ε = 0.001 , The<br />
maximum number <strong>of</strong> learning steps epoch = 10,<br />
crossover probability Pc = 0.25, mutation probability Pm<br />
= 0.01, the maximum number <strong>of</strong> learning steps epoch =<br />
10. For the learning rate η, used in the training process<br />
adaptive method for faster convergence rate and improve<br />
the prediction <strong>of</strong> real-time.<br />
To paragraph (1) group <strong>of</strong> 40 samples <strong>of</strong> data input,<br />
after several training comparison, the number <strong>of</strong> hidden<br />
layer neurons is taken as 10, to build the prediction<br />
model. To subsection (2) group <strong>of</strong> 24 samples to be<br />
predicted forecast data generation model identification, in<br />
the iteration stops after 4800 time iterations, the correct<br />
identification rate <strong>of</strong> 99%, At this point, pressure<br />
ratio( ε ) and efficiency ( η )errors are 1.0406 × 10 -6 ,<br />
1.0386×10 -6 ; Recognition rate WNN model is greater<br />
than 90%; BP network model is over 85% recognition<br />
accuracy. Figure 2 and Figure 3 is IGA-WNN, WNN and<br />
BP training error comparison chart, we can see from the<br />
figure: IGA-WNN's convergence speed.<br />
© 2011 ACADEMY PUBLISHER<br />
ratio. Divide the samples into 2 groups: there are 40<br />
samples in group (1), which are mainly used in the<br />
network training to establish predictive model; there are<br />
24 samples in group (2) used to test the predictive model.<br />
β2A°<br />
34<br />
34<br />
Q<br />
m 3 /s<br />
1.84<br />
1.83<br />
1.82<br />
1.81<br />
1.80<br />
1.79<br />
1.78<br />
1.77<br />
1.76<br />
1.75<br />
2.01<br />
2.00<br />
1.99<br />
1.98<br />
1.97<br />
1.86<br />
ε<br />
1.42<br />
1.52<br />
1.71<br />
1.90<br />
2.00<br />
2.10<br />
2.20<br />
2.31<br />
2.40<br />
2.61<br />
1.35<br />
1.53<br />
1.74<br />
1.95<br />
2.02<br />
2.14<br />
η<br />
%<br />
78.00<br />
80.00<br />
81.00<br />
82.00<br />
83.00<br />
85.00<br />
86.00<br />
87.00<br />
88.00<br />
89.00<br />
82.00<br />
83.00<br />
84.00<br />
86.00<br />
87.00<br />
88.00<br />
β2A°<br />
36<br />
36<br />
Q<br />
m 3 /s<br />
2.01<br />
2.00<br />
1.99<br />
1.98<br />
1.97<br />
1.96<br />
1.95<br />
1.94<br />
1.93<br />
1.92<br />
2.06<br />
2.04<br />
1.99<br />
1.96<br />
1.93<br />
1.88<br />
ε<br />
1.61<br />
1.72<br />
1.80<br />
1.90<br />
2.12<br />
2.33<br />
2.43<br />
2.52<br />
2.61<br />
2.70<br />
1.34<br />
1.56<br />
1.71<br />
1.85<br />
2.10<br />
2.16<br />
Figure 2.ε training error comparison chart<br />
Figure 3. η training error comparison chart<br />
η<br />
%<br />
82.00<br />
83.00<br />
84.00<br />
86.00<br />
87.00<br />
88.00<br />
89.00<br />
90.00<br />
91.00<br />
92.00<br />
85.00<br />
86.00<br />
87.00<br />
88.00<br />
89.00<br />
90.00<br />
In order to better understand and explain the immune<br />
genetic algorithm neural network model to predict the<br />
performance advantages <strong>of</strong> centrifugal compressors. Of
912 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
the study, also using BP neural network and wavelet<br />
neural network WNN data were processed using the same<br />
training samples, and establish a three-layer neural<br />
network model, the number <strong>of</strong> hidden neurons is set to<br />
1O, and the immune genetic Algorithm optimization <strong>of</strong><br />
wavelet neural network model has the same structure <strong>of</strong><br />
the network, the training sample to predict recognition.<br />
The simulation results from Matlab, you can obviously<br />
see, IGA-WNN and BP in the 4800 iteration <strong>of</strong> the<br />
changes within the training error, IGA-WNN method <strong>of</strong><br />
convergence speed and accuracy <strong>of</strong> better than WNN<br />
method; WNN method <strong>of</strong> convergence Speed and<br />
accuracy is obviously better than the BP method. Table 2<br />
Table 2<br />
Pressure ratio (ε ) and Efficiency (η ) prediction table<br />
shows the centrifugal compressor pressure ratio (ε ) and<br />
efficiency ( η ) predictions.<br />
In order to better observe the centrifugal compressor<br />
pressure ratio (ε ) and efficiency (η ) <strong>of</strong> the predicted<br />
results, the measured value and the IGA-WNN, WNN,<br />
BP predicted values with the scatter plot to display. It is<br />
clear that: IGA-WNN best prediction. Figure 4, Figure 5,<br />
Figure 6, Figure 7, Figure 8 and Figure 9.<br />
β2A° ε BP WNN IGA-WNN Q(m 3 /s) η (%) BP WNN IGA-WNN<br />
30<br />
32<br />
34<br />
36<br />
1.21<br />
1.32<br />
1.34<br />
1.47<br />
1.58<br />
1.66<br />
1.32<br />
1.35<br />
1.34<br />
1.73<br />
1.82<br />
1.96<br />
1.35<br />
1.53<br />
1.74<br />
1.95<br />
2.02<br />
2.14<br />
1.34<br />
1.56<br />
1.73<br />
1.85<br />
2.10<br />
2.16<br />
1.01<br />
1.30<br />
1.40<br />
1.50<br />
1.61<br />
1.68<br />
1.25<br />
1.40<br />
1.41<br />
1.71<br />
1.80<br />
1.81<br />
1.40<br />
1.46<br />
1.71<br />
1.91<br />
1.92<br />
2.10<br />
1.42<br />
1.53<br />
1.71<br />
1.81<br />
2.07<br />
1.91<br />
1.16<br />
1.33<br />
1.38<br />
1.50<br />
1.61<br />
1.69<br />
1.32<br />
1.39<br />
1.39<br />
1.74<br />
1.83<br />
1.93<br />
1.39<br />
1.53<br />
1.75<br />
1.96<br />
2.01<br />
2.14<br />
1.39<br />
1.57<br />
1.74<br />
1.85<br />
2.11<br />
2.10<br />
1.21<br />
1.32<br />
1.35<br />
1.47<br />
1.58<br />
1.66<br />
1.32<br />
1.36<br />
1.35<br />
1.73<br />
1.82<br />
1.95<br />
1.36<br />
1.53<br />
1.74<br />
1.95<br />
2.02<br />
2.13<br />
1.34<br />
1.56<br />
1.73<br />
1.84<br />
2.10<br />
2.16<br />
Figure4. BP to centrifugal compressor's pressure ratio forecast contrast<br />
chart<br />
© 2011 ACADEMY PUBLISHER<br />
1.52<br />
1.51<br />
1.50<br />
1.49<br />
1.48<br />
1.47<br />
2.01<br />
2.00<br />
1.99<br />
1.98<br />
1.97<br />
1.86<br />
1.67<br />
1.66<br />
1.65<br />
1.64<br />
1.63<br />
1.62<br />
2.06<br />
2.04<br />
1.99<br />
1.96<br />
1.93<br />
1.91<br />
71.00<br />
73.00<br />
75.00<br />
77.00<br />
79.00<br />
81.00<br />
82.00<br />
83.00<br />
84.00<br />
86.00<br />
87.00<br />
88.00<br />
74.00<br />
76.00<br />
77.00<br />
78.00<br />
80.00<br />
81.00<br />
85.00<br />
86.00<br />
87.00<br />
88.00<br />
89.00<br />
90.00<br />
71.30<br />
73.10<br />
75.40<br />
77.30<br />
79.60<br />
81.20<br />
82.40<br />
83.20<br />
84.50<br />
86.40<br />
87.10<br />
88.30<br />
74.20<br />
76.50<br />
77.40<br />
78.50<br />
80.20<br />
81.50<br />
84.40<br />
85.20<br />
86.50<br />
87.40<br />
88.50<br />
89.30<br />
71.12<br />
73.06<br />
75.16<br />
77.12<br />
79.23<br />
81.09<br />
82.15<br />
83.09<br />
84.19<br />
86.15<br />
87.05<br />
88.12<br />
74.09<br />
76.18<br />
77.16<br />
78.19<br />
80.09<br />
81.19<br />
84.82<br />
85.75<br />
86.86<br />
87.82<br />
88.85<br />
89.79<br />
71.01<br />
73.01<br />
75.02<br />
77.00<br />
79.02<br />
81.00<br />
82.00<br />
83.01<br />
84.02<br />
86.00<br />
87.00<br />
87.99<br />
74.00<br />
75.99<br />
77.01<br />
78.01<br />
80.00<br />
81.02<br />
84.99<br />
85.99<br />
87.01<br />
88.00<br />
89.00<br />
90.01<br />
Figure5. BP to centrifugal compressor's potency forecast contrast chart
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 913<br />
Figure6. WNN to centrifugal compressor's pressure ratio forecast<br />
contrast chart<br />
Figure7. WNN to centrifugal compressor's potency forecast contrast<br />
chart<br />
Figure8. IGA-WNN to centrifugal compressor's pressure ratio forecast<br />
contrast chart<br />
© 2011 ACADEMY PUBLISHER<br />
Figure9. IGA-WNN to centrifugal compressor's potency forecast<br />
contrast chart<br />
V. CONCLUSIONS<br />
Simulation Description: immune genetic algorithm<br />
neural network model(IGA-WNN) with structural<br />
stability, simple algorithm, global search capability and<br />
convergence speed, generalization ability, etc., can reflect<br />
the nonlinear centrifugal compressor performance<br />
Problem. The measured performance <strong>of</strong> the centrifugal<br />
compressor 40 samples for training, 24 samples to<br />
predict, predict the correct rate <strong>of</strong> 99%. Predicted effect,<br />
centrifugal compressor performance monitoring presents<br />
a fast convergence and high accuracy, low cost<br />
performance prediction model developed in the<br />
experiment, the centrifugal compressor to improve<br />
efficiency, reduce costs and has practical value to the<br />
similar Problem with some guidance.<br />
REFERENCES<br />
[1] Yue bangguo, “Talking about bedpan’s flushing filth<br />
function and saving water,” Chinaware, 2001(5).(in<br />
Chinese)<br />
[2] Wu ziniu, The basic elements <strong>of</strong> computing<br />
hydromechanics. Beijing: the Science Press. 2001. 1-8. (in<br />
Chinese)<br />
[3] Hong fangwen, “Kinetic object round free surface flowing<br />
field value simulation and experimentation research,”<br />
Doctor Degree thesis. Wuxi, Jiangsu, China: Chinese<br />
watercraft science research center. 2001.4. (in Chinese)<br />
[4] C.W. Hirt, B.D. Nichols. Volume <strong>of</strong> fluid (VOF) method<br />
for the dynamics <strong>of</strong> free boundaries. <strong>Journal</strong> <strong>of</strong><br />
Computational Physics, 1981, 39:201-225.<br />
[5] Lin huzong, Phantasmagoric flowing science-multiphase<br />
hydromechanics. Beijing: the book concern <strong>of</strong> Qinghua<br />
University, Guangzhou: the book concern <strong>of</strong> Jinan<br />
University. (in Chinese).<br />
[6] Wang Xi Feng, Gao Ling, Zhang twins. based on wavelet<br />
technology for network traffic analysis and forecasting [J].<br />
Computer Applications and S<strong>of</strong>tware, 2008,25 (8) :70-72.<br />
(in Chinese)
914 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
[7] Liu Yuan, Dai Yue, Jian-Hua Cao. based on wavelet neural<br />
network traffic prediction <strong>of</strong> chaotic time series [J].<br />
Computer Engineering, 2008, 34 (16): 105 - 107. (in<br />
Chinese).<br />
[8] SOUTHEAST UNIVERSITY Hou Jun, Jiang Shuyan and<br />
so on. based on wavelet analysis and hierarchical decisionmaking<br />
method for analog circuit fault diagnosis [J].<br />
Computer Applications, 2010,27 (6) :2057-2060. (in<br />
Chinese).<br />
[9] Li Li, Li Hongqi, Xieshao Long and so on. clonal selection<br />
based on immune particle optimization algorithm [J].<br />
Computer Science, 2008, 35 (10): 253 - 278. (in Chinese)<br />
[10] Chenzhen Wei, Zheng Guo crisis. Wavelet neural network<br />
predictive model Simulation [J]. Computer Simulation,<br />
2008, 25 (6): 147-150(in Chinese).<br />
[11] Zhourong Yi, Li Shuqing, cows will never , Wavelet<br />
Neural Network on Safety Management Evaluation[J],<br />
Coal Science and Technology,2006(5):67-70(in Chinese).<br />
[12] Lidi Wei, Shao-hua, SHEN Yuan-tong. PSO based wavelet<br />
neural network [J]. Engineering Geophysics, 2007, 4 (6):<br />
529-532(in Chinese).<br />
[13] F Calise, et al. Simulation and exergy analysis <strong>of</strong> a hybrid<br />
SolidOxide Fuel Cell (SOFC)- Gas Turbine System [ J ].<br />
Energy,2006, 31 (15) : 3278 - 3299.<br />
[14] V M Janardhanan, V Heuveline, O Deutschmann.<br />
Performance analysis <strong>of</strong> a SOFC under direct internal<br />
reforming conditions[J].<strong>Journal</strong> <strong>of</strong> Power<br />
Sources,2007,172(1):296-307.<br />
[15] Ko Mei Jing, Hu Liming. wavelet neural network based on<br />
genetic pressure sensor nonlinear correction [J]. Actuators,<br />
2007,20 (4) :816-819(in Chinese).<br />
[16] Cao there. an immune particle swarm optimization<br />
algorithm and the wavelet neural network learning<br />
application [J]. Computer Applications and S<strong>of</strong>tware,<br />
2009,26 (6) :189-191(in Chinese).<br />
[17] Zhao Guorong, Wang Xibin, Gao Qing Wei , PSO neural<br />
network transfer <strong>of</strong> INS Alignment[J], System<br />
Simulation,2010,22(3):670-673 (in Chinese).<br />
© 2011 ACADEMY PUBLISHER<br />
Author: Shengzhong Huang, 1957,<br />
male, Guangxi Hezhou, associate pr<strong>of</strong>essor.<br />
Research Interests: Computer Intelligence<br />
algorithms and digital image processing. In<br />
ten years teaching computer applications,<br />
published more than 20.<br />
Funding Project: New Project For<br />
Guangxi Higher Education Reform<br />
(2010JGB135).
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 915<br />
Development <strong>of</strong> Optimization Design S<strong>of</strong>tware<br />
for Bevel Gear Based on Integer Serial Number<br />
Encoding Genetic Algorithm<br />
Xiaoqin Zhang<br />
Mechanical and Electrical Engineering College<br />
Hebei Normal University <strong>of</strong> Science & Technology, Qinhuangdao, China<br />
Email: zxqwlc@163.com<br />
Yu Rong, Jingjing Yu, Liling Zhang and Lina Cui<br />
Mechanical and Electrical Engineering College<br />
Hebei Normal University <strong>of</strong> Science & Technology, Qinhuangdao, China<br />
Email: lixiangcg@126.com<br />
Abstract—Bevel gear drive is widely used, quality <strong>of</strong> which<br />
not only affects its own transmission performance, size and<br />
weight, but also has some impact on the machine's<br />
performance. This paper introduces optimization design<br />
s<strong>of</strong>tware for bevel gear, in which automatic optimization<br />
design is realized. In the paper mathematical model,<br />
programming <strong>of</strong> design data and realization <strong>of</strong> optimization<br />
design based on genetic algorithm are described in detail.<br />
The paper proposed integer serial number encoding genetic<br />
algorithm, which effectively deals with continuous and<br />
discrete variable optimization problem and reduces the code<br />
length <strong>of</strong> the string to improve the encoding and decoding<br />
efficiency, no invalid solution or duplicate solutions.<br />
Index Terms—bevel gear, optimization design, genetic<br />
algorithm, integer serial number encoding, augmented<br />
penalty function<br />
I. INTRODUCTION<br />
Bevel gear drive, characterized by changing direction,<br />
high coincidence and smooth transmission, etc., is widely<br />
used in the aerospace, automotive and large mechanical<br />
transmission system. So its design quality not only affect<br />
its own transmission performance, size and weight but<br />
also have some impact on the machine's performance. In<br />
practical engineering design, involving many parameters,<br />
consuming much calculation time, prone to error, and<br />
repeated calculation, query and drawing are needed for<br />
series <strong>of</strong> product design, resulting in substantial<br />
duplication <strong>of</strong> effort, so the development <strong>of</strong> bevel gear<br />
design s<strong>of</strong>tware finding the optimal design is <strong>of</strong> great<br />
significance [1] [2] [3].<br />
Optimization design <strong>of</strong> bear gear includes the<br />
continuous variables and discrete variables. The<br />
traditional method is to round the optimal design to the<br />
adjacent discrete points. Thus, design point might run out<br />
Manuscript received January 1, 2010; revised December 10, 2010;<br />
accepted January 8, 2011<br />
Corresponding author: Zhang Xiaoqin<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.915-922<br />
<strong>of</strong> the feasible region, besides traditional optimization<br />
method mostly bases on gradient algorithm, which is<br />
likely trapped into local minimum search. Many studies<br />
indicate that the genetic algorithm has strong ability <strong>of</strong><br />
general optimization, which is very effective in treating<br />
optimization problem containing continuous and discrete<br />
variables[4][5].<br />
This paper proposes the optimization design s<strong>of</strong>tware<br />
for straight tooth bevel gear based on genetic algorithm<br />
encoding with integer serial number, no invalid solution<br />
or duplicate solutions, the code length <strong>of</strong> the string<br />
reduced, the encoding and decoding efficiency improved.<br />
II. SOFTWARE FUNCTION<br />
The s<strong>of</strong>tware can accomplish strength-calculation and<br />
optimal design <strong>of</strong> straight tooth bevel gear based on GB/T<br />
Calculation Methods <strong>of</strong> Load Capacity for Bevel Gear.<br />
Moreover friendly user interface is developed using VB<br />
language shown in Fig. 1. Input the known data, click on<br />
the button "optimization calculation", the user can get the<br />
optimization results <strong>of</strong> straight tooth bevel gear. Click on<br />
the button "gear materials and fatigue limit query", the<br />
user can get the corresponding fatigue limit <strong>of</strong> gear<br />
materials, shown in Fig. 2. Click on the button<br />
“coefficient calculation”, various coefficients can be<br />
calculated, shown in Fig. 3. For example, select Yfsa and<br />
click on the button “calculate coefficient”, then the<br />
interface for calculating Yfsa appear as shown in Fig. 4.<br />
Input the known data and click on the calculating button,<br />
the results <strong>of</strong> recombination tooth coefficient for pinion<br />
and gear are gained.<br />
III. CRITICAL TECHNOLOGY<br />
A. Establishing Mathematical Model<br />
Establishing mathematical model is prime step for gear<br />
design, in which the design variables, objective function
916 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Figure 1. User interface<br />
Figure 2. Gear material<br />
and constraints are determined through studying gear<br />
design theory.<br />
B. Programming <strong>of</strong> A Large Number <strong>of</strong> Graph and Table<br />
In gear design process, involving a large number <strong>of</strong><br />
graph and table data, how to invert artificial seeking into<br />
automatically calculation is a basic problem in the<br />
process <strong>of</strong> CAD operations.<br />
C. Genetic Algorithm Realizing<br />
The augmented penalty function and integer serial<br />
number encoding is used in genetic algorithm.<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 3. Coefficient calculation<br />
Figure 4. Yfsa calculation<br />
S<strong>of</strong>tware design flow chart is shown as Fig. 5<br />
IV. MATHEMATICAL MODEL FOR OPTIMIZATION DESIGN<br />
Optimization objects for straight tooth bevel gear are<br />
various. If user requirements needed, the consumption <strong>of</strong><br />
material is the measurement <strong>of</strong> design. Therefore the<br />
optimization object is the volume <strong>of</strong> frustum <strong>of</strong> cone <strong>of</strong><br />
the bevel gear pair [2][6][7].<br />
A. Object Function<br />
Bevel Gear volume are the sum <strong>of</strong> pinion volume and<br />
gear volume, while each bevel gear volume is similar to<br />
the volume <strong>of</strong> frustum <strong>of</strong> cone between the big end and<br />
small end <strong>of</strong> the pitch circle. Therefore, according to the<br />
volume formula <strong>of</strong> frustum <strong>of</strong> cone, volume calculation<br />
formula <strong>of</strong> straight tooth bevel gear pair can be expressed<br />
as:<br />
V = V1+<br />
V2<br />
π ⎡ mz1<br />
2 mz1<br />
R −b<br />
mz1<br />
R −b<br />
mz1<br />
2⎤<br />
= bcosδ1⎢(<br />
) + ( × ) + ( × ) ⎥ +<br />
3 ⎣ 2 2 R 2 R 2 ⎦<br />
π ⎡ mz2<br />
2 mz2<br />
R −b<br />
mz2<br />
R −b<br />
mz2<br />
2⎤<br />
bcosδ2<br />
⎢(<br />
) + ( × ) + ( × )<br />
3<br />
⎥<br />
⎣ 2 2 R 2 R 2 ⎦<br />
(1)<br />
Where, b is the face width, δ1, δ2 are respectively cone<br />
angle <strong>of</strong> pinion and gear, m is modulus, z1 is tooth<br />
number <strong>of</strong> pinion, R is cone pitch, z2 is tooth number <strong>of</strong><br />
gear.<br />
Figure 5. S<strong>of</strong>tware design flow chart
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 917<br />
B. Design Variable<br />
The independent design parameters <strong>of</strong> volume <strong>of</strong><br />
straight bevel gear drive include big end module m, tooth<br />
number <strong>of</strong> pinion z1, face width coefficient φR, so the<br />
design variables are.<br />
X = [m,z1,φR] T = [x1,x2,x3] T (2)<br />
C. Constraint Conditions<br />
1) Contact strength conditions<br />
The bending stress σH and contact stress σF <strong>of</strong> gears<br />
should be not more than the allowable value, i.e.<br />
4.<br />
7KT1<br />
σ H = Z E Z H Z ε ≤ [ σ ]<br />
2 3 3 H<br />
ϕ R ( 1−<br />
0.<br />
5ϕ<br />
R ) m z1<br />
u<br />
(3)<br />
Where, ZE is the elastic coefficient; ZH is regional<br />
coefficient <strong>of</strong> pitch point, for straight gear ZH = 2.5; Zε is<br />
the coincidence coefficient; K is load coefficient; T1 is<br />
input torque; [σH] is the allowable contact stress.<br />
2) Tooth root bending strength conditions<br />
σ<br />
4.<br />
7KT1Y<br />
=<br />
2<br />
ϕ ( 1−<br />
0.<br />
5ϕ<br />
) z<br />
≤ [ σ ] (4)<br />
FSa1<br />
ε<br />
F1<br />
R<br />
R<br />
2 3<br />
1 m<br />
2<br />
u + 1<br />
F1<br />
YFSa2<br />
σ F 2 = σ F1<br />
≤ [ σ F1]<br />
(5)<br />
Y<br />
FSa1<br />
σF1,σF2 are respectively tooth root bending stress <strong>of</strong><br />
small and large bevel gear; [σ]F1, [σ]F2 are respectively<br />
allowable bending stress <strong>of</strong> small and large bevel gear;<br />
YFSa1, YFSa2 are respectively tooth recombination<br />
coefficient <strong>of</strong> small and large bevel gear; Yε is the<br />
contact ratio coefficient.<br />
3) The maximum peripheral speed conditions.<br />
For straight bevel gear, the peripheral speed <strong>of</strong> the<br />
average diameter vm should meet:<br />
vm
918 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
kv=polyval(p,x)<br />
Figure 6. Dynamic load coefficient<br />
C. Programming <strong>of</strong> Gear Recombination Coefficients<br />
In gear design, the tooth shape coefficient YFa and<br />
stress correction coefficient YSa are the most complicated<br />
to determine, affected by the gear module, helix angle,<br />
equivalent number <strong>of</strong> teeth, variable coefficient, pressure<br />
angle, tooth root fillet radius and other factors. Ref. [6]<br />
gives the calculating formula in detail, in which a<br />
transcendental equation is needed to solve.<br />
1) Solving <strong>of</strong> transcendental equation.<br />
When calculating YFa or YSa, it’s needed to solve<br />
equation:<br />
θ=2.*G.*tan(θ)./zv+H (9)<br />
Where x is needed to calculate, G and H are middle<br />
variables, and zv is equivalent tooth number.<br />
This equation can be solved by MATLAB function<br />
fsolve( ). For example,<br />
x = fsolve(fun,x0) (10)<br />
Equation (10) starts at x0 and tries to solve the<br />
equations described in fun.<br />
The program <strong>of</strong> solving (9) is as followings:<br />
sita0=pi./6.*ones(1,length(zv)) %starting point<br />
sitax=@(x)bevelsita(x,G,H,zv) % function handle<br />
sita=fsolve(sitax,sita0)<br />
Where bevelsita is a M-file function, the content <strong>of</strong><br />
which is as followings:<br />
function s=bevelyfasita(x,G,H,zv)<br />
s=x-2.*G.*tan(x)./zv+H;<br />
2) Recombination gear tooth shape coefficient<br />
In the paper, the tooth shape coefficient YFa and stress<br />
correction coefficient YSa are integrated into one<br />
parameter, that is, YFa* YSa, which are called<br />
recombination gear tooth shape coefficient, and<br />
programmed by one M-file function, BevelGearYfsa.m,<br />
the content <strong>of</strong> which is as followings:<br />
function [yfs1,yfs2]=bevelgearYfsa(m,z1,u,fr)<br />
%generating method, m: module; z1: tooth number<br />
<strong>of</strong> %pinion; u: rotating speed ratio; fr: tooth<br />
face %coefficient<br />
if app==1 % applied to industry;<br />
d1=m*z1 %big end diameter<br />
…<br />
else app==2 % applied to automobile<br />
© 2011 ACADEMY PUBLISHER<br />
d2=m*z1 % big end diameter<br />
…<br />
end<br />
…<br />
sf1=(zv1*sin(pi/3-sita1)+sqrt(3)*(G/cos(sita1)pa0/mm))*mmsf2=(zv2*sin(pi/3-sita2)+sqrt(3)*(G/cos(sita2)pa0/mm))*mm<br />
pf1=(pa0/mm+2*G^2/(cos(sita1)*(zv1*cos(sita1)^2-<br />
2*G)))*mm<br />
pf2=(pa0/mm+2*G^2/(cos(sita2)*(zv2*cos(sita2)^2-<br />
2*G)))*mm<br />
hfa1=(0.5*zv1*(cos(alf)/cos(alffa1)-cos(pi/3sita1))+0.5*(pa0/mn-G/cos(sita1)))*mnhfa2=(0.5*zv2*(cos(alf)/cos(alffa2)-cos(pi/3sita2))+0.5*(pa0/mn-G/cos(sita2)))*mn<br />
%calculating tooth shape factor <strong>of</strong> pinion and gear<br />
yfa1=(6*hfa1/mm)/((sf1/mm)^2)*cos(alffa1)/cos(alf)<br />
yfa2=(6*hfa2/mm)/((sf2/mm)^2)*cos(alffa2)/cos(alf)<br />
La1=sf1./hfa1<br />
La2=sf2./hfa2<br />
qs1=sf1./2./pf1<br />
qs2=sf2./2./pf2<br />
%calculating stress correction coefficients <strong>of</strong><br />
pinion %and gear<br />
ysa1=(1.2+0.13.*La1).*qs1.^(1./(1.21+2.3./La1))<br />
ysa2=(1.2+0.13.*La2).*qs2.^(1./(1.21+2.3./La2))<br />
% recombination gear tooth shape coefficients<br />
<strong>of</strong> %pinion and gear<br />
yfs1=yfa1.*ysa1<br />
yfs2=yfa2.*ysa2<br />
VI. REALIZATION OF OPTIMIZAITION DESIGN<br />
A. Principle <strong>of</strong> Genetic Algorithm<br />
Genetic Algorithm (GA) is referred to as a search<br />
method <strong>of</strong> optimal solution to simulating Darwin's<br />
genetic selection and biological evolution process.<br />
Genetic algorithm is a series <strong>of</strong> random iterations and<br />
evolutionary computations simulating the process <strong>of</strong><br />
selection, crossover and mutation occurred in natural<br />
selection and population genetic, in according to the<br />
survival <strong>of</strong> the fittest, through crossover and mutation,<br />
good quality gradually maintained and combined, while<br />
continually producing better individuals and out <strong>of</strong> bad<br />
individuals. Through the generational produce and<br />
optimizing the individual, the whole group evolves<br />
forward and constantly approaches to the optimal<br />
solution.<br />
Genetic algorithm, not requiring gradient information<br />
and continuous function, optimization results being<br />
global, applied to mechanical design optimization<br />
problems, can effectively avoid local optimal solutions,<br />
and get the global optimal solution [2] [7].<br />
B. Outline <strong>of</strong> the Genetic Algorithm<br />
The following outline summarizes how the genetic<br />
algorithm works [8]:<br />
1) The algorithm begins by creating a random initial<br />
population.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 919<br />
2) The algorithm then creates a sequence <strong>of</strong> new<br />
populations. At each step, the algorithm uses the<br />
individuals in the current generation to create the next<br />
population. To create the new population, the algorithm<br />
performs the following steps:<br />
a) Scores each member <strong>of</strong> the current population<br />
by computing its fitness value.<br />
b) Scales the raw fitness scores to convert them<br />
into a more usable range <strong>of</strong> values.<br />
c) Selects members, called parents, based on their<br />
fitness.<br />
d) Some <strong>of</strong> the individuals in the current population<br />
that have lower fitness are chosen as elite. These elite<br />
individuals are passed to the next population.<br />
e) Produces children from the parents.<br />
Children are produced either by making random<br />
changes to a single parent - mutation - or by combining<br />
the vector entries <strong>of</strong> a pair <strong>of</strong> parents - crossover.<br />
f) Replaces the current population with the<br />
children to form the next generation.<br />
3) The algorithm stops when one <strong>of</strong> the stopping<br />
criteria is met.<br />
C. Integer Serial Number Encoding<br />
In the paper, integer serial number encoding method is<br />
used, in which each chromosome represents the number<br />
<strong>of</strong> a variable value in discrete collection. The advantages<br />
<strong>of</strong> integer serial number encoding relative to the binary<br />
are smaller seek space and simple, intuitive operation.<br />
For example, a design variable has 10 optional discrete<br />
values, 4-bit binary code is needed (16 kinds <strong>of</strong> solutions<br />
can be expressed), then will result in 6 invalid or<br />
duplicate combination solutions. However, integer serial<br />
number encoding can fully express combination solutions<br />
with only numbers from 0 to 9, so the genetic algorithm<br />
does not produce an invalid solution or repeated solution,<br />
but also reduces the code string length and improves the<br />
encoding and decoding efficiency [9].<br />
In the standard straight bevel gear design, the<br />
independent design variables are three: m, z1, fR, where<br />
m and z1 are discrete, and fR is continuous. If fR is kept<br />
two fractions, it is changed into discrete variable.<br />
Consistent with modulus constrains, if mmax=50, the<br />
standard modulus number is 36, m = [1.5 1.75 2 2.25 2.5<br />
2.75 … 45 50], consistent with tooth number constrains,<br />
the number <strong>of</strong> z1 is 28, z = [13 14 15 16 17 … 38 39<br />
40], consistent with tooth width coefficient constraints,<br />
the number <strong>of</strong> fR is 6, fR = [0.25 0.26 0.27 0.28 0.29 0.3].<br />
So code ranges <strong>of</strong> x(1), x(2) and x(3) are respectively 1-<br />
36, 1-28 and 1-6 [6][7].<br />
Decoding ways <strong>of</strong> the three parameters are separately<br />
as follows:<br />
Modulus m:<br />
switch x(1)<br />
case 1<br />
m=1.5<br />
case 2<br />
m=1.75<br />
© 2011 ACADEMY PUBLISHER<br />
…<br />
case 35<br />
m=45<br />
case 36<br />
m=50<br />
otherwise<br />
disp ('modulus is not in the range')<br />
end<br />
Tooth number z:<br />
z=12+ x(2)<br />
Face width coefficient fR:<br />
fR=0.24+x(3)/100<br />
D. Initial Population<br />
The initial population is produced by following<br />
program:<br />
A=rand(PopulationSize,3)<br />
X1=round(1+(19-1).*A(1:PopulationSize,1))<br />
X2=round(1+(24-1).*A(1:PopulationSize,2))<br />
X3=round(1+(13-1).*A(1:PopulationSize,3))<br />
InitialPopulation =[X1 X2 X3]<br />
Where, rand() is random function, round() is rounding<br />
function and PopulationSize(Population Size) is the<br />
number <strong>of</strong> individuals.<br />
Population size is an important parameter in genetic<br />
algorithm, which specifies how many individuals there<br />
are in each generation. With a large population size, the<br />
genetic algorithm searches the solution space more<br />
thoroughly, thereby reducing the chance that the<br />
algorithm will return a local minimum that is not a global<br />
minimum. However, a large population size also causes<br />
the algorithm to run more slowly. So it can not be too<br />
large or too small. The range <strong>of</strong> population size is 10-160.<br />
It is determined to be 50 by trying.<br />
The program is as follows:<br />
options = gaoptimset(' Populationsize ',50)<br />
E. Fitness Function<br />
Gear optimization problem is nonlinear constrained<br />
optimization problems, commonly used penalty function<br />
method. Penalty function method is simple in principle,<br />
easy in algorithm, wide application and widely used.<br />
However, many problems exist in penalty, for example,<br />
only when the penalty factor r → ∞ (outside point<br />
method) or r → 0 (interior point method), converge the<br />
algorithm is, the iterative process is <strong>of</strong> slow convergence.<br />
In addition, when the initial value <strong>of</strong> the penalty factor r0<br />
is inappropriate, the penalty function may become sick,<br />
making optimization difficult [5].<br />
In this paper, augmented penalty function combined<br />
Lagrange multiplier method with penalty function<br />
method for solving straight bevel gear optimization<br />
problems. The form <strong>of</strong> augmented penalty function is as<br />
follows:<br />
m 1<br />
2 2<br />
M(<br />
x,<br />
λ,<br />
r)<br />
= f ( x)<br />
+ ∑{<br />
max[ 0,<br />
λ1<br />
j + rg j ( x)]<br />
− λ1<br />
j}<br />
+<br />
2r<br />
l<br />
∑<br />
r<br />
λ hp<br />
( x)<br />
+<br />
2<br />
2 p<br />
p=<br />
1<br />
∑<br />
j=<br />
1<br />
2<br />
[ h ( x)]<br />
p
920 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Where, f(x) is the objective function; gj(x) is the<br />
inequality constraints, m is the number <strong>of</strong> inequality<br />
constraints; hp(x) is the equality constraints; l is the<br />
number <strong>of</strong> equality constraints; r is penalty factor; λ1j the<br />
multiplier vector for inequality constraint functions; λ2p<br />
multipliers for the equality constraints vector [10].<br />
F. Solving through MATLAB GA Toolbox<br />
MATLAB is advanced mathematics s<strong>of</strong>tware launched<br />
by the MathWorks Company since the mid 1980s, which<br />
faces to science and engineering.<br />
MATLAB genetic toolbox is customized toolbox for<br />
genetic algorithm, with which various problems to<br />
optimize using genetic algorithm can be easily figured<br />
out.<br />
Below is the detailed process to realizing optimization<br />
design <strong>of</strong> straight bevel gear using MATLAB 7.1 genetic<br />
toolbox [8].<br />
1) Convert the optimization mathematical model <strong>of</strong><br />
IV into the following forms applied to MATLAB:<br />
a) Design variable:<br />
X=[x 1,x2,x3] T<br />
b) Object function:<br />
F(X)=π*u* (u+1) *x3 (x1*x2) 3 *(1-x3+x3 2 /3)/8→min<br />
c) Constraint conditions:<br />
Linear inequality constraints:<br />
A*X
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 921<br />
fitnessFunction = @bevelobj;<br />
%Set optimization options:<br />
options = gaoptimset; %fault options<br />
% change optimization options<br />
options = gaoptimset(options,'PopInitRange' ,[1 1 1 ;<br />
36 28 6 ]);<br />
options = gaoptimset(options,'MigrationDirection' ,<br />
'both');<br />
options = gaoptimset(options,'TolFun' ,0.001);<br />
options = gaoptimset(options,'TolCon' ,0.001);<br />
options = gaoptimset(options,'SelectionFcn',<br />
{@selectiontournament 4 });<br />
options = gaoptimset(options,'MutationFcn',<br />
@mutationadaptfeasible);<br />
options = gaoptimset(options,'HybridFcn' ,{ @fmincon<br />
[ ]})<br />
%Call ga( ) function:<br />
[X,FVAL]=ga(@FitnessFcn,nvars,A,b,Aeq,beq,LB,<br />
UB, @bevelnonlcon,options)<br />
VII. INTERFACE BETWEEN VISUAL BASIC<br />
LANGUAGE AND MATLAB SOFTWARE<br />
Interface between Visual Basic language and<br />
MATLAB s<strong>of</strong>tware can be realized by three methods,<br />
DLL(dynamic linked library), DDE(dynamic data<br />
exchange) or ActiveX technology. In the paper, the third<br />
method is adopted. Partial programs are as follows:<br />
Private Sub OptiCommand_Click()<br />
‘Announce ActiveX loading MATLAB<br />
Dim matlab As Object<br />
‘Loading MATLAB application program<br />
Set matlab = CreateObject("Matlab.Application")<br />
‘Define variables for input parameters<br />
Dim p As Double, n1 As Double, u As Double<br />
Dim z1 As Double<br />
Dim fR As Double<br />
Dim mi As Double, mj As Double 'gear material<br />
…<br />
‘Define variables for output results<br />
Dim outm As Variant<br />
Dim outz1 As Variant, outz2 As Variant<br />
…<br />
‘The known data in UI are transmitted to input<br />
parameters<br />
p = Val(Textp.Text)<br />
u = Val(Textu.Text)<br />
n1 = Val(Textn1.Text)<br />
z1 = Val(Textz1.Text)<br />
fr= Val(TextfR.Text)<br />
…<br />
‘Visual Basic variables are transmitted to MATLAB<br />
workspace<br />
Call MATLAB.PutWorkspaceData("orgm", "base",<br />
orgm) ‘original machine working conditions<br />
Call MATLAB.PutWorkspaceData("wkm", "base",<br />
wkm) ‘work machine working conditions<br />
Call MATLAB.PutWorkspaceData("pregrd", "base",<br />
accgrd) ‘precision grade<br />
© 2011 ACADEMY PUBLISHER<br />
Call MATLAB.PutWorkspaceData("p", "base", p)<br />
Call MATLAB.PutWorkspaceData("n1", "base", n1)<br />
Call MATLAB.PutWorkspaceData("u", "base", u)<br />
Call MATLAB.PutWorkspaceData("z1", "base", z1)<br />
Call MATLAB.PutWorkspaceData("m", "base", min)<br />
Call MATLAB.PutWorkspaceData("fr", "base", fr)<br />
Call MATLAB.PutWorkspaceData("supp", "base",<br />
supp)<br />
‘Executing the MATLAB program <strong>of</strong> bevel gear<br />
optimization design<br />
matlab.execute ("bevelgearopt")<br />
‘Results from MATLAB are transmitted to Visual<br />
Basic<br />
Call MATLAB.GetWorkspaceData("M", "base", mout)<br />
Call MATLAB.GetWorkspaceData("Z1","base", outz1)<br />
…<br />
‘Optimization results are transmitted to UI<br />
Textoutm.Text = mout<br />
Textoutz1.Text =outz1<br />
…<br />
VIII. APPLICATION EXAMPLE<br />
It is known that input power P=5kw, small gear speed<br />
n1=960r/min, gear ratio u=4.8; load stability, expected<br />
life is 15 years, 300 days a year, accounting for 30% <strong>of</strong><br />
working time. Work condition is steady, pinion is<br />
cantilever, big gear is two-support.<br />
Result compared with the results <strong>of</strong> traditional<br />
optimization design and conventional design is shown in<br />
Table II.<br />
TABLE II.<br />
RESULTS COMPARED WITH THE TRADITIONAL OPTIMIZATION DESIGN<br />
AND CONVENTIONAL DESIGN<br />
Design<br />
method<br />
Genetic<br />
algrithm<br />
Traditional<br />
optimization<br />
Conventional<br />
design<br />
Module<br />
Tooth<br />
number<br />
Face<br />
width<br />
coefficient<br />
Volume<br />
2.75 24 0.3 6.8834e+005<br />
3 33 0.27 2.1604e+006<br />
3 34 0.3 2.5408e+006<br />
IX. CONCLUSION<br />
Optimization design s<strong>of</strong>tware for straight bevel gear is<br />
developed in the paper to achieve the automatic<br />
optimization by using VB and MATLAB, in which the<br />
genetic algorithm is selected and the augmented penalty<br />
function and integer serial number encoding is used, so<br />
the global optimal solution can be obtained, design<br />
efficiency greatly improved, weight <strong>of</strong> bevel gear<br />
reduced, the production cycle shortened.<br />
REFERENCES<br />
[1] Zeng Qiang, “The R & D <strong>of</strong> Gear CAD system based on<br />
artificial intelligence,” Xi'an Architecture and Technology<br />
university, 2003
922 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
[2] Liang Shangming, Yin Gu<strong>of</strong>u, “Modern mechanical<br />
optimization Methods,” Beijing,: Chemical Industry Press,<br />
2005, pp.231-234<br />
[3] Ang Xueye, Ding Jianmei, “3-Dimensional parametrical<br />
modeling method <strong>of</strong> straight bevel gear,” engineering<br />
graphics transaction, vol. 6, 2007, pp.22~25<br />
[4] Bi Changchun, Ding Yuzhan, “Application <strong>of</strong> real number<br />
encoding genetic algorithm in helical gear drive<br />
optimization design,” mechanical science and technology,<br />
vol. 11, 2000, pp.82-84<br />
[5] Chen Xiuning, “Mechanical optimization Design,”<br />
Zhejiang University Press, Hangzhou, 1997, pp. 252-260<br />
[6] Cheng Daxian, Mechanical Design Handbook. Machine<br />
drive, Beijing: Chemical Industry Press, 2004.<br />
[7] Zhu Xiaolu, Gear drive design manual, Beijing: Chemical<br />
Industry Press, 2005.<br />
[8] The MathWorks, Inc, http://www.mathsworks.com<br />
[9] Laumanns M, Thiele L, Zitzler E, Welzl E, Deb K,<br />
“Running time analysis <strong>of</strong> multi-objective evolutionary<br />
algorithms on a simple discrete optimization problem,”<br />
Parallel Problem Solving from Nature—PPSN vol. VII,<br />
Spain: Granada, 2002, pp.44-53<br />
[10] Schwefel H. Evolution and optimum seeking, New York:<br />
John Wiely &Sons, 1995.<br />
© 2011 ACADEMY PUBLISHER<br />
Xiaoqin Zhang: born in Tangshan,<br />
China in March, 1971. A PHD Candidate,<br />
Mechanical Engineering College,<br />
Yanshan University, Qinhuangdao, China,<br />
Major in CAD/CAM.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 923<br />
Study on Operating Mechanisms and Dynamics<br />
Behavior <strong>of</strong> Agile Supply Chain<br />
Guohua Chen<br />
College <strong>of</strong> Mechanical Engineering Chongqing University ,Chongqing400044, China<br />
Institute <strong>of</strong> Mechanical & Auto Engineering Xiangfan University, Xiangyang414053, China<br />
E-mail:59782071@163.com<br />
Genbao Zhang and Jihong Pang<br />
College <strong>of</strong> Mechanical Engineering Chongqing University ,Chongqing400044, China<br />
E-mail:genbaozhang@163.com; pangjihong@163.com<br />
Abstract —To study deeply the operating mechanisms and<br />
system underlying behavior <strong>of</strong> agile supply chains, a new<br />
method—systems dynamics (SD) is introduced into the<br />
analysis <strong>of</strong> agile supply chain’s behaviors.According to the<br />
characteristics <strong>of</strong> agile supply chain, its operating<br />
mechanisms was analysed and the dynamics model <strong>of</strong> it was<br />
established .Then the simulation analysis <strong>of</strong> systemic<br />
behavior <strong>of</strong> agile supply chain was conducted under the<br />
circumstances <strong>of</strong> disturbance <strong>of</strong> market. At the same time,<br />
the simulation <strong>of</strong> ordering cycle and target inventory’s<br />
influence to the behavior <strong>of</strong> agile supply chain was run. The<br />
results indicate that: for agile supply chain, the delivery<br />
ratio <strong>of</strong> it can be increased not only through adjusting order<br />
cycle time, but also through changing target inventory,<br />
which all can increase delivery ratio <strong>of</strong> the whole supply<br />
chain.<br />
Index Terms—agile supply chain, operating mechanisms,<br />
dynamics behavior characteristics, simulation<br />
I. INTRODUCTION<br />
Agile supply chain is defined as the dynamic network<br />
<strong>of</strong> supply and demand, which composed <strong>of</strong> a number <strong>of</strong><br />
supply-side and demand-side entities can do the rapid<br />
response to environmental changes, demand-side entities<br />
in the competitive, cooperative and dynamic market<br />
environment [1-3]. Agile supply chain emphasizes the<br />
importance <strong>of</strong> supply chain’s rapid response capability to<br />
market change and customer demand. It requires large<br />
enterprise groups, complex production process, even<br />
specific products, each employee to have agility, which is<br />
distinctly different from lean supply chain [4].<br />
Nowadays, the study on behavior characteristics <strong>of</strong><br />
agile supply chain is by the method <strong>of</strong> qualitative and<br />
static analysis. However, supply chain is a dynamic and<br />
balanceable system. The static analysis method can not<br />
show the whole supply chain’s operational discipline, and<br />
the qualitative method can only obtain some perceptual<br />
knowledge, not achieve quantitative acquaintance.<br />
Manuscript received June 10, 2010; revised November 10, 2010;<br />
accepted January 5, 2011.<br />
Corresponding Author: Guohua Chen<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.923-929<br />
System dynamics provides a qualitative and quantitative,<br />
semi-quantitative analysis <strong>of</strong> the problem. It characterized<br />
as a precursor to quantitative support [5]. Since Forrester<br />
published “industrial dynamics” in 1961, the system<br />
dynamics method has been applied in a variety <strong>of</strong><br />
industrial policy-making and strategic issues [6,7].<br />
Although the system dynamics model <strong>of</strong> supply chain<br />
constructed by Forrester is called in question in a very<br />
long time .since system dynamics in the early 20th<br />
century was introduced to China, thousands <strong>of</strong> people ,<br />
including Wang Qifan [8,9], Su MaoKang [10], Hu<br />
Yukui [11] and other scholars, involved in the application<br />
<strong>of</strong> system dynamics research work in China,but in the<br />
field <strong>of</strong> supply chain management, the literature about<br />
applied research is relatively rare.<br />
As time goes by, the role in supply chain management<br />
research using system dynamics is increasingly<br />
recognized [12], and its application recently is more<br />
widely. The application <strong>of</strong> system dynamics method to<br />
study supply chain’s issues is hot recently. Now research<br />
about supply chain is related inventory [13,14], retailer’s<br />
behavior [13], logistics financial balance [15], the<br />
stability <strong>of</strong> supply chain [16] as well as the ability to replan<br />
[17] etc. The paper [13] established a new model <strong>of</strong><br />
supply chain by exploiting computer simulation s<strong>of</strong>tware<br />
provided by system dynamics to simulate ordering<br />
behavior <strong>of</strong> retailers. An analysis was made on the<br />
various changing indexes under two strategies: (1)<br />
ordering amount in terms <strong>of</strong> sale amount and(2) ordering<br />
amount in terms <strong>of</strong> sale amount and inventory. The paper<br />
[14] focuses on the analysis <strong>of</strong> simulated impact <strong>of</strong> the<br />
radio frequency identification (RFID) system on<br />
thenventory replenishment <strong>of</strong> the thin film transistor<br />
liquid crystal display (TFT-LCD) supply chain in Taiwan.<br />
A global operations and logistics case <strong>of</strong> a well-known<br />
LCD monitor manufacturer in Taiwan has been studied.<br />
The pull-base dulti-agents supply chain was accordingly<br />
modeled and simulated with AnyLogic. An automatic<br />
inventory replenishment unction adopting the (s,S)<br />
policyis enabled with RFID or not. The studies <strong>of</strong> paper<br />
[15] were made on keeping the balance <strong>of</strong> supplydemand<br />
<strong>of</strong> funds in the supply chain system based on<br />
system dynamic theory. System dynamic logic model and
924 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
mathematical equations showed that when the logistic<br />
system experienced perturbation, a supply-demand<br />
balance could be achieved by the self-organization <strong>of</strong> the<br />
logistic system; when the perturbation accumulated into<br />
macro fluctuation, balance could be achieved by macro<br />
evolution <strong>of</strong> the system self-organization. The paper [16]<br />
proposed a system-dynamics-based criterion for stability<br />
judgment. With simulation, the criterion could be used to<br />
describe the nonlinearities <strong>of</strong> supply chain system with<br />
1st order exponential lag and Pure Time Delay (PTD).<br />
The criterion could be used to judge the influences<br />
exerted on supply chain stability by decision<br />
behavior.The paper [17] analyzed the behavior <strong>of</strong> the<br />
generic system under study through a simulation model<br />
based on the principles <strong>of</strong> the system dynamics<br />
methodology. The simulation model provides an<br />
experimental tool, which can be used to evaluate<br />
alternative long-term capacity planning policies(“what-if”<br />
analysis) using total supply chain pr<strong>of</strong>it as measure <strong>of</strong><br />
policy effectiveness.In all these papers no document<br />
studies behavior <strong>of</strong> agile supply chain. So, through the<br />
simulation <strong>of</strong> agile supply chain on different conditions,<br />
some important characteristics can be obtained, which<br />
can supply the reference for supply chain operation.<br />
II. The OPERATING MECHANISMS AND<br />
DYNAMICS MODEL OF AGILE SUPPLY CHAIN<br />
OPERATION<br />
Agile supply chain runs in the form <strong>of</strong> market demandpull<br />
from the downstream supply chain close to market<br />
customers to the upstream supply chain close to supplier.<br />
Agile supply chain can be understood as the mode that<br />
the enterprises in the downstream supply chain send order<br />
message to the upstream enterprises according to demand<br />
conditions on necessary time, and the upstream<br />
enterprises organize production according to product<br />
storage to meet the needs <strong>of</strong> the upstream enterprises.In<br />
this paper, related study is conducted on the basis <strong>of</strong><br />
taking three-tier supply chain (which includes supplier,<br />
manufacturer and distributor ) as object. the operating<br />
mechanisms and dynamics Model <strong>of</strong> agile supply chain<br />
can be seen from Fig.1.<br />
In Fig. 1 the relation among these variables is:<br />
average demand=SMOOTH(market demand, smooth<br />
time);<br />
order 2= supplier's target inventory - supplier's<br />
inventory; order ratio 1= order 1/ supplier's order cycle<br />
time;<br />
supplier's production= order ratio 1-reject ratio 1inspection<br />
ratio 1;<br />
inspection ratio1=supplier's production*percent <strong>of</strong> pass<br />
1/inspection time 1;<br />
reject ratio 1=supplier's production*(1 - percent <strong>of</strong><br />
pass 1)/inspection time 1;<br />
supplier's inventory=inspection ratio 1-output ratio 1;<br />
output ratio 1=order ratio 2;<br />
delivery ratio 1=IF THEN ELSE(supplier's inventory <<br />
output ratio 1 - inspection ratio 1:AND: supplier's<br />
© 2011 ACADEMY PUBLISHER<br />
inventory + inspection ratio 1>0, (supplier's inventory +<br />
inspection ratio 1)/ output ratio 1 ;<br />
delivery ratio 1=IF THEN ELSE(supplier's inventory +<br />
inspection ratio 10, (ditributor's<br />
inventory+inspection ratio 3)/sales rate 3 , IF THEN<br />
ELSE(ditributor's inventory
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 925<br />
order ratio1<br />
supplier's order<br />
cycle time<br />
order 1<br />
delivery ratio 2<br />
distributor's order<br />
cycle time<br />
ouput ratio 2<br />
manufacturer's<br />
target inventory<br />
order ratio 3<br />
distributor's target<br />
inventory<br />
supplier's<br />
production<br />
supplier's target<br />
inventory1<br />
percent <strong>of</strong> pass 1<br />
reject ratio1 inspection time 1<br />
supplier's inventory<br />
inspection ratio 1 ouput ratio1<br />
percent <strong>of</strong> pass 2<br />
inspection time 2<br />
manufacturer's<br />
inventory inspection ratio 2<br />
distributor's<br />
production<br />
order 2<br />
reject ratio2<br />
manufacturer's<br />
production order ratio 2<br />
manufacturer's order<br />
cycle time<br />
distributor's<br />
inventory<br />
inspection ratio 3 sales ratio<br />
reject ratio 3<br />
percent <strong>of</strong> pass 3<br />
delivery ratio 1<br />
average demand<br />
inspection time 3 delivery ratio 3 market demand<br />
smooth time<br />
order 3<br />
Figure 1. Operating mechanisms and Dynamics Model <strong>of</strong> agile<br />
supply chain<br />
III. SIMULATION ANALYSIS<br />
Simulation s<strong>of</strong>tware used in this paper is vensim.<br />
vensim is a s<strong>of</strong>tware developed and used in recent years,<br />
which can assist to complete the system modeling and<br />
flow-chart drawing and can further present the simulation<br />
results [11,18].<br />
A. Systemic Behavior Under The Circumstance Of<br />
Market Disturbance<br />
Suppose market demand obeys normal distribution<br />
function RANDOM NORMAL ( 0 ,10 , 5 , 5 , 0 ).<br />
Other state variables’ initial values are set as follows:<br />
supplier's order cycle time= manufacturer's order cycle<br />
time = ditributor's order cycle time=2;<br />
inspection time 1= inspection time 2=inspection time<br />
3=smooth time=2;<br />
percent <strong>of</strong> pass 1= percent <strong>of</strong> pass 2= percent <strong>of</strong> pass<br />
3=0.95;<br />
supplier's target inventory= manufacturer's target<br />
inventory= ditributor's target inventory=20;<br />
Time step <strong>of</strong> simulation =0.125;<br />
Initial time=0,Final time=100;<br />
Fig. 2 shows the changes <strong>of</strong> simulation, including<br />
supplier's inventory, manufacturer's inventory,<br />
distributor’s inventory and delivery ratio 1, delivery ratio<br />
2, delivery ratio 3 before market demand's disturbance.<br />
Now, add a disturbing function to market demand, then<br />
the distribution function <strong>of</strong> market demand is RANDOM<br />
NORMAL (0,10,5,5,0) +PULSE(50,100)*5. Systemic<br />
behavior changes can be seen from Fig. 3 after market<br />
demand's disturbance.<br />
From the change between Fig. 2 and Fig. 3, we can see<br />
the curves <strong>of</strong> supplier’s inventory ,manufacturer’s<br />
inventory and distributor’s inventory shift down to<br />
horizontal axis after market demand ’s disturbance and<br />
fluctuates slightly , which explains that for agile supply<br />
chain their delivery is still stable when market demand is<br />
© 2011 ACADEMY PUBLISHER<br />
stable or not ,but market demand’s disturbance has<br />
influence to supplier’s inventory, manufacturer’s<br />
inventory and distributor’s inventory and their devery<br />
ratio. From table I, we can see clearly that with market<br />
demand’s increasing suddenly the values <strong>of</strong> delivery ratio<br />
1 and delivery ratio 2 reduces relatively large, but the<br />
value <strong>of</strong> delivery ratio 3 changes from 0.9930 to 0.9164,<br />
reducing relatively small, which shows that market<br />
demand ’s disturbance has a smaller effect on delivery<br />
ratio 3 than delivery ratio 1 and delivery ratio 2.<br />
market demand<br />
10<br />
7.5<br />
5 1 1<br />
2.5<br />
0<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
market demand : 1 1 1 1 1 1 1 1 1 1 1 1 1 1<br />
40<br />
20<br />
0<br />
-20<br />
-40<br />
2 1<br />
1<br />
3<br />
1<br />
3<br />
3 3 1 2<br />
3 2 3 1 3 3 3<br />
3 3 3 3 3<br />
2 2<br />
2 2 2<br />
2<br />
1<br />
2<br />
1<br />
1 1<br />
2 2 2 2<br />
3<br />
1<br />
1 1 1<br />
1<br />
1<br />
1<br />
2<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
supplier's inventory : 1 1 1 1 1 1 1 1 1 1 1 1<br />
manufacturer's inventory : 2 2 2 2 2 2 2 2 2 2<br />
distributor's inventory : 3 3 3 3 3 3 3 3 3 3 3<br />
1<br />
0.75<br />
0.5<br />
0.25<br />
0<br />
1 2<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
1<br />
(a)Market demand obey normal distribution<br />
(b)Inventory changes before market demand's disturbance<br />
3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3<br />
delivery ratio 1 : 1 1 1 1 1 1 1 1 1 1 1 1<br />
delivery ratio 2 : 2 2 2 2 2 2 2 2 2 2 2 2<br />
delivery ratio 3 : 3 3 3 3 3 3 3 3 3 3 3 3<br />
(c)Delivery ratio changes before market demand's disturbance<br />
Figure 2. Systemic behavior before market demand's disturbance<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1
926 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
20<br />
15<br />
10<br />
5<br />
1<br />
0<br />
1 1<br />
1<br />
1<br />
1<br />
market demand<br />
1<br />
1<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
market demand : 1 1 1 1 1 1 1 1 1 1 1 1 1 1<br />
40<br />
20 2 1<br />
0 1<br />
3<br />
1<br />
3<br />
3 3 1 2<br />
3<br />
3 3 3<br />
2 2<br />
2 1<br />
1 2 1 2 1<br />
1<br />
2<br />
3<br />
3 1 2<br />
3 3 3 2 3 3<br />
2 1 2 1 2 1 1<br />
2 1<br />
-20<br />
2<br />
1<br />
-40<br />
1<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
supplier's inventory : 1 1 1 1 1 1 1 1 1 1 1 1<br />
manufacturer's inventory : 2 2 2 2 2 2 2 2 2 2<br />
distributor's inventory : 3 3 3 3 3 3 3 3 3 3 3<br />
1<br />
0.75<br />
0.5<br />
0.25<br />
(a)Market demand after disturburbance<br />
(b)Systemic behavior after disturbance<br />
3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1<br />
0<br />
1 2<br />
0 10 20 30 40 50<br />
1<br />
60 70 80 90 100<br />
Time (Week)<br />
1<br />
2<br />
3<br />
1<br />
1<br />
1<br />
3 1<br />
2<br />
3<br />
2<br />
2<br />
2 1<br />
3 1<br />
3<br />
3 2<br />
1<br />
1<br />
1<br />
1 2<br />
delivery ratio 1 : 1 1 1 1 1 1 1 1 1 1 1 1<br />
delivery ratio 2 : 2 2 2 2 2 2 2 2 2 2 2 2<br />
delivery ratio 3 : 3 3 3 3 3 3 3 3 3 3 3 3<br />
(c)delivery ratio changes after market demand's disturbance<br />
Figure 3. Systemic behavior after disturbance<br />
B. Order cycle time’s influence to systemic behavior<br />
Generally speaking, increasing order cycle time can<br />
influence the delivery ratio <strong>of</strong> the whole supply chain.<br />
However, for agile supply chain, the fact is not as so.<br />
When the value <strong>of</strong> supplier’s order cycle time is only<br />
changed (but the manufacturer’s order cycle time and the<br />
distributor’s order cycle time is unchanged), the curve<br />
line <strong>of</strong> supplier’s inventory changes accordingly, but the<br />
curve liners <strong>of</strong> the manufacturer’s inventory and the<br />
distributor’s inventory don’t change,which explains<br />
supplier’s order cycle time has only inluence on<br />
supplier’delivery,not on other delivery.<br />
© 2011 ACADEMY PUBLISHER<br />
1<br />
3<br />
TABLE I.<br />
STATISTICS OF AVERAGE DELIVERY RATIO UNDER DISTURBANCE<br />
strategies<br />
Delivery ratio<br />
1<br />
Delivery ratio<br />
2<br />
Delivery ratio<br />
3<br />
Before disturbance 0.9424 0.9624 0.9930<br />
After disturbance 0.7683 0.8347 0.9164<br />
Fig. 4 (a1) and (a2) is a systemic behavior chart when<br />
distributor’s order cycle time is changed as 10 ,and<br />
supplier’s order cycle time and manufacturer’s order<br />
cycle time is unchanged (they are still 2). From Fig. 4<br />
(a1) and (a2),we can see that with increasing distributor’s<br />
order cycle time to 10,the curve <strong>of</strong> distributor’s inventory<br />
lies down axis, which states distributor’s delivery ( it is<br />
also can be seen from delivery ratio 3) can not meet<br />
market demand. However , the curves <strong>of</strong> supplier’s<br />
inventory and manufacturer’s inventory are still above<br />
axis, almost unchanged, which states supplier’s and<br />
manufacturer’s delivery ( it is also can be seen from<br />
delivery ratio 1 and delivery ratio 2 ) can still meet<br />
downstream demand.<br />
Fig. 4(b1) and (b2) is a systemic behavior when the<br />
value <strong>of</strong> supplier’s order cycle time and manufacturer’s<br />
order cycle time is changed as 10,and distributor’s order<br />
cycle time is unchanged (still 2).From Fig. 4(b1) and<br />
(b2),we can see that when change supplier’s order cycle<br />
time and manufacturer’s order cycle time as 10,the two<br />
curves <strong>of</strong> supplier’s inventory and manufacturer’s<br />
inventory lies down horizontal axis, which states<br />
supplier’s delivery and manufacturer’s delivery ( it is also<br />
can be seen from delivery ratio 1 and delivery ratio 2) can<br />
not meet downstream demand. However, the curve <strong>of</strong><br />
distributor’s inventory is almost unchanged, still above<br />
horizontal axis , which states distributor’s delivery ( it is<br />
also can be seen from delivery ratio 3) can still meet<br />
market demand.<br />
All these explain that for supplier, manufacturer and<br />
distributor, changing whose order cycle time only whose<br />
delivery, that is to say, all delivery ratio <strong>of</strong> the whole<br />
supply chain can be increased through changing<br />
supplier’s order cycle time, manufacturer’s order cycle<br />
time and distributor’s order cycle time simultaneously.<br />
To deeply illustrate the relationship between systemic<br />
behavior and order cycle time, we analyzed statistics<br />
about delivery raio,which can be seen from Table II.<br />
Related explanation: order cycle time (10,10,2)<br />
expresses supplier’s order cycle time,manufacturer’s<br />
order cycle time are 10, distributor’s order cycle time is<br />
2; order cycle time (2,2,10) expresses supplier’s order<br />
cycle time and manufacturer’s order cycle time are 2<br />
respectively, and distributor’s order cycle time is 10.<br />
All <strong>of</strong> these results demonstrate that for agile supply<br />
chain, the strategy <strong>of</strong> changing order cycle time only<br />
improves the delivery ratio <strong>of</strong> local supply chain, not <strong>of</strong><br />
the whole supply chain. The delivery ratio <strong>of</strong> the whole<br />
supply chain can be increased through reducing all order<br />
cycle times.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 927<br />
40<br />
20<br />
0<br />
-20<br />
-40<br />
1<br />
2<br />
3<br />
1<br />
2<br />
3<br />
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2<br />
3 3 3 3<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
supplier's inventory : 1 1 1 1 1 1 1 1<br />
manufacturer's inventory : 2 2 2 2 2 2<br />
distributor's inventory : 3 3 3 3 3 3 3<br />
1<br />
0.75<br />
0.5<br />
0.25<br />
2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2<br />
0<br />
1<br />
0<br />
3 3<br />
10<br />
3<br />
20<br />
3 3<br />
30<br />
3<br />
40<br />
3 3<br />
50<br />
3<br />
60<br />
3 3<br />
70<br />
3<br />
80<br />
3 3<br />
90<br />
3<br />
100<br />
Time (Week)<br />
delivery ratio 1 : 1 1 1 1 1 1 1 1 1 1 1 1<br />
delivery ratio 2 : 2 2 2 2 2 2 2 2 2 2 2 2<br />
delivery ratio 3 : 3 3 3 3 3 3 3 3 3 3 3 3<br />
30<br />
0<br />
-30<br />
-60<br />
1<br />
3<br />
1<br />
2 2<br />
3 3 3 3 3 3 3 3 3 3<br />
1<br />
2<br />
3<br />
2<br />
2<br />
1 1 1 2 1 2 2<br />
1 1 2<br />
1 2 1 2<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
supplier's inventory : 1 1 1 1 1 1 1 1<br />
manufacturer's inventory : 2 2 2 2 2 2<br />
distributor's inventory : 3 3 3 3 3 3 3<br />
1<br />
0.75<br />
0.5<br />
0.25<br />
0<br />
(a1) Systemic behavior when only change distributor’s order<br />
cycle time as 10<br />
(a2) delivery raio changes when only change distributor’s order cycle time<br />
as 10<br />
60<br />
(b1) Systemic behavior when change supplier’s and manufacturer’s<br />
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3<br />
1 2<br />
0<br />
1 2 1 2 1 2<br />
10 20<br />
1 2 1 2 1 2<br />
30 40<br />
1 2 1 2 1 2<br />
50 60<br />
1 2 1 2 1 2<br />
70 80<br />
1 2 1 2<br />
90 100<br />
Time (Week)<br />
delivery ratio 1 : 1 1 1 1 1 1 1 1 1 1 1 1<br />
delivery ratio 2 : 2 2 2 2 2 2 2 2 2 2 2 2<br />
delivery ratio 3 : 3 3 3 3 3 3 3 3 3 3 3 3<br />
(b2) delivery raio changes when change supplier’s and manufacturer’s order<br />
cycle time as 10 respectively<br />
Figure 4. Influence <strong>of</strong> order cycle time to systemic behavior<br />
C. Target inventory’s influence to systemic behavior<br />
There are 3 kinds <strong>of</strong> target inventories, which are <strong>of</strong><br />
supplier, manufacturer and distributor. Target inventory’s<br />
© 2011 ACADEMY PUBLISHER<br />
3<br />
3<br />
3<br />
3<br />
TABLE II.<br />
STATISTICS OF AVERAGE DELIVERY RATIO UNDER 2 STRATEGIES<br />
strategies<br />
order cycle time<br />
(10,10,2)<br />
order cycle time<br />
(2,2,10)<br />
Delivery<br />
ratio 1<br />
Delivery<br />
ratio 2<br />
Delivery<br />
ratio 3<br />
0.0000 0.0000 0.9930<br />
0.9626 0.9972 0.0000<br />
influence to systemic behavior is analyzed through<br />
changing 3 strategies <strong>of</strong> target inventories.<br />
When the value <strong>of</strong> supplier’s target inventory is<br />
changed, the curve line <strong>of</strong> supplier’s inventory moves<br />
accordingly (when increase its value, the curve <strong>of</strong><br />
supplier’s inventory moves up, and lower its value, the<br />
curve <strong>of</strong> it moves down),but the curve liners <strong>of</strong><br />
manufacturer’s inventory and distributor’s inventory<br />
almost unchanged including its shape, which means<br />
supplier’s target inventory has influence to the delivery <strong>of</strong><br />
supplier, not to the delivery <strong>of</strong> manufacturer and<br />
distributor. All these are similar to the influence <strong>of</strong><br />
manufacturer’s target inventory and distributor’s target<br />
inventory to their inventories.<br />
Fig. 5(a1) and (a2) is systemic behavior when the<br />
value <strong>of</strong> supplier’s target inventory is changed as 10,and<br />
the values <strong>of</strong> manufacturer’s inventory and distributor’s<br />
inventory are still 20 ,which shows the changes <strong>of</strong><br />
simulation,including supplier's inventory, manufacturer's<br />
inventory, ditributor's inventory and delivery ratio 1,<br />
delivery ratio 2, delivery ratio 3. From Fig. 5(a1) we can<br />
see that when reduce supplier’s target inventory , the<br />
curve <strong>of</strong> supplier’s inventory moves down slightly, but<br />
the two curves <strong>of</strong> manufacturer’s inventory and<br />
distributor’s inventory move hardly. At the same time,<br />
the curve <strong>of</strong> delivery ratio 1 changes clearly,and the<br />
curves <strong>of</strong> delivery ratio 2 and delivery raio 3 show little<br />
change.<br />
Fig. 5(b1) and (b2) is systemic behavior when the<br />
values <strong>of</strong> manufacturer’s target inventory and<br />
distributor’s target inventory are changed as 10, and<br />
supplier’s target inventory is still 10. It can be seen from<br />
Fig. 5(b1),when we reduce manufacturer’s target<br />
inventory and distributor’s target inventory, the two<br />
curves <strong>of</strong> manufacturer’s inventory and distributor’s<br />
inventory accordingly move down ,and their delivery<br />
ratio ( delivery ratio 2 and dlivery raio 3) become<br />
lower,not to meet delivery requirements.<br />
To explain concretely the phenomena, we calculated<br />
the values <strong>of</strong> delivery ratio including supplier’s target<br />
inventory changed and unchanged, which can be seen<br />
from Table III.<br />
Related explanation: Target-inventories (20,10,10)<br />
expresses supplier’s target inventory is 20,manufacturer’s<br />
target inventory and distributor’s target inventory are 10<br />
respectively; Target-inventories(10,20,20) expresses<br />
supplier’s target inventory is changed as 10, and<br />
manufacturer’s target inventory and distributor’s target<br />
inventory are still 20 respectively.
928 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
40<br />
20 2<br />
3<br />
3<br />
1 2 3 2<br />
3 2<br />
3 2 3 2 3 3<br />
2 2 3<br />
3<br />
2<br />
2<br />
3 3<br />
2 2<br />
3 2 3<br />
2<br />
3<br />
0 1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1 1 1 1<br />
1<br />
-20<br />
2 1<br />
-40<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
supplier's inventory : 1 1 1 1 1 1 1 1 1 1 1 1<br />
manufacturer's inventory : 2 2 2 2 2 2 2 2 2 2<br />
distributor's inventory : 3 3 3 3 3 3 3 3 3 3 3<br />
1<br />
0.75<br />
0.5<br />
0.25<br />
3 2 3 1 2 3 2 3 1 2 3 2 3 1 2 3 2 3 1 2 3 2 3 1 2 3 2 3 2 3 2 3 2 3<br />
1<br />
1<br />
1<br />
1<br />
0<br />
1 2<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
delivery ratio 1 : 1 1 1 1 1 1 1 1 1 1 1 1<br />
delivery ratio 2 : 2 2 2 2 2 2 2 2 2 2 2 2<br />
delivery ratio 3 : 3 3 3 3 3 3 3 3 3 3 3 3<br />
20<br />
10<br />
0<br />
-10<br />
-20<br />
1<br />
2<br />
1<br />
1<br />
1<br />
1<br />
1 1<br />
1<br />
1 1<br />
1<br />
1<br />
1<br />
2<br />
3<br />
2 2 3 2<br />
2<br />
3 3 3<br />
3<br />
3<br />
2 3 2<br />
3<br />
2 3<br />
2<br />
3 3<br />
2<br />
2<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
supplier's inventory : 1 1 1 1 1 1 1 1 1<br />
manufacturer's inventory : 2 2 2 2 2 2 2<br />
distributor's inventory : 3 3 3 3 3 3 3 3<br />
1<br />
0.75<br />
0.5<br />
0.25<br />
(a1) Systemic behavior when only change supplier’s target inventory<br />
as 10<br />
(a2) delivery ratio changes when only change supplier’s target<br />
inventory as 10<br />
(b1) Systemic behavior when change manufacturer’s and<br />
distributor’s target inventory as 10 respectively<br />
3 1 2 3 1 1 3 1 2 1 2 3 1 1 3 1 1 3 1 2 1 1 3 1 2 1<br />
3<br />
3<br />
2<br />
3<br />
2<br />
3<br />
2 2<br />
0<br />
1 2<br />
0 10 20 30 40 50 60 70 80 90 100<br />
Time (Week)<br />
1<br />
3<br />
2<br />
delivery ratio 1 : 1 1 1 1 1 1 1 1 1 1 1 1<br />
delivery ratio 2 : 2 2 2 2 2 2 2 2 2 2 2 2<br />
delivery ratio 3 : 3 3 3 3 3 3 3 3 3 3 3 3<br />
(b2) delivery ratio changes when only change supplier’s target<br />
Figure 5. Influence <strong>of</strong> target inventory to systemic behavior<br />
From table 3, we can see when the value <strong>of</strong> supplier’s<br />
target inventory is changed at 10, delivery ratio 1 has<br />
© 2011 ACADEMY PUBLISHER<br />
2<br />
1<br />
3<br />
1<br />
2<br />
3<br />
1<br />
2<br />
1<br />
3<br />
2<br />
TABLE III.<br />
STATISTICS OF AVERAGE DELIVERY RATIO UNDER 2 STRATEGIES<br />
strategies<br />
Target-inventories<br />
(20,10,10)<br />
Target-inventories<br />
(10,20,20)<br />
Delivery<br />
ratio 1<br />
been changed ,but delivery ratio 2 and delivery ratio 3<br />
unchanged. All <strong>of</strong> these results demonstrate, the delivery<br />
ratio <strong>of</strong> the whole supply chain can be improved through<br />
increased different target inventories.<br />
IV. CONCLUSIONS<br />
From this study, there are a number <strong>of</strong> conclusions can<br />
be drawn. They are as follows:<br />
(1) The delivery <strong>of</strong> Agile supply chain is stable,<br />
whether it is in market demand’s disturbance or not.<br />
(2) Traditionally, increasing order cycle time can<br />
promote the delivery ratio <strong>of</strong> the whole supply chain<br />
.However ,for agile supply chain, order cycle time only<br />
affect on local supply chain, not on the whole supply<br />
chain. The delivery ratio <strong>of</strong> the whole supply chain can be<br />
increased through reducing all order cycle times.And<br />
there is a appropriate value <strong>of</strong> order cycle time which can<br />
make the whole inventory in supply chain reach<br />
minimum but the delivery can be meet.<br />
(3) For agile supply chain, the strategy <strong>of</strong> changing<br />
target inventory increases only the delivery <strong>of</strong> local<br />
supply chain, not <strong>of</strong> the whole supply chain. The delivery<br />
ratio <strong>of</strong> the whole supply chain can be increased through<br />
changing different target inventory.<br />
ACKNOWLEDGMENTS<br />
Project supported by the National High-Tech. R&D<br />
Program, China (No. 2009AA04Z119), the National<br />
Natural Science Foundation, China (No. 50835008), the<br />
National Major Scientific and Technological Special<br />
Project for “High-grade CNC and Basic Manufacturing<br />
Equipment”, China (No.2009ZX04014-016 ;<br />
2009ZX04001-013;2009ZX04001-023; 2010ZX04014-<br />
015), and supported by Open Research Foundation <strong>of</strong><br />
State Key Lab. <strong>of</strong> Digital Manufacturing Equipment &<br />
Technology in Huazhong University <strong>of</strong> Science &<br />
Technology and the Scientific and Technological Projects<br />
<strong>of</strong> Xiangfan City(NO.2010GG3A44).<br />
REFERENCES<br />
Delivery<br />
ratio 2<br />
Delivery<br />
ratio 3<br />
0.9628 0.7244 0.8339<br />
0.6255 0.9624 0.9930<br />
[1] S.H. Ma. and Y. Lin., Supply chain, Beijing: China<br />
machine press, pp.50-52,May 2005.<br />
[2] H.X. Zhao, R. Du, C.D. Qin and L. Zhou.Study on Value<br />
<strong>of</strong> Technological Innovation in Agile Supply Chain Based<br />
on Inter-Organizational Knowledge Sharing.Chinese<br />
<strong>Journal</strong> <strong>of</strong> Management Science, pp.426-429,October<br />
2008.<br />
[3] M.M. Han, X.Q. XU and S.S. Zhang .XML and Agility <strong>of</strong><br />
Agile Supply Chain Management System. China<br />
Mechanical Engineering, July 2002.<br />
[4] F.T. ZENG, H.Y. Li and J. Sun. Primary Analysis on
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 929<br />
Agile SC and Lean SC. Logistics Technology.January<br />
2004.<br />
[5] Q.F. Wu.. Systems dynamics, Shanghai: Shanghai<br />
University <strong>of</strong> Finance Press, 2009.<br />
[6] Y.,Barlas System dynamics: system feedback modeling<br />
for policy analysis in knowledge for sustainable<br />
development-an insight into the encyclopedia <strong>of</strong> life<br />
support systems, Paris, France, Oxford, UK: UNESCO<br />
publishing-Eolss <strong>Publisher</strong>s, June 2002.<br />
[7] J. D. Sterman, Business dynamics:system thinking and<br />
modeling for a complex world, New York:McGraw-Hill,<br />
January 2000.<br />
[8] Q.F. Wang.Comprehensive and Dynamic Analysis and<br />
Model Set <strong>of</strong> Large Complex System. JOURNAL OF<br />
MANEGEMENT SCIENCES IN CHINA,pp. 15~ 19,<br />
February 1999.<br />
[9] Y.Y. Cai, Q.F.Wang and J.G. Jia .Review: From System<br />
Dynamics to Organization Learning .Chinese <strong>Journal</strong> <strong>of</strong><br />
Management Science, pp.237~ 247, August 2000.<br />
[10] M.K.Su. Principle and Application <strong>of</strong> System<br />
Dynamics[M].Shanghai:Shanghai Jiaotong University<br />
Press. June 1988.<br />
[11] Y.K. Hu, Y.G. Han and Z.Y. Cao. Evolution <strong>of</strong> System<br />
Dynamics Model. SYSTEMS ENGINEERING -<br />
THEORY & PRACTICE, pp.132~ 136,October,1997.<br />
[12] Tow ill D R. Time compression and supply chain<br />
management - a guided tour [J]. Supply Chain M<br />
anagement, pp.15~ 27,January 1996.<br />
[13] G.Z. Jia. and X.L.Wang. Research on retailer performance<br />
in supply chain based on system dynamic, Industrial<br />
Engineering <strong>Journal</strong>, pp.56-59,December 2009.<br />
[14] W. Shujen, L. Shih-Fei, and W. Weiling, The simulated<br />
impact <strong>of</strong> RFID-enabaled supply chain on pull-based<br />
inventory replenishiment in TFT-LCD industry,<br />
International <strong>Journal</strong> <strong>of</strong> Production Economics, Vol.112,<br />
pp.570-586,2008.<br />
[15] Y. Wang and H.Y. Hao., Blance <strong>of</strong> supply and demand <strong>of</strong><br />
logistic funds in supply chain system based on system<br />
dynamics, Industrial Engineering <strong>Journal</strong>, Vol.12, pp.46-<br />
50,2009.<br />
© 2011 ACADEMY PUBLISHER<br />
[16] C.Luo., S.L.Jia. and H.W. Wang., Stability criterion <strong>of</strong><br />
supply chain based on system dynamics, Computer<br />
Integrated Manufacturing Systems, Vol.13,pp.1762-<br />
1767 ,2007.<br />
[17] D. Vlachos, P. Georgiadis, and E. Lakovou, A system<br />
dynamics model for dynamic capacity planning <strong>of</strong><br />
remanufacturing in closed-loop supply chains, Computers<br />
& Operations Research,Vol. 34, pp.367-394,2007.<br />
[18] L.B.Zhang, Y.Q. Han , J. Chen , Z. Yu and Y.Z. MA. A<br />
Review:the Application <strong>of</strong> System Dynamics in Supply<br />
Chain Management[J] Systems Engineering, Vol. 23,pp.<br />
8-15,2005.<br />
Guohua Chen was born in Huanggang<br />
City, Hubei Province, China, on<br />
December 10, 1976. He received his<br />
master's degree in Mining Engineering<br />
from Henan Polytechnic University in<br />
2004,6. Currently, he is a PH.D<br />
candidate with Mechanical Engineering<br />
at the College <strong>of</strong> Mechanical<br />
Engineering, Chongqing University in<br />
China since 2008. His main research interest is quality<br />
engineering, industrial engineering (IE), supply chain<br />
management, etc.<br />
Genbao Zhang is a pr<strong>of</strong>essor at Chongqing University.<br />
His main research interest is quality and reliability engineering,<br />
enterprise informatization, advanced manufacturing technology.<br />
Jihong Pang is a PH.D candidate with Mechanical<br />
Engineering at Chongqing University. His main research<br />
interest is uality and reliability engineering , industrial<br />
engineering (IE), Enterprise Resource Planning (ERP).
930 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Unified Service Platform for Accessing Grid<br />
Resources<br />
Abstract�Web Services Resource Framework (WSRF)<br />
redefines Grid Services standards and extends Web Services<br />
by adding stateful resources. Using GT4 to develop WSRF<br />
Grid Services is a taxing work, and it is difficult to build and<br />
deploy these services dynamically. Addressing these issues,<br />
this paper proposes a unified service platform which can<br />
provide a series <strong>of</strong> unified service interfaces for accessing<br />
kinds <strong>of</strong> different Grid resources. On the platform, Grid<br />
resources are independent <strong>of</strong> the service interfaces. The<br />
platform provides unified service interfaces to access different<br />
Grid resources on server, so Grid services developers only pay<br />
attentions to realizing the native methods <strong>of</strong> Grid resources<br />
and configuring necessary resource database. The remainder<br />
work <strong>of</strong> composing typical Grid Services such as mapping the<br />
resources into the service interfaces would be automatically<br />
finished by the platform. It means that Grid Services<br />
development becomes native application development. What is<br />
more, there are no needs to restart the service container when<br />
deploying/undeploying Grid resources, so it does not affect<br />
other resources. The platform provides service-users with two<br />
types <strong>of</strong> clients, one is for directly invoking the unified<br />
interfaces and the other is a proxy client associating to the<br />
specific Grid resource. Finally, the test shows that the service<br />
development and deployment is much easier on this platform<br />
and the service performs well.<br />
Index Terms�WSRF, GT4, Grid resources, Web Services<br />
I. INTRODUCTION<br />
Web Services Resource Framework (WSRF) specifies<br />
stateful services by adding stateful resources to stateless<br />
Web Services. The Globus Toolkit (GT) is a s<strong>of</strong>tware toolkit<br />
can use to program Grid-based applications. The Globus<br />
Toolkit 4(GT4), in fact, includes a complete implementation<br />
<strong>of</strong> the WSRF specification. GT4 Java WS Core is the<br />
common runtime component provides a set <strong>of</strong> Java libraries<br />
and tools which are needed to build both WS and non-WS<br />
services. This paper discusses the issue that using GT4 to<br />
build WSRF Grid Services [1] [2].<br />
Developer may encounter some problems using GT4 Java<br />
WS Core to developing Grid Services and Grid-based<br />
applications.<br />
1) Heavy coding workload to generate a WSRF service.<br />
Generating Grid Services Using GT4 is different to<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.930-936<br />
Shaochong Feng<br />
Dept. 2, Mechanical Engineering College, Shijiazhuang, China<br />
Email: fscsat@gmail.com<br />
Yuanchang Zhu and Yanqiang Di<br />
Dept. 2, Mechanical Engineering College, Shijiazhuang, China<br />
Email: {YuanchangZ, YanDi}@gmail.com<br />
developing native applications. Besides the kernel code <strong>of</strong><br />
the services and resources, many other configuration files,<br />
build files and scripts must be finished manually. As Fig.1<br />
shows, writing a simple stateful web service that uses<br />
WSRF to keep state information needs at least 4 steps:<br />
� Define the service's interface. This is done with<br />
WSDL.<br />
� Implement the service. This is done with Java.<br />
� Define the deployment parameters. This is done<br />
with WSDD and JNDI.<br />
� Compile everything and generate a GAR file. This<br />
is done with Ant.<br />
Figure 1. Generating a WSRF service GAR file<br />
It is a great block for the newer, and is a load for the<br />
trained programmer.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 931<br />
2) Difficult to dynamically deploy and undeploy. The<br />
final work <strong>of</strong> deploy a WSRF Grid Service is placing the<br />
generated GAR files to services container. Although GT4.2<br />
supports dynamic deployment in standalone container, the<br />
third party Web services containers such as Tomcat are not<br />
supported. If developers want to deploy or undeploy Grid<br />
Services, they have to stop the services container first,<br />
executing the deploying or undeploying, and then restart the<br />
services container. The other active stateful services and<br />
resources running in the container would be consequentially<br />
affected. What is more, services modifying and transferring<br />
cannot be achieved dynamically.<br />
Addressing these issues, this paper proposes a Unified<br />
Service Platform (USP) for accessing Grid resources based<br />
on GT4 Java WS Core. Under USP, the main workload <strong>of</strong><br />
developing Grid applications is realizing the native methods<br />
<strong>of</strong> the Grid resources, just like developing native application.<br />
The Grid resources can be dynamically deployed and<br />
undeployed under USP regardless what kind <strong>of</strong> Web<br />
services container is used.<br />
The remainder <strong>of</strong> the paper is organized as follows:<br />
Section II briefly summarizes the related researches and<br />
works. Section III analyzes the modes <strong>of</strong> accessing the Grid<br />
resources. Section IV describes the architecture <strong>of</strong> USP.<br />
Section V presents the experiment on USP. Conclusions and<br />
future work are presented in Section VI.<br />
II. RELATED WORKS<br />
The research group form University <strong>of</strong> Marburg proposed<br />
GDT (Grid Development Tools) which is part <strong>of</strong> the<br />
Marburg Ad-hoc Grid Environment (MAGE). GDT is a<br />
bundle <strong>of</strong> Eclipse Plugins useful for Service and Application<br />
Development, Workflow Creation, Grid Management and<br />
others in the Eclipse Integrated Development Environment<br />
[5]. GDT greatly reduced the workload under Eclipse to<br />
develop Grid applications. In [7], they modified the Axis<br />
web service engine utilized by GT4 to allow dynamic<br />
loading and unloading <strong>of</strong> Grid services. Hot Deployment<br />
Service (HDS) was constructed to provide applications with<br />
the capability to remotely deploy, undeploy and redeploy<br />
services onto a running node. In [8] an approach to discover<br />
Grid resources and to deploy Grid services based on<br />
peer-to-peer technologies was presented.<br />
Reference [9] and reference [10] specially researched the<br />
dynamic services deployment. Eun-Kyu Byun developed<br />
Universal Factory Service (UFS) that provided a dynamic<br />
Grid service deployment mechanism and a resource broker<br />
called Door service [9]. Jon B. Weissman proposed a<br />
dynamic service architecture consists <strong>of</strong> several core<br />
services and components, the kernel was the Adaptive Grid<br />
Service (AGS) [10]. However, these researches are all based<br />
on OGSI/GT3, and with the development <strong>of</strong> Grid<br />
technology, OGSI/GT3 has been replaced by WSRF/GT4.<br />
The OGSI services don�t have states information, so the<br />
© 2011 ACADEMY PUBLISHER<br />
proposed approaches in [9] and [10] are not compatible with<br />
WSRF.<br />
FuQiang Li presented an approach to deploy visualization<br />
services dynamically in [11]. The Uniform Visualization<br />
Service (UVS) is developed in this paper to provide<br />
dynamic visualization services deployment on the Grid, and<br />
a service named Agency Service, is used as a resource<br />
broker/dispatcher and service states communicator. Service<br />
users send requests to Agency Service. The Agency Service<br />
find available or applicable services from service center,<br />
retrieve the available service codes from the service codes<br />
center, and find available resources from MDS. The Agency<br />
Service can transfer the service codes to the available<br />
resources. The UVS on the resources creates UVS instance<br />
to create the service instance with the service codes. The<br />
service instance has its own service resources, which can be<br />
interacted and collaborated with the service users. In this<br />
architecture, the service providers only concern on<br />
developing the visualization service codes but not finding<br />
available resources.<br />
Addressing the issue that services container can only<br />
accommodate language-special services, Pu Liu and<br />
Michael J. Lewis described the implementation <strong>of</strong> an<br />
approach that allows Grid services developers to write their<br />
code in one language, and have the services running in<br />
different service containers, namely GT4, WSRF.NET, and<br />
gSOAP and ACE [12].<br />
Li Qi and Doc. Hai Jin proposed a highly available<br />
dynamic deployment infrastructure (HAND) in [13], which<br />
addressed dynamic service deployment at both the container<br />
level and the service level.<br />
These researches are significative for this paper, but all <strong>of</strong><br />
them concerned the service itself, the service interfaces are<br />
tightly bound to the resources. USP proposed in this paper<br />
keeps the services interfaces and the resources completely<br />
separated, users can access the Grid resources through the<br />
same service interface. USP provides the unified service<br />
interface and the mechanism <strong>of</strong> managing different<br />
resources on server, so the Grid Service developing is<br />
predigested to developing resources and configurating<br />
database.<br />
III. MODES OF ACCESSING GRID RESOURCES<br />
WSRF adds stateful resources to stateless Web Services.<br />
So the WSRF service interfaces usually bind the resources.<br />
The kernel idea <strong>of</strong> this paper is thoroughly disparting the<br />
service interfaces and Grid resources. USP publishes the<br />
unified WSRF service interfaces which access Grid<br />
���������� �������� ������� ����������� ���� �������� terms are<br />
listed as follows:<br />
1) Proxy Resource (PR): PR is a Java class, and it is the<br />
resource directly related to the published service interfaces<br />
by USP. PR implements the defined functions in USP�s<br />
WSDL file, and provides access to the real resource.
932 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
2) Real Resource (RR): RR also is a Java class, and it is<br />
the resource with the final functions. RR is reserved in the<br />
resource database.<br />
3) Instance <strong>of</strong> Proxy Resource (IPR): IPR is an object <strong>of</strong><br />
class PR.<br />
4) Instance <strong>of</strong> Real Resource (IRR): IRR is an object <strong>of</strong><br />
class RR.<br />
USP takes the user-defined Grid resources as RR, and<br />
publishes unified service interfaces for accessing the RRs.<br />
The published service interfaces only retrieve PR, and they<br />
know nothing about the RR. USP automatically maps the<br />
access from client to ��� ��� ���� �������� ����� �������<br />
methods.<br />
When client invokes the service published by USP, the<br />
PR and RR on server may interact with each other in three<br />
modes:<br />
A. Singleness IPR mode<br />
As Fig.2 shows, in the singleness IPR mode, there is only<br />
one instance <strong>of</strong> proxy resource. All clients access IRRs<br />
through the Singleness IPR, so the invoked service interface<br />
should include the parameters to indicate the invoking RR,<br />
the specified IRR and the exact method with all <strong>of</strong> the<br />
��������������������<br />
B. IPR-RR mode<br />
As Fig.3 shows, in the IPR-RR mode, USP maintains an<br />
instance <strong>of</strong> proxy resource for each real resource class, and<br />
one IPR may contain several instances <strong>of</strong> real resource. The<br />
clients access the different instances <strong>of</strong> the same RR class<br />
through the same IPR. It means the invoked RR can be<br />
judged by the IPR, so the invoked service interface should<br />
include the parameters to indicate the specified IRR and the<br />
exact method with all <strong>of</strong> the ��������������������<br />
C. IPR-IRR mode<br />
As Fig.4 shows, in this mode, instance <strong>of</strong> proxy resource<br />
and instance <strong>of</strong> real resource are peer to peer. The clients<br />
access the IPR-IRR pairs. So the invoked service interface<br />
������� ����� �������� ���� ������ ������� ����� ���������<br />
parameters.<br />
Client1<br />
Client2<br />
Client3<br />
Client4<br />
Service<br />
Interface<br />
© 2011 ACADEMY PUBLISHER<br />
Instance <strong>of</strong><br />
Proxy<br />
Resource<br />
Figure 2. Singleness IPR mode<br />
Instan<br />
ce1_A<br />
Instan<br />
ce2_A<br />
Instan<br />
ce1_B<br />
Instan<br />
ce2_B<br />
Real Resource A<br />
Real Resource B<br />
Client1<br />
Client2<br />
Client3<br />
Client4<br />
Client1<br />
Client2<br />
Client3<br />
Client4<br />
Service<br />
Interface<br />
Service<br />
Interface<br />
Instance1 <strong>of</strong><br />
Proxy<br />
Resource<br />
Instance2 <strong>of</strong><br />
Proxy<br />
Resource<br />
Figure 3. IPR-RR mode<br />
Instance1 <strong>of</strong> Proxy<br />
Resource<br />
Instance2 <strong>of</strong> Proxy<br />
Resource<br />
Instance3 <strong>of</strong> Proxy<br />
Resource<br />
Instance4 <strong>of</strong> Proxy<br />
Resource<br />
Figure 4. IPR-IRR mode<br />
Instan<br />
ce1_A<br />
Instan<br />
ce2_A<br />
Instan<br />
ce1_B<br />
Instan<br />
ce2_B<br />
Instan<br />
ce1_A<br />
Instan<br />
ce2_A<br />
Instan<br />
ce1_B<br />
Instan<br />
ce2_B<br />
Obviously, in the first two modes, it is probable that<br />
client access different IRRs through the same IPR, and the<br />
fault in one IRR accessing may fail several <strong>of</strong> the other<br />
IRRs. What is more, in view <strong>of</strong> GT4, the IPR and IRR could<br />
not be created together with these two modes, extra<br />
attentions must be paid to manage the IRR, and it may<br />
increase the complexity <strong>of</strong> the system. Anyway, this paper<br />
adopts the IPR-IRR mode.<br />
IV. IMPLEMENT OF THE MAIN COMPONENTS<br />
UIS IPR IRR<br />
RQDS<br />
SLQS<br />
Resource<br />
manager<br />
Resource database<br />
Server load<br />
monitor<br />
UIS: Unified invoking Service<br />
RQDS: Resource Query&Deploy Service<br />
SLQS: Server Load Query Service<br />
Figure 5. Structure <strong>of</strong> USP server<br />
Besides IPR and IRR, USP server is composed <strong>of</strong> three<br />
WSRF services and several backup modules like Fig.5<br />
shows.<br />
Real Resource A<br />
Real Resource B<br />
Real Resource A<br />
Real Resource B
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 933<br />
A. Resource database<br />
Resource database maintains the RR class information,<br />
such as the full class name (including class package), public<br />
class methods and so on. The information <strong>of</strong> the active IRR<br />
is also recorded here.<br />
B. Resource manager<br />
This module takes responsibility to map IPR to IRR. The<br />
functions are listed as following:<br />
� Queries and configures the resource database.<br />
� Obtains the RR class according to the queried RR��<br />
name utilizing Java reflection/introspection<br />
�<br />
mechanism. Farther, all <strong>of</strong> the RR class native<br />
methods can be achieved.<br />
Maps the access to IPR to corresponding IRR<br />
according to the necessary parameter provided by<br />
the UIS.<br />
C. Server load monitor<br />
The performance parameters such as CPU type, CPU<br />
utilization, memory size, memory utilization and bandwidth<br />
are gained by server load monitor module.<br />
D. Unified Invoking Service(UIS)<br />
As the kernel part <strong>of</strong> USP, UIS is a WSRF service, and it<br />
provides clients with the unified invocation interfaces to<br />
requesting the RR on server. IPR-IRR mode described in<br />
Fig.3 is adopted here. The main interfaces published by UIS<br />
are listed as follows:<br />
1) Service interface for resource instantiation: The service<br />
interface CreateResource(Sting strRRName)can create an<br />
IPR-IRR pair. The strRRName parameter specified the<br />
identity <strong>of</strong> the accessed RR. Receiving the invoking on this<br />
interface, server creates an instance <strong>of</strong> PR, then queries the<br />
resource database, obtains the RR by strRRName, and<br />
creates the object <strong>of</strong> it. So an IPR-IRR pair is maintained on<br />
server for each client.<br />
2) Service interface for accessing the RR: Because the<br />
native methods are different between different RRs, the<br />
service interface for accessing ��� ����� ������� ������� ���<br />
designed to be unique, and it is WSRFFunc(String strParam,<br />
String strFuncName). The strFuncName parameter specifies<br />
����� ������� ������� ��� ��� ��������� ������ ����������� ����<br />
included in the strParam parameter. Receiving the request<br />
on this interface, server invokes IPR, and then maps this<br />
invoking to the IRR through resource manager module.<br />
3) Interface for the notification: in GT4, resource exposes<br />
a resource property (RP) as a topic for client to subscribing,<br />
a notification would be triggered each time the value <strong>of</strong> the<br />
RP changes, and then client subscribing the topic receives<br />
the notification. The topic published by RR are also<br />
uncertain, so the USP implies a unified methods<br />
WSRFNoty(String str)in UIS. PR publishes one topic for<br />
client subscribing, and all the message <strong>of</strong> the notification<br />
such as the real topic <strong>of</strong> RR and the value <strong>of</strong> RP is encoded<br />
in the str parameter.<br />
© 2011 ACADEMY PUBLISHER<br />
E. Resource Query&Deploy Service( RQDS)<br />
RQDS provides WSRF services facilitating users to<br />
program under USP.<br />
1) Service interface for querying RR information: the<br />
service interface QueryAllClass() queries all <strong>of</strong> the RRs, and<br />
generates a text file for client. The text file lists all the class<br />
names <strong>of</strong> RRs.<br />
2) Service interface for querying the pointed RR<br />
information: the service interface QueryClass(String<br />
strRRName) queries detailed information <strong>of</strong> pointed RR<br />
specified by the strRRNamer parameter, and generates three<br />
file for client. The first file lists all the public methods with<br />
parameters <strong>of</strong> the class. The second file shows an example<br />
<strong>of</strong> invoking the unified service interfaces published by UIS.<br />
The third file is a Java file, it is the proxy client, and<br />
sometimes a proxy notifier is also generated if the pointed<br />
RR can notify the client. UIS publishes only one service<br />
interface WSRFFunc ���� �������� ��� ������� ����� ���������<br />
Although client may invoke this interface follow the<br />
example in first file, the client program would be very<br />
complex, because clients have to make sure the<br />
strFuncName ���������� ��� �������� ���� ����� �������� and<br />
encode the strParam parameter according to the achieved<br />
second text file generated by QueryClass interface. So, the<br />
QueryClass interface can build new Java classes based on<br />
the queried RR class and the client stubs, and they are the<br />
proxy client and proxy notifier. The proxy client<br />
encapsulates the client stubs and provides same public<br />
methods with the pointed remote RR; analogously the proxy<br />
notifier provides the same interfaces with the pointed remote<br />
RR. So if client instantiates the proxy client, and invokes its<br />
methods, the proxy client would map the invoking to the<br />
WSRFFunc request, and finally the request would be sent to<br />
����������������corresponding method on server. It greatly<br />
advantages the USP users.<br />
3) Service interface for deploying Grid resource: the<br />
service interface DeployingRR(String strConfgFile, String<br />
strRR) is for users to remotely deploy the RR and configure<br />
the resource database. The strConfgFile parameter specifies<br />
a local text file, which should define the following elements:<br />
RR full class name, location on the server, and dependence<br />
relationship. The other strRR parameter refers the native<br />
Java class file to be deployed as RR. The file transmission<br />
from client to server is based on GridFTP.<br />
All <strong>of</strong> the interfaces <strong>of</strong> the RQDS are related to the<br />
resource manager module which reads and writes the<br />
resource database.<br />
F. Server Load Query Service(SLQS)<br />
����� ��������� �������� ����� ���� ��������� ������������<br />
information such as the CPU type, CPU utilization, memory<br />
size, memory utilization and bandwidth.<br />
G. Process <strong>of</strong> accessing the resources<br />
Under USP, the process <strong>of</strong> accessing the Grid resources is<br />
described in Fig.5 (it is supposed that client has invoked
934 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
RQDS, generated the proxy client, and instantiated the<br />
IPR-IRR pair by calling CreateResource).<br />
1) Client invokes the native method Func(String str) <strong>of</strong><br />
the proxy client.<br />
2) Proxy client transforms Func(String str) to<br />
WSRFFunc(String strParam, String strFuncName), and<br />
invoke the client stub. The parameter <strong>of</strong> Func is encoded to<br />
be the strParam parameter, and proxy client also specifies<br />
the invoking method by strFuncName parameter.<br />
3) Client stub sends the request WSRFFunc to UIS.<br />
V. PERFORMANCE TEST<br />
The proposed unified service platform is based on GT4<br />
Java WS Core, it provides unified WSRF service interfaces<br />
to accessing the resources on server through the IPR-IRR<br />
pair, and reduces the workload in service development and<br />
configuration. USP adds middleware to the interaction<br />
between service interfaces and the real resources, so the<br />
service performance would be affected consequentially.<br />
The performance test is executed to examine the<br />
performance lost and development efficiency increase. The<br />
test mainly inspected the response time to finish a service<br />
invoking. What is more, we compared the workload by<br />
measuring time consumption for a trained GT4 programmer<br />
to developing and deploying new Grid Service.<br />
A. Response time test<br />
We took a simple RR class ClassA with native method int<br />
Func(String str) for example. The Func directly returns an<br />
integer value, and does nothing else.<br />
Using GT4, the ClassA is instantiated in hard code by<br />
resource factory when Creating IPR, and service interface<br />
directly calls ������Func method and get the returned value.<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 6. Consequent diagram <strong>of</strong> accessing Grid resources based on USP<br />
4) UIS finds the corresponding IPR <strong>of</strong> the client.<br />
5) USP invokes ����������WSRFFunc method.<br />
6) 7) Resource manager queries resource database and<br />
���������������Func method according to the strFuncName<br />
parameter.<br />
8) UIS decodes the strParam parameter, and call the<br />
Func method.<br />
Finally, client receives the responds from server.<br />
The implement <strong>of</strong> the notification is a converse process.<br />
Under USP, the ClassA was recorded in resource database,<br />
USP queries the database, gets ClassA and its Func method<br />
utilizing Java reflection/introspection mechanism, and then<br />
invokes its method. It is necessary to code and decode the<br />
parameters in the interaction between IPR and instance <strong>of</strong><br />
ClassA.<br />
The testing environment is described in Tab.1. We<br />
separately carried out experiments in Windows and Linux,<br />
and all the tests were executed in LAN connected by a<br />
switch.<br />
References [14] and [15] have mentioned that in<br />
Windows environment, the service response time seemed to<br />
be affiliated with the length <strong>of</strong> the parameters. If the data<br />
length is about between 200 bytes and 3000 bytes, the<br />
latency is relatively small, as long as out <strong>of</strong> this range,<br />
longer or shorter, the latency would be much heavier. So in<br />
Windows test, the length <strong>of</strong> str parameter was set to 500<br />
bytes.<br />
In Windows, we separately executed 50 tests under USP<br />
and GT4. In each test, we continually invoked the service<br />
interface for 100 times, measured the invoking response<br />
time and in the end <strong>of</strong> each test, the mean <strong>of</strong> all the time<br />
consumption values were calculated as the result <strong>of</strong> this test.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 935<br />
The test scheme in Linux was similar except that the<br />
length <strong>of</strong> str parameter was 5 bytes.<br />
server<br />
client<br />
TABLE I. TEST ENVIRONMENT<br />
CPU Pentium(R)4 2.6G<br />
memory 512M<br />
Operation system<br />
WinXP pro sp2<br />
Ubuntu8.04<br />
Grid toolkit GT4.0.8<br />
JDK Java-1.5.0<br />
Service container Tomcat5.5.29<br />
Ethernet 100M<br />
CPU Pentium(R)4 2.6G<br />
memory 512M<br />
Operation system<br />
WinXP pro sp2<br />
Ubuntu 8.04<br />
JDK Java-1.5.0<br />
Service container Tomcat5.5.29<br />
Ethernet 100M<br />
other switch DLink 100M<br />
Fig.7 shows the test data in Windows, while Fig.8<br />
indicates the test in Linux. Tab.2 analyses the data. From<br />
these two figures, we can see that the values <strong>of</strong> service<br />
response time under USP and GT4 are approximate. Tab.2<br />
shows that under USP, the mean service time in Windows<br />
rises from 19.27ms to 20.34ms, and the one in Linux rises<br />
from 37.84ms to 38.56ms comparing to the service directly<br />
utilizing GT4. The service performance loss is no more than<br />
6%.<br />
Figure 7. Service time consumption in Windows<br />
© 2011 ACADEMY PUBLISHER<br />
Figure 8. Service time consumption in Linux<br />
TABLE II. DATA IN WINDOWS<br />
Windows(ms) Linux(ms)<br />
max min mean max min mean<br />
GT4 17.2 13.77 19.27 41.72 35.34 37.84<br />
USP 29.09 14.82 20.34 43.26 36.32 38.56<br />
In fact, the performance <strong>of</strong> GT4 service is not stable for<br />
some reasons, just like what Fig.7 and Fig.8 have showed,<br />
the service response time always floats in a certain range. So<br />
a little service time rising is not meaningful to Grid<br />
Services.<br />
So, the negative effect on service performance taken by<br />
USP is not evident.<br />
B. Workload test<br />
The performance can be ensured, how about the<br />
workload? We separately measured the time consumption<br />
for a trained programmer to finish new Grid Service<br />
utilizing GT4, GDT and USP. The function <strong>of</strong> Grid Service<br />
is same to the one used in response time test. The comparing<br />
<strong>of</strong> time consumption is listed in Tab.3. We can see that the<br />
developing efficiency increases a lot.<br />
TABLE III. TIME CONSUMING COMPARE<br />
Tools USP GDT GT4<br />
Time 4.2 min 11.4min 37.8 min<br />
C. Test conclusion<br />
From the test, we can easily come to the conclusion that<br />
Grid Service development under USP is efficient and the<br />
outcome service performs almost as well as the service<br />
directly generated by GT4.<br />
VI. CONCLUSION<br />
A unified service platform for accessing Grid recourses is<br />
proposed in the paper. USP separates the service<br />
development and resource development, and provides
936 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
unified service interfaces to access different resources. The<br />
main workload for a USP user willing to deploy Grid<br />
resources is realizing the native methods and configuring the<br />
resource database. The resources under USP can be<br />
deloyed/undeployed dynamically. Besides the common<br />
client stub which can directly invoke the unified service<br />
published by USP, users can also achieve the proxy client<br />
through resource query&deploy service. The proxy client<br />
and proxy notifier could greatly facilitate the service users.<br />
The final experiment pro<strong>of</strong>s that the service performance<br />
under USP is acceptable for Grid applications and<br />
development workload reduce a lot.<br />
This paper only proposes a prototype. The future works<br />
include management <strong>of</strong> the third-party resources used by<br />
RR, GUI for USP users, high QoS <strong>of</strong> USP, and so on.<br />
ACKNOWLEDGMENT<br />
The authors wish to thank Dr. Xianguo Meng from<br />
Dept.2 <strong>of</strong> Mechanical Engineering College.<br />
REFERENCE<br />
[1] http://www.globus.org/toolkit/.(2010-10-11)<br />
[2] ������ ����������� ���� ������� ��������� ������������� ����������<br />
http://gdp.globus.org/gt4-tutorial/.(2010-2-5)<br />
[3] http://tomcat.apache.org. (2010-2-5)<br />
[4] Ken Arnold, Jams Gosling, David Holmes. The Java TM<br />
Programming Language, Fourth Edition. Pearson Education, Inc.<br />
2006<br />
[5] http://mage.uni-marburg.de/trac/gdt/wiki. (2009-12-3)<br />
[6] T. Friese, M. Smith, and B. Freisleben. GDT:A Toolkit for Grid<br />
Service Development. In Proc. <strong>of</strong> the 3rd International Conference<br />
on Grid Service Engineering and Management, pages 131-148, 2006<br />
[7] M. Smith, T. Friese, and B. Freisleben. Intra-Engine Service Security<br />
for Grids Based on WSRF. In Proceedings <strong>of</strong> the 2005 IEEE<br />
International Symposium on Cluster Computing and Grid<br />
�����������������s 644-653, 2005.<br />
[8] Kay Dornemann and Bernd Freisleben. Discovering Grid Resources<br />
and Deploying Grid Services Using Peer-to-Peer Technologies. In<br />
Proceedings <strong>of</strong> the 2009 International Conference on Advanced<br />
Information Networking and Applications Workshops, pages<br />
292-297, 2009<br />
[9] Eun-Kyu Byunt, Jae-Wan Jangt, Wook Jungt et al. A Dynamic Grid<br />
Services Deployment Mechanism for On-Demand Resource<br />
© 2011 ACADEMY PUBLISHER<br />
Provisioning. In Proceedings <strong>of</strong> the 2005 IEEE International<br />
Symposium on Cluster Computing and the Grid, pages 863-870,<br />
2005<br />
[10] Jon B. Weissman, Seonho Kim, and Darin England, Supporting the<br />
Grid Service Dynamic Lifecycle. In Proceedings <strong>of</strong> the 2005 IEEE<br />
International on Cluster Symposium and Computing the Grid, pages<br />
808- 815,2005<br />
[11] Fu Qiang Li, Bin Gong, Cheng Xing. Dynamic Visualization Service<br />
Deployment in Grid Scientific Workflow. In Proceedings <strong>of</strong> the 2008<br />
Seventh International Conference on Grid and Cooperative<br />
Computing, pages 201-205, 2008<br />
[12] Pu Liu, Michael J. Lewis. Unified Dynamic Deployment <strong>of</strong> Web and<br />
Grid Services. In the Proceedings <strong>of</strong> 2007 IEEE Conference on Web<br />
Service, pages 26-34, 2007<br />
[13] L. Qi, H. Jin, I. Foster, and J. Gawor. HAND: Highly Available<br />
Dynamic Deployment Infrastructure for Globus Toolkit 4. In the<br />
Proceedings <strong>of</strong> 15th EUROMICRO International Conference on<br />
Parallel, Distributed and Network-Based Processing, pages155-162,<br />
2007<br />
[14] Shaochong Feng, Yanqiang Di, Yuanchang Zhu, et al. Developing<br />
WSRF-Based Web Service RTI Using GT4. In Proceedings <strong>of</strong> 2009<br />
First International Workshop on Education Technology and<br />
Computer Science, pages 1066-1069, 2009<br />
[15] Feriese,Thomas.��������-��������� ��� ���� ����� ������������<br />
[Doctoral dissertation], Fachbereich Mathmatik und Informatik<br />
Universit Marburg ,2006<br />
Shaochong Feng was born in Hebei, China. He receives his<br />
Master�s degree in Guidance, Navigation and Control from<br />
Mechanical Engineering College in 2007. His technical<br />
interests include distributed modeling and simulation, Grid<br />
computing and Cloud computing.<br />
Yuanchang Zhu was born in Heilongjiang, China. He<br />
received the B.A., M.A., and Ph.D in 1982, 1988 and 2005.<br />
He is a pr<strong>of</strong>essor at Mechanical Engineering College. His<br />
study interests include M&S, Cloud Computing and so on.<br />
Yanqiang Di was born in Hebei, China. He received the<br />
B.A., M.A., and Ph.D in 1995, 1998 and 2009. He is a<br />
teacher at Mechanical Engineering College. His study<br />
interests include M&S, Grid Computing and database<br />
system.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 937<br />
Research on an Improved Terrain Aided<br />
Positioning Model<br />
Li Shidan<br />
Dept. Electronic Engineering, Tsinghua University, Beijing, China<br />
Email: lisd06@mails.tsinghua.edu.cn<br />
Sun Liguo, Li Xin, Wang Desheng<br />
Dept. Electronic Engineering, Tsinghua University, Beijing, China<br />
Email: {slg00, xinli05, wangdsh_ee}@mails.tsinghua.edu.cn<br />
Abstract—Terrain aided positioning (TAP) is a kind <strong>of</strong><br />
positioning method which acquires position information<br />
from the terrain elevation datum underneath the vehicle.<br />
This method has the characteristics <strong>of</strong> autonomy, allweather,<br />
anti-interference, strong stealthiness and high<br />
accuracy. It is widely used in the navigation system for<br />
various aircrafts, cruise missiles and underwater vehicles.<br />
The fundamentals <strong>of</strong> TAP is that it firstly measures the<br />
terrain elevation underneath the vehicle using relevant<br />
sensors, then compares these datum with the referenced<br />
Digital Elevation Map (DEM) and acquires the position<br />
information through matching algorithm. The system model<br />
for TAP currently used totally depends on the referenced<br />
DEM and the position acquired is the position referenced to<br />
the map rather than the true position. Due to the DEM<br />
error which is introduced during production procedure, the<br />
position on the map is not the real position. In order to<br />
overcome the problem, the paper proposes an improved<br />
TAP model which introduces the map error into the system<br />
model and gets the recursive solution based on the Bayesian<br />
framework which is numerically solved by RPF particle<br />
filter. From the simulation results, the new model has<br />
extraordinary performance for handling the error <strong>of</strong> DEM<br />
and the algorithm can estimate the map error and acquire<br />
the accurate position.<br />
Index Terms—Terrain Aided Positioning, non-linear<br />
estimation, Bayesian iteration, Particle Filter, RPF<br />
I. INTRODUCTION<br />
Positioning and navigation system plays an important<br />
role on any vehicle no mater aerial, surface or underwater.<br />
The positioning system widely used nowadays can be<br />
divided into two categories: non-autonomy system and<br />
autonomy system.<br />
Non-autonomy system, represented by the satellite<br />
based systems, such as GPS and GNSS can give accurate<br />
position information by receiving signals from external<br />
devices. These satellite based systems can easily be<br />
jammed by electromagnetic interference and even the<br />
Manuscript received December 4, 2010; revised January 15, 2011;<br />
accepted January 26, 2011.<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.937-943<br />
satellite itself may be attacked during war time.<br />
Meanwhile, due to the rapid attenuation <strong>of</strong><br />
electromagnetic wave through sea water, such satellite<br />
based systems are not suitable for underwater vehicles.<br />
Autonomy system, include inertial navigation system<br />
(INS) and terrain aided navigation system (TAN), does<br />
not need external devices for positioning and has the<br />
characteristics <strong>of</strong> all-weather, anti-interference, strong<br />
stealthiness and so on. They are widely used in many<br />
kinds <strong>of</strong> military vehicles for main or backup positioning<br />
system. Although INS can give high accurate positioning<br />
information during short time period, it has time<br />
accumulated errors which should be corrected by other<br />
systems, such as TAN or GPS, during work time, while<br />
the positioning error <strong>of</strong> TAN system mainly depends on<br />
the complexity and similarity <strong>of</strong> the terrain. TAN can also<br />
give high accurate position information from rugged<br />
terrain. For example, the TERPROM system widely used<br />
on NATO’s military aircrafts has horizontal position<br />
accuracy <strong>of</strong> 10~25 meters [1].<br />
From the introduction above, it can be inferred that the<br />
autonomy poisoning system, especially TAN system,<br />
plays an important role on military usage during war time<br />
and may be the only choice for underwater vehicles.<br />
However the terrain aided positioning system currently<br />
used severely depends on the accuracy <strong>of</strong> the referenced<br />
Digital Elevation Map (DEM) which can be introduced<br />
with errors during producing [2] and finally leads to large<br />
differences between true position and estimated position.<br />
The paper just focuses on such problem and proposes an<br />
improved system model which introduces the map error<br />
components to the system model. The paper gives<br />
feasibility pro<strong>of</strong> for the new model based on Bayesian<br />
theory and uses RPF particle filter for numerically getting<br />
the result. The simulation results confirm that the new<br />
model can estimate the map error and give more accurate<br />
position information compared to the basic model.<br />
II. SYSTEM MODEL<br />
The paper mainly discusses the terrain aided<br />
positioning system for aircrafts, but it can be easily<br />
extended to the underwater systems.
938 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
The airborne sensors for measuring terrain underneath<br />
the aircrafts are composed <strong>of</strong> barometric altimeter and<br />
radar altimeter. Fig. 1 shows the measurement procedure.<br />
The barometric altimeter measure the aircraft’s altitude<br />
above sea level while the radar altimeter gets the<br />
elevation above the ground, and the difference between<br />
the two makes the terrain elevation underneath the<br />
vehicle. During the measuring, the pressure fluctuation<br />
and atmospheric turbulence may affect the barometric<br />
altimeter while the terrain roughness and the ground<br />
vegetation may influence the radar altimeter. There are<br />
several papers discussed such error aspects [3, 4, 5]. This<br />
paper concentrates on the influence caused by the DEM<br />
error and does not introduce the sensor error components<br />
into the system model.<br />
Figure 1. Terrain elevation measurement.<br />
The basic model for terrain aided positioning is<br />
⎧ k + = k + k<br />
⎪<br />
⎨ k = k + k<br />
⎪<br />
⎩y<br />
k = h ( k ) + v<br />
* *<br />
* *<br />
e 1 e w<br />
* *<br />
x x e<br />
x<br />
where *<br />
e k is the position error <strong>of</strong> INS at time k which is<br />
modeled as time accumulated error. x k is the horizontal<br />
position from INS which is the true position<br />
k<br />
(1)<br />
*<br />
x k plus INS<br />
error *<br />
e k . y k is the terrain elevation measurement which<br />
is the true terrain elevation ( )<br />
* *<br />
h x plus the<br />
measurement noise v k . The process noise w k and<br />
measurement noise vk are independent with each other<br />
and also independent with the state *<br />
e k . They have<br />
Gaussian distribution w k ~ N(<br />
0,<br />
Qk<br />
) , v k ~ N(<br />
0,<br />
Rk<br />
) .<br />
*<br />
Due to the strong non-linearity <strong>of</strong> the terrain h ( ⋅)<br />
,<br />
this model is classified into the non-linear model and the<br />
terrain aided positioning belongs to the typical non-linear<br />
estimation problem.<br />
*<br />
In the basic model above, h ( ⋅)<br />
represents the terrain<br />
elevation map. Because the map component is denoted as<br />
© 2011 ACADEMY PUBLISHER<br />
k<br />
( )<br />
* *<br />
h x k in the measurement equation, the estimated<br />
*<br />
position x ˆ k which is corrected by the *<br />
e ˆ k through x k is<br />
*<br />
the position referenced to the map h ( ⋅)<br />
. That is to say,<br />
* *<br />
if h ( ⋅)<br />
is the real map then x ˆ k is the true position<br />
* *<br />
whereas if h ( ⋅)<br />
is the map with errors then x ˆ k is just<br />
*<br />
the position on h ( ⋅)<br />
rather than the true position. Since<br />
the real map can not be acquired, the basic model can<br />
only estimate the position referenced to the map rather<br />
the true position. Fig. 2 depicts the relationship <strong>of</strong> the<br />
values in the procedure. From the correction by the TAN,<br />
the system can give the relative position between the<br />
aircraft and the mountain and the error <strong>of</strong> that position<br />
compared to the true position is just the map error.<br />
Usually the relative position is enough for anti-collision<br />
usages. However the true position is also preferred in<br />
many occasions. So a more complicated model should be<br />
built to estimate the map error from time to time. Hence,<br />
we need to introduce the map error into the system model.<br />
Figure 2. Relationship <strong>of</strong> the values in TAN.<br />
To make the discussion simple, we assume that the<br />
map errors have the regional stability, thus they can be<br />
treated as constant parameters in a certain area.<br />
Let Δ Hk<br />
, Δ Vk<br />
be the horizontal and vertical errors<br />
<strong>of</strong> terrain elevation map respectively where Δ H k<br />
composes <strong>of</strong> two components <strong>of</strong> x and y directions. Then<br />
the TAN referenced elevation map can be expressed as<br />
*<br />
h( ) = h ( x + ΔH<br />
) + ΔV<br />
x (2)<br />
*<br />
k<br />
*<br />
k<br />
*<br />
where h ( ⋅)<br />
represents the real terrain elevation map,<br />
*<br />
x k is the real position.<br />
Let x = xk<br />
+ ΔHk<br />
*<br />
*<br />
, substitute to equation (2), we get<br />
h ( x ) = h(<br />
x − ΔHk<br />
) − ΔVk<br />
(3)<br />
Substitute (3) to the basic model (1), we get the new<br />
measurement equation using h (⋅)<br />
as<br />
y k = h(<br />
k − Δ k ) − ΔVk<br />
+ vk<br />
*<br />
x H<br />
(4)<br />
Then we can get the new system model containing the<br />
map error components:<br />
k<br />
k
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 939<br />
⎧ k + = k + k<br />
⎪<br />
⎪<br />
⎪Δ<br />
k + = Δ k<br />
⎨ΔVk<br />
+ = ΔVk<br />
⎪<br />
= +<br />
⎪ k k k<br />
⎪⎩<br />
yk<br />
= h(<br />
k − Δ k ) − ΔVk<br />
+ vk<br />
*<br />
* *<br />
e 1 e w<br />
H 1 H<br />
1<br />
* *<br />
x x e<br />
x H<br />
(5)<br />
where equations Δ H k +1 = ΔH<br />
k and Δ Vk +1 = ΔVk<br />
are<br />
the reflections <strong>of</strong> the assumption above, meaning that the<br />
error components are constant in the area concerned.<br />
The compact form <strong>of</strong> (5) is<br />
⎧ k + = k + k<br />
⎪<br />
⎨ k = k + ⋅ k<br />
⎪<br />
⎩y<br />
k = h(<br />
k − Δ k ) − ΔVk<br />
+ vk<br />
*<br />
'<br />
e 1 e w<br />
*<br />
x x F e<br />
x H<br />
(6)<br />
* ⎡ e ⎤ k<br />
⎢ ⎥ ⎡1<br />
where ek<br />
= ⎢ΔHk<br />
⎥ , F = ⎢<br />
⎢ ⎥<br />
⎣ΔV<br />
⎣0<br />
k ⎦<br />
0<br />
1<br />
0<br />
0<br />
0<br />
0<br />
⎡wk<br />
⎤<br />
0⎤<br />
' ⎥<br />
0<br />
⎥, w<br />
⎢<br />
k =<br />
⎢<br />
0 .<br />
⎥<br />
⎦<br />
⎢⎣<br />
0 ⎥⎦<br />
III. RECURSIVE BAYESIAN ESTIMATION<br />
According to Bayesian theory, a Bayesian estimation<br />
problem is defined by the joint density <strong>of</strong> the parameters<br />
and the observations, p ( x,<br />
y)<br />
= p(<br />
y | x)<br />
p(<br />
x)<br />
. The<br />
estimator under the minimum mean square error criterion<br />
is the posterior mean x ˆ MS = ∫ xp(<br />
x | y)<br />
dx [6]. So if<br />
n<br />
R<br />
there exists some relationship between the observation<br />
and the parameter, then the parameter can be estimated<br />
by the observation. From the information theory’s point<br />
<strong>of</strong> view, the observation contains the information <strong>of</strong> the<br />
parameter when there exists stochastic relationship<br />
between the two. So we can make use <strong>of</strong> the observation<br />
to estimate the parameter.<br />
Let Y k be the augmented measurement vector<br />
consisting <strong>of</strong> all the measurements up to time step k.<br />
From Bayesian formula [6] and the new system model (6),<br />
we have the posterior probability density function update:<br />
p(<br />
yk<br />
| ek,<br />
Yk<br />
−1)<br />
⋅ p(<br />
ek<br />
| Yk<br />
−1)<br />
p(<br />
ek<br />
| Yk<br />
) =<br />
p(<br />
y | Y )<br />
(7)<br />
k<br />
k−1<br />
−1<br />
*<br />
= αk<br />
⋅ pv<br />
( yk<br />
−h(<br />
xk<br />
−ek<br />
−ΔH<br />
k)<br />
+ ΔVk<br />
) ⋅ p(<br />
ek<br />
| Yk<br />
−1)<br />
k<br />
where<br />
*<br />
α k = ∫ pv ( yk<br />
− h(<br />
x<br />
N k − ek<br />
− ΔHk<br />
) + ΔVk<br />
) ⋅ p(<br />
ek<br />
| Yk<br />
⋅ dek<br />
R k − 1)<br />
.<br />
The priori probability density function update is<br />
p(<br />
ek<br />
+ 1 | Yk<br />
) = ∫ p(<br />
ek<br />
ek<br />
Yk<br />
p ek<br />
Yk<br />
de<br />
N + 1 | , ) ⋅ ( | ) ⋅ k<br />
R<br />
. (8)<br />
* *<br />
= p ( e − e ) ⋅ p(<br />
e | Y ) ⋅ de<br />
∫<br />
N w<br />
R k<br />
k+<br />
1<br />
Given the initial prior density p ( e0 | Y−<br />
1)<br />
= p(<br />
e0)<br />
,<br />
we can recursively generate the posterior probability<br />
density through equation (7) and (8). And the state<br />
© 2011 ACADEMY PUBLISHER<br />
k<br />
k<br />
k<br />
k<br />
estimate is e ˆ k = E[ ek<br />
| Yk<br />
] with covariance matrix<br />
ˆ<br />
T<br />
ˆ ) ( ˆ<br />
k E[( k k k k ) | Yk<br />
] e e e e P − ⋅ − = .<br />
The recursive Bayesian equations above are the<br />
theoretical solution for model (6) and are intractable due<br />
to the complexities <strong>of</strong> the posterior and priori probability<br />
density function in the non-linear model. Usually the<br />
numerical methods should be used for calculating the<br />
result, such as point mass filter (PMF) or particle filter<br />
(PF). This paper uses the PF to solve the model.<br />
IV. PARTICAL FILTER<br />
The fundamental <strong>of</strong> particle filter is to use particles<br />
with weights for representing the probability density<br />
function (PDF) and uses the recursion <strong>of</strong> the particle set<br />
to replace the recursion <strong>of</strong> the posterior density function.<br />
When the complex probability density function is<br />
represented by the particle set the integration in α k and<br />
(8) can be easily calculated according to Monte Carlo<br />
integration theory.<br />
i i M<br />
Let { e k , wk} i=<br />
1 be particle set for the posterior PDF<br />
M<br />
∑<br />
i=<br />
1<br />
i<br />
p( e k | Yk<br />
) , where w = 1 , then<br />
k<br />
k<br />
k<br />
M<br />
∑<br />
i=<br />
1<br />
i<br />
p(<br />
| Y ) ≈ w ⋅ ( e − e )<br />
e δ (9)<br />
where δ (⋅)<br />
is Dirac-Delta function. The estimator and its<br />
covariance are<br />
=<br />
=<br />
k<br />
∑<br />
eˆ<br />
k<br />
= E[<br />
e<br />
=<br />
=<br />
∫ ek<br />
⋅ N ∑<br />
R<br />
M<br />
∑<br />
i=<br />
1<br />
k<br />
| Y ]<br />
i<br />
k<br />
k<br />
M<br />
i=<br />
1<br />
w ⋅e<br />
i<br />
k<br />
w<br />
i<br />
k<br />
T<br />
∫ ( ek<br />
−eˆ<br />
k)<br />
⋅(<br />
ek<br />
−eˆ<br />
k)<br />
⋅<br />
N ∑<br />
R<br />
M<br />
i=<br />
1<br />
⋅<br />
i=<br />
1<br />
i i<br />
i T<br />
w ⋅(<br />
e −eˆ<br />
) ⋅(<br />
e −eˆ<br />
)<br />
k<br />
k<br />
k<br />
k<br />
k<br />
k<br />
k<br />
k<br />
k<br />
M<br />
k<br />
( e<br />
T<br />
Pˆ<br />
= E[(<br />
e −eˆ<br />
) ⋅(<br />
e −eˆ<br />
) | Y ]<br />
k<br />
k<br />
i<br />
k<br />
i<br />
− e ) ⋅ de<br />
δ (10)<br />
k<br />
k<br />
i<br />
i<br />
w ⋅δ<br />
( e −e<br />
) ⋅de<br />
(11)<br />
The recursion <strong>of</strong> the particle set is simply explained<br />
below:<br />
i i M<br />
Let { e k−1 , wk−1} i=<br />
1 be the particle set at time k-1<br />
which represents the posterior PDF p( e k −1 | Yk<br />
−1)<br />
. At<br />
time k, we first draw sample i<br />
e k from an easy sampling<br />
i<br />
distribution q( e k | ek<br />
−1,<br />
yk<br />
) and then update its weight<br />
using<br />
w<br />
i<br />
k<br />
∝ w<br />
i<br />
k −1<br />
i i i<br />
p(<br />
yk<br />
| ek<br />
) ⋅ p(<br />
ek<br />
| ek<br />
⋅<br />
i i<br />
q(<br />
e | e , y )<br />
k<br />
k<br />
k −1<br />
k<br />
k<br />
k<br />
−1<br />
)<br />
k<br />
k<br />
(12)
940 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
i i M<br />
Then the new particle set { e k , wk} i=<br />
1 represents the<br />
posterior PDF p( e k | Yk<br />
) . Thereby this simple particle<br />
set recursion takes place <strong>of</strong> the intractable recursion <strong>of</strong><br />
the posterior PDF.<br />
i<br />
The distribution q( e k | ek<br />
−1,<br />
yk<br />
) is called importance<br />
sampling density function which can be selected<br />
according to requirements. Usually for convenient usage,<br />
i<br />
the state transition PDF p( e k | ek<br />
−1)<br />
is chosen [7].<br />
i<br />
Substitute p( e k | ek<br />
−1)<br />
into (12) yields<br />
i i<br />
i<br />
wk ∝ wk<br />
− 1 ⋅ p(<br />
yk<br />
| ek<br />
)<br />
(13)<br />
Because the last three components <strong>of</strong> the state vector in<br />
the new model are constant parameters, we need special<br />
treatment for random components and constant<br />
components respectively during particle recursion. We<br />
use important sampling density function for random<br />
components and leave constant components unchanged<br />
during particle transition:<br />
* i * *<br />
⎡e<br />
⎤<br />
k ~ p(<br />
ek<br />
| ek<br />
−1)<br />
i ⎢ i i ⎥<br />
e k = ⎢ ΔHk<br />
= ΔHk<br />
−1<br />
⎥ (14)<br />
⎢ i i ⎥<br />
⎣ ΔVk<br />
= ΔVk<br />
−1<br />
⎦<br />
* *<br />
*<br />
p( ek<br />
| ek−<br />
1)<br />
~ N(<br />
ek−1,<br />
Qk<br />
) (15)<br />
i<br />
* i i i<br />
p(<br />
y | e ) = p ( y −h(<br />
x −e<br />
−ΔH<br />
) + ΔV<br />
) (16)<br />
k<br />
k<br />
vk<br />
k<br />
Equations (13) to (16) finally accomplish the particle<br />
filter recursion for map error model (6).<br />
In order to decrease the impacts on PF performance<br />
caused by the phenomenon <strong>of</strong> particle degeneracy and<br />
particle collapse, we need some resampling scheme for<br />
effective representing the PDF.<br />
Since our new model (6) consists constant parameter<br />
which can be seen as random variable with extremely<br />
small process noise, common particle filters such as SIS,<br />
ASIR are not suitable for handling the model with small<br />
process noise states which can lead to severe particle<br />
degeneracy phenomenon due to the lose <strong>of</strong> particle<br />
diversity [7]. In this paper, we chose Regularized Particle<br />
Filter (RPF) [8] for resampling which can maintain the<br />
particle diversity to the maximum extent.<br />
During resampling, we actually resample from the<br />
discrete distribution<br />
k<br />
k<br />
M<br />
∑<br />
i=<br />
1<br />
i<br />
p(<br />
| Y ) ≈ w ⋅ ( e − e )<br />
k<br />
k<br />
k<br />
e δ (17)<br />
which makes that the new samples cannot get rid <strong>of</strong> the<br />
old particle set and leads to singular composition after<br />
several iterations. The main idea <strong>of</strong> RPF is to make the<br />
PDF continuous by introducing kernel function and let<br />
the particle evolve in the continuous space. The<br />
resampling distribution function for RPF is<br />
M<br />
k<br />
k<br />
i<br />
k<br />
i<br />
p( x | Y ) w ⋅ K ( x − x<br />
k<br />
k<br />
≈ ∑<br />
i=<br />
1<br />
© 2011 ACADEMY PUBLISHER<br />
k<br />
h<br />
k<br />
i<br />
k<br />
)<br />
k<br />
(18)<br />
1<br />
Kh<br />
x)<br />
= nx<br />
h<br />
⎛ x ⎞<br />
K⎜<br />
⎟<br />
⎝ h ⎠<br />
where x<br />
><br />
<strong>of</strong> kernel function K (⋅)<br />
. (⋅)<br />
( (19)<br />
n is the dimension <strong>of</strong> x, h 0 is the bandwidth<br />
K can be seen as a<br />
symmetric probability density function on<br />
K (⋅)<br />
is called the rescaled kernel.<br />
h<br />
x n<br />
R and<br />
The kernel and the bandwidth are chosen so as to<br />
minimize the mean integrated square error between the<br />
true posterior density and the corresponding regularized<br />
weighted empirical measure in (18). In a special case <strong>of</strong><br />
equally weighted sample, the optimal choice <strong>of</strong> the kernel<br />
is the Epanechnikov kernel [8]. To reduce computing cost,<br />
we use Gaussian kernel instead and the corresponding<br />
optimal bandwidth is [9]<br />
1<br />
−<br />
n x + 4<br />
h = A ⋅ N<br />
(20)<br />
opt<br />
1<br />
x + 4<br />
with = ( 4/(<br />
+ 2))<br />
n<br />
A nx<br />
.<br />
For implement, the new particle set can be generated<br />
by<br />
i*<br />
i<br />
i<br />
x k = xk<br />
+ hoptDkε (21)<br />
where D k is the square root <strong>of</strong> the empirical covariance<br />
i i M i<br />
matrix <strong>of</strong> the samples { x k , wk} i=<br />
1 . ε is the sample<br />
drawn from the kernel function.<br />
The resampling procedure <strong>of</strong> RPF is<br />
---------------------------------------------------------------------<br />
� Calculate the effective number <strong>of</strong> particles N eff [10]<br />
N < N<br />
� IF eff thr<br />
� Calculate the empirical covariance matrix S k<br />
i i M<br />
for particle set { x k , wk} i=<br />
1<br />
� Calculate the square root Dk <strong>of</strong> S k<br />
� Resample the particle set using Systematic<br />
Resampling [11] method, and get the new set<br />
{ x , , −}<br />
=<br />
i i M<br />
k wk i 1<br />
� FOR i=1:M<br />
i<br />
� Draw sample ε from kernel<br />
i*<br />
i<br />
i<br />
� Update particle x k = xk<br />
+ hoptDkε � END FOR<br />
� END IF<br />
---------------------------------------------------------------------<br />
V. SIMULATION RESULTS<br />
The reference DEM data for the simulation is from<br />
ASTER GDEM produced by METI and NASA, which<br />
has grid size <strong>of</strong> 30 meters [12]. The area we use is<br />
between 40 and 41 degrees latitude north and 105 and<br />
106 degrees longitude west.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 941<br />
In our simulation, we use the DEM from ASTER<br />
*<br />
GDEM to be the real terrain h ( ⋅)<br />
and add some map<br />
errors to get the reference DEM used for filtering. We use<br />
bilinear interpolation method to draw elevation data from<br />
the grid map.<br />
The simulation procedure is as follows:<br />
---------------------------------------------------------------------<br />
Step 1, chose a trajectory on the real map to be the<br />
* N<br />
reference trajectory and get { x k} k = 1.<br />
N<br />
Step 2, get the output <strong>of</strong> the INS { x k} k = 1 by equation<br />
* * ⎧ek<br />
+ 1 = ek<br />
+ w k<br />
⎨<br />
and the initial INS error<br />
* *<br />
⎩xk<br />
= xk<br />
+ ek<br />
*<br />
e 0 .<br />
Step 3, given the initial distribution <strong>of</strong> state p e ) ,<br />
we can get estimate<br />
and acquire<br />
{ ˆ =<br />
* N<br />
k} k 1<br />
{ ˆ } =<br />
k<br />
N<br />
k 1<br />
( 0<br />
e through RPF particle filter<br />
x using equation<br />
xˆ − k<br />
* * ˆ<br />
k xk<br />
e<br />
= .<br />
Step 4, repeat Step 2 and Step 3 to do Monte Carlo<br />
simulation several times and get average estimation error<br />
to evaluate the system performance.<br />
---------------------------------------------------------------------<br />
The map errors used in our simulation are<br />
T<br />
ΔH = [ 200,<br />
150]<br />
, ΔV = 30 .<br />
The DEM and the flight path used are depicted in Fig.<br />
3. This area has a mountain from north to south and the<br />
flight path we chose is a uniform speed trajectory with a<br />
turn round in the middle <strong>of</strong> the path. Fig. 3 shows an<br />
estimated result for map error model.<br />
Y (m)<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
x 10 4<br />
Start<br />
End<br />
Estimated Path<br />
Real Path<br />
0 1 2 3 4 5 6<br />
X (m)<br />
x 10 4<br />
0<br />
Figure 3. Flight path and estimation result for map error model.<br />
Fig. 4 is the average root mean square error (RMSE)<br />
curve for horizontal position estimation which is<br />
generated by using 100 Monte Carlo simulations. The<br />
solid line is the RMSE <strong>of</strong> the map error model while the<br />
dash line is for the basic model. Because the map error<br />
model actually estimates the map errors and corrects the<br />
position with them, so it can get more accurate position<br />
information. From the figure, the horizontal RMSE <strong>of</strong> the<br />
new model is about 200 meters smaller than the basic<br />
model which is close to the horizontal map error we set,<br />
© 2011 ACADEMY PUBLISHER<br />
thus confirms the new model’s capability <strong>of</strong> map error<br />
estimation. However, the new model has much slower<br />
convergence speed than the basic model which may<br />
caused by the high dimensionality <strong>of</strong> the state vector in<br />
the new model.<br />
RMSE (m)<br />
10 5<br />
10 4<br />
10 3<br />
Map Error Model<br />
Basic Model<br />
10<br />
0 50 100 150 200 250 300<br />
2<br />
Time (s)<br />
Figure 4. Horizontal RMSE with MC=100.<br />
Fig. 5 shows the terrain elevation estimation error for<br />
both map error model and the basic model. The terrain<br />
elevation estimation for map error model is acquired by<br />
* * *<br />
h ( x k ) ≈ h(<br />
xˆ<br />
k − ΔHˆ<br />
k ) − ΔVˆ<br />
k (22)<br />
*<br />
where x = x<br />
*<br />
− eˆ<br />
, while for basic model<br />
ˆ k k k<br />
* * *<br />
h ( x ) ≈ h(<br />
xˆ<br />
) . (23)<br />
k<br />
Apparently, the new model takes map errors (both<br />
horizontal and vertical error) into consideration and uses<br />
the estimated error to correct the measurement while the<br />
basic model just depends on the map itself. So from the<br />
simulation results shown in Fig. 5, the error <strong>of</strong> basic<br />
model is about 20 meters higher than the new model<br />
which is close to the vertical error <strong>of</strong> the map we set.<br />
RMSE(m)<br />
10 3<br />
10 2<br />
10 1<br />
10<br />
0 50 100 150 200 250 300<br />
0<br />
Time(s)<br />
k<br />
Map Error Model<br />
Basic Model<br />
Figure 5. Terrain Elevation Estimation Error with MC=100.<br />
Fig. 6 is the average map error estimate with 100<br />
Monte Carlo simulations. The dash line is the true error<br />
while the solid curve is the estimated parameter. From the<br />
figure, the filter is best for the vertical error estimation<br />
which has rapid convergence, high accuracy and good<br />
stability. That because the vertical error component has a
942 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
linear structure in the system model that can be even<br />
extracted from the system model and use Kalman filter<br />
for solving, such as Rao-Blackwellize method [13]. So<br />
when using particle filter, such component with simple<br />
structure can be easily estimated. For horizontal map<br />
errors, the convergence <strong>of</strong> Y direction is worse than the X<br />
direction, that because the terrain in the second half path<br />
varies more on the X direction than Y direction which<br />
benefits the component estimation on X direction.<br />
Meanwhile, the convergent speed for horizontal errors is<br />
very slow which may caused by the constant<br />
characteristic <strong>of</strong> these states.<br />
220<br />
200<br />
180<br />
Horizontal X direction<br />
0 50 100 150 200 250 300<br />
Horizontal Y direction<br />
200<br />
150<br />
100<br />
0 50 100 150<br />
Vertical<br />
200 250 300<br />
200<br />
100<br />
0<br />
0 50 100 150 200 250 300<br />
Figure 6. Map error estimation.<br />
Fig. 7 and Fig. 8 show the particle evolution process<br />
for SIS and RPF respectively for comparison <strong>of</strong> the<br />
effectiveness <strong>of</strong> these two different algorithms. The<br />
figures show the histogram <strong>of</strong> one component <strong>of</strong> the state<br />
in the particle set at different time step which can be seen<br />
as the distribution <strong>of</strong> that component. The component we<br />
chose to show is the X direction error <strong>of</strong> the map error<br />
component which is a constant parameter in the state<br />
vector.<br />
Fig. 7 is for SIS. As mentioned above, the commonly<br />
used particle filter is not suitable for solving the model<br />
with constant parameters. For these parameters the initial<br />
particle set at k=1 contains the whole data values for the<br />
evolution that there will be no new values generated in<br />
later time step since they have no process noise. So the<br />
initial distribution must cover the true value we estimated<br />
otherwise the filter can not give that value. From Fig. 7,<br />
after several iterations the distribution is concentrated to<br />
some distinct values and the state can hardly move to<br />
other values.<br />
In Fig. 7, when k=1, the initial distribute is a Gaussian<br />
distribution with mean equal to 180 and can cover the<br />
true value <strong>of</strong> 200 which is the map error we set. After<br />
some iterations, the amount <strong>of</strong> effective values decreases<br />
and when k=16 there are only two bars in the histogram<br />
which do not contain the true value thus after that the<br />
filter can not give the accurate value <strong>of</strong> 200.<br />
In SIS, since the parameter components in the particle<br />
do not change during state transition step, the degeneracy<br />
phenomenon <strong>of</strong> these components will affect the<br />
evolution <strong>of</strong> the other state components and lead to slow<br />
© 2011 ACADEMY PUBLISHER<br />
convergent speed, low accuracy and even divergent when<br />
the particles fall into bad bars.<br />
x 104<br />
k=1<br />
4<br />
2<br />
0<br />
80 100 120 140 160 180 200 220 240 260 280<br />
x 104<br />
k=6<br />
4<br />
2<br />
0<br />
80 100 120 140 160 180 200 220 240 260 280<br />
x 104<br />
k=9<br />
4<br />
2<br />
0<br />
80 100 120 140 160 180 200 220 240 260 280<br />
x 104<br />
k=16<br />
4<br />
2<br />
0<br />
80 100 120 140 160 180 200 220 240 260 280<br />
Figure 7. particle evolution for SIS.<br />
Fig. 8 is for RPF. RPF uses an effective resampling<br />
scheme which draws new particles from a continuous<br />
distribution constructed from the discrete one. It can<br />
make the singular bar extent to a region according to<br />
some distribution which can generate new values during<br />
evolution. From Fig. 8, the distribution <strong>of</strong> the parameter<br />
moves towards the true value with time and concentrate<br />
to the true value when convergent.<br />
x 104<br />
k=1<br />
4<br />
2<br />
0<br />
80 100 120 140 160 180 200 220 240 260 280<br />
x 104<br />
k=7<br />
4<br />
2<br />
0<br />
80 100 120 140 160 180 200 220 240 260 280<br />
x 104<br />
k=29<br />
4<br />
2<br />
0<br />
80 100 120 140 160 180 200 220 240 260 280<br />
x 104<br />
k=37<br />
4<br />
2<br />
0<br />
80 100 120 140 160 180 200 220 240 260 280<br />
Figure 8. particle evolution for RPF.<br />
In Fig. 8, the initial distribution is also Gaussian. When<br />
k=7, the mean <strong>of</strong> the parameter move away from 180 and<br />
the right side <strong>of</strong> the distribution expands. The mean<br />
becomes 190 when k=29 and finally gets to 200 which is<br />
the true value when k=37. During each time step, RPF
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 943<br />
can maintain the particle diversity to the maximum extent<br />
and the particle set can move towards the right direction<br />
as long as the true value is covered by the distribution.<br />
However, this moving procedure is much slower than SIS.<br />
According to the comparison above, the common SIS<br />
particle filter can hardly handle the constant parameter<br />
estimation in our model and the particle degenerate<br />
phenomenon always occurs after several iteration steps.<br />
When using the resampling scheme <strong>of</strong> RPF, the particle<br />
diversity can be maintained and the particle set can move<br />
to the true value. Meanwhile, we found that the constant<br />
parameter incorporated in the complex non-linear system<br />
is hard to estimate, the filter is slow on convergence<br />
speed and sensitive to the initial value.<br />
V. CONCLUSION<br />
In this paper, the system model <strong>of</strong> terrain aided<br />
positioning system is studied and an improved system<br />
model is proposed which overcomes the disadvantage <strong>of</strong><br />
the dependency on the accuracy <strong>of</strong> the map that exists in<br />
the basic model. The new model can estimate map error<br />
and correct the position to acquire more accurate position<br />
information. The paper selects particle filter for this<br />
nonlinear model and compares the performance <strong>of</strong> SIS<br />
and RPF particle filters. From our simulation, the RPF<br />
has much better performance for our new model which<br />
contains constant parameter in the state vector. With RPF,<br />
our simulation results confirm the better performance <strong>of</strong><br />
the new model than the basic model that the accuracy <strong>of</strong><br />
the horizontal position estimation is improved by around<br />
200 meters which is close to the map error we set.<br />
With this map error model, our terrain aided<br />
positioning system can give actual position information<br />
other than just the position on the map. This progress will<br />
make the system more preferable for use.<br />
ACKNOWLEDGMENT<br />
We should thank Jia Ke for his DEM data acquisition<br />
and preprocessing work. And we also appreciate the<br />
institutions <strong>of</strong> METI and NASA for their opening support<br />
<strong>of</strong> ASTER GDEM datum.<br />
REFERENCES<br />
[1] M. Cowie, and N. Wilkinson, “Latest development <strong>of</strong> the<br />
TERPROM (R) Digital Terrain System (DTS) ,” 2008<br />
Ieee/Ion Position, Location and Navigation Symposium,<br />
Vols 1-3: 658-668, 2008.<br />
[2] K. J. Markham, and W. A. Morris, “Digital terrain<br />
elevation models produced using radar altimetry and<br />
GPS data,” Igarss 2002: Ieee International Geoscience<br />
and Remote Sensing Symposium and 24th Canadian<br />
Symposium on Remote Sensing, Vols I-Vi, Proceedings:<br />
2723-2725, 2002<br />
[3] K. B. Anonsen, and O. Hallingstad, “Terrain aided<br />
underwater navigation using point mass and particle<br />
filters,” 2006 IEEE/ION Position, Location and<br />
Navigation Symposium, Vols 1-3: 1027-1035, 2006.<br />
[4] P. J. Nordlund, and F. Gustafsson, “Recursive Estimation<br />
<strong>of</strong> 3-Dimensional Aircraft Position Using Terrain-Aided<br />
Positioning,” Linkoping, 2001.<br />
© 2011 ACADEMY PUBLISHER<br />
[5] P. Frykman, “Applied particle filters in integrated<br />
aircraft navigation,” Electrical Engineering, Linkoping<br />
University, 2003.<br />
[6] J. M. Bernardo, and A. F. M. Smith, Bayesian Theory,<br />
2nd ed., New York: Wiley, 1998.<br />
[7] B. Ristic, S. Arulampalam, and N. Gordon, Beyond the<br />
Kalman Filter, Artech House, Boston, London, 2004.<br />
[8] B. W. Silverman, “Density Estimation for Statistics and<br />
Data Analysis,” Vol. 26 <strong>of</strong> Monographs on Statistics and<br />
Applied Probability, Chapman & Hall, London, 1986<br />
[9] C. Musso, N. Oudjane, and F. LeGland, “Improving<br />
regularised particle filters,” in Sequential Monte Carlo<br />
Methods in Practice, New York: Springer, 2001.<br />
[10] A. Kong, J. S. Liu, and W. H. Wong, “Sequential<br />
imputations and Bayesian missing data problems,”<br />
<strong>Journal</strong> <strong>of</strong> the American Statistical Association, vol. 89,<br />
no. 425, pp. 278-288, 1994.<br />
[11] G. Kitagawa, “Monte Carlo filter and smoother for non-<br />
Gaussian non-linear state space models,” <strong>Journal</strong> <strong>of</strong><br />
Computational and Graphical Statistics, vol.5, no. 1, pp.<br />
1-25, 1996.<br />
[12] “http://asterweb.jpl.nasa.gov/,” January, 2011.<br />
[13] A. Doucet, N. d. Freitas, K. Murphy, and S. Russell,<br />
“Rao-Blackwellised particle filtering for dynamic<br />
bayesian networks,” Proceedings UAI2000: 176-183,<br />
2000.<br />
Li Shidan, born in 1983, Ph. D.<br />
candidate in Department <strong>of</strong> Electronic<br />
Engineering, Tsinghua University. His<br />
research interests mainly focus on<br />
particle filters, navigation technique and<br />
radar signal processing.<br />
He is currently doing research at the<br />
High-speed Signal Processing and<br />
Network Transmission Institute in<br />
Tsinghua University. He has<br />
participated in the terrain aided navigation project and the<br />
marine navigation radar system project.<br />
Sun Liguo, born in 1982, Ph. D. candidate in Department <strong>of</strong><br />
Electronic Engineering, Tsinghua University. His research areas<br />
include navigation and positioning technique, signal processing<br />
on Geographic Information System.<br />
Li Xin, born in 1967, Ph. D. candidate in Department <strong>of</strong><br />
Electronic Engineering, Tsinghua University. Her interests<br />
focus on the target tracking technique and aircraft’s navigation<br />
system.<br />
Wang Desheng, born in 1946, Pr<strong>of</strong>. in Department <strong>of</strong><br />
Electronic Engineering, Tsinghua University. He is doing<br />
research on signal processing and framework techniques on<br />
radar display and control terminal. He is one <strong>of</strong> the first for<br />
developing raster scan radar terminal and the frequency jumper<br />
radar system.
944 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
Research on Integrated Information Platform <strong>of</strong><br />
Agricultural Supply Chain Management Based on<br />
Internet <strong>of</strong> Things<br />
Yan-e Duan<br />
Beijing University <strong>of</strong> Agriculture Computer and Information Engineering College, Beijing, China<br />
Email: duanyane@126.com<br />
Abstract—In recent years, accidents in food quality & safety<br />
frequently occur, and more and more people have begun to<br />
think highly <strong>of</strong> food quality & safety and encourage food<br />
producers to be able to trace the origin <strong>of</strong> ingredients and<br />
process <strong>of</strong> production along the supply chain. With the<br />
development <strong>of</strong> IT, more and more practices have shown<br />
that the supply chain <strong>of</strong> agricultural products should rely on<br />
IT. The using <strong>of</strong> IT directly decides the degree <strong>of</strong><br />
agricultural informatization and efficiency <strong>of</strong> agricultural<br />
supply chain management. In this paper, on the basis <strong>of</strong><br />
introducing the meanings and characteristics <strong>of</strong> supply<br />
chain management and agricultural supply chain<br />
management, it also analyzes the information flow's<br />
attributes throughout the process <strong>of</strong> agricultural supply and<br />
the technological attributes <strong>of</strong> Internet <strong>of</strong> Things, finally, the<br />
designing method and architecture <strong>of</strong> integrated<br />
information platform <strong>of</strong> agricultural supply chain<br />
management based on internet <strong>of</strong> things was discussed in<br />
detail.<br />
Index Terms—supply chain management, agricultural<br />
product, Internet <strong>of</strong> Things, RFID<br />
I. INTRODUCTION<br />
With 9.5% <strong>of</strong> world arable land and freshwater<br />
resource that is only 31% <strong>of</strong> world average; China has<br />
successfully fed 22% <strong>of</strong> world population From 1978<br />
until 2006, the Engel Coefficients <strong>of</strong> Chinese urban and<br />
rural residents have declined respectively from 57.5%<br />
and 67.7% to 35.8% and 43%, and the food <strong>of</strong> the<br />
Chinese has also turned from shortage to abundance. The<br />
above development shows that China has contributed<br />
greatly to world food supply. However, the<br />
developmental process <strong>of</strong> food supply has the<br />
characteristics <strong>of</strong> “pollution first and then elimination”,<br />
which means the process is inevitably accompanied with<br />
relatively serious problems <strong>of</strong> pollution and food safety [1] .<br />
Specially, in recent years, the frequency and severity <strong>of</strong><br />
product recalls has been increasing over the past decade.<br />
Notable examples <strong>of</strong> recent ‘global’ product recalls<br />
include the 2008 pork dioxin recall in Ireland, the 2008<br />
melamine tainted milk recall in China, and especially the<br />
global recalls caused by Bovine Spongiform<br />
Encephalopathy (BSE). More and more people have<br />
begun to think highly <strong>of</strong> food quality & safety and<br />
encourage food producers to be able to trace the origin <strong>of</strong><br />
ingredients and process <strong>of</strong> production along the supply<br />
chain [2]<br />
. Agricultural supply chain management is<br />
becoming one <strong>of</strong> the hot issues in the researches on<br />
© 2011 ACADEMY PUBLISHER<br />
doi:10.4304/jsw.6.5.944-950<br />
supply chain management and causes wide concern <strong>of</strong><br />
scholars at home and abroad. The research <strong>of</strong> agricultural<br />
supply chain management would optimize the deploying<br />
<strong>of</strong> agricultural resource, lower the risk <strong>of</strong> agriculture,<br />
improve the efficiency <strong>of</strong> agricultural production and<br />
advance the sustainable development <strong>of</strong> agriculture.<br />
Following the social infomationization, the Internet is<br />
<strong>of</strong>ten viewed as the means to reduce income disparities<br />
between the urban and rural populations in the<br />
developing world. Specially, with the development <strong>of</strong><br />
information technology (IT), numerous innovative <strong>of</strong> IT<br />
based applications have emerged around the world that<br />
promise to bridge the digital divide. In the field <strong>of</strong><br />
agriculture, technological innovation and competition<br />
have led to improvements in supply chain management<br />
for food products. More and more practices have shown<br />
that the supply chain management <strong>of</strong> agricultural<br />
products should rely on network information technology<br />
to improve its level <strong>of</strong> infomationization, internetization<br />
and intelligentization.<br />
II. CONCEPT OF SUPPLY CHAIN MANAGEMENT<br />
A supply chain is a system <strong>of</strong> organizations, people,<br />
technology, activities, information and resources involved<br />
in moving a product or service from supplier to customer.<br />
The Council <strong>of</strong> Supply Chain Management Pr<strong>of</strong>essionals<br />
(CSCMP) defines Supply Chain Management (SCM) as<br />
follows: "Supply Chain Management encompasses the<br />
planning and management <strong>of</strong> all activities involved in<br />
sourcing and procurement, conversion, and all logistics<br />
management activities. Importantly, it also includes<br />
coordination and collaboration with channel partners,<br />
which can be suppliers, intermediaries, third-party service<br />
providers, and customers. In essence, supply chain<br />
management integrates supply and demand management<br />
within and across companies. Supply Chain Management<br />
is an integrating function with primary responsibility for<br />
linking major business functions and business processes<br />
within and across companies into a cohesive and highperforming<br />
business model" [3] . The advantages <strong>of</strong> supply<br />
chain management are numerous, like the reduction <strong>of</strong><br />
product losses, increase in sales, reduction <strong>of</strong> transaction<br />
costs, a better control <strong>of</strong> product quality and safety and<br />
the dissemination <strong>of</strong> technology, capital and knowledge<br />
among the chain partners. A successful SCM<br />
implementation is expected to enhance the relationship<br />
between upstream suppliers and downstream customers.
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 945<br />
Its objective is to produce and distribute the commodity<br />
in the right quantity, to the right place, and at the right<br />
time to minimize overall cost while maintaining customer<br />
satisfaction and firm performance [4]<br />
(Fig.1).<br />
Farmer<br />
Farmer<br />
Internal supply chain<br />
Supplier Purchaser Manufacturer Distributor Customer<br />
Information flow<br />
Logistics<br />
Capital flow<br />
Figure 1. Flow <strong>of</strong> Supply Chain<br />
Over the past two decades, SCM, emphasizing the<br />
interdependence <strong>of</strong> buyer and supplier firms working<br />
collaboratively to improve the performance <strong>of</strong> the entire<br />
supply, has generated extensive interest in both academic<br />
and practitioner communities (Shin et al., 2000;<br />
Narasimhan and Kim, 2007). A range <strong>of</strong> new supply<br />
chain management tools have been developed over the<br />
past decade. For example, ‘Efficient consumer response’<br />
(ECR) has been developed to increase the consumer<br />
orientation and cost-effectiveness <strong>of</strong> supply chains (Kurt<br />
Salmon Associates, 1993). New management systems<br />
have been implemented to improve logistics, increase the<br />
use <strong>of</strong> information and communications technologies and<br />
boost quality management (Lambert and Cooper, 2000).<br />
Material supply<br />
Plan <strong>of</strong> Plant<br />
Material supply<br />
Plan <strong>of</strong> Plant<br />
Farmland<br />
Job<br />
… … …<br />
Farmland<br />
Job<br />
Raw<br />
Agricultural<br />
Products<br />
At present, in many developed countries such as<br />
America, Holland, Japan and European Union, the<br />
research <strong>of</strong> ASCM has gotten a very high level. For<br />
example, in America, the production <strong>of</strong> agriculture has<br />
been entrepreneurial; the developing mode <strong>of</strong> agricultural<br />
enterprises is “industry + industry + industry”. The<br />
process <strong>of</strong> agricultural enterprises’ operation has been<br />
basically finished. In Europe, people tend to have shorter<br />
food supply chain, i.e. sending products from the farms<br />
directly to the families so as to ensure the freshness and<br />
safety, and avoid uncertainty and information asymmetry.<br />
Holland summarizes the successful organization <strong>of</strong><br />
agricultural chain to: research, service <strong>of</strong> information and<br />
education, high quality and stability <strong>of</strong> agricultural<br />
product supply, and global vision <strong>of</strong> market.<br />
In China, the research on ASCM begins in 1999 and is<br />
currently still in its infancy. Compared with developed<br />
© 2011 ACADEMY PUBLISHER<br />
New generation cooperatives are emerging, strengthening<br />
the position <strong>of</strong> farmers’ groups (Cook et al., 2001) and<br />
strategic partnering and vertical alliances are cementing<br />
sustainable partnerships throughout the supply chain<br />
(Zylbersztajn & Farina, 1999). In the side <strong>of</strong> models,<br />
there are a variety <strong>of</strong> supply chain models which address<br />
both the upstream and downstream sides. Such as:<br />
Supply-Chain Operations Reference-model (SCOR),<br />
American Productivity & Quality Center's (APQC)<br />
Process Classification Framework and the Supply Chain<br />
Best Practices Framework etc. All <strong>of</strong> these models<br />
address both the upstream and downstream sides, and<br />
need use IT to collect, analyze, transmit, manage and<br />
visualize their information and results.<br />
Shipping<br />
III. AGRICULTURAL SUPPLY CHAIN MANAGEMENT<br />
Products<br />
Processing<br />
Shipping<br />
Figure 2. Flow Frame <strong>of</strong> Agricultural Supply Chain<br />
We speak <strong>of</strong> a ‘supply chain’ when different actors are<br />
linked from ‘farm to fork’ to achieve a more effective and<br />
consumer-oriented flow <strong>of</strong> products. The ASCM is a<br />
branch <strong>of</strong> SCM and means the research and application <strong>of</strong><br />
SCM in the field <strong>of</strong> agriculture; it is a kind <strong>of</strong> tracking<br />
management <strong>of</strong> “from farm to table”. ASCM involves the<br />
whole products’ flow throughout agricultural<br />
production’s phase from grow seedlings to customers [5]<br />
.<br />
In this whole process, the actors <strong>of</strong> ASCM may include<br />
growers, pickers, packers, processors, storage and<br />
transport facilitators, marketers, exporters, importers,<br />
distributors, wholesalers, and retailers (Fig.2).<br />
Shipping<br />
Dispatch Sale<br />
Shipping<br />
Customer<br />
countries, Chinese agricultural product supply chains<br />
consist <strong>of</strong> the millions <strong>of</strong> small scale farmers, who are not<br />
well structured and organized in the supply chain. The<br />
status quo <strong>of</strong> food supply chain in China can be<br />
summarized as following: A long and unsustainable<br />
supply chain, inadequate policy support, limited<br />
infrastructure for storage, inefficient information and<br />
knowledge flows, the lower level <strong>of</strong> internetization and<br />
intelligentization etc. With the development <strong>of</strong><br />
Information Technology, specially the development <strong>of</strong><br />
internet <strong>of</strong> things technology (such as RFID, Sensor etc.)<br />
provides new opportunity for research on ASCM,<br />
infomationization, internetization and intelligentization <strong>of</strong><br />
ASCM would be the new researching content <strong>of</strong><br />
agricultural modernization and trend <strong>of</strong> global agriculture<br />
development.
946 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
IV. ANALYSIS OF INTERNET OF THINGS<br />
In 1995, in the book <strong>of</strong> “the road ahead”, BILL<br />
GATES firstly brought up the concept about connection<br />
<strong>of</strong> “thing to thing”. In 1999, EPCglobal united more than<br />
100 enterprises and created the International<br />
Telecommunication Union and formally brought up the<br />
concept <strong>of</strong> Internet <strong>of</strong> Things (IoT). In 2005, ITU<br />
published “ITU Internet Reports 2005: Internet <strong>of</strong> Things<br />
(IoT)” introduced that we are standing on the brink <strong>of</strong> a<br />
new computing and communication era, one that will<br />
radically transform our corporate, community, and<br />
personal spheres.<br />
A. Concept <strong>of</strong> Internet <strong>of</strong> Things<br />
According to the definition <strong>of</strong> ITU, The IoT describes<br />
a worldwide network <strong>of</strong> billions or trillions <strong>of</strong> objects that<br />
can be collected from the worldwide physical<br />
environment, propagated via the Internet, and transmitted<br />
to end-users. Services are available for users to interact<br />
with these smart objects over the Internet, query their<br />
states, as well as their associated information, and even<br />
control their actions [6] . The purpose <strong>of</strong> IoT is to create a<br />
huge network through the combination <strong>of</strong> different<br />
smarter devices (such as RFID, GPS, RS) and networks<br />
to realize the information sharing <strong>of</strong> global things from<br />
any place, and any time [7]<br />
(Fig.3).<br />
Gather up<br />
any thing<br />
Process any<br />
information<br />
Connect<br />
any place<br />
IoT<br />
Serve any<br />
object<br />
Figure 3. ttributes Frame <strong>of</strong> IoT<br />
B. The Technology System <strong>of</strong> IOT<br />
In the field <strong>of</strong> IT, the IoT is a technology revolution<br />
that represents the future <strong>of</strong> computing and<br />
communications. It refers to a network <strong>of</strong> objects, and is<br />
<strong>of</strong>ten a self-configuring wireless network. With<br />
continuing developments in miniaturization and declining<br />
costs, IoT is becoming not only technologically possible<br />
but also economically feasible to make everyday objects<br />
smarter, and to connect the world <strong>of</strong> people with the<br />
world <strong>of</strong> thing. Embedded intelligence in things<br />
themselves will distribute processing power to the edges<br />
<strong>of</strong> the network, <strong>of</strong>fering greater possibilities for data<br />
processing and increasing the resilience <strong>of</strong> the network.<br />
As a whole, in this technology system, the coral<br />
technologies mainly include: RFID, sensor, “3S”, WSN,<br />
and cloud computing etc. (Fig.4).<br />
© 2011 ACADEMY PUBLISHER<br />
Communicate<br />
any network<br />
Collect any<br />
data<br />
Smart Card<br />
Barcode<br />
RFID<br />
GPS<br />
Sensor<br />
…<br />
Webcam<br />
High-speed<br />
Access<br />
Network<br />
Cloud<br />
Computing<br />
SPSS<br />
Internet<br />
Center<br />
Figure 4. Technology System <strong>of</strong> IOT<br />
…<br />
DB<br />
GIS<br />
The radio frequency identification (RFID) is a<br />
technology that can be used to tag physical objects,<br />
allowing them to be detected and identified automatically.<br />
RFID has been perceived as a critical technology for<br />
improving efficiency and effectiveness in production and<br />
operations <strong>of</strong> manufacturing and service organizations<br />
and for improving SCM in various types <strong>of</strong> organizations<br />
RFID technology is classified as a wireless automatic<br />
identification and data capture technology which includes<br />
bar coding, optical recognition, biometrics, card etc.<br />
Basic RFID system consists <strong>of</strong> three components: antenna,<br />
RF tag and reader. The purpose <strong>of</strong> an RFID system is to<br />
enable data to be transmitted by a portable device, called<br />
a tag, which is read by an RFID reader and processed<br />
according to the needs <strong>of</strong> a particular application. Using<br />
RFID, the IoT can comprise millions <strong>of</strong> networked<br />
embedded devices also called smart items [8]<br />
.<br />
The sensor is another important technology for<br />
acquisition <strong>of</strong> data, and is mainly used to capture part <strong>of</strong><br />
the existing data, correlate and synchronize these data,<br />
analyze them, and finally, carries out a reactive activity<br />
without user intervention. The components <strong>of</strong> a (remote)<br />
sensing node include the following: sensing and actuation<br />
unit (single element or array), processing unit,<br />
communication unit, power unit and other applicationdependent<br />
units Sensors can be simple point elements or<br />
can be multipoint detection arrays, and it has the<br />
capability <strong>of</strong> large scale deployment, low maintenance,<br />
[9]<br />
scalability, adaptability for different scenarios etc .<br />
The technology <strong>of</strong> “3S” includes RS (Remote Sense),<br />
GIS (Geography Information System) and GPS (Global<br />
Position System ) and is mainly used to provide the<br />
location <strong>of</strong> a particular tagged object, acquire the<br />
information <strong>of</strong> an object or phenomenon by multiple<br />
satellites, aircraft, etc, and finally store, analyze, manage,<br />
and present data that are linked to location(s) by GIS<br />
[10]<br />
s<strong>of</strong>tware .<br />
For the transmission <strong>of</strong> information, wireless sensor<br />
network (WSN) and GPRS/GSM are the mainly used<br />
network technology in the field <strong>of</strong> agriculture. WSN<br />
mainly consists <strong>of</strong> spatially distributed autonomous<br />
sensors to cooperatively monitor physical or<br />
environmental conditions, such as temperature, sound,<br />
pressure, motion or pollutants. There are four basic
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 947<br />
components in a WSN: an assembly <strong>of</strong> distributed or<br />
localized sensors; an interconnecting network (usually,<br />
but not always, wireless-based), a central point <strong>of</strong><br />
information clustering; and a set <strong>of</strong> computing resources<br />
at the central point (or beyond) to handle data correlation,<br />
event trending, status querying, and data mining.<br />
For the process <strong>of</strong> information, cloud computing is<br />
Web-based processing and is location independent<br />
computing, whereby shared servers provide resources,<br />
s<strong>of</strong>tware, and data to computers and other devices on<br />
demand, as with the electricity grid. Cloud computing<br />
describes a new supplement, consumption, and delivery<br />
model for IT services based on the Internet, and it<br />
typically involves over-the-Internet provision <strong>of</strong><br />
dynamically scalable and <strong>of</strong>ten virtualized resources [11]<br />
.<br />
In addition, in the side <strong>of</strong> integration <strong>of</strong> information and<br />
service, service-oriented architecture (SOA) is a flexible<br />
set <strong>of</strong> design principles used during the phases <strong>of</strong> systems<br />
development and integration in computing. SOA defines<br />
how to integrate widely disparate applications for a Webbased<br />
environment and uses multiple implementation<br />
platforms. It generally provides a way for consumers <strong>of</strong><br />
services, such as web-based applications, to be aware <strong>of</strong><br />
available SOA-based services.<br />
V. ANALYSIS ABOUT INFORMATION PLATFORM OF ASCM<br />
In order to react effectively and quick to consumer’s<br />
demand, supply chain management is consumer-oriented.<br />
It aims at coordination <strong>of</strong> production processes. In ASCM,<br />
if all relevant information is accessible to any relevant<br />
company; every company in the supply chain has the<br />
possibility to and can seek to help optimizing the entire<br />
supply chain rather than sub optimize based on a local<br />
interest. This will lead to better planned overall<br />
production and distribution which can cut costs and give<br />
a more attractive final product leading to better sales and<br />
better overall results for the companies involved. So, the<br />
agricultural data are the vital basis <strong>of</strong> ASCM, every<br />
activity in this chain involves the creation, processing and<br />
communication <strong>of</strong> information. As an important subpart,<br />
the integrated information platform <strong>of</strong> ASCM is to realize<br />
integration and seamless access <strong>of</strong> multi-source<br />
information from any place at any time. The terminal<br />
Material<br />
Supply<br />
Seeds<br />
Technique<br />
Device<br />
Pesticides<br />
Fertilizer<br />
© 2011 ACADEMY PUBLISHER<br />
Farmland<br />
Production<br />
Water Soil<br />
Farmland<br />
Climate …<br />
Product<br />
Process<br />
Manufacture<br />
and<br />
Processing<br />
Enterprise<br />
target is to improve the level <strong>of</strong> infomationization,<br />
internetization and intelligentization <strong>of</strong> ASCM, and<br />
realize just in time delivery, supply base reduction,<br />
supplier integration, efficient information transmission,<br />
and collaborative relationships, help firms to trace<br />
products along food chains.<br />
A. Analysis <strong>of</strong> Agricultural Information<br />
Agricultural supply chain is a very complicated<br />
process, and involves many different phases and different<br />
actors. Every phase involves many kinds <strong>of</strong> operation,<br />
and every operation involves many kinds <strong>of</strong> factors, from<br />
environment to humane, from ecology to economic, from<br />
geography to society etc. First, agricultural production is<br />
closely related with spatial factors, every farmland has its<br />
own geographic location and boundaries. Second, any<br />
agricultural system has many factors; each factor also<br />
contains many sub-factors. For example, in the crops <strong>of</strong><br />
biological factor, there are wheat, paddy rice, corn, cotton<br />
and other factors etc [12] . Third, agricultural data come<br />
from multiple sources, such as on-board sensors, soil<br />
sampling, remote sensing, satellite, web-cam and history<br />
material etc, the category <strong>of</strong> data includes text, number,<br />
image, sound and video etc. Finally, all <strong>of</strong> this<br />
information is always changing following the time and<br />
space. So, agriculture production is a very complicated<br />
ecology system and has the attributes <strong>of</strong> areadecentralization,<br />
object-diversify, data-mass creaturemutation<br />
and factors-uncertain. So, as a whole, ASCM is<br />
closely related with multi-source, dynamic and enormous<br />
information, and agricultural supply chain process has the<br />
attributes <strong>of</strong> dispersed collection points, long average<br />
collection period, low speed, enormous data, bad<br />
conditions <strong>of</strong> field etc [13] . In addition, during the process<br />
<strong>of</strong> agricultural supply, the flow <strong>of</strong> information is not<br />
single line, every phase has many relationship with other<br />
parts or industries, and is carried out by different<br />
operators (manufacturers, distributors, service suppliers,<br />
consumers) [5]<br />
Product<br />
Shipping<br />
Transportation<br />
Company<br />
Figure 5. Agri-food Flow <strong>of</strong> ASCM<br />
(Fig.5). All <strong>of</strong> these factors increase the<br />
degree <strong>of</strong> difficulty <strong>of</strong> agricultural data acquisition and<br />
transmission.<br />
Distribution<br />
Supermarket<br />
Shop<br />
Fair<br />
Restaurant<br />
…<br />
Customer
948 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
B. Designing <strong>of</strong> Information Platform<br />
The data are the core and basis <strong>of</strong> ASCM. The<br />
potential <strong>of</strong> using these data will reach its full extent<br />
when suitable collecting and transmitting technology and<br />
method are developed. So, the main function <strong>of</strong><br />
information platform <strong>of</strong> ASCM is to improve the speed<br />
and precise <strong>of</strong> data collecting, ensure the reliable and<br />
seamless transmission, enhance the central process ability<br />
and advance intelligent service level <strong>of</strong> ASCM.<br />
According to the characteristic <strong>of</strong> agricultural information<br />
flow, from the side <strong>of</strong> technology, because <strong>of</strong> the<br />
attributes <strong>of</strong> overall sense, reliable transfer and intelligent<br />
process, IoT begins to become the main method <strong>of</strong> data<br />
acquisition and transmission and would become an<br />
important technology across the supply chain to collect,<br />
analyze, transmit and manage the whole data. IoT can<br />
comprise millions <strong>of</strong> networked embedded devices also<br />
called smart items; these devices are capable <strong>of</strong> collecting<br />
information about themselves, their environment, and<br />
Basic Information<br />
Of Pre-production<br />
Communication Interface<br />
Farmland Information Acquisition<br />
Sensors Weather<br />
Station<br />
RS<br />
GPS<br />
Object<br />
with<br />
RFID<br />
WSN<br />
1) Fast Acquisition <strong>of</strong> Data<br />
The collection <strong>of</strong> data still proves a demanding task<br />
and directly affects the efficiency and quality <strong>of</strong> ASCM.<br />
Because <strong>of</strong> the multi-source <strong>of</strong> data, we should select<br />
different collecting technologies to acquire the data <strong>of</strong><br />
different phases (Fig.7).<br />
GPS<br />
Spatia<br />
l Data<br />
RS<br />
image<br />
Data<br />
Multi-source Data <strong>of</strong> Agriculture<br />
Video<br />
<strong>of</strong><br />
Crop<br />
Figure 7. Acquisition <strong>of</strong> Multi-source Data<br />
© 2011 ACADEMY PUBLISHER<br />
Environment<br />
Sensing<br />
Data<br />
associated devices and communicate this information to<br />
other devices and systems via the all-connecting internet.<br />
It can monitor vulnerable environments and prevent or<br />
limit natural disasters. In recent years, researchers have<br />
begun studying how to use IoT in agriculture. For<br />
example, many kinds <strong>of</strong> sensors have been produced for<br />
sensing agricultural objects, such as crops, animals, at the<br />
same time, by wireless network; the sensed data can be<br />
transmitted to Internet [12]<br />
.<br />
The information platform <strong>of</strong> ASCM based on IoT<br />
would be an integrated system that integrates all kinds <strong>of</strong><br />
information which includes the agricultural production,<br />
purchase, warehousing, shipment, delivery and retail and<br />
realizes the information interchange between different<br />
phases. The core function is fast acquisition, seamless<br />
connection, reliable transmission and in-time search and<br />
trackback <strong>of</strong> information (Fig.6).<br />
Information<br />
<strong>of</strong><br />
Processing<br />
Restaurant<br />
Supermarket<br />
Fair<br />
Customer<br />
Farmer…<br />
Object<br />
with<br />
RFID<br />
Figure 6. Information Flow <strong>of</strong> ASCM Based on IoT<br />
RFID<br />
Tag<br />
Record<br />
History<br />
Data<br />
and<br />
Graph<br />
Transportation<br />
Information<br />
Information Center<br />
<strong>of</strong> Agriculture<br />
Internet<br />
Object<br />
with<br />
RFID<br />
For example, during the stage <strong>of</strong> farmland production,<br />
for collecting the data <strong>of</strong> environmental factor, such as<br />
factors <strong>of</strong> soil (such as PH, CEC, humidity, electrical<br />
conductivity etc.), factors <strong>of</strong> climate (such as temperature,<br />
illumination, wind speed etc.), we can deploy different<br />
kinds <strong>of</strong> sensors (such as Temperature Sensor, Moisture<br />
Sensor) according to the farmland’ attribute <strong>of</strong> geography<br />
and crop’s attribute <strong>of</strong> growth. During the deploying <strong>of</strong><br />
sensors, we should think <strong>of</strong> that the in-time dynamic<br />
changing <strong>of</strong> farmland environment would interfere with<br />
the transmission <strong>of</strong> radio signal and diminish this<br />
affection as far as possible; for acquiring the environment<br />
data <strong>of</strong> crop’s growth, we can deploy web-cam for<br />
capturing the image or video <strong>of</strong> crop’s growth, and<br />
deploy weather station for getting the environmental<br />
climate data <strong>of</strong> farmland; for acquiring the geographic
JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011 949<br />
information <strong>of</strong> farmland, we can use GPS to measure<br />
geographic location such as, provide data on location in<br />
terms <strong>of</strong> latitude, longitude and altitude <strong>of</strong> farmland. In<br />
addition, airborne data collection systems through RS<br />
technologies, such as aerial photographs and satellite<br />
remote sensing provide periodic land use, land cover and<br />
other thematic information [10]<br />
.<br />
During the stage <strong>of</strong> processing and transportation <strong>of</strong><br />
products, for tracking products status and identify every<br />
product, we can use RFID technology. RFID is a generic<br />
term that is used to describe a system that transmits the<br />
identity (in the form <strong>of</strong> a unique serial number) <strong>of</strong> an<br />
object or person wirelessly, using radio waves. RFID will<br />
start linking up the supply chain from the farm gate to the<br />
restaurant plate – and every point in between. The RFID<br />
tag is dimensioned to approximate a size <strong>of</strong> an individual<br />
product and multiple such tags are deposited in a<br />
container <strong>of</strong> the product at the harvesting stage. At each<br />
product handling stage the tags are programmed with the<br />
time and location <strong>of</strong> the event as well as any other<br />
attributes relevant to the handling process. Therefore, the<br />
entire history <strong>of</strong> crop handling is stored in the tags and<br />
can be detected and identified automatically at any time.<br />
2) Reliable Transmission <strong>of</strong> Data<br />
In the ASCM, the reliable flow <strong>of</strong> information is very<br />
important for track, manage, collaborate and plan the<br />
production <strong>of</strong> agricultural products. In the part <strong>of</strong> data<br />
process and transmission, the main function is to ensure<br />
that the information from different intelligent devices can<br />
be reliably transmitted to different users through network<br />
infrastructure, such as mobile communications network<br />
(such as GSM, GPRS, TD-SCDMA), wireless sensor<br />
network (such as ZigBee), and satellite communication<br />
network etc.<br />
Multi-source<br />
Data<br />
Of<br />
Agriculture<br />
Spatial Data<br />
Process System<br />
WSN/ GPRS/GSM<br />
Non-spatial Data<br />
Process System<br />
Internet<br />
Figure 8. Transmission <strong>of</strong> Multi-source Data<br />
In the technological system <strong>of</strong> data transmission, WSN<br />
is one <strong>of</strong> the most suitable technologies for capturing real<br />
world data. WSN is an infrastructure comprised <strong>of</strong><br />
sensing (measuring), computing, and communication<br />
elements that gives an agricultural administrator the<br />
ability to instrument observe, and react to events and<br />
phenomena in a specified environment. In addition,<br />
connecting WSN to the Internet can standardize<br />
contextual data and make them can be shared with other<br />
entities, and can analyze these data, take decisions in<br />
© 2011 ACADEMY PUBLISHER<br />
Internet<br />
Information<br />
Pool<br />
remote premises, and finally implement these decisions<br />
back in the real world through sensors [14]<br />
.<br />
3) Constructing the Information Center <strong>of</strong><br />
Agriculture<br />
The purpose <strong>of</strong> modern ASCM is to improve the level<br />
<strong>of</strong> agricultural information process and enhance the<br />
intelligent management and decision <strong>of</strong> agricultural<br />
production. For improving the using efficiency <strong>of</strong><br />
information, we should use different technology and<br />
method to process, analysis, merge, classify and statistic<br />
multi-data and create public database and special<br />
database, spatial database and relationship database etc.<br />
for different users. For example, we can use GIS to store,<br />
manage and analyze geographical reference data, and use<br />
relationship database to analysis non-spatial data, and use<br />
data mining to analyze data from different perspectives<br />
and summarizing it into useful information, and use SPSS<br />
to realize different statistics <strong>of</strong> data.<br />
Finally, for further improving the efficiency <strong>of</strong> on-line<br />
analysis and process, the technology <strong>of</strong> cloud computing<br />
has been used. Using the intelligent cloud computer<br />
platform can ensure that enormous information <strong>of</strong> internet<br />
are real-time analyzed, processed, managed and<br />
controlled and create an efficient and reliable decision<br />
service system for the high level management and largescale<br />
industry application. In addition, following the<br />
application <strong>of</strong> service-oriented architecture (SOA) in<br />
different industrial infomationization and internetization,<br />
many experts begin to research how to realize the<br />
application <strong>of</strong> SOA in agricultural field. Specially, for<br />
ASCM, it is consumer-oriented and aims at coordination<br />
<strong>of</strong> different production sub-processes, a system based on<br />
a SOA will package functionality as a suite <strong>of</strong><br />
interoperable services that can be used within multiple<br />
separate systems from several business domains. So using<br />
SOA can not only improve the level <strong>of</strong> infomationization,<br />
internetization and intelligentization <strong>of</strong> ASCM, but also<br />
enhance the level <strong>of</strong> service <strong>of</strong> ASCM.<br />
SUMMARY<br />
Technological innovation and competition have led to<br />
improvements in supply chain management for<br />
agricultural products. Yet, global market standards are<br />
stringent. Consumers demand safe and nutritional food,<br />
excellent quality and just-in-time delivery. So,<br />
collaboration between trade partners has become<br />
increasingly important for the success <strong>of</strong> cross-border<br />
trade in the competitive market. Agricultural supply chain<br />
management is a powerful tool to achieve this<br />
collaboration. Through supply chains, producers in<br />
developing countries and emerging economies can access<br />
market information and knowledge to hone their valueadded<br />
activities. However, developing cross-border<br />
supply chains is very complex, and requires a lot <strong>of</strong><br />
information and expertise about how to build chains, as<br />
well as communication and commitment from all the<br />
chain partners. Specially, for the ASCM, the research <strong>of</strong><br />
integrated information platform is the key <strong>of</strong> improving<br />
level <strong>of</strong> ASCM. The developing <strong>of</strong> information<br />
acquisition and process technology mainly depends on
950 JOURNAL OF SOFTWARE, VOL. 6, NO. 5, MAY 2011<br />
the development <strong>of</strong> modern Information Technology,<br />
such as computer technology, electronics, satellite<br />
navigation technology, RS, sensor technology and<br />
network technology etc. In the developed countries,<br />
agriculture automation has been applied widely, and the<br />
degree <strong>of</strong> agriculture informationization and networking<br />
has attained a very high level. But in China, as a<br />
developing country, the research <strong>of</strong> agriculture<br />
informationization still belongs to the beginning level.<br />
However, following the occur <strong>of</strong> IoT, it will advance the<br />
developing <strong>of</strong> digital agriculture, and the research <strong>of</strong><br />
intelligent agriculture based on IoT will create a huge<br />
intelligent agricultural production and supply network<br />
and connect the entire farm, farm villages and trade<br />
market <strong>of</strong> a big city such as Beijing together. It can not<br />
only improve the quality <strong>of</strong> agricultural product, the<br />
efficiency <strong>of</strong> agricultural production, the level <strong>of</strong><br />
agricultural product supply, but also efficiently solve the<br />
emergent dispatch <strong>of</strong> food in special situation.<br />
ACKNOWLEDGMENT<br />
This work is elaborated within the project <strong>of</strong> “Research<br />
on Growth Evaluation and Physiological-Ecological<br />
Simulation <strong>of</strong> Peach”. No. KM201010020011 funded by<br />
the Beijing Municipal Commission <strong>of</strong> Education.<br />
REFERENCES<br />
[1] Xuewen TAN. The Sustainability <strong>of</strong> Food Supply Chain in<br />
China: Review and Comment. Published by Rural<br />
Development Institute <strong>of</strong> Chinese <strong>Academy</strong> <strong>of</strong> Social<br />
Sciences, 2007.9.<br />
[2] Athanasios S. Voulodimos, Charalampos Z. Patrikakis,<br />
Alexander B. Sideridis, Vasileios A. Ntafis, Eftychia M.<br />
Xylouri. A complete farm management system based on<br />
© 2011 ACADEMY PUBLISHER<br />
animal identification using RFID technology. Computers<br />
and Electronics in Agriculture 70 (2010) 380–388.<br />
[3] http://en.wikipedia.org/wiki/Supply_chain_management.<br />
2011.1<br />
[4] Chin S. Ou, Fang C. Liu, Yu C. Hung, David C. Yen. A<br />
structural model <strong>of</strong> supply chain management on firm<br />
performance. International <strong>Journal</strong> <strong>of</strong> Operations &<br />
Production Management. Vol. 30 No. 5, 2010 pp. 526-545.<br />
[5] Maurizio Mariani. Sustainable agri-food supply chains and<br />
systems, Forum <strong>of</strong> China-Europe, 2007.06.<br />
[6] Lei CHEN, Mitchell TSENG, Xiang LIAN. Development<br />
<strong>of</strong> foundation models for Internet <strong>of</strong> Things. Front. Comput.<br />
Sci. China 2010, 4(3): 376–385.<br />
[7] Su-bin SHEN, Qu-li FAN, Ping ZONG. Study on the<br />
Architecture and Associated Technologies for Internet <strong>of</strong><br />
Things. <strong>Journal</strong> <strong>of</strong> Nanjing University <strong>of</strong> Posts and<br />
Telecommunications (Natural Science).2009, 29(6):1-11.<br />
[8] ITU. ITU Internet Reports 2005: The Internet <strong>of</strong> Things,<br />
ITU (2005).<br />
[9] Juan Ignacio Vazquez, Aitor Almeida, Iker Doamo. Flexeo:<br />
Architecture for Integrating Wireless Sensor Networks into<br />
the Internet <strong>of</strong> Things. UCAMI 2008, ASC 51, p219-218<br />
Technical Review 2009, 26(5).<br />
[10] http://en.wikipedia.org/wiki/Remote_sensing. 2011.1<br />
[11] http://en.wikipedia.org/wiki/Cloud_computing. 2011.1<br />
[12] Yaqin WANG, Hua GAO, Huaxue TAO, Research on the<br />
Framework System and Technical Platform <strong>of</strong> Digital<br />
Agriculture . 5th FIG Regional Conference Accra, Ghana,<br />
2006:1-13.<br />
[13] Christos Goumopoulos* and Achilles D. Kameas, Alan<br />
Cassells. An Ontology-driven System Architecture for<br />
Precision Agriculture Applications. Int. J. Metadata,<br />
Semantics and Ontologies, Vol. 4, Nos. 1/2, 2009:72-84.<br />
[14] KAZEM SOHRABY, DANIEL MINOLI, TAIEB ZNATI.<br />
WIRELESS SENSOR NETWORKS--Technology,<br />
Protocols and Applications. A JOIN WILEY &SONS,<br />
INC.2007.
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 />
A Novel Gray Image Watermarking Scheme<br />
Yongqiang Chen, Yanqing Zhang, Hanping Hu, and Hefei Ling<br />
An Efficient Method for Improving Query Efficiency in Data Warehouse<br />
Zhiwei Ni, Junfeng Guo, Li Wang, and Yazhuo Gao<br />
Co-simulation Study <strong>of</strong> Vehicle ESP System Based on ADAMS and MATLAB<br />
Shengqin Li and Le He<br />
An Improved Fuzzy C-means Clustering Algorithm based on PSO<br />
Qiang Niu and Xinjian Huang<br />
Classification <strong>of</strong> Bio-potential Surface Electrode based on FKCM and SVM<br />
Hao Liu, Xiaoming Tao, Pengjun Xu, and Guanxiong Qiu<br />
Consonant Recognition <strong>of</strong> Dysarthria Based on Wavelet Transform and Fuzzy Support Vector<br />
Machines<br />
Zhuo-ming Chen, Wei-xin Ling, Jian-hui Zhao, and Tao-tao Yao<br />
ELECTRE I Decision Model <strong>of</strong> Reliability Design Scheme for Computer Numerical Control Machine<br />
Jihong Pang, Genbao Zhang, and Guohua Chen<br />
Fractional Modeling Method Research on Education Evaluation<br />
Chunna Zhao, Yu Zhao, Liming Luo, and Yingshun Li<br />
Immune Genetic Evolutionary Algorithm <strong>of</strong> Wavelet Neural Network to Predict the Performance in<br />
the Centrifugal Compressor and Research<br />
Shengzhong Huang<br />
Development <strong>of</strong> Optimization Design S<strong>of</strong>tware for Bevel Gear Based on Integer Serial Number<br />
Encoding Genetic Algorithm<br />
Xiaoqin Zhang, Yu Rong, Jingjing Yu, Liling Zhang, and Lina Cui<br />
Study on Operating Mechanisms and Dynamics Behavior <strong>of</strong> Agile Supply Chain<br />
Guohua Chen, Genbao Zhang, and Jihong Pang<br />
Unified Service Platform for Accessing Grid Resources<br />
Shaochong Feng, Yuanchang Zhu, and Yanqiang Di<br />
Research on an Improved Terrain Aided Positioning Model<br />
Shidan Li, Liguo Sun, Xin Li, and Desheng Wang<br />
Research on Integrated Information Platform <strong>of</strong> Agricultural Supply Chain Management Based on<br />
Internet <strong>of</strong> Things<br />
Yan-e Duan<br />
849<br />
857<br />
866<br />
873<br />
880<br />
887<br />
894<br />
901<br />
908<br />
915<br />
923<br />
930<br />
937<br />
944