AN ARCHITECTURE FOR CLIENT-SERVER BASED CONTROL CHART PATTERNS RECOGNITION SYSTEM

advertisement
AN ARCHITECTURE FOR CLIENT-SERVER BASED CONTROL CHART
PATTERNS RECOGNITION SYSTEM
KOH CHING HAO
A thesis submitted in fulfillment of the
requirements for the award of the degree of
Master of Engineering (Mechanical)
Faculty of Mechanical Engineering
Universiti Teknologi Malaysia
MAY 2009
iii
ACKNOWLEDGEMENTS
I would to take this opportunity to express my sincere appreciation to my
supervisor, Associate Professor Dr. Adnan Hassan. He has given a lot of advices,
guidances, comments and contructive critics as well as a lot of encouragement and
support in order to accomplish this study. In addition, I am also very thankful to my
co-supervisor Associate Professor Dr. Abdul Samad Ismail for his guidances,
suggestions and valuable support along the way to accomplish this study.
I would like to express my appreciation to my parents and family members
for continous support and care. Their support and understanding always become my
motivator along the path of accomplishing this study.
Finally, thanks to all friends for their impressive, valuable helps and
suggestions throughout the duration of this study.
iv
ABSTRACT
In any industrial process, regardless of how well designed or carefully
maintained it is, a certain amount of process variation will always exist. One of the
commonly used methods to monitor and diagnose the process variation is Statistical
Process Control (SPC) chart. Some enhancements have been made by researchers to
introduce the SPC chart system with patterns recognition feature. However, these
SPC chart patterns recognition systems are limited to local and standalone system.
There is a need to develop a client-server based system which would enable data
sharing and remote access. The purpose of this study is to develop an architecture for
a client-server based control chart patterns recognition (CCPR) system. Specific
focus of this study is to investigate design and development aspects of the proposed
client-server based CCPR system. A suitable client-server (CS) architecture and load
passing procedure are investigated. Proper selection of CS architecture and load
passing procedure are crucial to ensure each functional tier can be effectively
integrated, system resources can be optimized and the system workload can be fairly
distributed. The selection of design parameters are based on computer simulation
studies using synthetic data. Candidate designs are evaluated based on calculation
time, memory, processor usage and classification accuracy. The CS architecture with
load passing procedure at server tier and patterns recognition at engine tier gave the
best results among the investigated alternatives. This CS architecture is able to
support more users and process more data. The load passing procedure with the
combination of Nelson Run Rules and EWMA test resulted in better performance
compared to Run Rules and CUSUM, CUSUM and EWMA and capable to prioritize
the unstable processes to access the engine tier. The proposed CS architecture and
load passing procedure can be used as a guideline for the development of a clientserver based CCPR system.
Keywords: Control Chart Patterns Recognition, Client-Server, Load Passing.
v
ABSTRAK
Bagi sebarang proses industri, tidak mengambil kira bagaimana ianya
direkabentuk atau dijaga dengan baik, sedikit sebanyak variasi proses akan berlaku.
Salah satu cara untuk memerhatikan dan menganalisa variasi proses adalah dengan
mengggunakan carta kawalan proses berstatistik. Beberapa pembaikan telah
dilakukan oleh penyelidik dengan memperkenalkan carta kawalan yang mempunyai
fungsi pengecam corak. Walau bagaimanapun, kebanyakan sistem pengecam corak
carta kawalan masa kini hanya terhad kepada sistem setempat dan individu. Satu
sistem pengecam corak carta kawalan yang berasaskan pelanggan and pelayan perlu
dibangunkan. Tujuan utama kajian ini adalah membangunkan satu senibina untuk
pembangunan sistem pengeram corak carta kawalan yang berasaskan pelanggan dan
pelayan. Satu senibina pelanggan-pelayan dan penyimbang beban yang sesuai perlu
dipilihkan. Pemilihan senibina pelanggan-pelayan yang sesuai adalah penting untuk
memastikan setiap lapisan dalam sistem dapat diintegrasikan. Manakala pemilihan
penyimbang beban yang sesuai dapat memastikan beban pemprosesan dapat
dikongsikan ke semua lapisan sistem. Cara rekabentuk senibina ini adalah berasaskan
simulasi komputer. Rekabentuk ini akan dinilai berasaskan masa pengiraan,
penggunaan memori, pemproses dan ketepatan pengecaman. Senibina sistem dengan
penyimbang beban berada di lapisan pelayan dan pegecam corak di lapisan enjin
telah dipilih. Senibina ini dapat menyoking lebih ramai pengguna dan memproses
lebih banyak data. Bagi penyimbang beban pula, teknik Nelson Run Rules dan
EWMA telah dipilih berbanding dengan Nelson Run Rules dan CUSUM, CUSUM
dan EWMA dan ia dapat mengutamakan proses yang tidak sihat untuk mencapai ke
pengecam corak. Senibina ini boleh dijadikan sebagai panduan bagi pembangunan
sistem pengecam corak carta kawalan yang berasaskan pelanggan-pelayan.
Kata Kunci : Pengecam Corak Carta Kawalan, Pelanggan-pelayan, Penyimbang
Beban.
vi
TABLE OF CONTENTS
CHAPTER
CHAPTER 1
TITLE
PAGE
ACKNOWLEDGEMENTS
iii
ABSTRACT
iv
ABSTRAK
v
TABLE OF CONTENTS
vi
LIST OF TABLES
xii
LIST OF FIGURES
xv
LIST OF ABBREVIATIONS
xviii
LIST OF APPENDICES
xix
INTRODUCTION
1.1
Background of the Problem
1
1.2
Statement of the Problem
3
1.3
Purpose and Objective of the Study
4
1.4
Scope of the Study
4
1.5
Significance of the Study
5
1.6
Organization of the Thesis
5
vii
CHAPTER 2
LITERATURE REVIEW
2.1
Introduction
6
2.2
Process Variation and Statistical Process Control
7
2.3
Control Chart and Pattern Recognition
9
2.3.1
Control Chart
9
2.3.2
Control Chart Patterns Recognition (CCPR)
11
2.3.3
Existing Framework for Standalone CCPR
13
2.4
2.5
2.6
Web-based Manufacturing System
16
2.4.1
Application Area
17
2.4.2
Web-based Process Monitoring
20
Web-based Statistical Process Control System
21
2.5.1
Previous Researches
21
2.5.2
Commercial of the Shelf
25
Design Considerations in Development of Client-
29
Server based Application
2.7
2.6.1
Data Modeling
29
2.6.2
Network Security
30
2.6.3
Communication Standard
30
2.6.4
Load Balancing
32
2.6.5
Client and Server System Integration
33
Load Balancing and System Performance
33
Measurement
2.7.1
Application of Load Balancing
33
2.7.2
Performance Measurement
35
2.7.3
Summary of Performance Measurement
35
viii
2.8
2.9
Client and Server (CS) Architecture
36
2.8.1
Mainframe System and File Sharing System
37
2.8.2
Two – tier CS System
38
2.8.3
Three – tier CS System
39
2.8.4
N – tier CS System
40
2.8.5
Example of CS Architecture
41
2.8.6
User Requirement and CS Architecture
45
Tools and Techniques for Web-based System
46
Development
2.10
2.9.1
JSP Language
46
2.9.2
Apache Tomcat Server
47
2.9.3
My-SQL Database Server
48
2.9.4
The Mathworks Matlab
50
Summary
51
CHAPTER 3 RESEARCH METHODOLOGY
3.1
Introduction
52
3.2
Problem Situation and Solution Concept
52
3.3
Development Phases
55
3.3.1
57
Phase One –Analyze Existing
Standalone System
3.3.2
Phase Two – Determine a Suitable
57
Load Passing Procedure
3.3.3
Phase Three – Determine a Suitable
57
CS Architecture
3.3.4
Phase Four – Prototype System
Implementation & Evaluation
58
ix
3.4
3.5
Source of Data
58
3.4.1
Synthetic Data
58
3.4.2
Published Data
58
3.4.3
Industrial Data
59
Instruments and Equipments
59
3.5.1
Hardware Requirement
59
3.5.2
Software Requirement
60
3.6
Performance Measures
62
3.7
Summary
62
CHAPTER 4 CLIENT AND SERVER ARCHITECTURE
FOR CLIENT-SERVER BASED CCPR
SYSTEM
4.1
Introduction
63
4.2
Overview of Client and Server Architecture
63
4.3
Client and Server Architecture for Client-Server
64
based CCPR System
4.3.1
Standalone System
64
4.3.2
CS Design 1 – Load Passing Procedure and
66
Patterns Recognition at Engine Tier
4.3.3
CS Design 2 – Load Passing Procedure at
68
Server Tier and Patterns Recognition at
Engine Tier
4.4
Performance Comparison on the Candidate Designs
70
4.4.1
Engine Tier Performance
70
4.4.2
Web Server Tier Performance
75
4.4.3
Volume of Data
79
4.4.4
Intensity of Traffic
80
x
4.5
Selection of A Suitable Client and Server
82
Architecture
4.6
CHAPTER 5
Summary
84
LOAD PASSING PROCEDURE FOR
CONTROL CHART PROCESS
MONITORING
5.1
Introduction
85
5.2
Overview on the Load Passing Procedure
85
5.2.1
Nelson Run Rules Test
86
5.2.2
CUSUM Test
87
5.2.3
EWMA Test
88
5.3
Load Passing Procedure for Client-Server based
90
CCPR System
5.3.1
Procedure 1: Load Passing Using
97
Nelson Run Rules and CUSUM Test
5.3.2
Procedure 2: Load Passing Using
99
Nelson Run Rules and EWMA Test
5.3.3
Procedure 3: Load Passing Using
101
CUSUM and EWMA Test
5.4
Analysis and Comparison among the Load Passing
103
Procedures
5.4.1
Classification Accuracy
103
5.4.2
System Resources
105
5.4.3
Process Time
108
5.5
Selection of Suitable Load Passing Procedure
112
5.6
Summary
113
xi
CHAPTER 6 PROTOTYPE SYSTEM IMPLEMENTATION
AND VALIDATION
6.1
Introduction
114
6.2
Web-enabled Control Chart Patterns Recognition
115
System Operational Framework
6.2.1
System Management and Administration
115
Module
6.2.2
Operational Module
116
6.2.3
Client Module
117
6.3
Data Flow Diagram
118
6.4
Database Design
120
6.5
System Integration
121
6.6
Graphical User Interface
122
6.7
System Validation
124
6.8
6.7.1
White Box Testing
124
6.7.2
Black Box Testing
125
Guideline for Transforming the Standalone to
135
Client-Server based CCPR system.
6.9
Summary
137
CHAPTER 7 DISCUSSION AND CONCLUSION
7.1
Introduction
138
7.2
Research Achievement and Contribution
138
7.3
Comparison with Previous Research
140
7.4
Research Limitation
143
7.5
Research Implication and Practically
144
7.6
Recommendation for Future Works
144
7.7
Closing Note
145
REFERENCES
146
APPENDICES
160
xii
LIST OF TABLES
TABLE NO.
TITLE
PAGE
2.1
Application of ANN in Control Chart Patterns
ecognition
12
2.2
Conventional and Future Manufacturing (Jay, 2003)
17
2.3
Researchers’ Contributions in Web-based SPC System
25
2.4
Web-based SPC System and Provided Features
28
2.5
Summary of Load Balancing Performance
Measurement Methods
35
3.1
System Performance Measurement
62
4.1
Standalone system Engine Tier Performance
71
4.2
System Performance for Engine Tier
71
4.3
ANOVA Analysis for Engine Tier Performance
73
4.4
Result for Web Server Tier Performance
75
4.5
ANOVA Analysis for Engine Tier Performance
77
4.6
Process Time for Different Volume of Data (second)
79
4.7
Process Time for the Experiment on Intensity of Traffic
(second)
81
4.8
Overall Ranking on Engine Tier and Server Tier
Performance
82
4.9
Overall Ranking on Volume of Data and Intensity of
Traffic
83
5.1
Suitable λ and L value for EWMA chart with ARL ≈
500 (Montgomery,2004)
89
5.2
Example of calculation to determine the process
priority at time, t = 0
92
xiii
5.3
Example of calculation to determine the process
priority at time, t =100ms
93
5.4
Load passing Algorithm
94
5.5
Sample of clients being scheduled and waiting for
process
95
5.6
Classification of Stable and Unstable Process Procedure 1
97
5.7
System Resource Usage - Procedure 1
98
5.8
Process Time for Procedure 1 (millisecond)
99
5.9
Classification of Stable and Unstable Process Procedure 2
99
5.10
System Resource Usage - Procedure 2
100
5.11
Process Time for Procedure 2
100
5.12
Classification of Stable and Unstable Process Procedure 3
101
5.13
System Resource Usage - Procedure 3
102
5.14
Process Time for Procedure 3
102
5.15
Summary of Classification Accuracy for Candidate
Procedures
104
5.16
Summary of System Resources Usage
106
5.17
Summary of Process Time for Candidate Procedure
108
5.18
Comparison among the Candidate Procedure
110
5.19
Summary of Process Time in term of Different Delay
Time
111
5.20
Comparison among the Different Delay Time
112
5.21
Overall Ranking for the Candidate Load Passing
Procedures
112
6.1
System Validation Result for the Published Dataset 1
127
6.2
System Validation Result for the Published Dataset 2
128
6.3
System Validation Result for the Industrial Dataset 1
130
xiv
6.4
System Validation Result for the Industrial Dataset 2
131
6.5
Calculation for dataset 3 to determine the process
priority (t=a)
132
6.6
Calculation for dataset 3 to determine the process
priority (t=a+100ms)
133
6.7
Sample of measurement data schedule by load passing
procedure
134
6.8
Guideline for converting the standalone to Client-server
based system
135
7.1
Comparison between standalone and the proposed
system.
140
7.2
Comparison between the Previous and Author’s
Research
141
xv
LIST OF FIGURES
FIGURE NO.
TITLE
PAGE
2.1
Example of Control Chart
10
2.2
Control Chart Zones
10
2.3
Control Chart Patterns (Wani and Pham, 1999)
11
2.4
Flow Chart for Online Recognition of Developing
Control Chart Patterns (Adnan, 2002)
14
2.5
Application Areas of Web-based Manufacturing
18
2.6
Research Issues in Development of the ClientServer based Application
29
2.7
Web Services for Different Platform Integration
31
2.8
Separation of Public and Private Network (Tony,
2001)
32
2.9
Simple Client / Server Computing Architecture
37
2.10
Two – tier Client and Server Architecture
39
2.11
Three- Tier Client and Server Architecture
40
2.12
N-Tier Client and Server Architecture
41
2.13
Design for Client – Server based Mobile Robot
Control
42
2.14
CS Architecture for Distributed Multimedia
Environment
42
2.15
Diagram for CS Telemedical system
43
2.16
Structure of an Http-based Remote Controlled
Laboratory
44
2.17
CS and Ad-Hoc Communication Platform
44
xvi
2.18
Example of Tomcat Web Application Manager
48
2.19
Interface of MySQL Control Center
49
2.20
MATLAB Interface Example
50
3.1
Enhancement from Standalone into a Client-Server
based CCPR System
53
3.2
Proposed Operation Framework for Web-enabled
CCPR System
54
3.3
Client-Server based CCPR System Architecture
Development Phases
56
4.1
Operational Framework for Standalone System
64
4.2
Logical Flow Chart for Standalone System
65
4.3
Operational Framework for CS Design 1
66
4.4
Logical Flow Chart for CS Design1
67
4.5
Operational Framework for CS Design 2
68
4.6
Logical Flow Chart for CS Design 2
69
4.7
Comparison Chart for the Engine Tier Performance
72
4.8
Radar Chart for Engine Tier Performance
74
4.9
Comparison Chart for the Web Server Tier
Performance
76
4.10
Radar Chart for Web Server Tier Performance
78
4.11
Line Chart for the Experiment on Volume of Data
80
4.12
Line Chart for the Experiment on Intensity of
Traffic
81
5.1
Nelson Run Rules
86
5.2
Sample of CUSUM Chart
87
5.3
Sample of EWMA Control Chart (Montgomery,
2004)
90
5.4
Client-Server based CCPR system with Multiple
Clients Access
91
xvii
5.5
Basic Architecture for CS based CCPR System
96
5.6
Summarize of Classification Accuracy using Bar
Chart.
104
5.7
Radar Chart for Classification Accuracy
105
5.8
Summarize of System Performance using Bar Chart
106
5.9
Radar Chart for System Performance
107
5.10
Summary of Process Time for Candidate Procedure
109
5.11
Radar Chart for Candidate Procedures Process Time
109
6.1
Functions provided for Administration Module
116
6.2
Functions for Operational Module
117
6.3
User Functions provided at Client Side
118
6.4
Context Diagram for Web-enabled CCPR System
118
6.5
Data Flow Diagram for Web-enabled CCPR System
119
6.6
Web-enabled CCPR System Database Structure
120
6.7
System Integration for the Web-enabled CCPR
122
6.8
Client Module Interface: Manufacturing Process
Listing
123
6.9
Operational Module Interface: Adding
Manufacturing Process Data
123
6.10
Administration Module: Display the Control Chart
Information
124
6.11
White Box Testing for User Authentication
125
6.12
Web-enabled CCPR System Validation Framework
using Published and Industrial Dataset
126
6.13
Control Chart Plotting for Published Dataset 1
127
6.14
Control Chart Plotting for Published Dataset 2
128
6.15
Control Chart Plotting for Industrial Dataset 1
130
6.16
Control Chart Plotting for Industrial Dataset 2
131
7.1
An Architecture for the Development of a ClientServer based CCPR System
139
xviii
LIST OF ABBREVIATIONS
AI
Artificial Intelligent
AFL
Average Frame Length
ANOVA
Analysis of Variance
CCPR
Control Chart Patterns Recognition
CPU
Centra Processing Unit
CS
Client and Server
CUSUM
Cumulative Sum
DBMS
Database Management System
DNS
Domain Name Service
EWMA
Exponentially Weighted Moving Average
I/O
Input and Output
JSP
Java Server Page
JVM
Java Virtual Machine
LCL
Lower Control Limit
MIB
Management Information Base
NA
Not Applicable
P2P
Peer to Peer
PDM
Product Data Management
PLC
Programmable Logic Control
SCM
Supply Chain Management
SNMP
Simple Network Management Protocol
SPC
Statistical Process Control
UCL
Upper Control Limit
XML
eXtensible Markup Language
WWW
World Wide Web
xix
LIST OF APPENDICES
APPENDIX
TITLE
PAGE
A
Factor for computing control limits for x-bar chart
160
B
Database Scheme
161
C
Measurement Result for Engine and Server Tier
Performance
163
D
Measurement on Silicon Wafer Width in the
Semiconductor Processing
168
E
Measurement on the Metallic Film Thickness
169
F
Measurement on PCB Solder Height
170
G
Measurement on Edge Wave Using Taper Gauge
171
H
Tin Plating Process
173
CHAPTER 1
INTRODUCTION
1.1
Background of the problem
For the last ten years, business and manufacturing have shifted from local entities
towards globalization entities. Quality has become one of the most important decision
factors in making selection among worldwide competing products and service. To be a
winner in this global competitive edge, the manufacturer needs to produce product with
high quality within the shortest delivery time and lowest cost (Shariff, 2005).
There are several methods which can be used to improve product quality. One of
the commonly used methods is the Statistical Process Control (SPC). SPC can be
defined as using statistical techniques to improve and implement quality control. Since
the introduction of SPC by Walter A Shewart in year 1920s, SPC have been widely
adopted and applied in manufacturing industrial. It has been used for monitoring and
diagnosis manufacturing process variation. SPC can be used to achieve process stability
and improve process capability through the reduction of process variability.
Currently there are several computer aided SPC systems introduced by software
vendors and researchers. These computer aided SPC systems can assist the
manufacturers in automating the quality control functions. Nevertheless, these systems
2
still have some limitations. For example, the current computer aided SPC system only
provides some basic functions such as automating the plotting of control charts. The
most important part, the control chart data analysis still heavily relies on the operators
and engineers. Usually, the operator and engineer are very busy with other production
task and may not have sufficient time to perform analysis on the control chart data
(Thompson et al., 1998).
As noted earlier, the current computer aided SPC system are mainly based on
standalone system. These standalone systems do not allow co-operation and information
sharing. The accessibility of these control chart data should not be limited to the operator
and engineer only. They should also be accessible to managers and customers. The
control chart data can assist the manager or customer to have a better understanding on
production line status and helps them in making better decision.
Beside that, the current computer aided SPC system does not allow remote
access. It is only limited to one production area or factory side. The operator and
engineer cannot access the status of production line remotely. Some managers and
customers may not have quality engineering background. The burden of analysis the
production data should not be assigned to them. The manager and customer maybe
interested to know the result and status of the production line. An automated and
computerized SPC system should assist them to diagnose the production line.
These are the quality control problems facing by the operator, engineer, manager
and customer. So there is a need to develop a Client-Server based Control Chart Pattern
Recognition (CCPR) system which would enable data sharing, remote access and
intelligent diagnosis of the production line status.
3
1.2
Statement of the problem
Existing control chart pattern recognition systems are mainly local and
standalone system. They do not provided data sharing and remote access. There is a
need to enhance the standalone system towards a Client-server based control chart
patterns recognition system. Several design issues need to be considered in developing
such a client-server system.
The client-server based CCPR system needs to have a client-server architecture
which can support multiple users simultaneously and better resource allocation.
Inappropriate allocation of resources can cause certain functional tier become
overloaded while the others are under loaded. An effective assignment of functional
modules can enable the CCPR system to support multiple users simultaneously without
additional computing resources.
Due to unique characteristics of SPC data stream, the load passing procedure as
implemented in the voice and network packet system are not directly applicable in the
CCPR system. A customized load passing procedure is needed for a client-server based
CCPR system. Specifically, the load passing algorithm must be able to prioritize the
client access based on the severity of process instability. Without a customized load
passing procedure, the unstable process will have the same priority with stable process,
which may result in delayed detection of unstable process data.
4
1.3
Purpose and Objective of the Study
The purpose of this study is to enhance the existing standalone control chart
patterns recognition system towards a client-server based system which would enable
efficient data sharing, remote access and intelligent diagnosis of production line.
The specific objectives of this study are:
i.
To design a customized client and server architecture for a control chart patterns
recognition system.
ii.
To customize a load passing procedure for the client-server based control chart
patterns recognition system.
iii.
To provide a guideline for transforming the standalone system to a client-server
based CCPR system.
1.4
Scope of the Study
Below are the scopes for this study:
i.
Data stream for process variation are limited to univariate data plotted of Shewart
x -chart.
ii.
Design and evaluation are limited to the computer simulation studies. The
published and real data are used for validation. .
iii.
The simulation data arrive to the system with constant rate and speed.
iv.
Different combination of computing resources are not taken into consideration.
Fixed type and amount of computing resources are used.
v.
Data encryption and network security issues are not included in this study.
5
1.5
Significance of the study
This client-server based CCPR system enables information sharing among
different entities in the manufacturing system. By taking the advantageous of internet
technology, this web-enabled system is accessible anytime, anywhere using a personal
computer with Internet connection. Client-server based CCPR system makes the
manager and customer feel easy and comfortable while interacting with the control chart
system. The suitable client and server architecture ensures each functional tier can be
successfully integrated. This architecture should be able to support multiple users
simultaneously and ensure fair distribution of the system workload. With all these
features, this client-server based control chart patterns recognition system could
overcome the limitation of the standalone system. This study also provides a guideline
for transformation from a standalone to the client-server based CCPR system.
1.6
Organization of the Thesis
This report is organized into seven chapters. Chapter 1 gives explanation on the
background, statement of problem, objective, scope and significance of study. Chapter 2
presents literature review on board and focus area of the study. Techniques and
technologies for the client-server based system development are presented here. Chapter
3 discusses the research methodology for this study. It begins with discussion on the
problem situation, solution concept followed by the researches planning, source of data,
equipment used and performance measurement methods. Chapter 4 describes the
experiments and statistical analysis carried out to select a suitable client and server
architecture. Chapter 5 describes the experiment and statistical analysis carried out for
selecting a customized load passing procedure for the client-server based CCPR system.
Chapter 6 presents the techniques and methods used for the prototype system
implementation and validation. Lastly, Chapter 7 summarizes the research finding and
concludes the study.
CHAPTER 2
LITERATURE REVIEW
2.1
Introduction
This chapter provides literature review on the broad and focus area of this
study. First of all, introduction on the process variation and Statistical Process
Control. Following with explanation on the parameters for building a control chart,
a control chart pattern recognition and a framework for standalone Control Chart
Patterns Recognition (CCPR) system. Coming section provides review on the webbased manufacturing system.
The application areas of the web-based
manufacturing are presented. Next section discusses previous researches and
commercial of the shelf web-based SPC systems. Design considerations in the
development of the client-server based application are presented. The design
consideration are included data modeling, network security, communication
standard, client and server system integration and load balancing. Next discussion
on the load balancing and client and server (CS) system integration. Tools and
techniques for the web-based system development are presented. Finally, a
summary of the literature review is given.
7
2.2
Process Variation and Statistical Process Control
In any industrial process, regardless of design and careful maintenance, a
certain amount of inherent and natural variation will always exist. There are many
reasons for it, such as (Eugene and Richard, 1996):
a.
Variation noise: the variation we observe between products manufactured
under the same conditions and specifications.
b.
External cause: such as environmental temperature, humidity, etc.
c.
Process causes: due to the process itself, such as build-up of waste products,
ageing of a catalyst, variation of loading of a kiln etc.
d.
Assignable causes of variation: this variation may be due to improperly
adjustment of machines, operator errors or defective raw materials.
A process is said to be operating in process control when the only source of
variation is due to natural causes. This natural cause or “background noise” is
referred to as the cumulative effect of many small, essentially unavoidable causes.
A process that is operating in the presence of an assignable cause is said to be out
of control. Once the out of control process is identified, it is up to the various
people involved to use their creativity and ingenuity to correct these variations
(Doty, 1996). There are several methods which can be used to implement quality
control. One of the frequent used methods is Statistical Process Control (SPC).
SPC can be defined as using a statistical technique to implement quality
control. SPC was first introduced in the 1920s by Walter A. Shewart of Bell
Telephone Laboratories. A sketch of a modern control chart was developed by him,
Dodge H. F., Romig H. G., Jennett W. J. and others. But, SPC was not widely
accepted until World War II. During World War II, SPC was used extensively by
UK and USA to improve material quality and reduce the large amount of defective
8
materials being produced. After the war, SPC lost its importance as industries
converted it to be used in peacetime production.
However, in 1950s, people in the West taught SPC to the Japanese. W.
Edwards Deming and Joseph M. Juran in particular made a big impact in Japanese
industries. Japanese industries applied SPC widely and proved that SPC saves
money and attracts customers. The Japanese philosophy is that good quality
products sell, consistent good quality leads to greater productivity, and that there is
no conflict between price and quality. Now, the US and UK are forced to introduce
SPC in order to compete with the Japanese (Wetherill, 1990).
Currently, seven basic tools for the implementation of SPC are histogram,
check sheet, pareto chart, cause and effect diagram, defect concentration diagram,
scatter diagram and control chart. However in this study, focus is done on the
control chart. The control chart can be used to achieve process stability and
improving capability through the reduction of variability. More explanation on the
control chart can be found in Section 2.3.
We need to keep in mind the eventual goal of the SPC is to eliminate
variations in the process. However, it may not be possible to completely eliminate
all variations. The control chart can be used as an effective tool to improve quality,
productivity and reducing variability.
9
2.3
Control Chart and Patterns Recognition
This section begins by introducing the control chart and patterns
recognition. It is then proceeds to the discussion on the framework for the
standalone control chart patterns recognition system.
2.3.1
Control Chart
The control chart is a graphical representation of a quality characteristic that
computed from a few samples which are taken over a fixed period of time. The
control chart can be divided into a variable control chart and attribute control chart.
The variable is the measurement of quality characteristic using a numerical scale.
Examples of variable dimensions are the length, width, temperature, volume, speed
and weight. The X-bar chart and R-chart are the most common control chart for
monitoring the variable process.
The attribute is measurement of quality characteristic that cannot be
conveniently represented numerically. We usually classify this item as either
present or absent, conforming or nonconforming, acceptable or defective to the
specific characteristic. Normally, the percentage of defect in a sample, p-chart and
the count number of defect in a sample, c-chart can be used to show the attribute of
the control chart.
A typical control chart is shown in Figure 2.1. Normally, the control chart
contains a center line, an upper control limit and a lower control limit. The center
line represents the average value of the characteristics while the upper control limit
(UCL) and the lower control limit (LCL) represents the range of acceptable
characteristics. If the process is within control, all the sample points will fall
between the control limits.
10
Control Chart Example
14
UCL=13.494
13
Individual Value
12
11
_
X=10.446
10
9
8
LCL=7.397
7
1
4
7
10
13
16
19
Observation
22
25
28
Figure 2.1: Example of Control Chart
As shown in Figure 2.2, a control chart can be divided into Zones A, B and
C. Each of these three partition zones has a 1 sigma width. If one of the points is
plotted outside these zones, then the particular process is considered out of control.
Although all points are plotted within control limits; if they behave in a nonrandom manner, then this could indicate that the process is unstable. These control
zones with a series of rules (Nelson Run Rules) and other charting techniques
(EWMA and CUSUM) can be applied to detect abnormality in a process. This is to
prevent an unstable process from deteriorating into an out of control process.
Further explanation on Nelson Run Rules, EWMA and CUSUM can be referred to
Chapter 5.
Zone Chart of C3
8
+3 StDev=6.319
4
Zone A
2
0
0
Zone B
Zone C
0
0
+2 StDev=6.014
2
0
0
2
0
2
0
Zone
C
-1 StDev=5.099
Zone B
Zone A
4
+1 StDev=5.709
_
_
X=5.404
-2 StDev=4.793
-3 StDev=4.488
8
1
2
3
4
5
6
7
8
Sample
Figure 2.2: Control Chart Zones
11
2.3.2
Control Chart Patterns Recognition (CCPR)
The interpretation of the control chart depends on the capability to
distinguish the pattern existing in the control chart. As illustrated in Figure 2.3,
there are six types of main pattern that may exist in the control chart: random,
cyclic, decreasing trend, increasing trend, downward shift and upward shift. Except
for the random pattern, the existence of other unnatural patterns indicate that the
process is abnormal due to the presence of an assignable causes such as new
workers, raw material, machine settings and environment effect (Pham and Wani,
1999). Recognition of these unnatural patterns is essential in detecting situations of
special disturbances in a process and in eliminating their causes.
Figure 2.3: Control chart patterns (Wani and Pham, 1999)
12
Artificial neural network (ANN) can be used to classify these unnatural
patterns. Several researchers like Hwarng (1997), Pham and Wani (1997), Guh and
Tannock(1999), Guh(2003), Hassan et al. (2003), Gauri and Chakraborty (2006)
and Bunthit and Jonathan (2007) had adopted artificial neural network for CCPR.
The researchers’ achievements are summarized in Table 2.1.
Table 2.1: Application of ANN in Control Chart Patterns Recognition
Author
Summary
Hwarng
(1997)
Developed a pattern recognition which is suitable for
real time cycle pattern recognition.
Pham and Wani
(1997)
Used features extracted from a CCP instead of the
unprocessed CCP data.
Guh and
Tannock
(1999)
Used Back-Propagation Network to detect concurrent
pattern which exists in the control chart.
Guh
(2003)
Applied a hybrid artificial intelligence technique in
building a real time SPC system.
Hassan et al.
(2003)
Evaluated the relative performance of feature-based
recognizer compared with raw data-based recognizer.
Al-Assaf
(2004)
Used multi-resolution wavelets analysis to extract
distinct features from unnatural patterns.
Guh
(2005)
Developed a CCP identification system using selforganizing approaches neural network and decision tree
learning.
Hwarng
(2005)
Proposed a neural network based identification system
for both mean shift and correlation parameter change.
Yang and Yang
(2005)
Presented a control chart pattern recognition system
using a statistical correlation coefficient method.
Zorriassatine
et al (2005)
Proposed the chi-squared statistic as a compact format
for representing the input to neural network.
Zan et al.
(2006)
Use the linear transformation to improve the character
of the patterns, and then the two kinds of neural
networks are applied to recognize the control chart
patterns.
Gauri and
Chakraborty
(2006)
Develop two feature-based approaches using heuristics
and artificial neural network (ANN) are developed,
which are capable of recognizing eight most commonly
observed CCP.
Bunthit and
Jonathan (2007)
Reported the comparative results of an empirical study
on the non-parametric versus parametric neuron
network.
13
2.3.3
Existing Framework for Standalone CCPR
In this study, the existing framework developed by Adnan (2002) for online
recognition of developing control chart patterns will be referred. This framework
was designed for the application of standalone local system. As shown in Figure
2.4, basically this CCPR framework consists of a stability test, features extraction
and patterns recognition module.
Basically, the work flow of this standalone CCPR system can be described
as following. First of all, the SPC monitoring window receive data stream from the
manufacturing process measurement. Next, the stability test will be conducted. If
the data stream passes the stability test, then the process will continue as normal. If
the data stream is identified as an unstable process, then the process will be passed
to the features extraction module. Features extraction module will extract the
statistical features. Subsequently, the feature set will be presented to the patterns
recognition module.
The pattern recognition module will try to classify the data stream pattern.
If there is no conclusive result and further recognition is needed, then the process
will continue monitoring to get more data. If there is no conclusive result and the
limit of recognize attempts has achieved, the process will be stopped for further
diagnosis. On the other hand, if there is a conclusive result, then the predicted
control chart pattern type will be checked. If the result is a random pattern, this
mean it is a stable process, indicates a false alarm happened. Therefore, the process
will continue as normal. If a non-random pattern (trend-up, trend-down, shift-up,
shift-down or cycle) is recognized then the corrective action is needed. After the
correction action, the monitoring process can be resume as normal.
14
Figure 2.4: Flow Chart for Online Recognition of
Developing Control Chart Patterns (Adnan, 2002)
15
Although the standalone CCPR system has provided the feature of control
chart monitoring and diagnosis, but there are several limitations of the standalone
system. Inside the standalone system, the manufacturing process monitoring is
done locally. The process data is not shareable and accessible remotely. It is unable
to fulfill the requirement of current manufacturing trend which are geographical
distributed.
A dedicated personal computer (PC) is needed for the standalone CCPR
system. However, not all the time, the computer recourses are utilized. Most of the
time, the PC is used for the purpose of collecting measurement data and then
analysis the control chart data. Only small portion of processing time is used for
control chart patterns monitoring and recognition.
The implementation cost for the current standalone system is relatively
expensive. The manufacturer needs to purchase separate license for each pair of the
standalone system. For example, if a manufacturer has five processes to be
monitored, then they need to purchase five pair of standalone system licenses. Each
license cost is quite expensive due to the price of patterns recognition module.
Therefore there is a need to enhance the existing standalone CCPR system
toward a client-server based CCPR system. This client-server based CCPR system
should be accessible remotely, enable resources sharing and affordable by the
manufacturer. Such a system also provides centralized records tracking and
keeping.
16
2.4
Web-based Manufacturing System
Facing the intense competition in the global market, the manufacturing
industry is actively seeking technology solutions that enable timely response to
satisfy customer demand. The success of manufacturing companies depends on
their ability to identify the needs of customers and quickly create products that
meet their requirements; at the same time manufacturing the products at low costs,
and delivering them within the shortest time possible (Mohd Shariff, 2005).
To overcome these problems, information technology has been applied to
the manufacturing sector. The use of this new technology is known as web-based
manufacturing or e-manufacturing. This web-based manufacturing makes use of the
internet speed, reach and collaboration capabilities to connect plant floor operations
to overall business systems across the entire supply chain. It attempts to associate
various product development activities which are distributed at different locations
into an organic and coordinated environment (Jay, 2003).
As described in Table 2.2, future demand on manufacturing will be
significantly different compared with conventional manufacturing. In the
conventional manufacturing, the manufacturing process model only makes the
assumption that the product is marketable and that it can be manufactured. But with
the advent of new information technology, the way new products are introduced
has changed. The manufacturers not only need to know what the product is, but
they also need to have a proactive view of forthcoming changes from both of the
demand and supply side (Toussaint and Cheng, 2002).
17
Table 2.2: Conventional and Future Manufacturing (Jay, 2003)
Conventional Manufacturing
•
New
Product
Need to invent new
Future Manufacturing
•
product.
Need to invent new product,
better quality and shorter
design life-cycle.
Existing
•
Product
Product
Investigation
•
Modifying an existing
•
Changes now come from
product to improve its
both the demand and the
features.
supply sides.
Investigation done on
- Function of the product
- Its appearance
•
Investigation done on
- Functionality of the
product
- Its appearance required or
defined on the web
By using the internet facilities, information distributed at different location
can be accessed and shared by both demand and supply side without the problem of
data recreation and distribution. As such it can satisfy the customer demands,
improve the product quality, and reduce the product development time, thus
providing better global competitiveness of product in the worldwide marketplace
(Jay, 2003).
2.4.1
Application Areas
As shown in Figure 2.5, web-based manufacturing are implemented in
collaborative product design, product data management, supply chain management,
product support and process monitoring (Yang and Xue, 2003). Since the clientserver based CCPR system provides data sharing and remote access of production
18
line status, its manifestation can be classified as one of the applications in process
monitoring.
Web-based Manufacturing System
Collaborative Product
Design
Product
Support
Product
Data Management
Supply
Chain Management
Process
Monitoring
Client-server based SPC
Figure 2.5: Application Areas of Web-based Manufacturing
Collaborative product design is one of the application areas in web-based
manufacturing system. Collaborative design enables teams of designers, engineers
and manufacturers from diverse geographical locations to work together over a
collaborative computer network. Researchers such as Ahn and Bharadwaj (2002),
Huang (2003), Zhou and Chin (2003), Li et al. (2004) and Ming et al.(2007) have
reported researches on web-based application in product design. Collaborative
product design is a very effective medium for conducting the design reviews and it
does save time and cost (William and Jeffrey, 2004). It provides an appropriate
communication platform that breaks down the barriers in the process of product
development.
Another area of web-based manufacturing application is product data
management (PDM). In today’s industry, billions of dollars is spent each year for
regenerating the product data which are stored in diverse software format. With the
introduction of PDM, it does allow information sharing and data exchange among
product designs using different software tools. Researchers such as William and
Tony (2003), Helen et al. (2004), Huang et al.(2004), Zeng and Liu (2004) and
19
Edmond and Yu (2007) have reported researches on web-based product data
management. Web-based PDM has led to significant improvement in all facets of
product design, documentation, manufacturing and support (Alan, 2004).
Another area of web-based manufacturing application is supply chain
management (SCM). SCM encompasses all activities associated with a firm
moving its composite flow of information, materials and services from the stage of
raw materials through production to the end customer. The sudden increase in ecommerce has resulted in new opportunities to improve the performance of supply
chain (Claudio, 2003). Researchers such as Sheremetov and Rocha (2004), Stavros
and Nikos (2004) and Tserng, et al. (2005) have reported researches on SCM. SCM
has increased the service level and established a cooperative environment among
all parties involved in the supply chain.
Product support is one of the application areas in web-based manufacturing
system. The competitiveness of a product does not only depend on its quality and
cost but also the post production support considerations such as service,
maintenance, system upgrade, recycle and disposal. The Internet is chosen as the
medium to improve the product support function. Researchers such as Schubert et
al. (2002), Sean and Teresa (2002), Anon (2005) and Ashaab (2007) have reported
studies on web-based product support. The overall web-based product support has
led to reduction response time of customer service problems (Morita and Hidaka,
2004). The two way communication capability of the Internet has a profound effect
on cementing the customer-firm relationship.
Process monitoring is one of the application areas in web-based
manufacturing system too. Since the client-server based CCPR system is under this
category, process monitoring is explained in the following section.
20
2.4.2
Web-based Process Monitoring
As described in the previous section, process monitoring is one of the
application areas in web-based manufacturing system. Web-based process
monitoring enables the technician, engineer and manager to remotely access, view
and analyse the production line status. Web technology are used to monitor and
control the manufacturing shop floors (Shen et al., 2003).
Web-based multimedia application such as graphics representation with
Java Applet can be implemented for remote representation of production line. Ming
(1998) had developed a distributed intelligent multimedia system for real-time
process monitoring. Wang (2003) had integrated Java 3D model for remote
monitoring and control of the manufacturing process. Virtual control panel also can
be imposed in remote process monitoring. Zhao et al. (2003) had developed a
virtual control panel written in Active-X for user to directly send command and
receive message from the Computer Numerical Control machine.
In addition, several sensors and Programmable Logic Control (PLC) also
can be integrated into web-based process monitoring system. Subu et al. (2003) had
integrated sensors, PLC with embedded web server for remote process monitoring.
Szabados (2003) integrated remote instrumentation to manufacturing process
monitoring. This approach has extended the scope for a wired environment with
fixed stations for data access.
Web-based process monitoring has solved low efficiency problems which
occurred in physically monitoring of production line (Zhu et al., 2005). By
converting the manufacturing system into the web accessible system, it is found to
be reliable, steady, flexible, extendable and effective in real-time monitoring and
controlling of the manufacturing process (Shi, 2007).
21
2.5
Web-based Statistical Process Control System
As discussed in Section 2.2 and 2.3, SPC charts are tools for process
monitoring. Various researchers have contributed to the development of CCPR
system. This area of research has been extended to integrated web technology into
CCPR system. The following section review previous works on web-based SPC
system. Reviews are presented from two perspectives, specifically Section 2.5.1
presents the findings and contributions of previous researches, and Section 2.5.2
presents commercial of the shelf web-based SPC system.
2.5.1
Previous Researches
Several researches have been carried out on web-based SPC system. This
section presents reviews and investigations that have been done by researchers on
the development of a web-based SPC system.
Thompson et al. (1998) investigated how internet-based technologies can be
integrated into the SPC process in order to provide more responsive and customercentered system. They described how the manufacturing sector has benefited from
the integration of an internet-based SPC system into the manufacturing process.
They explained the feasibility of using the internet for a web-based SPC system.
Basic explanation and overview of internet benefits are given by them.
Soperi et al. (2000) proposed a web-based statistical process system. They
converted the standalone system which produces x-bar and R charts using
Microsoft Visual Basic 5.0, Microsoft Access and Crystal Report into a web-based
SPC chart generator. This web-based SPC chart generator was developed using
Active Server Page, Active Data Object, Microsoft Access as database, Microsoft
Internet Information Server as web server and Microsoft NT Server as operating
22
system. This web-based SPC system have some basic features like generating xbar, R charts and doing some analysis such as summarizing the percentage of
points plotted above UCL, below LCL and between UCL and LCL. This study
produced the preliminary framework for web-based SPC with a prototype system
development and implementation.
Han and Oh (2001) elaborated SPC system is widely used to satisfy the
ever-increasing quality control requirements. They noted that most commercial
products in the market are not flexible enough, still semi-automatic and difficult to
interface with other tools. They proposed a SPC system which is web-enabled and
supporting XML protocol. A graphic facility and file system to handle the data in
real time have been developed. They introduced the XML protocol and graphical
interface for web-based SPC system.
Lee et al. (2003) implemented of Simple Network Management Protocol
(SNMP) for web-based SPC system. A Management Information Base (MIB) that
represents the status of facilities are defined. Based on the MIB, SNMP agents are
used to collect data from a machine. They claimed that their clients can access
those SPC charts and statistics using any web browser and can change control
parameters if they are permitted.
Their investigation suggested that the
communication protocol such as SNMP can be used as a communication media for
a web-based SPC system.
After analyzing the future of virtual enterprise and deficiencies of
traditional SPC, Wang et al. (2003) proposed the function structure to integrate the
SPC based quality control system on web. This web workflow is adopted to control
the production quality of extended and internal enterprises intelligently. The control
of SPC procedure, pattern recognition of control chart and analysis and diagnosis of
fault reasons were combined together. The study illustrated the workflow of
designed and encapsulated toolkits, which makes the Web workflow convenient.
23
Choudhury et al. (2003) implemented wireless technology for real time
process data transferring over the Internet. It created the opportunity for accessing
the live process data from the classroom and then analysis the data for process
improvement. A multivariable process station involving pressure, temperature, flow
and liquid level was utilized to simulate industrial process. The wireless and webbased information technology are utilized to retrieve and transmit the refined real
time process data. Their main contribution is in the application of the wireless
technology into remote process monitoring.
Bhavin and Zhou (2003) investigated the middleware for web-based
manufacturing. They developed a methodology and software that use AI,
Simulation and Modeling coupled with Virtual Reality and Resource Management
concepts for the automation of various material design, analysis and visualization
process. This environment is designed to be a platform independent and accessible
over the World Wide Web (WWW). This research concentrated issues on the
development of middleware for load balancing and parallel processing. It has
demonstrated the use of WWW as the middleware for efficient load balancing,
resource management and distributed processing in the digital age.
Zhao and Wang (2004) introduced a web workflow model for quality
control system. They introduced web service and extensible Markup language
(XML) technology into web workflow model. The function structure of the quality
control system is based on the web workflow. It does compose system
management, quality control, system resource management, quality information
management and information trace releasing module. Their study focused on the
implementation of web service and XML technology for quality control system.
In addition, it has been proven that the web-based SPC can be implemented
in other areas such as computer security. Michlin et al. (2004) proposed a method
24
for reliability improvement of web servers through statistical process control. This
method is intended for timely detection of hacker attacks and faults, before they
become critical and disrupt the normal activity of a web server. It is based on
observation of the correlations between the variables measured in the course of
server activity. This recommendation has been implemented and is used as a basis
for an automated protection system.
Literature reviews suggest that each researcher have contributed to a
different area by introducing new technology into the web-based SPC system.
Table 2.3 summarizes the previous researchers’ contribution. However, there is no
significant comparable relationship that can be summarized from these researches.
These researchers introduced and integrated different technology and ideas for the
web-based SPC system.
No investigations have been done on selecting a suitable CS architecture
and a load passing approach. It is not appropriate to direct implement a normal web
server into the CCPR system, since each module of CCPR system has its own
characteristic and can achieve better performance by separate out and customize
them into different functional tier. With an appropriate CS architecture, using the
same amount of resources, a CCPR system able to process more data and support
more users. On another side, without a load passing procedure will causes the
CCPR system no able to timely recognize an unstable process, the stable process
will stay a same priority with unstable process. Timely recognition of unstable
process is crucial to ensure corrective action can be taken earlier. Thus, this
research is trying to propose and investigate an suitable CS architecture and load
passing approach for a client-server based CCPR system.
25
Table 2.3: Researchers’ Contributions in Web-based SPC System
Author
Year
Contributions
Thompson et
al.
1998
Introduced the feasibility of internet for web-based
SPC system.
Soperi et al.
2000
Proposed the preliminary framework for web-based
SPC system.
Han and Oh
2001
Introduced the XML protocol and GUI for web-based
SPC system.
Lee et al.
2003
Used SNMP as communication media for web-based
SPC system.
Wang et al.
2003,
Integrated production quality monitoring with internal
enterprise system.
2004
Choudhury
et al.
2003
Introduce wireless technology into remote process
monitoring.
Bhavin and
Zhou
2003
Convince the use of WWW as middleware for
efficiently load balancing and distributed processing.
Zhao and
Wang
2004
Introduced XML and web service technology into
quality control system.
Michlin
2004
Implemented SPC in computer network security.
2.5.2
Commercial of the Shelf Web-based SPC System
Several vendors have taken the opportunity to develop commercial versions
of the Shelf web-based SPC system. This section discusses examples of the webbased SPC systems which have been implemented in the manufacturing industry.
eNet SPC is a web-based process control system developed by Quality
America Inc. This product comes with several functions like access control,
customizable analysis, viewing options and a fully programmable interface. Process
data can be collected and stored in various source such as spreadsheet or any
ODBC compliant database. This system has access control features which datasets
26
are restricted to a predefined set of user to maintain its confidentiality. A remote
system user can customize the view option to suit his requirement.
The NWA Quality Analyst Web Server 2.1 is the web-based SPC software
developed by Northwest Analytical (NWA) Inc. This web server provides real-time
monitoring of remote plant and contract manufacturing facilities. NWA quality
analyst web server is not only included the conventional SPC chart generator but
the user can accumulate several charts and format them in multi-chart layouts. The
user can select and key in assignable cause and corrective action taken at the related
control chart point. The latest version includes exception reporting capabilities to
generate product exception reports.
The Factory Server SPC is developed by Factory Server SPC Mass Group,
Inc. This web-based SPC system has features like data entry, data import,
customized analysis, view options, access control datasets, software updates and
fully programmable again using Visual Basic. Factory Server SPC has similar
features provided by NWA Quality Analyst Web Server 2.1. In addition, control
charts such as Pareto chart, Scatter Diagram, Bullseye Chart and Reproducibility
Chart can be generated. This system had been integrated with other sub-modules of
factory server such as production control, production scheduling and production
reporting.
Basically, most of the web-based SPC system assists user in automating the
process of plotting the control chart. All of the control chart data are stored in a
database system. The control chart data can be retrieved later for more details
analysis. Some security policies have been enforced to ensure the authenticity of
user and confidentiality of data. Table 2.4 summarizes the features provided by
various commercial of the shelf web-based SPC system.
It is found that most of the web-based SPC products have included the
automated data collection, access control features, record assignable cause and fully
27
programmable programming interface. Besides that, the commercialized web-based
SPC product is accessible using any internet connected web browser. The web
server and database server chosen by these company is mostly Microsoft-based
product or license based product.
However, none of these systems provided CCPR features. This feature is
needed to identify the existent of an unstable pattern in control chart. The CCPR
result is helpful for narrows down the scope of the assignable cause and speeds up
the troubleshooting process. Beside that, the customer who wishes to implement
SPC needs to purchase separate licenses for the installation of a web server and a
database server. It is quite expensive and unaffordable for small and medium
company. The client-server based SPC service can be published at somewhere,
small company who wish to use the system can subscribe this service through
internet.
Product
eNET SPC
Quality
Analyst
Web
Server
Factory
Server
SPC
Company
1 Quality
America Inc.
2 Northwest
Analytical
Inc.
3 Factory
Server SPC
Mass Group,
Inc.
Production
personnel,
workstation,
parts,
assemblies,
lots and
work orders
can be
automatically
collected.
Keyboard
input, scales
measuremen
t devices and
barcode
readers.
Data may be
collected and
analyzed
real-time.
Data entry
Admin
can
provide
access
based on
each
user’s
role.
Anyone
authorized
can access
and view
charts.
Each production
process is constantly
changing and unique;
so many proprietary
functions can be
created as needed in
VB or standard
development tools.
Included visual design
to configure plant
floor workstations
interface. Fast and
easy alternative to
writing complicated
programming scripts.
Can customize the
interface to suit your
users' needs. Adding
company logos, entry
forms, and displaying
part drawings are just
modifications.
Programmable
Control
Datasets
are
restricted
to a
selected
set of
users.
Fully Customize &
Access
Windows
2000 or
XP,
Microsoft
IE 6.0
and
TCP/IP
Network
Access.
Any web
browser
Any
Internet
browser
Side
Client
Features Provided
Tables 2.4: Web-based SPC System and Provided Features
Own
developed
and
integrated
database
system.
Microsoft
SQL Server
Server
Database
Microsoft Microsoft SQL
Server 2000,
IIS Web
Windows
Server,
2000 Server
VB,
or Windows
ASP.NET,
Server 2003.
COM
Technolog
y and
crystal
reports.
Microsoft
Windows
NT4,
2000, XP,
and
Server
2003.
Windows
NT Web
Server
Server
Web
28
29
2.6
Design Consideration in Development of Client-Server based
Application
There are several issues that need to be considered in developing a clientserver based application. As illustrated in Figure 2.6, there are data modeling,
network security, communication standard, client and server (CS) system
integration and load balancing to be taken into consideration. The following section
gives explanation on these issues.
Design Consideration in Development of Client-server based Application
Data
Modeling
Network
Security
Communication
Standard
Load
Balancing
Client / Server
System
Integration
Figure 2.6: Research Issues in Development of the Client-Server based Application
2.6.1 Data Modeling
Data modeling is one of the issues that need to be addressed. Data modeling
is a conceptual representation of the data structure. The data structure included data
objects, associations between data objects, and rules which govern operations on
objects. In the last few years, Extensible Markup Language (XML) data
management system has been intensively studied for data modeling.
Originally, XML is designed to meet the challenges of a large-scale
electronic publishing. It plays an important role in the exchange of a wide variety
of data on the Web application (Carey et al., 2000). Several researchers such as
Nurmilaakso et al. (2002), Yang and Zhang (2003), Wusteman (2003), Peter and
30
Henry (2003) and Stephen and Bruce (2003) have implemented XML technology
for web-based application.
Data modeling is probably the most labor intensive and time consuming
part of the development process. The designer needs to ensure all the data objects
required by the database are accurately and completely represented in a data model
(Silverston, 2001). For web-based SPC system, investigation can be done on
investigating the proper data model to represent the control chart data.
2.6.2
Network Security
Network security is another issue needs to be investigated for the
development of a web-based application. Owing to many threats and software
vulnerabilities, the risk to unauthorized access ad intrusion via the computer
network is growing. Unauthorized access or intrusion can cause data lost, privacy
lost and corruption on data.
Researchers such as Fabisiak (2003), Gillespie and Gordan (2003), Dong
and Liu (2004), Zheng et al. (2004) and Marin (2006) have reported research on
network security. To prevent unauthorized access or intrusion, the system
administrator must keep all security related hardware and software up to date. This
is also applicable for the web-based SPC system. The confidentiality of control
chart data which represent the process capability can be the main secrecy concern.
2.6.3
Communication Standard
Communication standard is another issue that needs to be considered for the
development of a web-based application. The communication standard is referred
to as how network system exchange information. Among the commonly used
communication standard are Hypertext Transfer Protocol, File Transfer Protocol,
31
Simple Main Transfer Protocol, Post Office Protocol, Simple Network
Management Protocol, Common Object Request Broker Architecture (CORBA)
and Web Service (Andrew, 2003). The most recent communication standard can be
referred to as CORBA and Web Service.
The CORBA is an emerging open distributed object computing
infrastructure being standardized by the Object Management Group. CORBA
automates many common network programming tasks such as object registration,
location, and activation; request demultiplexing; framing and error-handling;
parameter marshalling and demarshalling; and operation dispatching (Schmidt et
al, 2003). Web Service is a new and powerful model for creating applications from
reusable software models supported on the Internet using HTTP technology. Web
Service provides loosely coupled, flexible, and dynamic solutions by using
emerging techniques such as SOAP, WSDL and UDDI. Figure 2.7 shows
integration of different platforms using web services.
Figure 2.7: Web Services for Different Platform Integration
Researchers such as Jun et al. (2003) and Rodolfo et al. (2005) have
implemented CORBA in the manufacturing process. On the other hand, Rainer and
Schahram (2005) and Deependra and Ganesh (2005) and Park and Lee (2006) have
implemented web services for the manufacturing process. Further research
expansion can be done to identify the appropriate communication protocol for the
web-based Statistical Process Control system.
32
2.6.4
Load Balancing
Load balancing is another issue needs to be considered. Load balancing is
important for the server whereby it is difficult to predict the number of requests that
will be issued to a server. By distributing the server workload among the group of
servers, a better performance, resource utilization and scalability can be achieved.
There are various ways of implementing load balancing. Basically, the load
distribution can be done through hardware or software based techniques.
Hardware load balancers can route TCP/IP packets to various servers in a
cluster. As shown in Figure 2.8 the load balancer can be used to separate public and
private network. The software based load balancer is the most commonly used in
the current market. It is often comes as an integrated component of the
commercialized web and application server packages. Normally, the software based
load balancer is cheaper than the hardware load balancer. Since the special
objective for this study is on the load passing procedure for client-server based
CCPR system, further explanation on load balancing is presented in Section 2.7.
Figure 2.8: Separation of Public and Private Network (Tony, 2001)
33
2.6.5
Client and Server System Integration
Another issue to be considered for the development of the web-based
application is the CS system integration. The CS system integration has created a
communication medium for a heterogeneous web-based system to exchange
information. Researchers such as Anosike and Zhang (2004), Zheng and Wans
(2004), Saygin (2004) and Martin (2006) have reported research on CS system
integration for the manufacturing system. Further review and explanation on CS
architecture are presented in Section 2.8, since the special objective of this study is
to investigate and proposed a customized system architecture for client-server
based CCPR system.
2.7
Load Balancing and System Performance Measurement
Load balancing improves system response time by utilize the available
system resources. It is mainly used in distributed systems for maximizing the
system throughput. The following section presents several methods used for system
load balancing.
2.7.1
Application of Load Balancing
Many computer applications use load balancing to improve system
performance. The ability to divide the server workload among the available system
resources can significantly improve the system throughput. Load balancing is
applied for a computer network. The high computer network growing rate has lead
to a decrease in ‘Quality of Service’ of computer networks. Researchers such as
Hui and Samuel (1997) and He (2000) have reported review on load balancing for
LAN and WAN networks.
34
Load balancing can be implemented in the cellular network. Load balancing
distribution techniques are used to distribute cellular base-station workload.
Researchers such as Das et al (1997) investigated an efficient and dynamic load
balancing scheme on cellular networks for managing a cellular network hot spot
whereas Yanmaz and Tonguz (2004) reviewed on the load balancing schemes for
mobile applications. It is to ensure the customer always can get the best quality of
data and voice transmission.
In addition, load balancing is applied in Peer to peer (P2P) file sharing
application. Many solutions have been proposed to tackle the load balancing issue
in the P2P system. From the system perspective, it strives to ensure fair load
distribution among all peer nodes. Researches such as Wu and Yi, (2003) and Zhu
and Hu (2005) have reported on the load balancing scheme for P2P file sharing
application. P2P load balancing scheme will ensure the file packet can be fairly
shared among the peers without overwhelming certain peer.
The load balancing policy are applied to the computer server farm. Zahir et
al. (2005) investigated load distribution strategies in a distributed server farm. All
tasks arrive at the central dispatcher in a server farm and then are assigned to
participating servers based on load distribution policies. Load balancing is also
needed for Domain Name Service (DNS) server. DNS server translates the logical
site name into the IP address of one of the web servers, and clients communicate
with web servers directly. Researchers such as Zhong et al (2004) and Chatterjee
(2005) have investigated load balancing algorithms suitable for DNS server.
These are some sample applications implementing load balancing policies.
Load balancing improves system response time and system throughput by
optimizing the available system resources in a distributed environment.
35
2.7.2
Performance Measurement
There are several types of performance measurement methods used by
researchers. As presented in Table 2.5, researchers from different fields of
application implemented different methods. In general, specific measures are used
to evaluate the performance of particular application. For example, measurement
on message transfer time may only applicable to computer network.
Table 2.5: Summary of Load Balancing Performance Measurement Methods
Author
Year
Application
Field
Measurement
Evaluation Method
Hui and
Samuel
1997
Computer
Network
Message
transfer time
Times to broadcast a
LAN message and
transfer an Internet
message.
Das et al.
1997
Cellular
Network
Call rate at hot
spot.
Percentage Reduction
on blocked call.
Zhu and
Hu
2005
P2P
Application
Peer System
Workload
Percentage of moved
load.
Zahir et
al.
2005
Sever Farm
Server load
Mean waiting time,
mean flow time and
mean slowdown.
Zhong et
al.
2005
DNS Server
DNS server
utilization
Standard deviation of
server utilization.
2.7.3
Summary of Performance Measurement
Load balancing play an important role in networked applications. Due to
uneven tasks arrival, system resources such as CPU, memory, hard-disk space and
network interface I/O are often poorly utilized. Resource starvation will cause poor
system response time. Simply adding more resources is a short-term and expensive
solution. For long-term and affordable solutions, load balancing is the answer.
36
Load balancing techniques applies for networked applications (such as
wireless network, peer to peer load balancing and DNS server) are only suitable for
the characteristic of particular application. It is not suitable to be direct imposed
into a client-server based CCPR system. Such a system has it’s own control chart
data characteristics and system requirement, specific load passing algorithm should
be implemented. If implementing a common load passing procedure such as based
on the processor usage, a CCPR system only capable to process a control chart data
based on FIFO policy. Which ever process, reach on the server would be process
first. Hence, an unstable process tend to be lacking behind the process queue. For a
client-server based CCPR system, specific load passing procedure is needed to
prioritize the system access based on the control chart data characteristic. In
another word, the unstable process should receive higher priority then stable
process.
2.8
Client and Server Architecture
The Client and Server (CS) architecture can be defined as a computation
architecture that involves client’s process requesting service from server. Other
definition for CS computing concept is separate logical entities that work together
over a network to accomplish a task. CS computing as shown in Figure 2.9 is
widely used in the computer industry, ranging from database access, file and printer
sharing, and desktop window systems to information resource sharing.
37
Internet
Client
Server
Figure 2.9: Simple Client / Server Computing Architecture
A client process can be referred to a program that sends a message to the
server program requesting the server to perform a task or service. Client program
like web browser is used to manage the user interface portion of the application,
validate data entered by user, dispatch request to server program. Normally the
client side just requires a minimum memory and processing capabilities to support
the presentation and application logic of the client side.
A server process will fulfill the client’s request by performing the task
requested by client. After receiving a request from the client, the server will
execute it and then dispatch the results to client. The server process is performed at
the back-end side. Compared to the client side, the server side hardware have more
memory and storage, processing power and some even include parallel processors
and built-in uninterruptible power supply, fault tolerance and disk monitoring to
improve server reliability (Rand, 1996).
2.8.1
Mainframe System and File Sharing System
The evolution of CS computing started with the mainframe system. In the
mainframe system, all intelligence is within the central host computer. Mainframes
are large and expensive computers used mainly by government institutions and
large companies for mission critical applications, typically bulk data processing,
ERP, and bank transaction processing. Users interact with the host through a dumb
terminal that captures keystrokes and sends that information to the host.
38
Mainframes often support thousands of simultaneous users who gain access
through "dumb" terminals. There are several limitations of mainframes system.
They are: the mainframe does not easily support graphics user interface and the
multiple databases are not accessible from a geographically dispersed location.
Nevertheless, the mainframe system plays an important role in emerging distributed
CS architecture.
After the mainframes system, the file sharing system emerged. Originally
personal computer networks are based on this file sharing architecture, where the
server downloads files from shared location to the desktop environment. After
completing the downloaded files, the user runs the program in the desktop
environment.
In the 1990s, the PC Local Area Network changed because the capability of
the file sharing was strained as the number of online users grew rapidly and file
sharing only can satisfy 12 users simultaneously. Furthermore graphical user
interfaces (GUI) become popular, making mainframe and terminal display out
dated. File sharing architecture works only if the shared usage is low, update
content is low and the volume or size of data to be transferred is low.
2.8.2
Two-tier Client and Server System
As a result of the limitation on the mainframe and file sharing architectures,
the 2-tier CS architecture had emerged. This approach introduced a database server
to replace the file server using Database Management System (DBMS). With the
two tier CS architectures, the user system interface is usually located in the user's
desktop environment and the database management services are usually in a server.
39
This approach drastically reduces the network traffic by providing a query response
rather than total file transfer.
As shown in Figure 2.10, the 2-tier CS system consists of a client tier and a
server tier. The client tier manages the user interface functions like session, text
input and display management service. While the server tier manages the database
such as providing data and file management service. Either client or server tier can
be chosen to perform processing management such as process development,
process monitoring and resource management. Normally this architecture requires
minimal operator intervention and is frequently used in non-complex and non-time
critical info processing systems.
User Interface (session, text input,
dialog display management service)
CLIENT
Processing Management (process
development, process monitoring,
process resource management)
Database Management (data and files
management service )
SERVER
Figure 2.10: Two – tier Client and Server Architecture
2.8.3
Three-Tier Client and Server System
The Three tier CS architecture emerged in the 1990’s to overcome the
limitation existing in the two tier CS architecture. In the three tier architecture, a
middle tier was added between the client interface and the database server. As
shown in Figure 2.11, normally the three-tier architecture consists of a client tier,
middle tier and database tier. The Client tier provides the user interface
management, the middle tier provides business logic management and the database
40
tier provides database management service. Each tier can be built on a separate
platform and written using different languages.
User Interface (session, text input,
dialog display management service)
CLIENT
MIDDLE
Processing Management (process
development, process monitoring,
process resource management)
SERVER
Database Management (data and files
management service )
Figure 2.11: Three- Tier Client and Server Architecture
This architecture can accommodate hundreds of users by providing
functions such as queuing, application execution and database staging. For
example, if the middle tier provides queuing, the client can deliver its request to the
middle layer and disengage because the middle tier will access the data and return
the answer to the client. Middle tier also makes administration or changes
management easier by localizing the system functionality. This allows changes to
be written once on the middle tier server and the results are available throughout
the system. Compared with the two-tier CS architecture, the three tier CS
architecture can improve the overall performance, maintainability, reusability and
scalability of the client and server architecture.
2.8.4
N-Tier Client and Server System
N-tier CS system refers to the number of logical layers that various
components of an application occupy in the CS architecture. Primary components
or layers in the N-tier architecture are the presentation layer, application or business
logic layer and data layer. As illustrated in Figure 2.12, these layers are logically
41
separated by an interface which acts as a connectivity and communication medium.
N-tier indicates the number of level these components are split into but it does not
indicate the number of physical computers for which this application is spread
across. For example, a 3-tier together could be residing on one single computer but
normally it is not the case (Renaud and Paul, 1996).
User Layer
User interact with this layer
Presentation Layer
Contains user interface components
(GUI or text-based)
Application Layer
Application proper components needed
to power the functionality of application
reside at this layer.
(domain specific knowledge)
Data Layer
Allow application layer to capture and
maintain application state data.
Figure 2.12: N-Tier Client and Server Architecture
2.8.5
Example of Client and Server Architecture
The CS architecture has been widely applied in a web-based system. This
section presents some examples of CS application. These applications include
mobile robot, distributed multimedia, Internet-based tele-medical, labs remote
control and vehicular communication system.
Two-tier CS application can be applied in a mobile robot control
application. Each client or server runs in a separate process of the real-time
operation system. As illustrated in Figure 2.13, each resource such as the sensor
and actuator differs from its functionality. This leads to a number of servers, each
server providing access to one sensor and actuator (Olaf et al, 1998).
42
Figure 2.13: Design for Client – Server based Mobile Robot Control
(Olaf et al, 1998)
Three-tier CS application has been applied for distributed multimedia
application. As illustrated in Figure 2.14, this application consisted of a distributed
multimedia server, multimedia databases and a set of clients which access the
server. The multimedia system server is superimposed on a set of database
management systems (DBMSs). Each DBMS manages the insertion, deletion, and
updating of the media data stored in the local database (Sreenivas and Zhang,
1996).
Figure 2.14: CS Architecture for Distributed Multimedia Environment
(Sreenivas and Zhang, 1996)
43
The web-based CS application also has been applied in a Telemedicine
system. The telemedicine system produces a great impact in the monitoring of
patients located in remote non-clinical environments. A number of applications,
ranging from data collection, to chronic patient surveillance are being implemented
in many parts of the world. Alfredo et al (2001) presented the problems in
electrocardiogram real-time data acquisition, transmission, and visualization over
the Internet. As presented in Figure 2.15, a prototype system is composed of a
portable data acquisition connected to the computer, a Java-based CS platform, and
software modules to handle communication between data acquisition module, the
patient’s and the specialist’s personal computer.
Figure 2.15: Diagram for CS Telemedical system (Alfredo et al, 2001)
Besides that, CS technology has been widely adopted for remote control of
research labs. Owing to the stringent demands of industry, a variety of bus systems
have been developed to operate at the different hierarchical levels found in
automated lab equipment. At the highest level Ethernet-based systems are
frequently utilized to transfer data. Figure 2.16 shows the general structure of an
http-based remote controlled experiment using the lab equipment programming and
an integrated http web server (Hartmut and George, 2003).
44
Figure 2.16: Structure of an Http-based Remote Controlled Laboratory
(Hartmut and George, 2003)
In addition, CS technology has been implanted into cellular network. As
shown in Figure 2.17, Hamada and Eric (2004) presented an Inter-vehicle
communication platform in which the CS and Ad-hoc communication approaches
are integrated. This platform requires a host to allocate dynamically IP addresses to
the communicating vehicles. Each vehicle is equipped with a computer controlled
radio modem IEEE 802.11b, GPS, GSM modem and camera. This platform
maintains a high quality of communication and a reliable guarantee transition from
CS and Ad-hoc communication.
Figure 2.17: CS and Ad-Hoc Communication Platform (Hamada and Eric, 2004)
45
2.8.6
User Requirement and Client and Server Architecture
From these researches, it is clear that CS architecture had been widely
adopted for various fields. With CS architecture, the system administrator can
easily change any tier functionality without the need to modify the whole system.
However, the components put in each functional tier need to be carefully
investigated. Different types of users may have different requirements based on the
application. Some users may only deliberate on the speed of data transfer. Others
may focus on integrity of data, real-time accurate alert or mobile accessibility.
For example, the user of a multimedia distribution system may deliberate on
the speed of data transfer, instead of data integrity. They may demand for speed of
online sound and video packet transferring. Some errors on data packets are
acceptable (Sreenivas and Zhang, 1996). In the case of E-commerce and banking
application, the main concentration is on data integrity. Instead of speed, they will
demand for security and accurateness of data packet transfer. Some delay on packet
transfer is acceptable.
For the personal assistant application, the remote or mobile accessibility is
the deliberation. Personal assistant application should be accessible using
workstation, Pocket PC and mobile phone. For the tele-medical system, the main
concentration is on the real-time and accurateness of analysis results. The analysis
result should be delivered accurate and on-time to the physician for on-time
treatment and decision making. (Alfredo et al, 2001).
It is has been noted that different applications require different CS
architectures. Different CS architecture is needed to satisfy different user
requirements. It is applicable for the CCPR system too. The user of the CCPR
system needs a client-server based CCPR system with suitable CS architecture and
46
load passing approach. This client-server system will enable the user to access the
system from anywhere and at anytime using a web browser. Suitable CS
architecture enables the standalone system to be further divided into several
subsystems. Each subsystem can be easily changed or expanded without the need
of customizing the whole system. Often, the user is not aware of the system
changes. Lastly, a suitable load passing approach ensures the system is fairly
distributed between each subsystem. In short, this system is always accessible to
the user without the hassle of overwhelming certain functional tiers.
2.9
Technique and Technologies for Web-Based System Development
In this section, explanations are given on the technique and technology used
for client-server based system development. The technique and technology
discussed here are JSP language, Apache Tomcat Server, My-SQL Database Server
and The Mathworks Matlab.
2.9.1
JSP Language
Java Server Page (JSP) is a template for a web page that uses Java code to
generate an HTML document dynamically. JSP only enjoys cross-platform and
cross-Web-server support, but effectively melds the power of server-side Java
technology with the WYSIWYG features of static HTML pages. It is important to
note that the JSP specification is a standard extension defined on top of the Servlet
Application Programming Interface. So, JSP are run in a server side component
known as a JSP container, which translates them into equivalent Java Servlet. For
this reason, Servlets and JSP pages are intimately related. Several advantages of
JSP are (Marty and Larry, 2004):
47
i.
They have a better performance and scalability than CGI script because they
are persistent in memory and multithreaded.
ii.
They are automatically recompiled when necessary
iii.
They have built-in support for HTTP sessions, which makes application
programming possible.
iv.
They have full access to Java technology – network awareness, threads and
database connectivity.
v.
Because JSP pages are HTML-like, they have greater compatibility with
web developments tools.
2.9.2
Apache Tomcat Server
The Apache Tomcat Server is the servlet container that is used in the
official Reference Implementation for the Java Servlet and JavaServer Pages. This
project has its origins in the earliest days of Java’s Servlet technology and is
developed by Sun under the Java Community Process. Apache Tomcat is
developed in an open, participatory environment and released under the Apache
Software License to make a collaboration of the best-of-breed developers from
around the world (Jon et al., 2003).
Originally, Sun created the first Servlet container, called the Java Web
Server, which demonstrated the technology but it was not terribly robust.
Meanwhile, the Apache Software Foundation (ASF) folks created the JServ
product, which was a servlet engine that integrated with the Apache web server. In
1999, Sun donated their servlet container code to the ASF, and the two projects
were merged to create the Tomcat server. Today, Tomcat has become Sun’s official
reference implementation which means that Tomcat's first priority is to be fully
compliant with the Servlet and JSP specifications published by Sun.
48
The latest release of Tomcat 5, is an implementation of the new Servlet 2.4
and JSP 2.0 API specifications. Several web-based administration tools are also
bundled in this version for example Tomcat Status, Tomcat Manager and Tomcat
Administration. Tomcat Status will displays the status of the Tomcat server, such
as the memory utilization of the JVM, the version of JVM being run and the
number and status of threads, among other parameters. As shown in Figure 2.18,
the Tomcat Manager provides ways to install a new web application, reload it, start
and stop it, and many other functions. Tomcat Administration is the GUI tool for
administering Tomcat such as to manage user roles, name and password (Vivek et
al., 2004).
Figure 2.18: Example of Tomcat Web Application Manager
2.9.3
My-SQL Database Server
MySQL is the world's most acclaimed open source relational database
management system developed, distributed, and supported by MySQL AB.
MySQL AB was founded in Sweden by two Swedes and a Finn: David Axmark,
Allan Larsson and Michael Monty. MySQL is a relational database written in C
and C++. It has a strong hold in the open source community, and is very frequently
found being used with PHP at the front end. Some of the customers of MySQL are
49
Google, Yahoo, Earthlink, Ericsson, NASA, Lufthansa, Texas Instruments, United
Parcel Service, and The Associated Press. MySQL is the world's most popular open
source database with over 4 million active installations and 35,000 downloads per
day (Chad and Stephens, 2004).
The main features provided by MySQL can be summarized as (David and
Micheal, 2005):
i.
Various APIs provided for MySQL such as C, Java, Perl, PHP and Python.
ii.
The server is available as a separate program for use in a CS environment.
iii.
All password traffic is encrypted when you connect to a server.
iv.
Clients can connect to the MySQL server using TCP/IP sockets on any
platform.
v.
Various database administration and management tools provided. For
example MySQL Control Center as shown in Figure 2.19 is a free software
under General Public License for the administration of MySQL database
server.
Figure 2.19: Interface of MySQL Control Center
50
2.9.4
The Mathworks Matlab
"MATrix LABoratory" or Matlab is the language invented by Cleve Moler
in the late 1970s. It is a high-level technical computing language and interactive
environment for algorithm development, data visualization, data analysis, and
numeric computation. Using MATLAB, technical computing problems can be
solved faster than traditional programming languages. MATLAB is used in a wide
range of applications, including signal and image processing, communications,
control design, test and measurement, financial modeling and analysis, and
computational biology.
In addition, MATLAB provides a number of features for documenting and
sharing among the community. Add-on toolboxes are available separately to solve
particular classes of problems in these application areas. Areas in which toolboxes
are available include signal processing, control systems, neural networks, fuzzy
logic, wavelets, simulations and many others. Figure 2.20 shown MATLAB
interface with coding editor, command window, command history and current
directory windows.
Figure 2.20: MATLAB Interface Example
51
2.10
Summary
The background on the process variation, control chart, CCPR and
framework for standalone system has been reviewed. Application areas of Webbased manufacturing system have been explained. Previous researches and
commercial of shelf web-based SPC systems also have been studied. The design
considerations in the development of a client-server based system are investigated
and presented. Since the special objective of this study is on client-server
architecture and load passing procedure for client-server based CCPR system, a
more detail discussion was given on the CS system architecture and load balancing.
Some examples of the CS systems and load balancing applications were provided.
The literature review reveals several researchers were trying to enhance the
standalone SPC system into a web-enabled SPC system. Enhanced functionalities
such as XML, web service, SNMP and wireless technology have been introduced
by researchers into the web-based SPC system. However, the author was unable to
locate investigation on the client-server architecture and the load passing procedure
for control chart pattern recognition.
To convert the existing standalone system into a web-enabled CCPR
system, a customized CS architecture and load passing approach are needed. The
conventional CS architecture and load passing approach are not directly applicable
for the CCPR system. Careful investigation on the CS architecture is needed to
determine the suitable position for each functional module. Incorrect functional
module positioning may downgrade the whole system performance. Careful
selection of load passing approach is needed to ensure the system workload can be
fairly distributed among the subsystem. The worst case scenario would cause the
system malfunction, when the system is unable to cope with multiple users access
and too much demand for data processing.
CHAPTER 3
RESEARCH METHODOLOGY
3.1
Introduction
This chapter discusses the research methodology adopted in this study. First
outlines the problem situation and discusses the solutions concept. Following section
presents the overall research plan in a flow chart format. Basically, this study is divided
into four phases. More detail explanation on each phase is given on Section 3.3.1-3.3.4.
Next description on the source of data for system testing and validation purpose. The
tools and equipments used for this research study are presented. Following by discussion
on the performance measurement methods. Finally gives a summary for this chapter.
3.2
Problem Situation and Solution Concept
As described in Section 2.3.3, there are several limitations exist in the standalone
system. To overcome these limitations, the existing standalone system can be converted
into a client-server system as presented in Figure 3.1. The converted client-server based
CCPR system enables remote access, information sharing, better utilization of system
resources and it is more affordable by the small and medium manufacturer.
53
Input
Process
Standalone CCPR System
•
•
Control Chart
Data
Manufacturing
Process
Information
Client-server based CCPR
•
•
Control Chart
Data
Manufacturing
Process
Information
Output
•
•
•
•
•
•
•
Plotting Control Chart
Local & Standalone System
Multiple PR Module
Data Not Shareable
Data Confidential May Not Protected
High Implementation Cost
Not Extendable or Scalable
•
•
•
•
•
•
•
Plotting Control Chart
Web-enabled & Remotely Access
Single PR Module
Data Sharing & Expertise Sharing
Data Confidential Protected
Economic and Affordable
Extendable or Scalable
Figure 3.1: Enhancement from Standalone into a Client-Server based CCPR System
As described earlier, web-enabled CCPR system is used as the prototype system
implementation and validation for the client-server based CCPR system. The solution
concept for the proposed web-enabled CCPR system is illustrated in Figure 3.2. The main
components of the proposed web-enabled CCPR system are consisted of a World Wide
Web server, a database server and a pattern recognition engine. While the potential users
are consisted of the operators, the customers, the engineers and the mangers.
54
Figure 3.2: Proposed Operational Framework for Web-enabled CCPR System
The operational framework for the proposed web-enabled CCPR system is
summarized as below:
i. The World Wide Web server acts like an intermediate machine to process and
response to all user requests. It also acts as interface to communicate with back-end
Patterns Recognizer and Database Server.
ii. The Database Server is a permanent data storage for keeping all related
manufacturing control chart data and users information.
iii. The Patterns Recognition Engine uses as the intelligent patterns recognition module
for monitoring and detect unusual patterns exists in control chart.
55
The functions provided for potential user are summarized as below:
i. Factory operators use the standard web browser to key in all the required control
chart data or these data can be automated collected from equipments.
ii. The engineers or managers use a standard web browser to monitor the machine and
product line status. Some kind of warning and e-mail alert can be generated in case
of detection for an abnormal control chart pattern.
iii. Customer side such as suppliers or customers use a standard web browser for
getting the related control chart information. These information is helpful for
supplier or customer in making the related purchasing decision.
This web-enabled CCPR system is expected to benefit the operators, engineers,
managers and customers. For the small companies, they can get benefit from the service
which is traditionally affordable by big company. This system can be used as a marketing
tool to convince potential customer without physically visiting the manufacturing side.
Beside that, this system also allows remote or tele-consultation for the remote diagnosis.
Lastly, the proposed framework is designed in module form to enable each components
of system to be individual investigated and improved.
3.3
Development Phase
Research plan plays an important role in this study. It served as a guideline to
ensure the research phases are carried out systematical and completed within the time
frame. As shown in Figure 3.3, basically this study is divided into four phases. Each
phase has different tasks need to be completed.
56
Existing
Standalone
System
Phase One:
Study
Existing
Standalone
System
Features
and
Limitations
Proposed an
Operational
Framework for
the Client-server
based CCPR
System.
Analyze the Existing Standalone
System and Propose an Operational
Framework for the
Client-server based CCPR System
Phase Two:
Compare
Each Client
and Server
Architecture
Accordingly
Client and Server
Architecture Design
1. Client Tier
2. Server Tier
3. Engine Tier
Determine a
Suitable Client and
Server Architecture
Phase Three:
Compare
Each
Combination
of Load
Passing
Procedure
Selection of a
Load Passing
Procedure
Determine a
Suitable Load Passing
Procedure
1. Run Rules
2. CUSUM
3. EWMA
Phase Four:
Proposed System Implementation
System Testing & Validation
Prototype
System
Implementation
& Evaluation
Client-server based CCPR System with
Suitable Load Passing Procedure
and Client and Server Architecture
Figure 3.3: Client-Server based CCPR System Architecture Development Phases
57
3.3.1
Phase One – Analyze Existing Standalone System
In the phase one of this study, the operational framework for an existing
standalone system is investigated. The limitation of existing standalone system is
identified. After that, some suggestions are given to convert the standalone system into a
client-server based CCPR system.
3.3.2
Phase Two – Determine A Suitable CS Architecture
In the phase two, the investigations are carried out on selecting a suitable CS
architecture. Three candidate CS architectures is proposed. One of the candidate CS
architectures is selected as the system architecture for the client-server based CCPR
system. The selection criteria are based on the candidate CS architecture performance.
The evaluation methods used for selection are explained in Chapter 4. These evaluation
methods are included measurement on the server tier, engine tier performance, and the
volume of data and intensity of traffic.
3.3.3
Phase Three – Determine A Suitable Load Passing Procedure
In the phase three of this study, investigations are carried out on selecting a load
passing procedure. Customized load passing method are proposed in this study. By using
the customized load passing method, three combination of load passing procedures are
investigated. The classification accuracy and the capability to differential between stable
and unstable process are used as the evaluation method. After the experiments, one of the
candidate designs is selected as the client-server based CCPR system load passing
procedure. Suitable load passing procedure ensures the system workload can be fairly
distributed among the system tier.
58
3.3.4
Phase Four – Prototype System Implementation & Evaluation
Based on the results obtained from phase one, two and three, the prototype system
implementation and evaluation are carried out in phase four. The operational framework
for the proposed web-enabled CCPR system is further explained in detail. Functionality
provided for operational side, client side and management side are explained here.
Database design and interface design are discussed. After finished prototype system
implementation, system evaluation are conducted using published and industrial data.
3.4
Source of Data
For the system simulation and validation, three type of data stream are used.
There are the synthetic data, published data and industrial data.
3.4.1
Synthetic Data
Synthetic data is the data stream generated using MATLAB computer program. It
was based on the existing data generator (Adnan, 2002). Data stream is generated using
the established statistical models proposed by Swift (1987). Six types of data stream can
be generated. There are random, trend up, trend down, shift up, shift down and cyclic
patterns.
3.4.2
Published Data
Published data is data set used by previous researcher for system testing and
validation. Some data sets are selected from published sources such as book and journal.
For this study, datasets collected from NIST/SEMATECH and Ott et al., (2000) have
been selected as published data source.
59
3.4.3
Industrial Data
Industrial data is the dataset collected from manufacturing process. For this study
dataset collected by Tan (2004) and Ahmad (2005) are used for representing the
industrial data. After verification, the implementation of client-server based CCPR
system is proven feasible on industrial dataset.
3.5
Instruments and Equipments
Instruments and equipments used in this research are presented here. The
instruments and equipments are divided into the hardware and software requirement.
3.5.1
Hardware Requirement
Basic hardware requirements for system development are stated as below:
i.
ii.
Client Tier Personal Computer
•
Processor Speed : Intel Pentium IV or compatible and above
•
RAM :256 MB
•
Storage : 20 GB and above
•
Accessible to the Internet
Web Server Tier and Engine Tier
•
Processor Speed : Intel Pentium IV or compatible and above
•
RAM : 512 MB and above
•
Storage : 80 GB and above
•
Accessible to the Internet
60
3.5.2
Software Requirement
Software requirements for system development are stated as below:
i.
Macromedia Dreamweaver MX
Macromedia Dreamweaver MX is used as the Integrated Development
Environment for system development. It does provide a suitable and user friendly
environment for coding and testing the web-based language.
ii.
Apache Tomcat Web Server
Apache Tomcat Web Server used to run the JSP pages. This web server was
special design for Java Servlets or Java Server Pages. It’s more reliable and
provides more security features. This web server would be used to generate
dynamic JSP pages and Java Applet graph.
iii.
My SQL Database Server
MySQL database server is chosen as the data storage. This database server is an
open source system. It has provides application programming interface for
interact with the different languages, servers and operating platforms. It can be
downloaded free from http://www.mysql.net.
iv.
The Matlabworks Matlab
The existing CCPR was coded in Matlab. Matlab is the software used for pattern
recognition. Matlab has provided several toolboxes which can be directly referred
and applied for the application. Matlab toolbox such as neural network and
database toolbox are used in this system.
61
v.
Microsoft Windows XP Professional
This system was developed using Microsoft Windows XP Professional as the
operating system. It provides user friendly environment. It is more stable than
previous version of operating system. Windows XP is supported by many
software and hardware.
vi.
Microsoft Internet Explorer / Netscape Navigator
Microsoft Internet Explorer or Netscape Navigator is the web browser for
accessing this system. These two web browsers are commonly used for internet
surfing. It’s to make sure the web-enabled CCPR system is accessible by most of
the users.
When making a selection of softwares, this research mainly considering the cost
and the integratebiliy of the particular IDE or server. For example, the Apache Tomcat
Web Server is selected because it is an open source and license free server. This web
server can be easily download free from the Apache website. Extra cost will incurred
when owner try to expend their system. Some web server even sells the license based on
the number of user connection. Integratebility is another decision factor. The components
selected in this research must be portable and easier integrate with other system. For
example the MySQL database server can be easily talk with another system. Simple
example, using the Microsoft Excel, user can easily query the control chart data from the
MySQL database server and then manipulate the data for analyst and presentation
purpose.
62
3.6
Performance Measures
For evaluating the system performance, six types of measurement methods are
implemented. They are the calculation time, memory, processor usage, thread, handle
count and page file usage (Robert, 2000). Table 3.1 shows the description of each
performance measurement methods.
Table 3.1: System Performance Measurement
Performance
Measure
Description
E1
Calculation Time
The duration spent to perform the given task.
E2
Memory Usage
The current working set of a process, in kilobytes. The
current working set is the number of pages currently resident
in memory.
E3
Processor Usage
The percentage of time the process used the CPU.
E4
Thread Count
The number of thread running in a process.
E5
Handle Count
The number of object handles in the process’s object table.
E6
Page File Usage
The amount of system allocated virtual memory, in kilobytes,
used by a process. Paging is the moving of infrequently used
parts of a program’s working memory from RAM to another
storage medium, usually hard-disk.
3.7
Summary
This chapter outlined the research methodology. This study is divided into four
phases. After completing all four phases, an architecture for the development of a clientserver based CCPR system is proposed. The coming chapter discusses the experiment
and analysis carried out for selecting a suitable client and server architecture for the
client-server based CCPR system.
CHAPTER 4
CLIENT AND SERVER ARCHITECTURE
FOR CLIENT-SERVER BASED CCPR SYSTEM
4.1
Introduction
This chapter describes the experiments and statistical analysis carried out for
selecting a suitable Client and Server (CS) architecture for client-server based CCPR
system. Section 4.2 gives some explanation on the important of CS architecture.
Section 4.3 explained the architecture and work flow of the two candidates CS
design. Section 4.4 summaries the experiment result using the bar chart, ANOVA
statistical test and the radar chart. Section 4.5 presents the decision made in selecting
a suitable CS design. Section 4.6 gives a summary to end this chapter.
4.2
Overview of Client and Server Architecture
As mentioned earlier, different applications require different types of CS
architecture. It is the same for client-server based CCPR system. Suitable CS
architecture would ensure each subsystem can be easily modified and expanded
without the need of customizing the whole system. It also ensures the system
workload can be fairly distributed among the subsystems. In short, the system
resources can be better utilized without the hassle of overwhelming certain functional
subsystem. Certain functional may become bottleneck if the particular system tier
needs to perform too many actions, while the subsequent tier just idle there.
64
4.3
Client and Server Architecture for Client-Server based CCPR System
For this study, a standalone system and two types of CS candidate design have
been investigated. The standalone system CCPR is the baseline for comparison. The
two candidate CS designs are referring to the Design 1 with the Load Passing
Procedure and Patterns Recognition (PR) at Engine Tier and Design 2 with the Load
Passing Procedure at Server Tier and PR at Engine Tier.
4.3.1
Standalone System
Figure 4.1 illustrated the basic architecture for the standalone system. In this
design, the system’s components are consisted of a local user and a standalone
system. For this design, normally one machine is assigned to one operator and the
operator will key-in the control chart data into the computer system. The standalone
system is capable in monitoring only one machine performance and one user is
allowed to interact with the system at a time.
Inside the standalone system, it is consisted of 4 modules. There are the user
interface module, the data collector module, the load passing procedure module and
the patterns recognition module. As presented in Figure 4.2, all the modules are
resided in the same computer. It does mean the computing resource such as CPU
processing time, physical or virtual memory and I/O ports are shared among each
module.
Figure 4.1: Operational Framework for Standalone System
65
Figure 4.2: Logical Flow Chart for Standalone System
66
4.3.2
CS Design 1 – Load Passing Procedure and Patterns Recognition at
Engine Tier
Figure 4.3 illustrated the basic architecture for the CS design 1. For this
design, the system’s components are consisted of a remote user, a client tier, a server
tier and an engine tier. Compare with the first design-standalone system, this design
separate the standalone system into 3 tier CS system. The main advantage of this
design is that it does allow more then one user interacting with the system. The users
just need a standard web browser such as the Microsoft Internet Explorer or the
Netscape Navigator to access the system. This design is capable to monitor more than
one machine and manufacturing processes.
As illustrated in Figure 4.4, the components of the standalone system have
been separated into 3 tier CS system. The user interface module is placed in client
tier, the data collector module is placed inside server tier and the load passing and
pattern recognition module is placed in engine tier. This 3 tier CS design can be either
resided on the same or separate machine. If there is a limited computing resource, the
system implementer can choose to allocate all the CS tiers inside the same computing
server. Otherwise, if there is an extremely high request of system service, more
computing server can be added and expanded later.
Figure 4.3: Operational Framework for CS Design 1
67
Figure 4.4: Logical Flow Chart for CS Design 1
68
4.3.3
CS Design 2 – Load Passing Procedure at Server Tier and Pattern
Recognition at Engine Tier
Figure 4.5 illustrated the basic architecture for the CS design 2. For this
design, the system components comprise of a remote user, a client tier, a server tier
and an engine tier. Compare with the CS design 1, the load passing module is moved
from the engine tier into the server tier. The engine tier is consisted of a patterns
recognition module. But the server tier is consisted of two modules: a data collector
and a load passing module.
In this design, only the selected unstable control chart data will be passed to
engine tier. As illustrated in Figure 4.6, only the necessary control chart data will be
passed to the engine tier for patterns recognition purpose. It’s mean the engine tier
resources are dedicated for the purpose of control chart patterns recognition. The
pattern recognizer needs extra memory to store neural network information and
enough CPU time to process and classify the control chart pattern. The engine tier
should not be burdened with too many harass activities which may disturb and
influence the performance of pattern recognizer.
Figure 4.5: Operational Framework for CS Design 2
69
Figure 4.6: Logical Flow Chart for CS Design 2
70
4.4
Performance Comparison on the Candidate Designs
In this section, experiments were conducted to evaluate the performance of the
candidate designs. Experiments were conducted using six datasets, each dataset
comprising a total of 1840 control chart patterns. Since the engine and server tier are
the critical data processing part of the web-enabled CCPR system, the experiments
were conducted to evaluate the performance of the engine tier and the server tier.
Beside that, the candidate schemes were evaluated based on the volume of data and
intensity of traffic. Evaluation based on volume of data and intensity of traffic is
important to ensure the CS design is capable in processing more control chart data
and support more users’ access. The experiment result for engine tier is given in
Section 4.4.1 and server tier is given in Section 4.4.2. While the result for volume of
data in Section 4.4.3 and intensity of data in Section 4.4.4. Lastly, the selection of the
best candidate design is discussed in Section 4.5.
4.4.1
Engine Tier Performance
Table 4.1 summarizes the engine tier performance for standalone system.
Standalone system is the basic and local system. This system only allow single access
and data was kept inside the local system. The standalone system took the shortest
time to complete the given task. Since the standalone system is a local based system,
all the control chart data collecting, processing and analysis are done locally inside
the same server and same software package. In this case, the standalone system is
interacting with its own library and I/O request. That’s why the standalone system
design has the fasters processing time.
Table 4.2 shows the result for the candidate CS designs. CS design 2 able to
performance faster than CS design 1. CS design 2 averagely took 38.17 seconds while
CS design 1 took 51.86 seconds to complete the given task. CS design 1 took longer
71
time because the load passing test was performed in engine tier. Most of the data
needs to pass to the engine tier for stability test.
For the physical memory and processor time measurement, the standalone
system used the biggest size of memory and longest processor time. In the standalone
system, most of the physical memory is utilized and the processor is always busy.
Since the machine resources are fully utilized, standalone system only took 26.82
second to complete the given tasks. For the candidate CS designs, CS design 1 use
slightly higher memory and processor time. It means slightly more memory and
processor time are needed when performing stability test at engine tier.
Table 4.1: Standalone system Engine Tier Performance
Performance Measurement (Engine Tier)
Standalone System
E1
E2
E3
E4
E5
E6
26.82
second
98,048 K
86.20 %
35.8
977.4
155,432 K
Table 4.2: System Performance for Engine Tier
Performance Measurement (Engine Tier)
Candidate
Design
E1
E2
E3
E4
E5
E6
CS
Design 1
51.86
second
89,740 K
77.96 %
22.8
653.4
113,840 K
CS
Design 2
38.17
second
84,950 K
69.90 %
19.6
631.4
98,311 K
E1: Calculation Time
E4: Thread Count
E2: Memory Usage
E5: Handle Count
E3: Processor Usage
E6: Page File Usage
72
As illustrated in Figure 4.7, CS design 1 use bigger number of handle count
and page file. It is noticeable bigger size of virtual memory is needed for the CS
design 1. Compare with another CS designs, when allocating the stability test at
engine tier, design 1 needed more size of virtual memory to store the temporary
library and calculation result. To have a better analysis of the experiment results,
ANOVA analysis is applied in this study.
160
Performance
140
120
CS Design 1
100
80
CS Design 2
60
40
20
0
E1
E2
E3
E4
E5
E6
Measurement
Figure 4.7: Comparison Chart for the Engine Tier Performance
ANOVA test was used to verify whether there is a significant different
between the candidate designs. Alfa value of 0.01 was chosen in the ANOVA test.
As shown in Table 4.3, ANOVA analysis revealed only performance measures E1
(calculation time), E3 (processor time) and E4 (thread count) gave f value more then
11.26. These performance measurement has the ANOVA value more than 11.26,
ANOVA test indicates that these performance measures are significantly different for
CS1 and CS2. In another words, the E1-calculation time, E3-processor time and E4thread count, can be taken into consideration when comparing the candidate designs.
Table 4.3: ANOVA Analysis for Engine Tier Performance
73
74
To have a better display of results, a radar chart was drawn. As illustrated in
Figure 4.8, this radar chart has six axes (E1, E2, …. E6). Each of them is representing
one performance measure. In a radar chart, the bigger the web line (the connected
line), the better the overall performance. From this radar chart, CS design 2 has the
biggest web line and CS design 1 has smaller web line. From this chart, it shown that
CS design 2 has better performance than CS design 1.
Figure 4.8: Radar Chart for Engine Tier Performance
75
4.4.2
Web Server Tier Performance
This section evaluates the performance of the web server tier. Table 4.4
summarizes the results in numerical format while Figure 4.9 presented the result
using a bar chart. In this section, standalone system is not applicable since CS design
1 is a local individual system, it does not have a web server tier.
By looking at the statistical value, generally CS design 1 has slightly better
result compare with CS design 2. However, it is quite difficult to justify that CS
design 1 has a better performance by just referring to the numerical value. ANOVA
statistical test was used to the significant differences between the candidate CS
designs.
Table 4.4: Result for Web Server Tier Performance
Performance Measurement (Web Server)
Candidate
Design
E1
E2
E3
E4
E5
E6
CS
Design 1
89.56
second
43,334 K
64.58 %
41.2
740.4
43,433 K
CS
Design 2
93.92
second
49,036 K
65.50 %
43
797.2
49,106 K
E1: Calculation Time
E4: Thread Count
E2: Memory Usage
E5: Handle Count
E3: Processor Usage
E6: Page File Usage
NA: Not Applicable
76
100
Performance
80
CS Design 1
60
CS Design 2
40
20
0
E1
E2
E3
E4
E5
E6
Measurement
Figure 4.9: Comparison Chart for the Web Server Tier Performance
Table 4.5 presented the result for ANOVA analysis. Alfa value of 0.01 is used
in the ANOVA test. The analysis reveals that there is no significant difference among
the four performance measures namely: E1, E2, E3 and E4. The measurement value
for these designs has the F value which are smaller than the reference F (11.26).
Hence they cannot be used as one of the decision making factors to be discussed in
Section 4.5.
The analysis reveals that the performance measures E5 (handle count) and E6
(page file usage) are significantly different. It is due to CS design 2 needs extra
virtual memory. Since the load passing Procedure had been moved from engine tier
into the web server tier, additional memory is needed in web server tier for running
the load passing procedure.
Table 4.5: ANOVA Analysis for Engine Tier Performance
77
78
Similar to Section 4.4.1, a radar chart is adopted for the comparison of
multiple performance measures methods. As presented in Figure 4.10, this radar chart
has six radial axes (E1, E2,…E6). Each of them is representing one performance
measure methods. From the radar chart, CS design 1 has the biggest web line while
CS design 2 has slightly smaller web line. It is evident that the CS design 1 has
slightly better performance compared to the CS design 2. However, this is not the
final decision since the experiment result for volume of data and intensity of traffic
will be taken into consideration for a better judgment.
Figure 4.10: Radar Chart for Web Server Tier Performance
79
4.4.3
Volume of Data
Other then the server tier and the engine tier experiments, the candidate
designs are evaluated based on the volume of data and intensity of traffic. Volume of
data can be explained as the speed of data stream passing to the system, while the
intensity of data can be explained as the system workload or can be simplified as the
number of simultaneous user accessing the system.
As shown in Table 4.6, different volume of data was presented to the
candidate designs. The data transfer rates were range from 20, 30, 40, 50, 60 to 70
data per minute. 80 data per minute was not being selected since CS design 1 and 2
were unable to handle the data rates greater than 60 data per minute. 60 data per
minute is the bottleneck for CS design 1 and 2. Normally, the lower of the data rate
the shorter the processing time. Although both CS design 2, 1 can support up to 60
data per minute, but CS design 2 is better since it shown a shorter processing time.
Table 4.6: Process Time for Different Volume of Data (second)
Volume of Data ( data per minute)
Candidate
Design
CS
Design
1
CS
Design
2
20
30
40
50
60
70
0.298
0.306
0.353
0.379
0.390
--
0.283
0.287
0.338
0.364
0.371
--
80
CS Design versus Data Stream
0.4
Second
0.35
CS Design 1
0.3
CS Design 2
0.25
0.2
20 data
30 data
40 data
50 data
60 data
per minute per minute per minute per minute per minute
Figure 4.11: Line Chart for the Experiment on Volume of Data
Figure 4.11 shows the line chart for the experiment conducted on volume of
data. This data shows the volume of data versus the processing time has a linear
relationship. It mean bigger data rate, will took longer processing time. From the line
chart, CS design 2 has better performance then CS design 1. CS design 2 has slightly
faster processing time compare with CS design 1. It maybe due to CS design 1, the
load passing test was done on engine tier, hence more interrupt and handshaking
process need to be done on engine tier.
4.4.4
Intensity of Traffic
This section performed the experiments to evaluate the performance of
candidate designs based on the intensity of traffic. Measurement on the intensity of
traffic can be simplified as experiment on the number of simultaneous users’ access.
Table 4.7 showed the average processing time for the three candidate designs. Since
standalone system is a local system, it has not capable to handle more then one user
access. For CS design 1, it has the capabilities to handle 16 simultaneous users. For
17th user, the system was struck. This was due to the server unable to create additional
81
socket connection to fulfill the additional client request. While CS Design 2 could
handle up to 18th user connection. It is failed on 19th user access. Although this
experiment was conducted until the system struck, but the user access deliberate
down starting on 10th user access. From 10th user access onward, the Java applet
starting time was slowing down, until 15th user access, the whole server processing
time was eventually slowing down too.
Table 4.7: Process Time for the Experiment on Intensity of Traffic (second)
Number of Users Access
Candidate
Design
single
user
5
users
10
users
15
users
16
users
18
users
19
users
CS
Design 1
0.306
0.601
0.837
1.854
2.067
--
--
CS
Design 2
0.287
0.539
0.775
0.623
1.863
2.023
--
CS Design versus Number of User Access
2.5
Second
2
Standalone System
1.5
CS Design 1
1
CS Design 2
0.5
0
1
5
10
15
16
18
Number of User Access
Figure 4.12: Line Chart for the Experiment on Intensity of Traffic
Figure 4.12 shows the line chart on the relationship for experiment conducted
on intensity of traffic. The chart show there is an almost a linear relationship between
processing time and the number of user access. When there was more user access the
system, the processing time goes up. However, CS design 1 only can accommodate
82
up to 16th user while CS design 2 is better, it can lasting up to 18th user. On overall,
the CS design 2 curve shows better result since all the measurement point has value
smaller than CS design 1. From the graph, it reveal 15th user access is the optimum
point for CS design 2. From this point onward, the processing time is significant
reduce compare with CS design 1. It maybe due to extra virtual memory and system
resources had been allocated at the server side. Operating system allocated more
virtual memory to enable the server process more user request.
4.5
Selection of A Suitable Client and Server Architecture
To have a better comparison of candidate design, Table 4.8 provided the
summary ranking in term of engine tier and server tier performance. These ranking
was draw based on the engine tier and server tier experiments conducted in Section
4.4.1 - 4.4.2. A ranking value of 1 indicates the best and a ranking of 3 represents the
worst. The same ranking in same column means no significant difference for that
particular measurement method.
Table 4.8: Overall Ranking on Engine Tier and Server Tier Performance
Ranking
Engine Tier
Server Tier
CS
Design
D1
E1
E2
E3
E4
E5
E6
E1
E2
E3
E4
E5
E6
2
1
2
2
1
1
1
1
1
1
1
1
D2
1
1
1
1
1
1
1
1
1
1
2
2
E1: Calculation Time
E4: Thread Count
E2: Memory Usage
E5: Handle Count
E3: Processor Usage
E6: Page File Usage
83
From the ranking score, CS Design 2 is the best scheme to be selected for
engine tier while CS Design 1 is the best scheme for server tier. However, only one of
the designs would be selected for the client-server based CCPR system. CS design 1
has their respective merits when implemented on server tier. However, it has poorer
result for engine tier. In additional, most of the performance measurement methods
tested in server tier didn’t show a significant different (E1, E2, E3, E4). As such, the
above analysis suggested that for the engine tier and server tier experiment, CS design
2 is the most appropriate design to be used.
Table 4.9: Overall Ranking on Volume of Data and Intensity of Traffic
Ranking
Volume of Data (#data/min)
Intensity of Traffic ( #user)
CS Design
20
30
40
50
60
1
5
10
15
16
18
D1
2
2
2
2
2
2
2
2
2
2
--
D2
1
1
1
1
1
1
1
1
1
1
1
E1: Calculation Time
E4: Thread Count
E2: Memory Usage
E5: Handle Count
E3: Processor Usage
E6: Page File Usage
Table 4.9 shown the ranking matrix for experiment conducted based on
volume of data and intensity of traffic. For comparison between the 2 candidate
designs, CS Design 2, has better performance than CS design 1. CS design 2 has
shown higher ranking than CS design 1. For experiment conducted using intensity of
traffic, CS design 2 scored the first ranking compare with CS design 1. This CS
design 2 is capable to support up to 18 users connection, while CS design 1 only up to
16 users. CS design 2 can handle more users compare with the CS design 1.
CS design 2 scored almost the highest ranking for engine, server tier and
experiments conducted on volume of data and intensity of traffic. CS design 2 is
proven has significant better performance than another two candidate design.
84
Therefore CS design 2 is selected as the CS architecture for the client-server based
CCPR system.
This is a basic experiment conducted for selecting a suitable client-server
based CCPR system. Limited computing and experiment resources were used to carry
out experiment. The different between CS design 2 and CS design 1 would be more
measurable and significant when expanding to the bigger and better computing and
experiment resources. Nevertheless, using the provided computing and experiment
resources, some amount of different between the candidate designs also can be
simulated and figured out.
4.6
Summary
The objective of this chapter is to develop a CS architecture design for clientserver based CCPR system. Experiments and statistical analysis were conducted to
evaluate the performance of candidate CS designs. The CS design 2 with the load
passing procedure at server tier and pattern recognition at engine tier has shown
promising result. This chapter has successful identified CS design 2 as the suitable CS
architecture for the client-server based CCPR system. The next chapter explains the
experiments and analyzes carried out to select a suitable load passing procedure for
the client-server based CCPR system.
CHAPTER 5
LOAD PASSING PROCEDURE FOR
PROCESS MONITORING
5.1
Introduction
This chapter describes the experiments and analysis carried out in selecting a
suitable load passing procedure for the client-server based CCPR system. Section 5.2
gives explanation on the zone test (Nelson Run Rules) and cumulative tests (CUSUM and
EWMA). Section 5.3 gives an overview on the load passing procedure for the control
chart monitoring. Sections 5.3.1 to 5.3.3 present the experiment results for the candidate
load passing procedures. Further analysis of the results are given in Section 5.4. Section
5.5 discusses the decision made in selecting a suitable load passing procedure for webenabled CCPR system. Section 5.6 gives summary for this chapter.
5.2
Overview on the Load Passing Procedure
As described previously, different application domain have different data
characteristics and they require different type of load passing procedure. For the webbased CCPR system, the incoming data streams need to be processed based on the state
of the process and the severity of the deterioration. In this study, the load passing
procedure was regulated using combinations of Nelson’s Run Rules, CUSUM and
EWMA.
86
5.2.1
Nelson’s Run Rules Test
Nelson’s Run Rules were used to identify whether a process is stable or unstable.
It can improve the sensitivity of Shewhart control charts. Eight types of Nelson run rules
are illustrated in Figure 5.1.
Figure 5.1: Nelson Run Rules (Nelson, 1984)
87
5.2.2
CUSUM Test
Cumulative-sum (CUSUM) is an alternative procedure to detect a small shift. It is
used to overcome the limitation of Shewhart chart. The Shewhart is only effective in
detecting shifts with a magnitude of 2.0 sigma or a larger magnitude (Montgomery,
2004). The CUSUM chart directly incorporates all the information in the sequence of
sample values by plotting the cumulative sum of deviations of the sample values from a
target value. The target value refers to the process mean for the stable process.
There are two ways to represent CUSUM; the tabular CUSUM and the V-mask
CUSUM. The tabular CUSUM as shown in Figure 5.2 was implemented in this study
because it is relatively easier to implement compared to the V-mask CUSUM.
Sample CUSUM Chart
UCL=5
Cumulative Sum
5.0
2.5
0.0
0
-2.5
LCL=-5
-5.0
1
4
7
10
13
16
Sample
19
22
25
28
Figure 5.2: Sample of CUSUM Chart
The tabular CUSUM works by accumulating derivations from μ0 that are above
target with one statistic C+ and accumulating derivations from μ0 that are below target
with another statistic C-. The statistic C+ and C- are called one-sided upper and lower
CUSUM respectively. They are computed using formulas as shown in Equations 5.1 and
5.2.
88
C+i = max [ 0 , xi – ( μ0 + K ) + C+ i-1 ]
-
C i = max [ 0 , ( μ0 - K ) - xi + C
(5.1)
-
i-1 ]
(5.2)
-
where the starting values for C+0 = C 0 = 0
In the Equations 5.1 and 5.2, K is usually known as a reference value and it is
often chosen about halfway between the target μ0 and the out of control mean value μ1.
The formula to obtain K is shown in Equation 5.3. Decision interval H, is used as the
decision factor to determine whether the process is under control or in abnormal state. If
either C+ or C- is greater than the decision interval H, then the process is considered to be
out of control. Generally, a smaller K results in a looser monitoring and a higher K results
in a tighter monitoring. For this research, the reference value was set at K=0.75 and the
decision interval was set at H=3.34. These values were selected based on the preliminary
investigation and reference to Hawkins (1993).
K= ½ | μ1 - μ0 |
(5.3)
5.2.3 EWMA Test
The Exponentially Weighted Moving Average (EWMA) test was first introduced
by Roberts (1959). It is also a good alternative to the Shewhart control chart to detect
small shifts. The EWMA chart is a type of moving mean chart in which ‘exponentially
weighted mean’ is calculated each time a new result becomes available. New weighted
mean is calculated using Equation 5.4. Parameter ‘λ’ is the smoothing constant. It has a
value between 0 and 1; the commonly used value is 0.2 (Montgomery, 2004). Hence, new
weighted mean= (0.2 ×new result) + (0.8 × previous mean). But normally, the choice of
‘λ’ has to be left to the judgment of the quality control specialist, the smaller the value of
λ, the greater the influence of the historical data. Hunter (1996) recommended that the
value of λ be 0.4, so that the weight given to current and previous observations matches
as closely as possible to the weight given by those observations in the Shewhart chart.
89
New Weighted Mean = (λ × new result) + ( (1- λ) × previous mean )
(5.4)
The center line and the control limits for the EWMA control chart can be
calculated using Equations 5.5, 5.6 and 5.7. Factor L for calculation of UCL and LCL
represents the width of the control limits.
UCL = μ 0 + Lσ
λ
(2 − λ )
[1 − (1 − λ ) 2i ]
CenterLine = μ 0
LCL = μ 0 − Lσ
λ
(2 − λ )
(5.5)
(5.6)
[1 − (1 − λ ) 2i ]
(5.7)
Montgomery (2004) elucidated that after the EWMA control chart has been
running for several periods, the control limits will approach steady state values as given
by Equations 5.8 and 5.9. Table 5.1 shows the combination of different values of λ and L,
when the ARL ≈ 500 (Vera et al., 2004).
UCL = μ 0 + Lσ
LCL = μ 0 − Lσ
λ
(2 − λ )
λ
(2 − λ )
(5.8)
(5.9)
Table 5.1: Suitable λ and L value for EWMA chart with ARL ≈ 500 (Montgomery,2004)
λ
0.4
0.25
0.2
0.1
0.05
L
3.054
2.998
2.962
2.814
2.615
90
In practice, the values of λ which work well in the interval 0.05 ≤ λ ≤ 0.25, where
λ = 0.05, 0.10 and 0.20 being popular choices. A good rule of the thumb is to use smaller
values of λ to detect smaller shifts. The usual three-sigma limits (L=3) work reasonably
well, particularly with a larger value of λ. Even when λ is small (λ ≤ 0.01), there is an
advantage in reducing the width of limits, using a value of L between 2.6 and 2.8. In this
study λ = 0.1 and L=2.7 were chosen as the EWMA parameter. These values were
selected based on the reference on Montgomery (2004). Figure 5.3 shows an example of
the EWMA control chart.
Sample of EWMA Chart
10.75
+2.7SL=10.619
10.50
EWMA
10.25
_
_
X=10
10.00
9.75
9.50
-2.7SL=9.381
1
4
7
10
13
16
19
Observation
22
25
28
Figure 5.3: An Example of EWMA Control Chart (Montgomery, 2004)
5.3
Load Passing Procedure for Client-Server based CCPR System
A web server has the capability to process more than one user requests
simultaneously. However, in a normal situation, a web server process the users request
based on first-come first-served basis. If this policy is implemented in the client-server
based CCPR system, all the processes would be equally treated regardless of their
condition (severity level). Unfortunately, this is not a desirable situation in a control chart
monitoring system. In a client-server based CCPR system, an unstable process should
receive higher priority instead of the same priority level with a stable process. For an
unstable process, timely corrective action is crucial to avoid unwanted events. To
overcome this limitation, this research investigated the load passing procedure to priorize
the users request based on their urgency. Unstable process is more urgent than a stable
91
process. The selection of an effective load passing procedure is crucial to ensure that the
unstable process always be given higher priority compared to the less stable process.
Client A
(Process A)
Client B
(Process B)
Client C
(Process C)
Web Server
Pattern Recognizer
Client D
(Process D)
Client E
(Process E)
Figure 5.4: Client-Server based CCPR system with Multiple Clients Access
Figure 5.4 illustrates multiple clients request for control chart monitoring service
from a web server. For a normal circumstance, the clients request are processed based on
the first-come first-served policy. In such a case, a client with a stable process may be
processed earlier than an unstable process if its arrive the server earlier. To prioritize the
access for the client with unstable process and to delay the access for the client with
stable process, this study investigated alternatives for load passing procedure. Based on
the state of the process, the access to the pattern recognizer is prioritized.
92
Table 5.2: Example of calculation to determine the process priority at time, t = 0
Process
(Client)
Priority
Score
Ranking
(step-2)
Cumulative Score
(Load Passing Score)
(step-1)
Delay Time
100ms
(step-3)
A
0.21
6th
B
1.32
5th
C
1.43
4th
D
1.58
3rd
2.87 + 1.98 + 1.58 +
1.43 + 1.32 = 9.18
2.87 + 1.98 + 1.58 +
1.43 = 7.86
2.87 + 1.98 + 1.58 =
6.43
2.87 + 1.98 = 4.85
E
2.87
1st
0
F
1.98
2nd
2.87
(step-4)
918ms
786ms
643ms
485ms
0ms
287ms
Table 5.2 explains how the load passing procedure prioritize the clients request.
Using the load passing procedure, all the requests arrived at the server are given a priority
score. The priority score is calculated using the load passing procedure. The priority
score represents the state of a process. A stable process gets a lower priority score while
an unstable process gets a higher priority score. As illustrated in the Table 5.2, Client E
gets the highest priority score (2.87) which represents the most unstable process. Client A
gets the lowest priority score (0.21) which represents the most stable process. Based on
the priority score, all process are re-arranged starting from the process with highest
priority score (Process E ) to the process with lowest priority score (Process A). After
that, a cumulative score for each incoming process (client) is calculated.
From Table 5.2, Client A is the most stable process and given the 6th ranking (last
ranking). Its load passing score is calculated by adding the priority scores from other
clients: 1st (Client E-2.87), 2nd (Client F -1.98), 3rd(Client D-1.58), 4th (Client C-1.43) and
5th (Client B-1.32). Client A gets a load passing score of 9.18 (2.87 + 1.98 + 1.58 + 1.43
+ 1.32 = 9.18 ). On the other hand, Client E is the most unstable process and given the 1st
ranking (highest priority). This client must be processed first where it is given zero load
passing score.
93
The load passing scores need to be translated into implementable action in the
computing system. In this study, the load passing score is translated as delay time in the
computing system. The delay time for this example is shown in the last column of Table
5.2. It is calculated by multiple the load passing score with a predetermined delay factor.
The delay factor can be set to 100ms, 200ms or 300ms, where the choice is dependent on
the system capability. In the above example, the delay factor was set to 100ms. Further
explanation on the selection of delay factor will be discussed in Section 5.4.3.
Table 5.3: Example of calculation to determine the process priority at time, t =100ms
Process
(Client)
Priority
Score
Ranking
(step-2)
(step-1)
Cumulative
Score
Delay Time
100ms
(step-3)
(step-4)
Delay Time
After
t=100ms
(step-5)
A
0.21
6
9.18
B
1.32
4
7.86
C
1.43
3
6.43
D
1.58
2
4.85
E
1.27
5
F
1.98
1
1.98 + 1.58 +
1.43 + 1.32
6.91
2.87
818ms
(918 -100)
686ms
(786-100)
543ms
(643-100)
385ms
(485-100)
691ms
(another
new data)
187ms
(287-100)
Table 5.3 shows the calculation of load passing procedure when the process time,
t = 100ms. Each of the assigned delay time is reduced by 100 ms from the previous
delay time. For example, the waiting time for Client A is reduced from 918 ms to 818
ms, Client B reduced from 786 ms to 686 ms, and Client C reduced from 643 ms to 543
ms. For the Client E, which has been served by the Pattern Recognizer at t = 0 gets a
new process data appended. Thus, a new load passing score is recalculated for this
newly updated client. For the rest of Clients (A,B,C,D,F), the delay timing will keep
counting down until it reach 0 ms. When the delay time reach 0 ms, then the related
client will be allowed to receive the server service (Pattern Recognition). The method
to calculate the new load passing score for client E is similar to the one explained
94
earlier. Table 5.3 shows that, Client E obtains a new load passing score of 6.91 which is
then transformed into computing delay time which is equivalent to 691ms.
Table 5.4 shows the generalized the load passing procedure. Table 5.5
summarizes how each process is queued and take turn to receive the server service.
Those shaded cell in Table 5.5 represents the client with the highest priority for the
specified instance (t) and assigned delay time of 0 ms. This client received the server
service (pattern recognition) without any delay .
Table 5.4: Load passing Algorithm
Step 1. Calculate the priority score (eg: EWMA) for each client.
Step 2. Based on the priority score rank the clients in ascending order.
Max (EWMA) Æ Min (EWMA) = [EWMA 1, EWMA 2, EWMA 3, ….. EWMA n]
Step 3. Calculate the load passing score for each client.
Load Passing Weight, Wn
Example :
Assign Load passing weight (W 1) for priority 1st , W1 = 0
Assign Load passing weight (W 2) for priority 2nd , W2 = EWMA 1
Assign Load passing weight (W 3) for priority 3rd , W3 = EWMA 1 + EWMA 2
Assign Load passing weight (W 4) for priority 4nd , W4 = EWMA 1 + EWMA 2+ EWMA 3
Assign Load passing weight (W n) for priority Nnd , Wn = EWMA 1 + EWMA 2+ EWMA n-1
Step 4. Convert each load passing weight to delay time.
Delay time (DTn) = Load passing weight Wn x Fs
Fs = Scaling factor which depend on computing speed (In this study Fs=100ms).
Example:
DT1 = W1 x Fs
DT2 = W2 x Fs ….
DTn =Wn x Fs
Step 5. Implement delay time for each client
Selected client = Client with { min (DTn) } to proceed to web server tier.
For client with priority rank 1, Delay time = 0 (no delay)
For other client, delay time = DTi
Step 6. When DT count down becomes 0, data stream will be appended with new observation
data, recalculate new DT and restart with step 1.
Table 5.5: Sample of clients being scheduled and waiting for process
95
96
Figure 5.5 presents the flow chart for the client-server based CCPR system. As
shown in the figure, three alternative combinations of load passing procedures are can
be used to calculate the priority score. The alternatives combinations are the ‘Run Rules
and CUSUM test’, ‘Run Rules and EWMA test’ and ‘CUSUM and EWMA test’. The
Run Rules test is sensitive to large magnitude shift while the CUSUM and EWMA test
are sensitive to small magnitude shift. These alternative procedures are investigated for
selecting the most effective load passing procedure.
Manufacturing Process
Data
Process
Data Streams
Load Passing Procedure
Continue Monitoring
SPC monitoring window
1. Run Rules +
CUSUM
No
2. Run Rules +
EWMA
3. CUSUM +
EWMA
Load Passing
Decision ?
Yes
Pattern Recognition
Predicted Pattern
Correction Action Taken
Figure 5.5: Basic Architecture for Client-Server based CCPR System
Resume
Process
97
5.3.1
Procedure 1 –Load Passing using Run Rules and CUSUM
The procedure which combined Run Rules and CUSUM was the first procedure
to be evaluated. Six types of control chart patterns were presented to this procedure.
There were the random, trend up, trend down, cyclic, shift up and shift down pattern.
Random pattern represents the stable process. Trending, cyclic and shifting patterns are
the unstable process. Experiments were conducted using six datasets, each dataset
compromising a total of 1840 control chart patterns.
Table 5.6 shows the classification accuracy for the load passing procedures. For a
stable process the higher percentage of stable process classification accuracy the better it
is, while for the unstable process, the higher percentage of unstable process classification
the better it is. From the classification result, it shows that the Procedure 1 is able to
recognize 65.22 % of random pattern and more than 95 % of unstable process. It is an
acceptable outcome since most of the unstable processes are correctly identified. For the
stable process, the remaining 34.78 % of wrong classification is passed to the pattern
recognizer for control chart patterns recognition purpose.
Table 5.6: Classification of Stable and Unstable Process - Procedure 1
Data Pattern
Stable
Unstable
Random
Trend-up
Trenddown
Cyclic
Shift-up
Shift-down
Stable
65.22
5.43
3.26
2.17
3.26
2.17
Unstable
34.78
94.56
96.74
97.82
96.74
97.82
All the computation processes consumed system resources. The same is
applicable for web-enabled CCPR system. Table 5.6 shows the result for system
resources utilization. Five types of system resources were evaluated in this study. There
are the memory, processor usage, thread, handle count and page file usage. Detail
98
explanation on the evaluation methods are discussed in Section 3.5. For the system
resources measurement, basically the smaller the value is the better it is. Its mean that the
process uses lesser system resource. Table 5.7 shows that Procedure 1 used 72563
Kbytes of memory, 86% of processor time, 28.65 threads count, 635.2 handles count and
90,624 Kbytes of page files.
Table 5.7: System Resource Usage - Procedure 1
System Resources Usage
Memory
Usage
72563.8
Kbytes
Processor
Usage
Thread
Count
Handle
Count
86.39 %
28.65
635.2
Page File
Usage
90,624
Kbytes
The load passing procedure was also evaluated based on the process time. Process
time is the duration from the client sending the request until the client received feedback
from the server. For this case, the shorter processing time the better it is. However, a bit
different measurement criterion is implemented in this study. The selected load passing
procedure should give higher priority to unstable process, which means the unstable
process be processed first. On the other side, the stable process should be given lower
priority. By doing so, the unstable process has shorter process time while the stable
process has longer process time. As such, system resources are always allocated to the
unstable process instead of the stable process.
Table 5.8 shows the process time for Procedure 1 using three different delay
factors. Selection of delay factor is provided in coming Section 5.4. Using the delay A, it
took 21020 ms, delay B took 22541 ms and delay C took 23521 ms. For the unstable
process, cyclic pattern took the longest time. It was due to the cyclic pattern
characteristics, which move up and down continuously. More computation resource was
needed to add and subtract the control chart value. For other unstable patterns, they do
not have special characteristics.
99
Table 5.8: Process Time for Procedure 1 (millisecond)
Data Pattern
Stable
5.3.2
Unstable
Random
Trend-up
Trenddown
Cyclic
Shift-up
Shift-down
Delay A 100ms
21020
8707
8636
14630
8065
8165
Delay B 200ms
22541
7954
8021
12451
7861
7901
Delay C 300ms
23521
8965
9212
13451
8512
8752
Procedure 2 – Load Passing using Run Rules and EWMA
The Nelson Run Rules and EWMA test are the second procedure investigated.
Similar to the first load passing procedure, Table 5.9 shows that the classification
accuracy for this load passing procedure. Basically, Procedure 2 was able to recognize
71.74 % of the stable process. Compare to the Procedure 1 which obtained 65.22 %,
Procedure 2 gave better result. For unstable process, Procedure 2 resulted in an average
of 95% classification accuracy which is almost similar to the Procedure 1.
Table 5.9: Classification of Stable and Unstable Process - Procedure 2
Data Pattern
Stable
Unstable
Random
Trend-up
Trenddown
Cyclic
Shift-up
Shift-down
Stable
71.74
4.34
2.17
1.08
6.52
1.08
Unstable
28.26
95.65
97.83
98.91
93.48
98.91
100
Table 5.10 shows the system resources usage for Procedure 2. Basically, this
procedure used 74, 866 Kbytes of memory, 84.68 % of processor time, 26.73 threads
count, 642.55 handles count and 91,826 Kbytes page files or virtual memory. Compare
with Procedure 1, there is not much difference. Both procedures used similar amount of
resources to process the control chart data.
Table 5.10: System Resource Usage - Procedure 2
System Resources Usage
Memory
Usage
74,866.3
Kbytes
Processor
Usage
Thread
Count
Handle
Count
84.68 %
26.73
642.55
Page File
Usage
91,826
Kbytes
Table 5.11 shows the process time for Procedure 2 using three different delay
times. Generally, the result shows stable process took 21980 to 22956 ms while unstable
process took 7561 to 11650 ms. For stable process, there is no big difference. For
unstable process, cyclic pattern need took more time to process. It was due to the cyclic
time characteristics as explained in Procedure 1. These two procedures got similar
process time, because both of them using Run Rules and one of the cumulative tests
(CUSUM or EWMA) as the combination of load passing procedure.
.
Table 5.11: Process Time for Procedure 2
Data Pattern
Stable
Unstable
Random
Trend-up
Trenddown
Cyclic
Shift-up
Shift-down
Delay A 100ms
21980
7980
8534
11650
7860
7973
Delay B –
200ms
22507
7831
8201
10453
7561
7638
Delay C300ms
22956
8765
8603
10731
7960
8165
101
5.3.3
Procedure 3 – Load Passing using CUSUM and EWMA
The CUSUM and EWMA test was the third procedure investigated. Table 5.12
shows the classification accuracy for the third procedure. Basically, this process was able
to recognize 96% of the stable pattern. For the unstable patterns, shift-up (95%) and shiftdown (80%) pattern achieved higher accuracy compared to the trend-up and trend-down
patterns. Shifting pattern has more obvious increment or decrement compared to the
trending pattern. Hence it was more detectable by cumulative test. Another observation
was the cyclic pattern which has 16% accuracy only. The cyclic pattern had a
characteristic of deteriorating its value repeatedly from positive to negative and
otherwise. Cyclic pattern was quite difficult and took time to be detected using the
cumulative test.
Table 5.12: Classification of Stable and Unstable Process - Procedure 3
Data Pattern
Stable
Unstable
Random
Trend-up
Trenddown
Cyclic
Shift-up
Shift-down
Stable
96.56
20.65
25.43
83.69
4.34
19.56
Unstable
30.43
79.34
74.57
16.30
95.65
80.43
Table 5.13 shows the system resources used by the Procedure 3. This procedure
used 60,712 Kbytes memory, 73% of processor, 22 threads count, 600 handles count and
85,238 Kbyte page files. From the result, it shows that this procedure used lesser system
resources compared to Procedures 1 and 2. It was due to the Procedure 3 which only
implementing the cumulative tests, without applying the eight Nelson Run Rules tests.
Run Rules test took much more resource since each of the control chart data needed to go
through all the eight Run Rules test.
102
Table 5.13: System Resource Usage - Procedure 3
System Resources Usage
Memory
Usage
60,712.5
Kbytes
Processor
Usage
Thread
Count
Handle
Count
73.38%
22.63
600.85
Page File
Usage
85,238
Kbytes
Table 5.14 shows the process time for the Procedure 3. On overall, this procedure
took 22989 to 24538 ms to complete the process the stable data stream. It took 7945 to
18603 ms to complete the unstable process data stream. This procedure took slightly
longer time compared to the Procedures 1 and 2. It was due to the cumulative test needed
to refer back to previous cumulative value before making decision on the stability of a
control chart data. While Run Rules test did not refer back to the previous value.
Table 5.14: Process Time for Procedure 3
Data Pattern
Stable
Unstable
Random
Trend-up
Trenddown
Cyclic
Shift-up
Shift-down
Delay A
22989
9813
9368
15785
9308
8738
Delay B
23654
8730
8214
12067
8935
7945
Delay C
24538
10345
11788
18603
13540
9867
103
5.4
Analysis and Comparison Among the Load Passing Procedure
Analysis and comparison of the three candidate load passing procedures are
discussed in this section. Comparison is presented in term of classification accuracy,
system resource usage and process time. The bar chart and the radar chart are used to
analysis the data in graphical format.
5.4.1
Classification Accuracy
Load passing procedure was used for filtering the dataset and passing the unstable
control chart data to pattern recognizer for further pattern classification. Without the load
passing procedure, all the dataset were directly passed to the pattern recognizer. It was a
heavy burden to the pattern recognizer since it may needed to perform unnecessary
pattern recognition. Stable and unstable data classification was one of the important
decision factors in selecting a suitable load passing procedure. Table 5.15 shows the
stable and unstable data classification accuracy using the three candidate load passing
procedures. Basically, the higher percentage of correct data classification, the better the
procedure it is.
For the stable process classification, Procedure 1 was able to recognize 65.22 %
of the stable process, Procedure 2, 71.74 % and Procedure 3, 96.56 %. Procedure 3 was
the best procedure since it successfully classified 96.56 % of the stable process. While
Procedure 1 was the worst, since it wrongly classify 44.88 % of the stable process as
unstable process. On the other side, Procedure 2 is the best procedure in classifying the
unstable data. Procedure 2 can identify more then 95% of the unstable process. Following
by the Procedure 1, which slightly lower but also can identify more then 93 % of unstable
process. The worst case went to Procedure 3, not all the unstable pattern able to achieve
high accuracy rate.
104
Table 5.15: Summary of Classification Accuracy for Candidate Procedures
Classification Accuracy
Stable
Process
Procedure 1
(RR & CUSUM)
Procedure 2
(RR & EWMA)
Procedure 3
(CUSUM & EWMA)
Unstable Process
Random
Trend-up
Trenddown
Cyclic
Shift-up
Shiftdown
65.22
94.56
96.74
97.82
93.74
97.82
71.74
95.65
97.83
98.91
95.48
98.91
96.56
79.34
44.57
16.30
95.65
80.43
From the bar chart shows in Figure 5.6, Procedure 3 unable to achieve more than
90 % accuracy for all the unstable patterns. The worst chart pattern went to cyclic pattern
which only reached 16.3 %. This was due to the characteristic of cyclic pattern which
periodically moved up and down. Cyclic pattern with periodically up and down behavior
was quite difficult to be detected by using the cumulative test only. This issue didn’t
happened for the Procedures 1 and 2. Procedures 1 and 2 used Run Rules tests to
Classification Accuracy
overcome the limitation of the cumulative test.
110
100
90
80
70
60
50
40
30
20
10
0
Procedure 1
Procedure 2
Procedure 3
Random
Trend-up
TrendCyclic
down
Data Pattern
Shift-up
Shift-down
Figure 5.6: Summarize of Classification Accuracy using Bar Chart.
105
Figure 5.7 shows the radar chart for classification accuracy. For a radar chart, the
bigger the web (the connected line), the better it is the overall performance. Radar chart
was used as the graphical comparison method when making selection. As illustrated in
radar chart, Procedure 2 had a slightly bigger web line compare with Procedure 1 and the
smallest one was belonged to Procedure 3. Hence, in term of classification accuracy,
Procedure 2 was the best procedure.
Random
100
80
60
Trend-up
Shift-down
40
20
Procedure 1
0
Procedure 2
Procedure 3
Shift-up
Trend-down
Cyclic
Figure 5.7: Radar Chart for Classification Accuracy
5.4.2
System Resources
Another benchmark used for analysis of the result was the system resources
usage. System resources usage was measured using the memory, processor usage,
threads, handles count and page file usages. Memory usage was referring to the physical
memory usage, while Page files usage were referring to the virtual memory. Compare
with physical memory, virtual memory was used as the secondary additional memory
storage to spend up the computation process.
106
Table 5.16: Summary of System Resources Usage
Procedure 1
(RR + CUSUM)
Procedure 2
(RR + EWMA)
Procedure 3
(CUSUM + EWMA)
Memory
Usage
72563.8
Kbytes
74866.3
Kbytes
60712.5
Kbytes
Processor
Usage
Thread
Count
Handle
Count
86.39
28.65
635.2
84.68
26.73
642.55
73.38
22.63
600.85
Page File
Usage
90,624
Kbytes
91,826
Kbytes
85,238
Kbytes
Table 5.16 shows the summary of system resources usage for three candidate load
passing procedures while Figure 5.8 presents the data in bar chart format. From the bar
chart, it shows that Procedure 3 used lesser resource compare with Procedure 1 and 2. It
was due to Procedure 3 only implementing the cumulative statistical test, while
Procedure 1 and 2 also implementing the Run rules test. Run rules test was a zone test,
which divided the control chart into 3 zones. Subsequently, 8 different rules were tested
against the chart pattern. If fail any rules, then the chart pattern was considered as the
unstable pattern. Since it needed to go though 8 different rules before can declare the
stability of the control chart data, more system resources was allocated.
100.00
90.00
80.00
70.00
60.00
50.00
40.00
30.00
20.00
10.00
0.00
Measurement
Procedure 1
Procedure 2
Procedure 3
Memory
Usage
Processor
Usage
Thread
Count
Handle
Count
Page File
Resource
Figure 5.8: Summarize of System Performance using Bar Chart
107
Compare with others’ performance measurement method, which higher value the
better it is, for system resources, the lower value the better it is. Since it represented
lesser system resources was used to perform the tasks. Figure 5.9 presents the result using
the Radar Chart. For this radar chart, the smaller web the better is it. From the radar chart,
it show Procedure 3 had the smaller web line, while Procedure 1 and 2 almost overlapped
each other. Hence it means Procedure 3 was the best procedure to be selected for system
resources usage. Nevertheless, Procedure 3 was implementing CUSUM and EWMA test,
the cumulative statistical test has the weakness of not sensitive to the big shift.
Procedure 1
Memory Usage
100.00
80.00
Procedure 2
Procedure 3
60.00
40.00
Page File
Processor Usage
20.00
0.00
Handle Count
Thread Count
Figure 5.9: Radar Chart for System Performance
108
5.4.3
Process Time
Process time was last measurement method. Process time was referred as the
waiting time from the client sent the request to server, until the client received feedback
from the server. It is crucial to ensure the client can receive timely feedback from the
server. Table 5.17 compares the process time for the candidate procedures. Basically,
random or stable process took longer time compare with unstable process. On overall, the
three candidate procedures able to achieve the purpose of load passing. The special
intention of this load passing procedure was to delay the stable process, while gave
higher priority to the unstable process. On time correction action was crucial for the
unstable process while no action is needed for stable process.
Table 5.17: Summary of Process Time for Candidate Procedure (millisecond)
Stable
Process
Unstable Process
Random
Trend-up
Trenddown
Cyclic
Shiftup
Shiftdown
Procedure 1 –
(RR + CUSUM)
22,360
8542
8623
13,677
8146
8272
Procedure 2 –
(RR + EWMA)
22,481
8192
8446
10,944
7793
7925
22,727
9629
9790
16,151
10594
8850
Procedure 3 –
(CUSUM + EWMA)
Figure 5.10 shows the bar chart for three candidate procedures. From the chart, it
shows the random pattern took the longest time which around 22,000 ms for all
procedures. For the portion of unstable patterns, cyclic pattern needed longer process
time (10k – 16k) compare with other patterns (7k-10k). Longer time for cyclic pattern
possible due to the characteristic of cyclic pattern which was periodically moving up and
down. For other unstable pattern, it took averagely 8689 ms to complete the load passing
test.
109
25,000
20,000
15,000
Procedure 1
Procedure 2
10,000
Procedure 3
5,000
0
Random
Trend-up
Trenddown
Cyclic
Shift-up
Shift-down
Figure 5.10: Summarize the Candidate Procedure Process Time using Bar Chart
In term of best procedures for all six patterns, Figure 5.11 presents the overall
process time using the radar chart. Basically, the smaller the web line the better it is,
since it represent the smaller amount of waiting time. From the radar chart, Procedure 3
had the biggest web area which represented used the longest processing time. This was
followed by Procedure 1 and then Procedure 2 had the smallest web line.
Random
25,000
20,000
15,000
Shift-down
Trend-up
10,000
5,000
Procedure 1
Procedure 2
0
Procedure 3
Shift-up
Trend-down
Cyclic
Figure 5.11: Radar Chart for Candidate Procedures Process Time
110
To make the selection of procedure based on the purpose of unstable process
always received higher priority then stable process, Table 5.18 summaries the
comparison between the stable and unstable process. For the stable process, the longer
the process time the better it was. Procedure 3 was the best procedure since it had the
longest process time. For the unstable process, the smaller the process time, the better it
is. Procedure 2 was the best procedure for unstable process since it had the shortest
process time. It is quiet difficult to make a good decision, since stable (Procedure 3) and
unstable process (Procedure 2) gave different selection answer.
Table 5.18: Comparison of Process Time among the Candidate Procedure
Stable
Process
Unstable
Process
Difference
(Stable – Unstable)
Procedure 1
22,360
9452
12,908
Procedure 2
22,481
8660
13,820
Procedure 3
22,727
11,003
11,723
Hence third column was added into the Table 5.18 to make a comparison between
the stable and unstable process. Value of third column was calculated by minus the stable
process with unstable process. The client-server based CCPR system needed a load
passing procedure which can give priority to the unstable process (problem process)
instead of stable (normal process). The best procedure is the procedure can delay the
stable process, and priories the unstable process. Unstable process needed timely
attention and corrective action. From the comparison column, Procedure 1 had a
difference of 12,908 ms, Procedure 2 had a difference of 13,820 ms and Procedure 3 had
a different of 11,723 ms. This comparison assist us in making a better judgment by
differentiating the process time for stable and unstable processes. Therefore the
Procedure 2 was selected since it gave the biggest differentiation between the stable and
unstable process.
111
Beside the process time, this chapter made a selection of the suitable delay factor.
The delay factor was a constant variable added into the system. It was used to convert the
load passing score into some kind of implementable computing action. Table 5.19 shows
three different delay factors used to carry out the experiments. Delay A represents 100
ms, Delay B represents 200 ms and Delay C represents 300 ms. Compare with Table 5.17
grouping the process based on the load passing procedure, Table 5.19 grouped the
process time based on three different delay factors. Since the same data sets were used,
the experiments gave the same results whereby the unstable process resulted in shorter
process time.
Table 5.19: Summary of Process Time in term of Different Delay Time
Stable
Unstable
Random
Trend-up
Trenddown
Cyclic
Shift-up
Shiftdown
Delay A
(100ms)
21,663
8833
8846
14,021
8411
8292
Delay B
(200ms)
22,567
8171
8145
12,323
8119
7828
Delay C
(300ms)
23,338
9358
9867
14,428
10,004
8928
The same policy was applied for delay factor grouping. The selection of delay
was based on the capability to differentiate the process time between the stable and
unstable processes. Table 5.20 shows the difference between stable and unstable
processes. From the result, Delay A had the capability to differentiate 11,982 ms, Delay
B able to achieve 13,649 ms and Delay C had the capability to differentiate 12,821 ms.
From the comparison, Delay B was the best delay factor, followed by delay C and then
lastly delay A.
112
Table 5.20: Comparison among the Different Delay Time (millisecond)
5.5
Stable
Unstable
Difference (Stable – Unstable)
Delay A
(100ms)
21,663
9680
11,982
Delay B
(200ms)
22,567
8917
13,649
Delay C
(300ms)
23,338
10,517
12,821
Selection of Suitable Load Passing Procedure
After analyzing the performance of three candidates of load passing procedures,
Table 5.21 compares the rank of each procedures. These ranking was drawn based on the
results presented in Sections 5.4.1, 5.4.2 and 5.4.3. A ranking of 1 indicated the best
procedure and a ranking value of 3 represented the worst procedure. The same ranking
indicated no significant difference for that particular measurement.
Table 5.21: Overall Ranking for the Candidate Load Passing Procedures
Classification
Accuracy
System
Resource
Process Time
Procedure 1
(RR + CUSUM)
2
2
3
Procedure 2
(RR + EWMA)
1
2
1
Procedure 3
(CUSUM + EWMA)
3
1
2
From the above comparison, it indicates that Procedure 2 is the best procedure
from the view of classification accuracy, system resources and process time. This
procedure almost scored the highest ranking for all the measurement methods. Although
this procedure only capable in getting second place in system resource, but compare with
other two factor: classification accuracy and process time, this factor was the third
important decision factor. The most important decision factor should be the classification
113
accuracy and then process time. Classification accuracy and process time was crucial to
ensure unstable pattern could be identified on time and then corrective action could be
taken earlier. From the perspective of system resource, more computing hardware could
be added to achieve better performance. As such, the above analysis suggested that
Procedure 2 was the most appropriate procedure to be used.
5.6
Summary
The objective of this chapter is to develop a load passing procedure for a clientserver based CCPR system. The experiments had been conducted for selecting a suitable
load passing procedure. The procedure design with the combination of the Nelson Run
Rules + EWMA test had shown the best results for classification accuracy, process time
as well as good result for the system resource usage. This chapter had identified an
effective load passing procedure for the client-server based CCPR system. The next
chapter discusses the prototype system implementation and evaluation.
CHAPTER 6
PROTOTYPE SYSTEM IMPLEMENTATION AND VALIDATION
6.1
Introduction
After identified the suitable CS architecture and load passing procedure, the next
phase is prototype system implementation and evaluation. This chapter describes the
techniques and methods used for the prototype system implementation and evaluation.
Web-enabled CCPR system was used as the prototype system implementation and
evaluation for the client-server based CCPR system. Section 6.2 describes the system
implementation from the user perspective. Typical web-enabled CCPR system users are
consisted of the manager, the operator and the customer. Each user is given different
functions and access right. Section 6.3 shows the data flow diagram for web-enabled
CCPR system. Section 6.4 presents the database structure to store the manufacturing
process information and control chart data. Section 6.6 presents graphical user interface
for the web-enabled CCPR system. Section 6.7 explains the evaluation methods used for
validation purpose. White and black box testing are used to validate the system
functionality. Section 6.8 provides the guideline for transforming the standalone system
to client-server based CCPR system. The summary of system implementation and
evaluation are given in Section 6.9.
115
6.2
Web-enabled Control Chart Patterns Recognition System Operational
Framework
Basically the web-enabled CCPR system are designed for three types of users, the
system administrator, the operator and the customers. Each category of user has different
role to the system. The system are designed in three modules: system management and
administration module for administrator, operational module for operator and lastly client
module for customer. Different functions are provided in each user module. Explanation
on each particular module is given in Sections 6.2.1 – 6.2.3.
6.2.1
System Management and Administration Module
As shown in Figure 6.1, the management module provides all the function needed
by administrator to manage the web-enabled CCPR system. The intended user for this
module is the manager. After log-in into the system, the manager can view, add, edit and
delete the customer, operator, machine, product and manufacturing process information.
In additional, the manager also can change his personal details. As the role of system
administrator, the manager also can upload the control chart data and view the control
chart monitoring and patterns recognition result.
116
Customer Inform ation
Management
Operator Inform ation
Management
Login
Manager
System
Administrator
Machine Information
Management
Product Information
Management
Manufacturing Process
Management
Manage Personal
Information
Control Chart Data
Management
Control Chart
Monitoring
Figure 6.1: Functions provided for Administration Module
6.2.2
Operational Module
As the name implied, the operation module is intended for the operator. Basically,
this module only provides the functions for adding and uploading the control chart data
and then viewing the control chart analyzed result. Compare with the administration
module, lesser privileges are given in this module. The user for this module is allowed to
edit his particular and change personal password.
As shown in Figure 6.2, an operator can key-in and add the control chart data.
They can either choose to key-in manually or upload a text file or upload a zip file. The
operator can choose to manually enter the data into the system. It is used by the operator
117
who collecting the manufacturing data manually. However, there is prone to data
collection error. A better approach is for the operator to upload a text file. Uploading a
text file is only possible for the automated data collection machine. The uploaded data
need to be preprocessed into a suitable text file format. Alternatively, the operator can
choose to upload a compressed file. By compressing the text file before upload, it can
minimize the file size, indirectly minimize the network bandwidth usage and protect the
integrity of data transfer.
Key-in Manual
Control Chart Data Input
Imported From File (Text File)
Login
Operator
Imported From File (Zip File)
View Control Chart
Manage Personal
Information
Figure 6.2: Functions for Operational Module
6.2.3
Client Module
The client module is designed for customer. Compare with other modules, this
module has the least privilege. As shown in Figure 6.3, a customer only allowed to view
the recognition result and modify his personal particular. This function enables the
customer to view the status of the selected production line. This control chart can be used
as a marketing tool to convince the potential customer on the quality of a manufacturing
process.
118
View Control Chart
Customer
Login
Manage Personal
Information
Figure 6.3: User Functions provided at Client Side
6.3
Data Flow Diagram
Data flow diagram was used to gather and analyze the user requirements. Data
flow diagram level 0 also known as context diagram. Figure 6.4 shows the context
diagram for web-enabled CCPR system. The entities of web-enabled CCPR system are
consisted of the operator, customer and system administrator. Each entity can input and
obtain different output from the system. For example operator input the control chart data
and retrieve the control chart information and analyze result from the system. Figure 6.5
shows the level 1 of data flow diagram. The level 1 diagram elaborate more about the
system functionality. Different process used to process the data given by the entities. The
processed data was kept in database for further analyze and reference.
Figure 6.4: Context Diagram for Web-enabled CCPR System
Figure 6.5: Data Flow Diagram for Web-enabled CCPR System
119
120
6.4
Database Design
A good database design is critical to a successful system development and
deployment. As presented in Figure 6.6, this section provides an overview on the
database structure for the web-enabled CCPR system. Each table has its own function.
The database connection library developed by Mathematic Department from University
of Toronto is used for connecting the MySQL database with Matlab engine. This library
is crucial for this web-enabled CCPR system since no standard library provided by
Matlab to access the MySQL database server. More detail explanation on the database
scheme, please refer to Appendix B.
Figure 6.6: Web-enabled CCPR System Database Structure
121
6.5
System Integration
The system integration for the web-enabled CCPR system is illustrated in Figure
6.7. The main components of the proposed web-enabled CCPR system are the client tier,
server tier and engine tier. The functions of each component are summarized as below:
i.
The client tier consists of a personal computer with internet connection. User
can use a standard web browser with Java Applet capability to access the webenabled CCPR system. This client tier communicate with server tier using
Java Server Pages (JSP) and Java Applet is used to plot the control chart.
ii.
The server tier consists of a Tomcat World Wide Web (WWW) server and a
MySQL server. The Tomcat server acts like an intermediate machine to
process and response to all user requests. MySQL is a database server used to
keep all the control chart related data and user information. JDBC library is
used to establish the database connectivity between the WWW server and
database server.
iii.
The engine tier consists of a patterns recognizer. The patterns recognizer uses
to monitor and detect abnormal patterns exist in the control chart. The patterns
recognizer is adapted from Adnan (2002). For the development of a webenabled CCPR system, several toolboxes are implemented in this project.
These toolboxes are included the data acquisition and the database toolbox.
122
Figure 6.7 : System Integration for the Web-enabled CCPR System
6.6
Graphical User Interface
User interface design is an important element to be considered. It determines the
system usability. A good graphical user interface (GUI) should make the user feel easy
and comfortable while interacting with the system. It enables the user to understand what
inputs are needed to obtain the required output. The web-enabled CCPR system comes
with several graphical user interfaces. Example of user interfaces are manufacturing
process, machine and customer information. Only selected interfaces with important
features are shown in this section.
Figure 6.8 shows the interface in the client module for retrieving the
manufacturing process information. A customer is allowed to access and view his own
manufacturing process information. Figure 6.9 shows the interface for adding a new
123
manufacturing process and control chart data. This function used by the operator to
manually key-in the process information. Figure 6.10 shows the interface for the manager
to view and monitor the manufacturing process. The manufacturing process information
and its characteristic are displayed in this screen.
(Client Module)
Figure 6.8: Client Module Interface: Manufacturing Process Listing
(Operation Module)
Figure 6.9: Operational Module Interface: Adding Manufacturing Process Data
124
(Administration Module)
Figure 6.10: Administration Module: Display the Control Chart Information
6.7
System Validation
All the newly developed system as well as the modified system must be validated.
System testing and validation is an important task to make sure the developed system is
completed; bugs free and ready to be deployed. In this study, white box and black box
testing were used for the system validation.
6.7.1
White Box Testing
White box testing is a detail testing towards the programs logic flows. All the
functions developed in this system need to be tested to ensure the program logic being
correctly coded. Figure 6.11 shows the example of white box testing for procedure “user
authentication”. All the system functional went through the informal white box testing
during the coding process.
125
Process: User Authentication
1. User key-in their username and password.
2. If username or password empty, show warning message, redirect to
login page (step 1).
3. else, pass the username and password to server
4. Verify the username and password with the one kept in database.
5. If username and password correct, redirect to user module.
6. else, display error message, redirect to login page (step 1).
7. Redirect user to correspondent module.
8. end.
1
3
2
4
5
6
7
8
Figure 6.11: White Box Testing for User Authentication
6.7.2
Black Box Testing
Black box testing is a kind of system validation where the logic of a function is
ignored. This testing is focus on whether output from the system is same as what the user
expected. Black box testing can be used to detect error such as user interface, data
collecting and data processing error. As shown in Figure 6.12, two set of published data
and two set of industrial data were used for the system validation.
126
Figure 6.12: Web-enabled CCPR System Validation Framework using
Published and Industrial Dataset
a)
Using Published Data
Published data is the dataset used by other researchers to carry out their research
experiment. Two different data sets from the published resources were selected for
system validation. The first data set was the ‘measurement on the silicon wafer width in a
semiconductor process’, taken from the National Institute of Science and Technology
(NIST). A completed measurement value referred at Appendix D. Figure 6.13 shows the
control chart plotting while Table 6.1 shows the system performance and system
calculated output. The client side took 13.28 second, 10,902 Kbytes of memory and 48.46
% of CPU processing time to complete the given task. This web-enabled CCPR system is
capable in detecting abnormal shift in process mean. For example, this system is capable
in detecting certain data points which falling beyond the control limits.
127
R2 – Nine points in Zone C
R1 – One point beyond Zone A
EWMA Test
CUSUM Test
Figure 6.13: Control Chart Plotting for Published Dataset 1
Table 6.1: System Validation Result for the Published Dataset 1
Process : Measurement of Silicon Wafer Width
Source : NIST / SEMATECH e-Handbook of Statistical Methods
System Performance
Calculation Time
13.28 second
Memory Usage
10,902 K
Processor Usage
45.56 %
Thread Count
16
Handle Count
302
Page File Usage
12,952 K
System Output
Outside Control Limit Detection
Stability Test and PR Result
Run Rules 1
(Point 66 and Point 71)
EWMA Test Unstable
(Point 39 … 82)
CUSUM Test Unstable
(Point 41 ….86) Cyclic (Point 41 )
128
The second data set was the “Measurement on the Metallic Firm Thickness”,
taken from Process Quality Control, Trouble Shooting and Interpretation of Data (Ott et
al., 2000). All the measurement value for this dataset can be found at Appendix E. The
control chart is shown in Figure 6.14 while the system performance is shown in Table
6.2. For this dataset, it took 14.89 second, 11,514 Kbytes memory and 49.64 % of the
CPU processing time. Compare with first dataset, this dataset took longer time and more
system resource. It was due to this dataset was more complex and it had more out of
control points compare with previous dataset.
R2
R2 – Nine points in Zone C
R5 – 2 out of 3 in Zone A or beyond.
EWMA Test
R1
R1 – One point beyond Zone A
EWMA Test
CUSUM Test
CUSUM Test
Figure 6.14: Control Chart Plotting for Published Dataset 2
Table 6.2: System Validation Result for the Published Dataset 2
Process : Measurement on the Metallic Film Thickness (in μm)
Source : Process Quality Control, Trouble Shooting and Interpretation
of Data, 3rd USA: McGraw-Hill.
System Performance
Calculation Time
14.89 second
Memory Usage
11,514 K
Processor Usage
49.64 %
129
Table 6.2: System Validation Result for the Published Dataset 2 (continue)
Thread Count
12
Handle Count
292
Page File Usage
11,547 K
System Output
Outside Control Limit Detection
Stability Test and PR Result
b)
Run Rules 1
(Point 4, 69, 72)
EWMA Test Unstable
(Point 3 … 27, 59 ….. 80)
CUSUM Test Unstable
(Point 8 ….37, 52 ,,,,, 100)
Trend-Up
(Point 52, 55)
Using Industrial Data
Industrial data is the dataset collected from real industrial manufacturing process.
Similar to the published data, the industrial data were used for the system validation.
Industrial data is the dataset collected from production measurement. It is useful for
validate the web-enabled CCPR system functionality in production environment. The
first two dataset with limited data were use to validate the system processing and analyst
accuracy. Hence the control chart was drawn out to compare with the system result. The
third data set has more control chart data. It is use to validate the load passing capability
for the client-server based CCPR system.
The first data set for industrial data was the ‘PCB solder height’ from Solectron
Technology Sdn. Bhd adopted from Tan (2004). The detail measurement value for this
dataset can be found at Appendix F. Figure 6.15 shows the control chart plotting while
Table 6.3 shows the system performance. This dataset took 10.74 second, 11,114 Kbytes
memory and 43.44 % of the CPU processing time to complete process the given dataset.
From the control chart, it indicated this dataset was coming from a stable process.
However using the web-enabled CCPR system, some abnormal control chart patterns
were detected in the early stage of data collection.
130
EWMA
Test
Figure 6.15: Control Chart Plotting for Industrial Dataset 1
Table 6.3: System Validation Result for the Industrial Dataset 1
Process : PCB Solder Height
Source : Solectron Technology Sdn. Bhd. (Tan, 2004)
System Performance
Calculation Time
10.74 second
Memory Usage
11,114 K
Processor Usage
43.44 %
Thread Count
11
Handle Count
284
Page File Usage
10,047 K
System Output
Outside Control Limit Detection
Stability Test and PR Result
---EWMA Test Unstable
(Point 2 … 8)
The second data set was the “Measurement of Edge Wave Using Taper Gauge”,
taken from Jabatan Kualiti Perusahaan Sadur Timah Malaysia (Ahmad, 2005). All the
measurement value for this dataset can be referred at Appendix G. The control chart
plotting shown in Figure 6.16 and the system performance shown in Table 6.4. Compare
131
with first dataset, this dataset took longer time and more resources. It was due to the
industrial dataset 1 was randomly distributed within the control chart limits, so it didn’t
require the patterns recognition service. On the other side, industrial dataset 2 had shown
some abnormal patterns which were detected by Run Rules and EWMA test. Hence it
took longer time to complete process this dataset.
R5 – Two out of 3 in Zone A or Beyond.
EWMA
CUSUM
Figure 6.16: Control Chart Plotting for Industrial Dataset 2
Table 6.4: System Validation Result for the Industrial Dataset 2
Process : Measurement of Edge Wave Using Taper Gauge.
Source : Jabatan Kualiti Perusahaan Sadur Timah Malaysia
(Ahmad, 2005)
System Performance
Calculation Time
11.56 second
Memory Usage
12,281 K
Processor Usage
46.87 %
Thread Count
13
Handle Count
294
Page File Usage
12,578 K
132
Table 6.4: System Validation Result for the Industrial Dataset 2 (continue)
System Output
----
Outside Control Limit Detection
Run Rules 5,
EWMA Test Unstable,
(Point 27 … 30, 45)
CUSUM Test Unstable
(Point 28 ….30, 44, 45),
Trend Down
(Point 27,28)
Stability Test and PR Result
Third dataset was the tin platting process data collected from Perstima Berhad,
Pasir Gudang (Azrina, 2008). All the process data can be referred at Appendix H. This
dataset was use to validate the system load passing capability. Table 6.5 show the dataset
load passing results. In this table, six process parameter were monitored together. Each
measurement was given a priority score. measurement 4 is the most unstable process,
hence it get the higher priority score. Measurement 4 get the first ranking and was
processed immediately. Following by measurement 1, 2, 6, 3 and lastly 5.
Table 6.5: Calculation for dataset 3 to determine the process priority (t=a)
Process
Priority
Score
Ranking
Calculation
Load
Passing
Score
1.642
Delay Time
(100ms)
Measure 1
0.334
2nd
1.642
Measure 2
0.140
3rd
1.642 +0.334
1.976
198ms
Measure 3
0.107
5th
1.642+0.334+0.14+
0.113
0
2.229
223ms
Measure 4
1.642
1st
0
0ms
Measure 5
0.016
6th
1.642+0.334+0.14+
0.113+0.107
1.642 +0.334+0.14
2.336
234ms
Measure 6
0.113
4th
2.116
212ms
*Note: Ranking 1st mean most unstable process.
Ranking 6th mean most stable process.
164ms
133
After 100ms, Table 6.6 show the delay time for each measurement. Each
measurement has their own count-downing delay time. On the same time, each delay
time will be reduce by 100ms. Only the measurement 4 which data was previously
processed, will received a new data point. From the table, it show dataset 4 get the
priority score of 1.109. Once again, compare with other dataset, 1.109 is the highest
priority score. It means it is the most unstable data. Hence measurement 4 received the
first ranking again and will be process immediately. For other measurement, when their
delay time reach zero, then it will be process immediately on that particular time. The
experiment has illustrated the normal scenario, an unstable manufacturing process has the
greater chance of deteriorate into unstable. It maybe due to improper or no corrective
action has been taken on problem process.
Table 6.7 illustrated the next few coming
measurement data being scheduled by the load passing procedure.
Table 6.6: Calculation for dataset 3 to determine the process priority (t=a+100ms)
Process
Priority
Score
Ranking
Calculation
Load
Passing
Score
1.642
Delay Time
(100ms)
Measure 1
0.334
2nd
1.642
Measure 2
0.140
3rd
1.642 +0.334
1.976
98ms
Measure 3
0.107
5th
1.642+0.334+0.14+
0.113
0
2.229
123ms
Measure 4
1.109
1st
0
0ms
Measure 5
0.016
6th
1.642+0.334+0.14+
0.113+0.107
1.642 +0.334+0.14
2.336
134ms
Measure 6
0.113
4th
2.116
112ms
64ms
*Note: Ranking 1st mean most unstable process.
Ranking 6th mean most stable process.
Two set of published and three set of industry data were use to validate the
features of client-server based CCPR system. The client-server based CCPR system is
capable to recognize the stable and unstable control chart data. The load passing
procedure is proven capable to give way to unstable process. Hence the functionality and
feasibility of client-server based CCPR system is validated.
Table 6.7: Sample of measurement data schedule by load passing procedure.
134
135
6.8
Guideline for Transforming the Standalone to Client-Server based CCPR
system.
Table 6.8: Guideline for converting the standalone to Client-server based system
1. User requirement study (Use Case and Data flow diagram).
2. Understand the current standalone system architecture.
3. Divide the standalone system into individual functional tier.
4. Identify the functions which can be assigned to client tier (web
browser).
5. Identify the functions which can be assigned to server tier (web
server).
6. Identify the functions which can be assigned to engine tier (patterns
recognizer).
7. Design the Database (database diagram) and select a suitable
database server (MySQL, Oracle or Microsoft SQL database server).
8. Select a suitable web server (Tomcat or IIS) and dynamic webpage
script (JSP / PHP / ASP.NET).
9. Identify the suitable connectivity to access the database and code
development for dynamic webpages and code customization for
engine tier.
Table 6.8 discusses the steps used to convert the standalone into the client-server
based CCPR system. The first step is the user requirement study. User requirements is
presented in the format of use case and the data flow diagram. The system users are
consisted of the customer, the operator and the engineer. The data flow diagram is used to
demonstrate how the input data is being process to produce the user desired output. The
second step is to understand the standalone system architecture. After that, divide the
standalone system into individual functional tiers. The functional tiers for standalone
CCPR system are consisted of the user input interface, the stability test and the patterns
136
recognizer. Next step is to identify what function can be assigned to each individual
functional tier. For this study, the user input interface is assigned to the client tier, the
stability test is assigned to the server tier and the pattern recognizer is assigned to the
engine tier.
Next step is designed the database and select a suitable database server. In this
study, MySQL database server which is open license has been selected. For more
features, the well-known Oracle or Microsoft SQL database server can be implemented.
The following step of conversion is to identify a suitable dynamic webpage
programming language. Among the multiple webpage programming languages, the Java
Server Page (JSP) has been selected. Compare with other language, JSP language is free,
open source and can be easily deployed into most of the commercialize web servers. In
this study, the Tomcat web server has been chosen. This web server is an open source
server and supporting most of the processor platform such as Intel, AMD, Sun and HP
Unix.
Next step is to identify the database connectivity. The ODBC library created by
Toronto University is used to create the connectivity between the Matlab patterns
recognizer and the MySQL database server. On another side, the JDBC library is used to
establish data connectivity between the Tomcat web server and the MySQL database
server. After carried out the user requirement study, identified the functions provided in
each functional tiers, selecting a suitable web, database server and the connectivity
between the servers, programming task can be started.
The user interface on matlab code was converted in client tier using the Java
applet. The stability test was converted from the matlab code to JSP code. All the Run
Rules, EWMA and CUSUM test was running is the JSP code. Lastly, the pattern
recognizer is reminded in the Matlab. The Toronto – ODBC connection was used in the
matlab for accessing the control chart data from MySQL database. The stability test will
mark the pass or fail status of control chart inside the database. Only the control chart
137
data which marked as fail was passed to patterns recognizer for the additional control
chart patterns recognition.
After code development, synthetic and industrial dataset are used to validate the
client-server based system. Manual calculation is done for both datasets. Manual
calculation is used to compare and verify between the manual and the system calculated
result. After go through the above steps, finally the standalone system is converted into
the client-server based CCPR system. This guideline should be used as a reference for
those who want to enhance the standalone system into the client-server based CCPR
system. This guideline is dedicated for the CCPR system, however it also should be
useful for other client-server based application.
6.9
Summary
This chapter discussed the operational framework for the client-server based
CCPR system using the prototyped web-enabled CCPR system. The database and user
interface design for web-enabled CCPR were discussed. System validation were
conducted using the published and industrial data. The prototype system implementation
and validation showed the client-server based CCPR system can lead to better utilization
of the system resource through data sharing and remote access. On the other side, it
provided better documentation and housekeeping of the control chart data.
CHAPTER 7
DISCUSSION AND CONCLUSION
7.1
Introduction
This chapter discusses the research findings and relates them with the existing
body of knowledge. Some of the main points noted in the earlier chapters are repeated
here where necessary. This chapter is organized as follows: Section 7.2 presents the
research achievement and contribution. Section 7.3 discusses the research findings within
the existing literature. Section 7.4 discusses the limitation of the study. Section 7.5
provides the research implication and practicality from the perspective of control chart
monitoring. Section 7.6 describes the possible areas for further enhancement. Finally,
Section 7.7 gives the concluding note to end this study.
7.2
Research Achievement and Contribution
In this study, three candidate CS designs for the client-server based CCPR had
been evaluated. Experiments were conducted to compare the performance of the three
candidate designs. Out of three candidate designs, the CS design 2 with the load passing
procedure at server tier and patterns recognizer at engine tier had been selected. This
design was capable to support more users and process more data. Beside that, three load
passing schemes had been proposed and one customized scheme (Nelson Run Rules and
139
EWMA test) was being selected as the client-server based CCPR system load balancing
procedure. System validation had been conducted using the synthetic and published data.
After went through all the phases as described in research methodology, an architecture
for the development of a client-server based CCPR system was produced. Figure 7.1
shows the proposed architecture. This architecture serve as a guideline for the developer
to design and build a client-server based CCPR system.
Figure 7.1: An Architecture for the Development of a Client-Server based CCPR System
140
7.3
Comparison with Previous Research
Table 7.1 shows the differences and enhancements were done for converting the
original standalone local system into the improved client-server based system. Basically,
the improved system inherits the features provided by the standalone CCPR system such
as control chart plotting, features extraction and patterns recognition. In additional,
several additional features were added into the client-server based system. These features
are included remote accessible, single patterns recognizer for multiple processes
monitoring, better document control and record housekeeping, improve data
confidentiality and it is more economic and affordable by manufacturer. However, the
accessible speed for original system is much faster compare with the client-server based
system. Since all the system resource for the standalone system are local and fully utilize
for single process monitoring only. In such, the process time for local system is much
more faster than the client-server based system.
Table 7.1: Comparison between standalone and the proposed system.
Original System
(Standalone System)
Feature
Improved System
(Client-Server based System)
•
Plotting Control Chart
•
Plotting Control Chart
•
Local and Standalone
Monitoring System
•
Web-enabled & Remotely
Accessible
Process
Monitoring
•
Single PR Module for Single
Process Monitoring
•
Single PR Module for Multiple
Process Monitoring
Documentation
of Control Chart
•
Data Not Shareable
•
Better Document Control and
Record Keeping.
Security
•
Data Confidential Not Protected
•
Data Confidential Protected
Implementation
Cost
•
High Implementation Cost
•
More Economic and Affordable
Extendable
•
Not Extendable and Scalable
•
Extendable and Scalable
Process Time
•
Faster, Local Access.
•
Slower, Remote Access.
Plots
Accessibility
141
Table 7.2 summarizes the main difference between the previous researches and
the author’s research. It is not possible to compare quantitatively with other SPC system
proposed by researchers such as Thompson et al (1998), Soperi et al (2000), Han and Oh
(2001) and Lee et al (2003), since they did not publish the detail results of their
performance. As such, the main outcome of the previous researches are compared in term
of patterns recognizer, web-enabled SPC chart system, load passing procedure and CS
architecture (Hwarng 1997, Pham and Wani 1997, Guh 2003, Hwarng 2005, Yang and
Yang 2005, Thompson et al. 1998, Lee et al. 2003, Hui and Samuel 1997, Zahir et al.
2005, Zhong et al. 2005, Alfredo et al. 2001, Hamada and Eric 2004). Other entries in the
comparison table are self-explanatory.
Table 7.2: Comparison between the Previous and Author’s Research
Comparison
Previous Research
Patterns
Concentrate
Recognizer
patterns
on
design
recognizer.
Author’s Research
of
the
No
investigation
was
done
Good
patterns
recognizer.
recognizer is capable in recognizes
existing
patterns
the unstable patterns correctly on
developed by Adnan (2002).
Used
on
the
recognizer
time (Hwarng,1997).
Web-enabled SPC
Provide the control chart plotting,
Convert
Chart System
remote monitoring, user access
system into a client-server based
control
CCPR system. Provide the control
and
record
assignable
cause (Han and Oh, 2001).
the
standalone
CCPR
chart plotting, remote monitoring,
user
access
recognition feature.
and
patterns
142
Table 7.2: Comparison between the Previous and Author’s Research (continue)
Client and Server
Different application has different
Propose and investigate a suitable
Architecture
kind of CS design. Allocation of
CS architecture for the client-server
specific module into dedicate CS
based CCPR system. Suitable CS
tier is crucial to optimize the system
architecture ensure the system can
resource (Martin, 2006).
process more data and support
more users. The CS design with the
load passing procedure at server
tier and patterns recognition at
engine tier was selected.
Load Passing
Design the load passing procedure
Propose
Procedure
which only suited for the need of
customized load passing procedure
particular
as
which suits for the application of
computer network, cellular network,
client-server based CCPR system.
P2P application and DNS server. It
Using
is not suitable to be implemented
algorithm to process the control
into the client-server based CCPR
chart data, system workload can be
system. Since different field of
distributed
application needs specific algorithm
characteristic of input data. The
to
procedure
application
distribute
the
such
processing
workload (Zhu and Hu, 2005).
and
a
investigate
specific
a
mathematic
based
on
design
the
with
the
combination of the Nelson Run
Rules + EWMA test had shown
promising results for classification
accuracy, process time as well as
the system resources usage was
being selected.
Main Contribution
Different
authors
done
different
Customized a client and server
researches. Limited investigation
architecture
had been done on integrating the
statistical test into a load passing
client-server based features for the
procedure
CCPR system.
based CCPR system. This CS
architecture
and
for
converted
the
and
a
client-server
load
passing
procedure serve as a guideline for
the development of a client-server
based CCPR system.
143
The main outcome of this study is the new knowledge to convert a standalone
CCPR system into a client-server based CCPR system. As a proof-of-concept, a
prototype system was developed. This client-server based CCPR system enables data
sharing, remote access and better utilization of system resource. The proposed CS
architecture enables each module to be integrated. An effective load passing procedure
ensures the system workload can be fairly distributed among the functional tiers. With all
these features, this client-server based CCPR system has significantly improved the
limitation of the standalone system.
7.4
Research Limitation
The research finding is limited to the scope outlined in Section 1.4 of Chapter 1.
In additional, several limitations became apparent during the process of research are
summarized as follow:
a) The experiments were carried out on local area network. The network congestion and
public network condition were not taken into consideration.
b) Sometimes the computer may hang and malfunction if the system memory was fully
utilized. It does happen during high intensity of incoming traffic and high volume of
incoming data experiments. In such a condition, computer needs to be restarted and
experiment need to be started over again.
c) The same computer with the same processing capability was used for all experiments.
If there are enough resources, the experiments can be done on separate computer
which has higher processing capability.
144
7.5
Research Implication and Practicality
This architecture serves as a guideline for the developer to design and build a
client-server based CCPR system. In this guideline, a customized client and server
architecture and a load passing procedure had been selected. The proposed client and
server tier architecture ensures the system can process more data and support more user
access. The selection of suitable load passing approach ensures the system workload can
be fairly distributed among each tier and ensures the unstable control chart data always
received higher priority then the stable process. This client-server based CCPR system
has provided data sharing and remote access. Beside that, this initiative is towards
making the CCPR system more affordable by the small and medium industries. In wider
perspective, this client-server based CCPR system can be used as a marketing tool to
convince potential customer to view the manufacturing quality remotely without
physically visiting the manufacturing side. Such system also allows remote or teleconsultation for remote process diagnosis. Last but not the least, the proposed system
provides better documentation and record keeping for the process data.
7.6
Recommendation for Future Works
Recommendations for future work are as follow:
a) Clustering computer network can be used to perform patterns recognition for the time
critical process such as electricity generation plant and petrol chemical plant.
b) Other than HTTP protocol, other communication protocol can be investigated for
control chart data collecting purpose.
145
c) Expert system which can fulfill the needed of the special application can be added.
Expert system can be used to interpret the control chart patterns. Experiment and
specific knowledge of process are needed in designing the particular expert system.
d) Automatic data collector agent can be added. Programmable Logic Controller (PLC),
PIC microchip, robot and sensor can be used to automatically collecting the
measurement data. It can minimize the human being reading and measurement error.
e) Automatic failure recover module can be added. This module can automatic perform
the correction action if case of failure. It is especially useful for unmanned night time
production.
f) Multivariate CCPR module can be added. Multivariate CCPR module can
simultaneously monitor more than one control chart parameter. The autocorrelation
between the control chart parameter can be calculated and analyzed. This is a
challenging and worthwhile for further study.
7.7
Closing Note
An architecture for the development of a client-server based CCPR system has
been proposed. As a proof of the concept, a prototype system has been developed and
validated. This architecture served as a basic guideline for the development of a clientserver based CCPR system.
REFERENCES
Adnan Hassan (2002). On-Line Recognition of Developing Control Chart Patterns
Universiti Teknologi Malaysia : Ph.D. Thesis.
Adnan Hassan, Mohd Shariff Nabi Baksh , Awaluddin Mohd Shaharoun and
Hishamuddin Jamaluddin (2003). Improved SPC chart pattern recognition using
statistical features. International Journal of Production Research. 41(7): 1587 –
1603.
Ahmad Tarmizi Idris (2005), “ Penggunaan Run Rules dan Zone Test Untuk
Mengesan Perubahan Anjakan Process Min”, UTM Undergraduate Project.
Ahn, S. H. and Bharadwaj, B. (2002). Web-based design and manufacturing systems
for automobile components: Architectures and usability studies. International
Journal of Computer Integrated Manufacturing. 15(6): 555-563.
Alan, D. S. (2004). Empirical Exploration for a Product Data Management (PDM)
System at a Major Telecommunications Firm. Journal of Industrial
Management & Data Systems. 104 (6): 513-525.
Al-Assaf, Yusof. (2004). Recognition of control chart patterns using multi-resolution
wavelets analysis and neural network. Journal of Computers & Industrial
Engineering. 47: 17-29.
147
Alfredo, I. H., Fernando M., Guillermo, V., Gianfranco, P. and Guy C. ,(2001). RealTime ECG Transmission Via Internet for Nonclinical Applications. IEEE
Transaction on Information Technology in BioMedicine. 5: 253-257.
Andrew S. T. (2003). Computer Networks. New Jersey : Prentice Hall PTR.
Anon (2005). On-line support for engines. Elsevier Engineering Information. 206:
45-50
Anosike, A. and Zhang, Z. W. (2004). Dynamic integration of manufacturing
systems' operations using intelligent agents, Proceedings of the IASTED
International Conference on Robotics and Applications. 23-25 August 2004.
CA : Acta Press. 107-112
Ashaab Ahmed (2007). Knowledge web-based system to support e-manufacturing of
injection
moulded
products,
International
Journal
of
Manufacturing
Technology and Management. 10 (4) : 400-418.
Azrina Lazim. (2008), "An Optimization of Plating Process Using DOE", UTM
Thesis.
Bunthit, W. and Jonathan H (2007). Neural network classification of extended control
chart patterns, WSEAS Transactions on Computers. 6(1): 160-166.
Bhavin V. M. and Zhou, Y. J. (2003). Middleware for Web-Based Manufacturing.
10th International Conference on High Performance Computing 17-20
December 2003, India: Hyderabad. 80-90
Biehl, M., Prater E. and McIntyre J. R. (2004). Remote repair, diagnostics and
maintenance. Journal of Communications ACM. 47(11): 100-106.
148
Carey, M.J., Kiernan, J., Shanmugasundaram J., Shekita,E.J. and Subramanian, S.N.
(2000). Middleware for publishing object-relational data as XML documents.
Journal of Computer Data Modelling. 15: 646–648.
Chad R. and Stephens J. (2004). Beginning MySQL Database Design and
Optimization: From Novice to Professional. C.A.: Apress Inc.
Chatterjee, D., Tari, Z.and Zomaya,A. (2005). A Task-Based Adaptive TTL
Approach for Web Server Load Balancing. 10th IEEE Symposium on
Computers and Communications : 877 - 884
Choudhury, A., Ramrattan, S. and Butt, S.(2003). Remote data collection and transfer
as a teaching tool for process monitoring and control. ASEE Annual Conference
Proceedings : 12843-12850
Claudio, G. A. (2003). Flexibility configurations for the supply chain management.
International Journal of Production Economics. 85(2): 141–153.
Das, S.K., Sen, S.K. and Jayaram, R.(1997). A structured channel borrowing scheme
for dynamic load balancing in cellular networks. Proceedings of the 17th
International Conference onDistributed Computing Systems. 27-30 May 1997,
116 -123.
David A. and Michael (2005). MySQL Reference Manual. MySQL AB Group.
Deependra M. and Ganesh J. (2005). Web services and flexible business processes:
towards the adaptive enterprise. Journal of Information & Management. 42:
921-933.
Dong, H.Z. and Liu, D.X. (2004). Fractal-agent based information security policies of
Web-based collaborative manufacturing system. Journal of Computer
Integrated Manufacturing Systems. 10: 166-171.
149
Doty, L.A. (1996). Statistical Process Control. 2nd ed. Industrial Press Inc.
Edmond C. and Yu K.M. (2007). A concurrency control model for PDM systems.
Journal of Computers in Industry 58(8): 823-831.
Eugene L. G. and Richard S. L. (1996). Statistical Process Control. Seven Edition.
McGraw-Hill Companies,Inc.
Fabisiak B. and Boleslaw T. (2003). Threats, vulnerabilities and exposures to
networked manufacturing systems. International Conference on Security and
Management. 2: 461-466.
Gauri, S. K. and Chakraborty, S. (2006). Feature-based recognition of control chart
patterns. Journal of Computers and Industrial Engineering. 51(4): 726-742.
Gillespie W. and Gordon M. (2003). Securing your process control networks. Journal
Advanstar Communications. 20(7) : 14-23
Guh, R.S. and Tannock J.D.T. (1999). A neural network approach to characterize
pattern parameters in process control charts. Journal of Intelligent
Manufacturing. 10(5): 449-462
Guh , R.S. (2003). Integrating artificial intelligence into on-line statistical process
control. Journal of Quality and Reliability Engineering. 19(1): 1 – 20
Guh, R. S. (2005). A hybrid learning-based model for on-line detection and analysis
of control chart patterns. Journal of Computers and Industrial Engineering.
49(1): 35-62
Hartmut, E. and George, F.P. (2003). Client- Server and Gateway Systems for
Remote Control. Conference on Instrumentation and Measurement Techology,
20-22 May 2003: 1428-1430
150
Hamada A. and Eric H. (2004). Emerging Client-Server and Ad-hoc approach Intervehicle communication Platform. Vehicular Technology Conference. 26-29
September 2004: 3955-3959
Han, S. and Oh, K.(2001). Web based rSPC(realtime Statistical Process Control)
system supporting XML protocol. IEEE International Symposium on Industrial
Electronics Proceedings, 12-16 June 2001 : 399-403
Hawkin, D. (1993). Cummulative Sum Control Charting : An Underutilized SPC
Tool. Journal of Quality Engineering, 5(3): 463-477.
He, J.S. (2000). An architecture for wide area network load balancing. IEEE
International Conference on Communication. 12-16 June 2001: 1169 – 1173
Helen L., Peter B. and Julian G. (2004).The Management of Product Data in an
Integrated Aircraft Analysis Environment. Journal of Computing and
Information Science in Engineering 4(4):359-364
Hui, C.C and Samuel, T.C(1997). Efficient Load Balancing in Interconnected LANs
Using Group Communication. Proceedings of the 17th International
Conference on Distributed Computing Systems. 27-30 May 1997:141 – 148
Hunter, J.S. (1986). The Exponentially Weighted Moving Average. Journal of
Quality Technologies, 18 : 203-210.
Huang, G.Q. (2003). Collaborative Product Definition on The Internet : A Case
Study. Journal of Materials Processing Technology 139(3): 51-57.
Huang, M.Y., Lin, Y, J, and Hu Xu (2004). A Framework for Web-based Product
Data Management Using J2EE. International Journal Advanced Manufacturing
Technologies, 24(12): 847-852.
151
Hwarng, H. B. (1997).Neural network approach to identifying cyclic behaviors on
control charts: a comparative study. International Journal of Systems Science.
28(1): 99-112.
Hwarng, H.B. (2005). Simultaneous identification of mean shift and correlation
change in AR(1) processes. International Journal of Production Research.
43(9): 1761 – 1783
Jay L. (2003). E-manufacturing – Fundamental, tools and transformation. Journal of
Robotics and Computer-Integrated Manufacturing. 19(6): 501-507
Jon, E., Warner G. and Rupert J. (2003). Apache Tomcat Bible. Wiley Publishing Inc.
Jun, S.H., Park, S.S., Ju, C.J. and Hyunbo C. (2003). CORBA-based integration
framework for distributed shop floor control.Journal of Computers & Industrial
Engineering. 45(3): 457-474
Lee, S.Y., Jang, J.S., Jung, K.H.and Choi, K.H. (2003). Web based SPC based on
SNMP. International Journal of Industrial Engineering. 10(4): 497-503.
Li, W.D., Lu. W.F., Fuh, Y.H. and Wong, Y.S. (2004). Collaborative Computer
Aided Design - Research and Development Status. Computer Aided Design
Journal. 37(9): 931-940.
Liu, D., Du, J.H., Zhao, Y. and Song, N.L. (2004). Study on the time-delay of
Internet-based industry process control system. Proceedings of the World
Congress on Intelligent Control and Automation. 15-19 June 2004: 1376-1380.
Marin, G.A. (2006). Network security basics. IEEE Journal of Security & Privacy.
3(6) : 68-72.
152
Martin Z. (2006).eLearning in manufacturing processes: Implementation by
integrated Web services and streaming services.Proceedings - Advanced
Industrial Conference on Telecommunications/Service Assurance : 492-497
Marty H. and Larry B. (2004). Core Servlets and Java Server Pages. Second Edition.
Prentice Hall PTR Book.
Michlin, Y., Sedan, B. and Ingman (2004). Reliability improvement of internet web
servers through statistical process control. IEEE Transactions on Reliability.
53(4): 551-556
Ming R., Zhou J.M. and Yang H.M. (1998), Architecture of Integrated Distributed
Intelligent Multimedia System for On-line Real-time Process Monitoring. IEEE
International Conference on Systems, Man, and Cybernetics. 11-14 Oct. 1998.
San Diego:IEEE, 1411 - 1416.
Ming X.Y., Yan J.Q., Lu W.F. and Song B. (2007), Mass production of tooling
product families via modular feature-based design to manufacturing
collaboration in PLM. Journal of Intelligent Manufacturing. 18 (1): 185-195.
Mohd Shariff Nabi Baksh. (2005). E-Manufacturing Addressing The Global
Imperative. Syarahan Perdana Professor 20, Universiti Teknologi Malaysia.
Mohd. Soperi Mohd. Zahid, Jafri Mohd Rohani and Suraj Govindan (2000). Webbased Statistical Process Control (SPC): A Proposal. Proceedings of the Second
International Conference on Advanced Manufacturing Technology. Johor Bahru
.16-17 August 2000: 243-251.
Montgomery, D.C.(2004). Introduction to Statistical Quality Control. 5th Edition
New York: Wiley.
153
Morita, T. and Hidaka T. (2004). Visual customer relationship management system
that supports broadband network E-commerce. IEICE Transactions on
Communications. 87(7): 1789-1796
Nelson, L.S. (1984). The Shewhart Control Chart Tests for Special Causes. Journal
of Quality Technology. 16(4): 237-239
Nurmilaakso, J.M., Kettunen, J. and Seilonen, I. (2002). XML-based supply chain
integration: a case study. Journal of Integrated Manufacturing Systems , 13(8):
586 - 595
Olaf K, Matthias O. B. and Roland S.(1998). Client - Server Based Mobile Robot
Control. IEEE/ASME Transactions on Mechatronics. 3(2): 82-90
Ott, E.R.
Schilling, E.G. and Neubauer, D.V. (2000). Process Quality Control,
Trouble Shooting and Interpretation of Data. 3rd USA: McGraw-Hill.
Park, N.S. and Lee G.H (2006). Agent-based web services gateway. Proceedings of
SPIE - The International Society for Optical Engineering. 6387 : 63870
Peter, M.R and Henry S. R. (2003). XML for scientific publishing. Journal of OCLC
Systems & Services. 19: 162-169.
Pham, D.T. and Wani, M.A. (1997). Feature-based control chart pattern recognition.
International Journal of Production Research. 35(7): 1975-1890.
Pham, D.T. and Wani, M.A. (1999). Efficient Control Chart Pattern Recognitino
through Synergisticand Distributed Artificial Neural Network. Proceedings of
the Institution of Mechanical Engineer. Part B, 213:157-169.
Rainer A. and Schahram D. (2005), Modeling and implementing medical Web
services. Journal of Data & Knowledge Engineering. Vol. 55(2): 203-236
154
Rand Dixon (1996). Client / Server and Open Systems: A Guide to the Technologies
and the Tools that Make Them Work, John Wiley & Sons, Inc.
Renaud and Paul, E. (1996). Introduction to Client / Server System. 2nd Edition. New
York:Wiley Inc.
Robert, K. and Gordan, G. (2000). Balancing Web Server Workload. Conference on
Knowledgebase-Based Intelligent System. 30 Aug 2000: 683-686
Rodolfo, E. H., Karina, C., Jose, E. and Jim, E. (2005). Networked sensing for highspeed machining processes based on CORBA. Journal of Sensors and
Actuators. 119(2): 418-426.
Saygin C. (2004). A manufacturing laboratory for integrated hands-on applications.
ASEE 2004 Annual Conference and Exposition. 20-23 Jun 2004: 9335-9349
Schubert Foo , Siu, C. H. and Peng, C. L. (2002). Web-based intelligent helpdesksupport environment. International Journal of Systems Science. 33(6): 389-402
Schmidt D.C, Levine, S. and Mungee, (2003). The design of the TAO real time
object request broker. Journal of Computer Communication. 21(4): 294-324.
Sreenivas, G. and Zhang, A. D. (1996). NetMedia: A Client-Server Distributed
Multimedia Environment. International Workshop on Multimedia Database
Management Systems. 4-16 August 1996: 160-167
Sean S. and Teresa F. (2002). Virtual onsite support: using internet chat and remote
control to improve customer service. Proceedings ACM SIGUCCS User
Services Conference, US. 20-23 Nov 2002: 143 – 147
Silverston, L. (2001), The Data Model Resource Book : A Library of Universal Data
Models for All Enterprises. 1st Edition. Wiley Publisher.
155
Shen, W.M., Wang, L.H. and Sherman, L. (2003).Distributed management,
monitoring and control of manufacturing shop floors. Proceedings of the ASME
Design Engineering Technical Conference. Chicago United States. 2-6
September 2003: 927-936
Sheremetov L. and Rocha, M. L. (2004). Collective Intelligence as Framework for
Supply Chain Management. International IEEE Conference Intellegent Systems.
Varna, Bulgaria. 22-24 Jun 2004: 417-422
Shi D. F. (2007). Development of an online machining process monitoring system:
Application in hard turning. Journal of Sensors and Actuators Physical. 135 (2):
405-414.
Stavros Goutsos and Nikos Karacapilidis (2004). Enhanced supply chain management
for e-business transactions. Int. J. Production Economics. 89(2): 141–152.
Stephen L. A. and Bruce R. (2003). XML for e-journal archiving. Journal of OCLC
Systems & Services. 19: 155-161.
Subu M.P., Waerstad, H., and Cortvriendt L. (2003). From sensor to web using PLC
with embedded web server for remote monitoring of processes. Proceedings of
IEEE Sensors 2003. 22-24 Oct. 2003. IEEE, 966 – 969.
Swift, J. A. (1987). “Development of a Knowledge Based Expert System for Control
Chart Pattern Recognition and Analysis.” Oklahoma State University: Ph.D.
Dissertation.
Szabados, B., Hodaie, P., Lu, J. and Ahluwalia, K. (2003). Application of remote
instrumentation to manufacturing.
Instrumentation and Measurement
Technology Conference 2003. IEEE, 1370 – 1375.
156
Tan W. F. (2004), “A Characterization of Solder Paste Printing Process Using DOE”,
UTM Thesis.
Tserng, H. P., Dzeng, R.J., Lin, Y.C. and Lin, S.T. (2005). Mobile Construction
Supply Chain Management Using PDA and Bar Codes. Blackwell Publishing
Inc. 20: 242-264.
Thompson D.M., Homer, G.R. and Thelwall, M. (1998). An examination of the
potential role of the Internet in distributed SPC and quality systems. Conference
on the Control of Industrial Processes. 9-11 Feb 2004: 51 – 57.
Tony B. (2001). Server Load Balancing. First Edition. O’ Really
Toussaint,
J. and Cheng, K. (2002). Design Agility and Manufacturing
Responsiveness on the Web. Journal of Integrated Manufacturing Systems.
13(5): 328-339.
Vera d. C. , Luis F. D. , Adriano M. S. (2004). Comparative Study of The
Performance of The CuSum and EWMA control charts. Journal of Computers
and Industrial Engineering. 46(4): 707-724.
Vivek C., Bakore, A. and Eaves J. (2004). Professional Apache Tomcat 5. John
Wiley & Sons, Inc.
Wang, M.D., Zhao, L.P. and Zhu, H.J. (2003). An application system of intelligent
SPC based on the web. Proceedings of the International Conference on Agile
Manufacturing. 4-6 Dec 2003:535-539
Wang, L.H., Samsa, R., Vernera, M. and Xib, F.F. (2003). Integrating Java 3D
Model and Sensor Data for Remote Monitoring and Control. Journal of
Robotics and Computer-Integrated Manufacturing. 19(2): 13-19
157
Wusteman J. (2003). XML and e-journals. Journal of OCLC Systems & Services.
19(1): 125 – 127.
Wu, Y. Z. and Yi, M.H.(2003). Efficient, Proximity-Aware Load Balancing for
Structured P2P Systems. Conference on Peer-to-Peer Computing. 1-3 Sept.
2003: 105-106
Wetherill, G.B. and Brown, W.D. (1990). Statistical Process Control: theory and
practice. First Edition. T.J.Pewaa (Padstow) Ltd.
William, S.E. and Jeffrey G.K. (2004). Improved Design Review Through Web
Collaboration. Journal of Management in Engineering. 20(2): 55-60.
William Xu and, Tony Liu (2003). A Web-enabled PDM system in a Collaborative
Design Environment. Robotics and Computer-Integrated Manufacturing
Journal, 19(4): 315-328.
Yang, C.G. and Zhang, C.N.(2003). An XML-based administration method on rolebased access control in the enterprise environment. Journal of Information
Management and Computer Security. 11(5): 249-257.
Yang, H. and Xue, D. (2003). Recent Research on Developing Web-based
Manufacturing System: A Review. Int. J. Prod. Res. 41(5) 3601-3629,
Yang, J.H. and Yang, M.S. (2005). A control chart pattern recognition system using a
statistical correlation coefficient method. Journal of Computers & Industrial
Engineering. 48(2): 205-221.
Yanmaz, E. and Tonguz, O.K. (2004), Dynamic load balancing performance in
cellular networks with multiple traffic types. IEEE 60th Vehicular Technology
Conference. 26-29 Sept. 2004 : 3491 – 3495
158
Zan, T, Fei, R.Y. and Wang, M. (2006). Research on abnormal pattern recognition for
control chart based on neural network. Journal of Beijing University of
Technology. 32 (8) :673-676.
Zahir Tari, Broberga, J., Albert,Y.Z. and Baldonic, R. (2005). A least flow-time first
load sharing approach for distributed server farm. Journal of Patallel
Distribution Computer, 65(7): 832-842.
Zeng, F. F. and Liu, Z. F. (2004). Model of Product Data Management and Its
Application in PDM System. Journal of Huazhong University of Science.
32(10): 94-96.
Zhao, L.P. and Wang, M.D. (2004). Quality control system model based on web
workflow. Journal of Computer Integrated Manufacturing Systems. 10(5): 502507.
Zhao W.D., Hong Y., Ni, Z.H. and Xing Y. (2003). Research on remote monitoring
and control of CNC system based on Web and field bus. Journal of Southeast
University (Natural Science Edition). 33(1): 45-48
Zheng, H. X. and Wan, Y. C. (2004). Distributed manufacturing system based on
whole resource integration. Journal of Computer Integrated Manufacturing
Systems. 10(4): 415-421.
Zheng, X.L., Deren, C. and Wu, Z.G. (2004). Secure strategy for networked
manufacturing system. IEEE International Conference on Systems, Man and
Cyberneticz. 10-13 Oct. 2004 : 4232-4237
Zhong, X., Rong, H. and Bhu, Y. (2004). Load balancing of DNS-based distributed
Web server systems with page caching. International Conference parallel and
Distributed Systems. 7-9 Jul 2004: 587 – 594.
159
Zhou,S.Q. and Chin, K.S. (2003). Internet-based Intensive Product Design Platform
for Product Design. Knowledge-based Systems, 16(1): 7-15
Zhu, X.M., Wang, Y.Z., Fu, H.Y. and Chen, Z.H. (2005). Research on key
technologies of remote monitoring and control based on web for filament
winding machine. Journal of Computer Integrated Manufacturing Systems.
11(2): 265-269.
Zhu,Y.W. and Hu,Y.M. (2005). Efficient, Proximity-Aware Load Balancing for
DHT-Based P2P Systems. IEEE Transaction on Parallel and Distributed
Systems. 16: 349-361.
Zorriassatine, F., Guh, R.S., Parkin,R.M. and Coy, J. (2005). Integrating novelty
detection, neural networks and conventional tools for pattern recognition in
multivariate processes. Journal of Engineering Manufacture. 218(7): 779 – 793.
APPENDIX A
Factor for computing control limits for x-bar chart
160
161
Appendix B – Database Scheme
No.
1
Table
Description
Manager
For keeping all the manager information.
MID and MPassword would be used for module
management login.
2
Operator
For keeping all the operator information.
OID and OPassword would be used for module
operation login.
3
Customer
For keeping all the customer information.
CID and CPassword would be used for module
Customer login.
4
Product
For keeping all the product information.
These information are included product name,
type and size.
5
MProcess
For keeping all Manufacturing Process
Information.
This is the primary table for system database.
This has MPID as primary key and PID, CID, OID,
MCID, MID as foreign key.
6
Machine
For keeping all the machine information.
These information are included Machine Name,
Type, Buy Date, Next Service Data and Vendor
Name.
7
CCD
For keeping all the control chart’s data.
PR_ID for keeping pattern recognition result.
RR_ID for keeping Run Rules result.
EStatus for keeping EWMA test result.
CStatus for keeping CUSUM test result.
162
8
PatternRecognition For keeping the control chart pattern information.
PR_ID =1 Æ Random Pattern
PR_ID =2 Æ Trend Up Pattern
PR_ID=3 Æ Trend Down Pattern
PR_ID=4 Æ Shift Up Pattern
PR_ID=5 Æ Shift Down Pattern
PR_ID=6 Æ Cycle Pattern
9
RunRules
For keeping the Run Rules Test description.
RR_ID=1 Æ Outside CL
RR_ID=2 Æ 9 consecutive pts on one side
RR_ID=3 Æ six points in a row steadily increasing
or decreasing
RR_ID=4 Æ 14 points in a row alternating up-and
down
RR_ID=5 Æ 2 of 3 consecutive between 2 sigma
& CL
RR_ID=6 Æ 4 of 5 consecutive between 1 sigma
& CL
RR_ID=7 Æ 15 points in zone above and below
center line
RR_ID =8 Æ 8 points in a row on both sides of
center line
10
Chart_Table
For keeping related A2 value.
163
Appendix C: Measurement Result on Engine Tier and Server Tier Performance
Engine Tier Performance
E1
E2
E3
E4
25.38
98048
87.6 35
26.98
98048
86.3 35
30.67
85312
84.3 35
24.39
96351
85.3 36
26.67
85021
87.5 38
52.84
98260
86.3 19
54.15
92264
70.2 28
40.17
80152
80.3 22
58.45
90524
74.6 21
53.69
87501
78.4 24
38.17
99844
73.2 20
40.23
75424
70.5 18
36.22
98526
64 22
37.65
97521
69.5 22
38.56
53434
72.3 16
CS Design 1
CS Design 1
CS Design 1
CS Design 1
CS Design 1
CS Design 2
CS Design 2
CS Design 2
CS Design 2
CS Design 2
CS Design 3
CS Design 3
CS Design 3
CS Design 3
CS Design 3
E5
1028
856
995
1023
985
653
632
610
632
740
638
751
654
524
590
E6
155726
160141
158654
154120
148520
126656
115894
120541
103654
102454
99512
102651
95354
103451
90585
One-way ANOVA: E1 versus C1
Source
C1
Error
Total
DF
1
8
9
S = 4.976
Level
CS Design 2
CS Design 3
SS
468.8
198.1
666.9
MS
468.8
24.8
R-Sq = 70.30%
N
5
5
Mean
51.860
38.166
F
18.93
P
0.002
R-Sq(adj) = 66.58%
Individual 95% CIs For Mean Based on
Pooled StDev
-----+---------+---------+---------+---(-------*--------)
(--------*-------)
-----+---------+---------+---------+---36.0
42.0
48.0
54.0
StDev
6.885
1.455
Pooled StDev = 4.976
One-way ANOVA: E2 versus C1
Source
C1
Error
Total
DF
1
8
9
S = 15103
SS
57369830
1824690482
1882060312
MS
57369830
228086310
R-Sq = 3.05%
F
0.25
P
0.630
R-Sq(adj) = 0.00%
Individual 95% CIs For Mean Based on Pooled
StDev
164
Level
CS Design 2
CS Design 3
N
5
5
Mean
89740
84950
StDev
6643
20299
-+---------+---------+---------+-------(---------------*--------------)
(---------------*---------------)
-+---------+---------+---------+-------70000
80000
90000
100000
Pooled StDev = 15103
One-way ANOVA: E3 versus C1
Source
C1
Error
Total
DF
1
8
9
S = 4.984
Level
CS Design 2
CS Design 3
SS
458.8
198.7
361.1
MS
458.8
24.8
F
18.5
R-Sq = 44.97%
N
5
5
Mean
77.960
69.900
P
0.034
R-Sq(adj) = 38.10%
StDev
6.057
3.605
Individual 95% CIs For Mean Based on Pooled
StDev
+---------+---------+---------+--------(---------*---------)
(---------*---------)
+---------+---------+---------+--------65.0
70.0
75.0
80.0
Pooled StDev = 4.984
One-way ANOVA: E4 versus C1
Source
C1
Error
Total
DF
1
8
9
S = 3.041
Level
CS Design 2
CS Design 3
SS
118.12
74.00
99.60
MS
118.12
9.25
R-Sq = 25.70%
N
5
5
Mean
22.800
19.600
F
12.77
P
0.135
R-Sq(adj) = 16.42%
StDev
3.421
2.608
Individual 95% CIs For Mean Based on
Pooled StDev
----+---------+---------+---------+----(-----------*------------)
(-----------*------------)
----+---------+---------+---------+----17.5
20.0
22.5
25.0
Pooled StDev = 3.041
One-way ANOVA: E5 versus C1
Source
C1
Error
Total
DF
1
8
9
S = 69.29
Level
CS Design 2
SS
1210
38406
39616
MS
1210
4801
F
0.25
R-Sq = 3.05%
N
5
Mean
653.40
P
0.629
R-Sq(adj) = 0.00%
StDev
50.74
Individual 95% CIs For Mean Based on
Pooled StDev
--------+---------+---------+---------+(--------------*-------------)
165
CS Design 3
5
631.40
83.83
(-------------*--------------)
--------+---------+---------+---------+600
650
700
750
Pooled StDev = 69.29
One-way ANOVA: E6 versus C1
Source
C1
Error
Total
DF
1
8
9
S = 8381
SS
602890132
561900290
1164790422
MS
602890132
70237536
R-Sq = 51.76%
Level
CS Design 2
CS Design 3
Level
CS Design 2
CS Design 3
N
5
5
Mean
113840
98311
F
8.58
P
0.019
R-Sq(adj) = 45.73%
StDev
10568
5365
Individual 95% CIs For Mean Based on Pooled StDev
+---------+---------+---------+--------(--------*-------)
(-------*--------)
+---------+---------+---------+--------90000
100000
110000
120000
Pooled StDev = 8381
EE1
95.32
85.32
98.41
80.52
88.23
87
91.23
96.54
96.54
98.3
CS Design 2
CS Design 2
CS Design 2
CS Design 2
CS Design 2
CS Design 3
CS Design 3
CS Design 3
CS Design 3
CS Design 3
EE2
Server Tier Performance
EE3
EE4
EE5
44936
63.4
40
720
45201
66.1
41
756
46541
63.4
42
741
40121
64.5
41
705
39871
65.5
42
780
45052
66.5
43
796
56012
64.3
44
765
54021
66.5
45
821
47012
62.1
42
805
43085
68.1
41
799
EE6
45212
46354
40782
41245
43571
49781
49851
47521
47651
50724
One-way ANOVA: EE1 versus C8
Source
C8
Error
Total
DF
1
8
9
S = 6.134
Level
CS Design 2
CS Design 3
SS
47.6
301.0
348.6
MS
47.6
37.6
F
1.26
R-Sq = 13.65%
N
5
5
Mean
89.56
93.92
P
0.293
R-Sq(adj) = 2.85%
StDev
7.30
4.69
Individual 95% CIs For Mean Based on
Pooled StDev
----+---------+---------+---------+----(------------*------------)
(------------*-----------)
166
----+---------+---------+---------+----85.0
90.0
95.0
100.0
Pooled StDev = 6.13
MTB > Oneway 'EE2' C8.
One-way ANOVA: EE2 versus C8
Source
C8
Error
Total
DF
1
8
9
S = 4576
SS
81293414
167550713
248844128
MS
81293414
20943839
R-Sq = 32.67%
Level
CS Design 2
CS Design 3
N
5
5
Mean
43334
49036
F
3.88
P
0.084
R-Sq(adj) = 24.25%
StDev
3109
5677
Individual 95% CIs For Mean Based on
Pooled StDev
---+---------+---------+---------+-----(----------*-----------)
(-----------*----------)
---+---------+---------+---------+-----40000
44000
48000
52000
Pooled StDev = 4576
MTB > Oneway 'EE3' C8.
One-way ANOVA: EE3 versus C8
Source
C8
Error
Total
DF
1
8
9
S = 1.861
Level
CS Design 2
CS Design 3
SS
2.12
27.71
29.82
MS
2.12
3.46
F
0.61
R-Sq = 7.09%
N
5
5
Mean
64.580
65.500
P
0.457
R-Sq(adj) = 0.00%
StDev
1.219
2.332
Individual 95% CIs For Mean Based on
Pooled StDev
--------+---------+---------+---------+(---------------*---------------)
(---------------*---------------)
--------+---------+---------+---------+63.6
64.8
66.0
67.2
Pooled StDev = 1.861
MTB > Save "E:\KOH_MA~1\CHAPTE~3\ANOVA_CS.MPJ";
SUBC>
Project;
SUBC>
Replace.
Saving file as: 'E:\KOH_MA~1\CHAPTE~3\ANOVA_CS.MPJ'
Existing file replaced.
MTB > Oneway 'EE4' C8.
One-way ANOVA: EE4 versus C8
Source
C8
Error
Total
DF
1
8
9
SS
8.10
12.80
20.90
MS
8.10
1.60
F
5.06
P
0.055
167
S = 1.265
R-Sq = 38.76%
Level
CS Design 2
CS Design 3
N
5
5
Mean
41.200
43.000
R-Sq(adj) = 31.10%
Individual 95% CIs For Mean Based on
Pooled StDev
--------+---------+---------+---------+(----------*----------)
(----------*----------)
--------+---------+---------+---------+40.8
42.0
43.2
44.4
StDev
0.837
1.581
Pooled StDev = 1.265
MTB > Oneway 'EE4' C8.
One-way ANOVA: EE5 versus C8
Source
C8
Error
Total
DF
1
8
9
SS
8066
5150
13216
S = 25.37
MS
8066
644
F
12.53
R-Sq = 61.03%
Level
CS Design 2
CS Design 3
N
5
5
Mean
740.40
797.20
P
0.008
R-Sq(adj) = 56.16%
StDev
29.50
20.43
Individual 95% CIs For Mean Based on
Pooled StDev
--+---------+---------+---------+------(--------*--------)
(--------*-------)
--+---------+---------+---------+------720
750
780
810
Pooled StDev = 25.37
MTB > Oneway 'EE6' C8.
One-way ANOVA: EE6 versus C8
Source
C8
Error
Total
DF
1
8
9
S = 1993
SS
80451650
31789094
112240744
MS
80451650
3973637
R-Sq = 71.68%
Level
CS Design 2
CS Design 3
N
5
5
Mean
43433
49106
Pooled StDev = 1993
F
20.25
P
0.002
R-Sq(adj) = 68.14%
StDev
2425
1437
Individual 95% CIs For Mean Based on
Pooled StDev
----+---------+---------+---------+----(-------*-------)
(-------*--------)
----+---------+---------+---------+----42500
45000
47500
50000
168
Appendix D
: Measurement on Silicon Wafer Width in the Semiconductor Processing
Source
: NIST/SEMATECH e-Handbook of Statistical Methods
http://www.itl.nist.gov/div898/handbook/pmc/section6/pmc611.htm
(accessed on 15 May 2006)
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Value
3.19728
2.24908
2.06831
2.41021
2.38373
2.64295
1.98923
1.84527
2.1181
1.9565
2.86505
2.03724
1.59919
2.27631
2.20319
3.12823
2.48491
2.03621
2.24921
2.08045
2.02106
2.17322
1.42695
1.63658
1.85069
2.29425
2.11883
1.48054
1.90863
2.19158
2.13614
1.66478
1.29135
1.60516
1.35959
2.15929
1.48799
1.4441
1.98807
1.6976
No
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Value
2.16274
1.66188
1.2809
1.52723
1.45086
2.83704
1.9419
1.69015
1.88232
2.06292
2.7538
2.00019
1.81351
1.91142
2.11871
3.10729
2.78643
2.05526
2.92325
3.0688
2.92923
2.38223
1.82449
2.33972
2.45188
3.72522
3.21334
2.39787
3.05238
3.22275
3.54831
3.25758
2.81712
2.79783
3.31612
2.78624
2.37257
1.78537
2.60785
2.22278
No
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
Value
3.05767
2.13201
2.0902
2.47793
2.25219
3.00835
2.67526
1.42529
2.63205
2.72298
1.98768
1.84251
1.4858
1.47276
2.12473
2.72084
2.12967
1.65822
2.19324
1.99607
3.11652
2.49874
1.75301
2.30452
2.61747
1.74602
1.14611
0.75519
1.72986
1.42358
2.13563
1.53373
0.93989
2.00314
1.08163
2.18969
1.75986
1.16654
1.77054
1.89937
No
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
Value
1.94868
2.04348
1.45294
1.67773
1.80744
2.1016
1.54224
0.98504
1.41943
1.58504
1.75067
1.25977
0.52479
1.73394
1.08005
2.55375
2.22845
1.66224
2.0715
2.03082
2.79258
1.77382
1.50762
1.57425
1.66675
2.78084
1.99704
1.57788
2.17764
1.72147
2.92684
2.4155
1.9012
2.08361
2.21559
2.5791
2.42401
1.35234
2.17843
2.09793
No
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
Value
3.2198
2.73477
1.86106
2.46226
2.94924
2.01566
1.04934
0.85117
1.35529
1.32407
2.04332
1.26378
0.88431
1.59742
1.55758
2.33958
1.58476
0.91941
1.41932
1.78616
2.85666
2.54818
1.97044
2.58804
2.05324
2.93022
2.43482
1.96439
2.41712
2.4858
2.61022
2.56811
1.7633
2.06005
2.11773
3.13811
2.54649
2.20236
2.50717
2.29208
169
Appendix E
: Measurement on the Metallic Film Thickness (in μm)
Source
: Process Quality Control, Trouble Shooting and Interpretation of Data.
(Ott et al., 2000).
No.
Data
No.
Data
No.
Data
No.
1
80
21
93
41
89
61
2
92
22
94
42
100
3
100
23
83
43
4
61
24
82
5
93
25
6
85
7
Data
No.
Data
97
81
115
62
108
82
124
100
63
127
83
120
44
106
64
110
84
122
82
45
92
65
90
85
123
26
71
46
117
66
121
86
130
92
27
82
47
100
67
109
87
109
8
86
28
78
48
100
68
120
88
111
9
77
29
71
49
106
69
109
89
98
10
82
30
81
50
109
70
134
90
116
11
85
31
88
51
91
71
108
91
109
12
102
32
80
52
112
72
117
92
113
13
93
33
88
53
127
73
137
93
97
14
90
34
85
54
96
74
123
94
127
15
94
35
76
55
127
75
108
95
114
16
75
36
75
56
96
76
128
96
111
17
75
37
88
57
90
77
110
97
130
18
72
38
86
58
107
78
114
98
92
19
76
39
89
59
103
79
101
99
115
20
75
40
85
60
104
80
100
100
120
170
Appendix F
: Measurement on PCB Solder Height
(Printed Circuit Board Printing and Assembly).
Source
: Solectron Technology Sdn. Bhd. (Tan, 2004)
No
Value
No
1
6.34
21
2
5.72
3
Value
No
Value
6.06
41
6.42
22
6.06
42
6.29
6.11
23
6.16
43
6.45
4
6.55
24
6.54
44
6.1
5
5.97
25
6.27
45
6.35
6
6.11
26
6.23
46
6.26
7
6.02
27
6.28
47
6.38
8
6.33
28
6.19
48
6.09
9
6.43
29
6.03
49
6.17
10
6.47
30
6
50
6.17
11
6.28
31
6.09
12
6.11
32
6.08
13
5.87
33
6.38
14
6.3
34
6.3
15
6.17
35
6.49
16
6.33
36
6.06
17
6.36
37
6.13
18
5.99
38
6.16
19
6.19
39
6.57
20
5.95
40
6.25
171
Appendix G
Source
: Measurement on Edge Wave Using Taper Gauge
: Jabatan Kualiti Perusahaan Sadur Timah Malaysia (Ahmad, 2005)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Date
1-Apr-04
2-Apr-04
4-Apr-04
5-Apr-04
6-Apr-04
7-Apr-04
8-Apr-04
9-Apr-04
11-Apr-04
12-Apr-04
13-Apr-04
14-Apr-04
15-Apr-04
16-Apr-04
18-Apr-04
19-Apr-04
20-Apr-04
21-Apr-04
22-Apr-04
23-Apr-04
25-Apr-04
26-Apr-04
27-Apr-04
28-Apr-04
29-Apr-04
1-May-04
3-May-04
4-May-04
5-May-04
6-May-04
7-May-04
8-May-04
10-May-04
11-May-04
12-May-04
13-May-04
14-May-04
15-May-04
17-May-04
18-May-04
x1
0.088
0.074
0.08
0.085
0.068
0.085
0.075
0.081
0.09
0.07
0.085
0.084
0.073
0.081
0.075
0.075
0.09
0.085
0.09
0.083
0.059
0.074
0.082
0.085
0.087
0.094
0.075
0.083
0.085
0.098
0.083
0.069
0.062
0.08
0.065
0.093
0.077
0.057
0.09
0.06
x2
0.095
0.082
0.085
0.077
0.066
0.077
0.089
0.093
0.075
0.085
0.088
0.078
0.073
0.068
0.083
0.085
0.092
0.087
0.055
0.082
0.085
0.078
0.077
0.076
0.097
0.093
0.082
0.091
0.075
0.09
0.085
0.069
0.06
0.08
0.093
0.094
0.084
0.085
0.065
0.07
x3
0.09
0.08
0.08
0.08
0.088
0.089
0.085
0.052
0.085
0.077
0.08
0.09
0.078
0.065
0.057
0.082
0.079
0.075
0.08
0.079
0.079
0.07
0.065
0.056
0.095
0.084
0.083
0.089
0.081
0.091
0.06
0.08
0.082
0.099
0.1
0.085
0.093
0.088
0.075
0.065
x4
0.093
0.085
0.089
0.075
0.093
0.085
0.087
0.082
0.082
0.08
0.082
0.089
0.065
0.068
0.077
0.09
0.087
0.077
0.075
0.099
0.086
0.065
0.07
0.053
0.085
0.095
0.079
0.092
0.082
0.065
0.061
0.08
0.095
0.088
0.09
0.095
0.076
0.097
0.07
0.08
x-bar
0.092
0.080
0.084
0.079
0.079
0.084
0.084
0.077
0.083
0.078
0.084
0.085
0.072
0.071
0.073
0.083
0.087
0.081
0.075
0.086
0.077
0.072
0.074
0.068
0.091
0.092
0.080
0.089
0.081
0.086
0.072
0.075
0.075
0.087
0.087
0.092
0.083
0.082
0.075
0.069
172
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Date
19-May-04
20-May-04
21-May-04
22-May-04
24-May-04
25-May-04
26-May-04
27-May-04
28-May-04
29-May-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
1-Jun-04
x1
0.097
0.097
0.1
0.082
0.072
0.078
0.087
0.079
0.1
0.092
0.089
0.075
0.085
0.093
0.09
0.09
0.08
0.083
0.09
0.074
0.092
0.095
0.095
0.09
0.076
0.098
0.077
0.08
0.08
0.085
0.089
0.1
0.087
0.08
0.089
x2
0.082
0.082
0.067
0.073
0.075
0.083
0.085
0.063
0.071
0.093
0.09
0.07
0.09
0.094
0.08
0.08
0.083
0.081
0.087
0.087
0.078
0.085
0.09
0.077
0.085
0.08
0.075
0.075
0.075
0.089
0.092
0.085
0.088
0.087
0.085
x3
0.09
0.09
0.071
0.092
0.08
0.065
0.07
0.054
0.095
0.092
0.1
0.08
0.09
0.085
0.085
0.085
0.075
0.087
0.081
0.085
0.095
0.085
0.1
0.09
0.075
0.076
0.098
0.07
0.084
0.08
0.089
0.098
0.088
0.086
0.097
x4
0.062
0.062
0.059
0.065
0.09
0.062
0.059
0.08
0.099
0.099
0.094
0.092
0.085
0.078
0.085
0.079
0.08
0.09
0.081
0.095
0.083
0.087
0.085
0.085
0.082
0.085
0.085
0.085
0.09
0.085
0.088
0.085
0.085
0.087
0.097
x-bar
0.083
0.083
0.074
0.078
0.079
0.072
0.075
0.069
0.091
0.094
0.093
0.079
0.088
0.088
0.085
0.084
0.080
0.085
0.085
0.085
0.087
0.088
0.093
0.086
0.080
0.085
0.084
0.078
0.082
0.085
0.090
0.092
0.087
0.085
0.092
173
Appendix H
Source
: Tin Plating Process
: Perstima Berhad, Pasir Gudang (Azrina, 2008).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
D1
T/ Sn
19.35
19.11
17.21
20.42
18.16
18.87
19.11
21.36
20.18
21.13
19.58
20.77
20.77
20.18
18.16
21.36
18.40
21.48
20.18
19.82
20.89
19.23
19.35
19.24
20.77
19.35
19.70
19.35
18.99
20.89
21.84
20.65
19.47
19.23
20.89
18.99
19.11
20.18
22.55
19.47
D2
Sn2+
15.79
16.14
15.31
15.67
16.02
15.71
16.02
16.39
16.02
17.67
18.40
17.92
17.33
16.97
16.25
17.33
16.85
17.33
16.97
16.86
16.86
16.62
16.74
16.50
16.62
15.91
16.50
16.14
16.86
17.45
18.04
15.91
16.97
17.09
16.62
16.86
16.74
16.02
18.16
17.33
D3
F30.19
29.58
26.81
30.50
30.81
28.35
27.73
28.04
28.35
28.35
27.73
29.58
30.50
27.73
28.35
32.04
30.84
31.12
28.96
29.27
29.58
30.81
30.81
30.50
30.81
30.81
27.42
27.11
29.58
29.56
30.47
28.04
28.04
29.25
28.64
27.43
29.25
30.18
31.08
31.69
D4
Cl48.50
50.97
47.58
44.62
41.76
49.92
50.62
41.44
38.97
44.97
44.19
47.09
47.80
47.09
44.27
45.33
41.09
48.50
48.15
47.09
45.33
44.27
45.33
47.09
47.45
49.56
43.56
43.92
46.03
43.92
44.62
41.09
40.74
42.86
47.09
42.51
46.03
40.03
38.27
38.27
D5
F/Sn2+
11.95
11.45
10.94
12.16
12.02
11.14
10.82
10.69
11.06
10.03
9.42
10.32
11.00
10.21
10.90
11.55
11.43
11.22
10.67
10.85
10.97
11.59
11.50
11.55
11.59
12.10
10.39
10.50
10.97
10.59
10.56
11.02
10.33
10.86
10.77
10.17
10.92
11.77
10.70
11.43
D6
F/T.Sn
9.75
9.67
9.74
9.33
10.60
9.39
9.07
8.20
8.78
8.38
8.85
8.90
9.18
8.59
9.76
9.37
10.46
9.05
8.97
9.23
8.85
10.01
9.95
9.91
9.27
9.95
8.70
8.76
9.74
8.84
8.72
8.49
9.00
9.51
8.57
9.02
9.57
9.35
8.61
10.17
174
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
20.77
20.89
21.37
20.30
18.99
18.87
18.99
18.99
19.70
19.58
19.11
20.10
18.28
19.70
19.23
19.70
19.35
18.99
19.70
18.99
18.75
19.58
19.94
19.58
19.70
18.99
18.75
20.77
20.06
21.37
20.89
20.99
20.42
20.65
20.54
17.57
20.18
18.99
18.40
19.86
17.57
17.92
18.28
17.57
16.79
16.26
16.62
16.86
16.50
16.62
17.21
17.45
16.26
16.38
15.55
16.61
16.97
16.38
16.38
16.62
16.02
16.02
16.97
17.09
16.62
16.62
16.50
17.57
18.16
17.80
17.09
16.86
16.02
17.09
16.97
14.84
16.14
16.97
16.86
15.91
32.30
31.39
32.91
32.30
31.69
30.78
32.91
30.47
33.83
32.30
33.52
30.47
32.00
28.95
27.73
28.64
28.95
29.86
29.86
30.78
28.64
29.74
32.30
34.74
31.39
30.47
26.21
28.95
30.17
28.64
29.89
28.95
26.51
28.03
31.65
28.83
26.72
30.59
26.02
28.13
40.74
43.56
43.56
47.80
51.32
47.09
52.38
50.62
52.03
48.86
50.62
47.09
49.56
52.74
54.50
55.91
54.15
51.33
50.35
52.39
49.56
49.91
46.03
49.91
53.44
52.39
47.80
48.50
42.86
41.09
49.21
47.80
43.56
52.38
48.86
44.62
45.33
37.21
37.54
51.33
11.49
10.95
11.25
11.49
11.67
11.83
12.37
11.29
12.81
12.15
12.17
10.91
12.30
11.05
11.15
10.78
10.66
11.39
11.39
11.57
11.17
11.21
11.89
12.70
11.80
11.45
9.93
10.30
10.38
10.06
10.81
10.73
10.34
10.25
11.66
12.14
10.35
11.54
9.64
11.05
9.72
9.39
9.62
9.94
10.43
10.19
10.83
10.03
10.73
10.31
10.96
9.44
10.94
9.18
9.01
9.09
9.35
9.83
9.47
10.13
9.56
9.49
10.12
11.09
9.96
10.02
8.74
8.71
9.40
8.38
8.84
8.66
8.11
8.48
9.63
10.26
8.27
10.07
8.84
8.85
Download