08.12.2012 Views

Journal of Software - Academy Publisher

Journal of Software - Academy Publisher

Journal of Software - Academy Publisher

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!