Upload
chulho-chung
View
213
Download
0
Embed Size (px)
Citation preview
www.elsevier.com/locate/compind
Computers in Industry 59 (2008) 82–95
Enabled dynamic tasks planning in Web-based virtual
manufacturing environments
Chulho Chung, Qingjin Peng *
Department of Mechanical and Manufacturing Engineering, University of Manitoba, Canada
Received 13 November 2006; received in revised form 29 April 2007; accepted 5 June 2007
Available online 5 July 2007
Abstract
Manufacturing tasks planning decides processes and sequences of product development. The task planning systems developed so far are not
fully satisfactory in manufacturing because of islands of automation and uncertainty caused by disregarding resources in real manufacturing
environments. This paper discusses dynamic tasks planning enabled by a virtual manufacturing environment (VE) which provides an effective
three-dimensional visualization and user intensive interaction. Internet technology is used to provide a feasible tool for the data update and access
timely. Manufacturing data can be retrieved through Internet by integrating tasks planning and the Web interface. Therefore, the manufacturing
tasks planning in a Web-based VE can utilise technologies of the visualization and resources sharing, which enables a dynamic and efficient use of
manufacturing resources. The proposed method provides a solution of cost-effective, platform independent, and sharing visualized information
over the Internet for virtual manufacturing. Applications are presented including process planning for shop floor fabrication; assembly planning for
product completion; and disassembly planning for the product end-life management.
# 2007 Elsevier B.V. All rights reserved.
Keywords: Virtual manufacturing; Dynamic tasks planning; Web-based applications; 3D visualization
1. Introduction
Tasks planning plays a critical role in manufacturing to
transform design specifications into vital information for final
product. Manufacturing tasks planning decides processes and
sequences of product development. The dynamic information
includes economical and optimal means to accomplish
intended tasks, such as available manufacturing data and
resources at different stages of product development.
A task plan generated for a product being designed can be
used to either determine manufacturing feasibility or calculate
reliable time and cost in completing the intended task. A
comparison study of several design alternatives can then be
executed. If the task plan is not feasible to be used in an existing
manufacturing environment, an amount of time and cost may
have to be committed to the re-planning or even re-designing of
a product.
* Corresponding author. Tel.: +1 204 474 6843; fax: +1 204 275 7507.
E-mail address: [email protected] (Q. Peng).
0166-3615/$ – see front matter # 2007 Elsevier B.V. All rights reserved.
doi:10.1016/j.compind.2007.06.004
Much effort has been made in developing efficient
approaches to tasks planning, leading to various computerized
systems for generating reasonable and consistent task plans.
Design for ‘‘X’’ (DFX), such as design for manufacturing and
design for assembly, has been a useful tool for the early
consideration of potential problems in product design.
However, current DFX methods are based on a static
manufacturing environment. The traditional static-based plan-
ning is not efficient in generating a near-zero production
paradigm. The task planning systems developed so far are not
fully satisfactory in manufacturing because of islands of
automation and uncertainty caused by disregarding resources in
real manufacturing environments. These issues lead to
diminished organization agility and increased time-to-market.
Therefore, there is a need of dynamic tasks planning that is
performed based on real product life-cycle environments. The
involvement of timely available manufacturing resources
including equipment and tools is critical in planning. There
is a need of feasible and economical plans for the product being
designed.
This paper proposes an effective method to enable dynamic
manufacturing tasks planning in virtual environments. Virtual
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–95 83
reality (VR) technology provides an effective three-dimen-
sional (3D) visualization and user intensive interaction in
virtual environments (VEs). VEs provide a means for users to
navigate and investigate an efficient decision-making over
entire process of manufacturing. The Internet technology
provides a feasible tool for the data update and access timely.
Manufacturing data can be retrieved through Internet by
integrating tasks planning and the Web interface. The
manufacturing tasks planning in a Web-based VE can utilise
technologies of the visualization and resources sharing, which
enables a dynamic and efficient use of manufacturing
resources. The proposed VE-based tasks planning will integrate
the system, users and resources.
Following parts of the paper will discuss the related research
and development in the dynamic manufacturing tasks planning,
including the proposed system, the implementation and
applications of the proposed system. The paper will mainly
describe approaches to enabled dynamic tasks planning in Web-
based virtual manufacturing environments.
2. Related research
Dynamic manufacturing tasks planning aims to meet
demands of feasibility, customization, cost-effective, right
delivery and service, and environmental satisfaction in a
product life-cycle [1,2]. In the last decade, many computer-
aided planning systems have been developed to efficiently
generate optimal product assembly sequences. They allow an
automated and computerized assembly planning integrated
with CAD systems [3]. Homem De Mello and Sanderson [4]
proposed a relational model of assemblies for fastening
operations. Wilson [5] developed a tool representation
including the tool use volume and the minimum space.
Kuo [2] and Yin et al. [3] focused on fasteners in assembly or
disassembly planning. Lazzerini and Marcelloni [6] dis-
cussed the importance of a number of assembly tools applied
and tool changes in achieving optimal assembly planning.
Disassembly planning aims to generate disassembly
sequences with subsequent disassembly actions, which has
been addressed by several researchers [7]. The wave
propagation (WP) method was suggested by Srinivasan
and Gadh [8] to topologically arrange parts associated with a
disassembly for selected parts. However, these approaches
fail to notice the importance of tool feasibility and
availability because they mainly focus on the generation
of a complete procedural assembly or disassembly sequence
for products.
A system of tools selection was developed by Soromaz and
Khosknevis [9] based on general guideline rules. Usher and
Fernandes [10] suggested a systematic method for identifying
and ranking tool alternatives based upon production cost and
time. An incorporated tool selection system was developed by
Fernandes and Raja [11] to sequentially determine tool types
via object-oriented knowledge and DB search. Subrahmanyam
et al. [12] proposed a systematic approach to the development
of a tool management system for supporting dynamic tools
selection. Although these systems suggested a promising guide
to dynamic tools selection, they did not propose an effective
method to manage knowledge or tool information.
Comparing to dynamic tools selection, very few researchers
have addressed the aspect of dynamic machines selection inv-
olved in process planning. Instead, machines selection has been a
major activity of job scheduling that is defined as the allocation of
resources over time to perform a collection of tasks [13,14]. If a
generated plan does not consider machine capacity and the status
of a shop floor, it may lead to a process plan either not feasible or
sub-optimal from the scheduling point of view [15].
Several attempts were made towards integrating planning
and scheduling for efficient dynamic machines selection. The
available machines and possible operations could be involved
in machines selection [16]. However, the computation is
expensive in the combinations of all machines and operations.
An immediate manufacturability analysis for the modification
of a design alternative is hardly supported by these approaches
in VEs. As these methods assume that all machines are always
available, it is unlikely to select machines based on a dynamic
shop floor. The major problems in manufacturing tasks
planning found from the literature are summarized as follows:
� T
he current tasks planning systems suffer from disintegra-tion, resulting in so-called islands of automation or islands of
expertise syndrome [17]. This disintegration leads to
insufficiency in supporting virtual manufacturing that ensures
agility by collaboration, sharing of product data, processing
data, information and knowledge, and integration with other
engineering systems [18].
� A
lthough the current stand-alone tasks planning systems helpto generate consistent and reasonable task plans via
incorporated knowledge, their effectiveness is still not fully
satisfactory for virtual manufacturing demands. One of the
issues is a poor response to the dynamic nature of product
life-cycle environments. For instance, a workshop may suffer
from unexpected disruptions caused by bottleneck machines,
non-availability of tools and personnel, or breakdown of
machines and equipment. A readily generated task plan for
manufacturing becomes invalid and has to be regenerated
when the production starts [19,11,15].
A promise of the solution for above-mentioned problems is
to use Web-based virtual environments to enable dynamic
manufacturing tasks planning. Three-dimensional visualization
technologies provided by VEs have driven evolutions occurred
in product analysis and manufacturing simulation. One of the
promising outcomes is the use of virtual environments in
manufacturing, called virtual manufacturing (VM). In a virtual
manufacturing environment, a generated task plan can virtually
deal with design alternatives related to the various—abilities.
The plan can be used to virtually model a shop floor, a
production line and even a factory, where a virtual simulation is
precisely executed for a fabrication, production or an assembly
process. The latest data of manufacturing resources can be
updated and retrieved through the Internet. Therefore, it can
conduct a dynamic task planning. Uncertainties in manufactur-
ing can be dramatically reduced.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–9584
The Internet technology has been a powerful support to
extend the ability of VEs. AVE built on the Internet is called the
Web-based VE or networked VE. The main thrusts of Web-
based VEs are concurrency, collaboration, real-time simulation
and integration with manufacturing resources, which forms a
key to enhancing the agility in the 21st century business
environment [20]. There have been many successful applica-
tions of VEs in product development. VEs have been used in
product design, manufacturing simulation and evaluation,
manufacturing layout, assembly planning, and robotics. For
example, Lau et al. [21] proposed an interactive design
visualization system to facilitate an interactive product design
at the conceptual design stage. A modelling and simulation
system was proposed by Qin et al. [22] to support a distributed
machine design and control paradigm proposed in the research.
The real-time simulation and validation has been extensively
adopted in Web-based VM environments. It is capable of
generating information about the structure, status, and
behaviour of a manufacturing process and system [23]. This
research proposes to use Web-based VM environments for the
dynamic manufacturing tasks planning, which aims to
minimize the uncertainty issues and to shorten time-to-market.
3. The proposed system to support dynamic tasks
planning
A feasible system is proposed to generate dynamic task
plans in Web-based virtual environments as shown in Fig. 1.
Using the proposed system, a task plan can be generated based
on the available resources which change dynamically along
with a manufacturing processing. The system aims to plan the
process of a product life-cycle from product design to
manufacturing, assembly, maintenance and disposal in a
Web-based virtual manufacturing environment.
This paper will focus on the method developed to enable
dynamic tasks planning in Web-based virtual environments.
The details of algorithms and computation models for different
manufacturing tasks planning have been described by the
authors in other publications [24–26]. Applications developed
for dynamic tasks planning are presented here to show proposed
Fig. 1. Proposed dynamic tasks planning ba
methods workable, including process planning for shop floor
fabrication; assembly planning for product completion; and
disassembly planning for product end-life recycling. The 3D
visualization is based on static and dynamic virtual reality
modelling language (VRML) interactions. The interaction is
implemented using Java and VRML–EAI, which provides an
interface between human and virtual objects.
The system runs on a three-tier architecture to avoid keeping
a huge amount of product data in one site. The system is built on
available neutral and standardised Web and database technol-
ogies. These technologies are used to integrate the task
planning technology with a Web-based VE for the solution of
cost-effective, platform-independent and visualized informa-
tion sharing over the Internet. For distributed processing in the
client side, Active-X and common object model is used without
communication overheads with the server. Because of the
platform dependant issue, however, HTML and Java applets are
used for developing user interfaces of the client side.
For the Web-based visualization, VRML is used as a neutral
representation in products and tools geometric models. The size
of VRML files is smaller than most other 3D file formats, and
they can be transferred easily through the Internet [27]. VRML
is also advantageous to be easily viewed via the standard Web
browsers and to be converted from heterogeneous CAD tools,
requiring no further developmental efforts. Moreover, the Java
applet–VRML combination via external authoring interface
(EAI) enables the complicated processing and its visualization
in the client side. EAI is used as a programming interface for
communication between VRML and Java applets. The 2004
version of EAI uses an interface package that is extended from
External Package. This extended interface is only supported by
Parallel Graphics Cortona VRML plug-in and Internet Explorer
currently [28]. This is partly because the specification has
recently been approved and recommended as an international
standard [29].
A reliable task plan generated by the dynamic tasks planning
helps to create a reduced number of feasible what-if scenarios.
Only the workable ones are precisely examined via Web-based
VM systems. Consequently, this can enhance the efficiency of
the real-time simulation and validation, which solves compli-
sed on Web-based virtual environments.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–95 85
cated problems to prevent costly mistakes before a product
design alternative is employed.
4. Implementation of the enabled dynamic tasksplanning in Web-based virtual manufacturing
environments
The implemented system uses Web technologies by the
integration of Java, HTML and VRML–EAI, and the database
(DB) technologies of relational database (RDB) and Java
database connectivity (JDBC). This section discusses detailed
techniques and approaches proposed to enable dynamic tasks
planning in Web-based virtual manufacturing environments.
4.1. The geometry data representation
The geometry representation of a product is automatically
allocated when the solid model of the product is converted by
the VRML translator in any commercial CAD system. To
represent a component in VRML, a IndexedFaceSet node is
Fig. 2. VRML conversion process of a product mod
used to define a set of triangle patches based on a set of 3D point
coordinates, a set of normal vectors, and sets of indexes. In this
research, ProENGINEER is used to model products, and
VRML data of the products are converted via its VRML
translator. In particular, a product in ProENGINEER is
normally modelled as an assembly consisting of parts and
fasteners.
When the assembly is converted into VRML models,
ProENGINEER creates a master VRML file and its compo-
nents VRML files. As shown in Fig. 2, the master VRML file
named ProdEx_a.wrl lists all components of the product, which
are sets of parts and fasteners. It also has transformation
matrices including 3D rotation and translation for each
component.
A product database (DB) is defined to store product
information in VRML. A DB importer is implemented to
collect and store essential information of a component
represented in VRML. This reduces the data size, and forms
organized and structured data. The DB importer has the
following processes: (1) searching a component name and its
el via the VRML translator in ProENGINEER.
Fig. 3. Relational DB model of product DB used in this research.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–9586
transformation matrix in the master VRML file; (2) opening the
found component VRML file; (3) taking 3D point coordinates,
normal vectors, coordinate indexes, and normal vector indexes;
(4) transforming the 3D point coordinates via the found
transformation matrices and general 3D transformation
equations; (5) rearranging the coordinate indexes in the right
hand rule via normal vectors and indexes; (6) creating a
dynamic SQL query to insert the defined data into the product
DB; (7) connecting and transacting to the product DB; and (8)
repeating these processes for the next component in the master
VRML file. The product DB shown in Fig. 3 consists of five
tables and relationships. The tables are designed to store
hierarchical product information including system, product,
and parts.
The stored component information is used in the task
planning presented. A Java class named VRMLGeometryData
is defined to store the information being retrieved from the
product DB. The VRMLGeometryData class contains various
properties and methods. For a component (i.e., part or fastener),
VRML geometry, oriented bounding boxes (OBBs) or
bounding spheres (BSs) are generated and temporarily stored
by these methods and properties. The defined OBBs and BSs
can also be used for collision detection in determining the
primitive matrices presented.
A material VRML node is used to dynamically manipulate
material properties such as diffuseColor (main shading color),
emissiveColor (glowing color) and transparency (opaque or
not) in a VRML object. Such functions as hiding, transparency,
highlight and color interpolation are also implemented by
manipulating these properties via Java programs.
4.2. Overall system architecture
A three-tier architecture on the Internet is used to implement
the Web-based dynamic task planning in this research. The
architecture consists of a Web server, a DB server and clients.
The Apache HTTP Server serves static and dynamic
information for users request for files through a Web browser,
the server has the following process steps: (1) accept network
connections from the browser; (2) retrieve content from disk;
(3) run local common gateway interface programs or
application server programs for such common application
server technologies as ASP.NET, hypertext pre-processor, and
Java server page; (4) transmit data back to clients; and (5) keep
a log of user activity.
The server-side programs developed run on the HTTP Web
server. The server-side programs in this research are named as
DB/SQL handler with Java database connectivity (JDBC) and
socket handler. These programs serve to respectively commu-
nicate with the remote DB server and clients over the Internet.
MySQL server Version 3.23, an RDBMS, is used to build the
remote DB server. Like the popular Linux operating system,
MySQL is released as open source software under the GNU
public license (GPL). This MySQL supports most of the
functionality in a commercial RDBMS. It ensures that
transactions allow the building of indexes, support standard
data types, and allow for DB replication, among other features.
The MySQL provides standards-based drivers for JDBC, open
database connectivity (ODBC), and .Net enabling developers to
build DB applications in their languages. It allows developers
working with the Java programming language to easily build
programs and applets that interact with MySQL and connect all
corporate data, even in a heterogeneous environment. In
addition, a DB importer is implemented on the DB server to
efficiently store VRML data from a CAD system into the
product DB that requires organized and structured information.
Cortona VRML client Version 4.0 is used as the VRML
plug-in. It is a fast and highly interactive Web3D viewer, and it
serves various Web browsers and MS Office applications. In
particular, the Cortona VRML plug-in completely supports the
VRML 97 specification [30], Java, JavaScript and extended
VRML–EAI [31]. A HTML file embeds several Java applets
and VRML plug-ins for VRML browsers as the user interface
of the dynamic tasks planning.
4.3. Socket-based communication
Java socket is used to communicate between a server and
clients in this research. This Java socket-based communication
is a native Internet communication method, and is similar to
performing file input/output (I/O). The communication is
programming language independent so that a socket program
written in Java also communicates to a program written in non-
Java socket class. Fig. 4 shows the concept of socket-based
communication between a multithreaded server and clients.
A command protocol is defined in this research for the
information to efficiently communicate between a client and
the server. Fig. 5 shows this command protocol.
As shown in Fig. 5, method ID specifies a method to be
invoked and executed in the server. Internet protocol (IP)
address of a DB server is included in this protocol for
designating a DB server in multi-DB server environments. For
instance, a Web-based manufacturing environment involves
many dispersed sub-contractors or business partners with their
own DB servers in developing a new product. By DB name in
Fig. 5, a specific RDB including various tables and relation-
Fig. 4. Concept of socket-based communication between a multithreaded server and clients.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–95 87
ships is subsequently selected in the designated DB server.
Moreover, parameters in Fig. 5 are used to form a dynamic SQL
query to get intended results in transacting with the RDB.
4.4. Java database connectivity
The system architecture used in this research aims to construct
a collaborative and distributed virtual environment with a three-
tier Internet structure. An RDBMS resides on a tier of the multi-
tier architecture, which is farthest removed from the end users.
JDBC techniques aid clients to connect to a remote DB server
through the Internet. MySQL Connector/J 2.0.14 is used as a
JDBC driver to interact with the MySQL DB server.
4.5. Java applet and VRML–EAI
On the client side, an HTML file transmitted from the server
runs on a Web browser. As a client uses the application, the
HTML file embeds several Java applets and VRML browsers
serving as VRML plug-ins. A Java applet in this research
communicates with the Web server via the Java socket-based
communication. This also communicates with other Java
applets in the same HTML file, and interacts with the 3D
objects in the VRML browsers.
4.5.1. Communication between Java applets
A client application consists of several Java applets based
on their functionality. This approach is advantageous in
enhancing the usability of objects built on the OOP concept.
For example, for implementing communication between two
applets in a client application, two Java applets with different
functionality are embedded in an HTML file, namely
JavaApplet1.class and JavaApplet2.class. To make commu-
nication between these two applets, their names are
additionally designated in the HTML file with an HTML
tag, happleti. Such applet names as jApplet1 and jApplet2 are
designated for JavaApplet1. class and JavaApplet2.class,
respectively. These names are used by a Java method,
getAppletContext () that allows an applet to be instantiated
Fig. 5. Defined command protocol for socket com
in another applet in an HTML file. A communication is built by
this method so that an applet can use the methods and
properties of another applet, and vice versa.
In this research, developed applets include server selector,
message windows, VRML model handler, and other applets
developed for dynamic task planning. These applets are
formed as objects or components so that a Web-based client
application can be easily implemented via the plug and play
concept.
4.5.2. Communication between Java applet and VRML–
EAI
The EAI used in this research is a programming interface
for communication between VRML and Java applets. Fig. 6
shows the main notion of implementing communication
between a Java applet and a VRML plug-in in a Web-based
client application. With the EAI, it is possible for an applet
method in a standard Web browser to access the scene graph
of an embedded VRML plug-in. As shown in Fig. 6, the EAI
provides two important services: (1) enabling external
programs to read and change the scene graph, and (2)
enabling external programs to register some of their functions
as callbacks. Every callback is bound to an event. Whenever
this event is generated in the VRML scene, the browser
invokes the associated callback function and passes the
current value of the event as an argument. To provide a Java
applet with the above two services, a Java program is
developed in this research.
The above program first imports a Java package named
vrml.eai that is provided by the Cortona VRML plug-in based
on ISO/IEC 14772-2: 2004. This package contains the classes
and sub packages of the EAI. Then, an EAI interface named
VrmlEventListener is implemented in the above applet. This
allows a VRML browser to invoke a callback occurring at a
VRML object, and subsequently, the applet receives an event
message from the VRML browser. Inside the program above, a
VRML browser is declared with EAI variables including
EventOutSFBool and EventOutSFVec3f . In particular, these
variables are assigned to parts in a retrieved product from a DB,
munication between a client and the server.
Fig. 6. Implementation of communication between a Java applet and a VRML plug-in in a Web-based client application.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–9588
and used to get event messages from the VRML browser. If an
object in the VRML browser is touched by a user, for instance,
the value of its EventOutSFBool variable changes and this
result is signalled to the applet. Fig. 7 shows a predefined
VRML file in this research, which is integrated into an HTML
file with the HTML tag hembedi.
Fig. 7. Predefined VRML file integrated into a
As shown in Fig. 7, a VRML node bound with DEF can be
dynamically controlled by a Java program. For instance, Part0
node in the VRMLScene1.wrl is used to represent part geometry,
appearance and transformations, while its embedded touch
sensor named tPart0 is used to generate an event message
during user-VRML interactions. Moreover, other empty nodes
n HTML file with the HTML tag hembedi.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–95 89
in Fig. 7 are predefined in the VRML file, which include time
sensors, position interpolators and color interpolators. These
nodes are used to dynamically implement various 3D
animations in executing dynamic task planning developed in
this research.
Once VRML browsers, VRML nodes and accessible VRML
variables are defined in a Java program, it waits to get an event
message generated in a VRML browser. AVRML–EAI method
named eventOutChanged() accomplishes this function in the
Java program.
4.5.3. Static VRML–EAI–Java interaction
The static interaction is intended to manipulate three
properties of a VRML object, which are its geometry, appearance
(i.e., colors, lighting and textures) and the transformations of its
position, orientation and scaling. The getEventIn() method of a
defined node is effectively used to achieve this interaction. This
method allows an external program to change the properties of a
defined VRML node.
VRML geometry definition and deletion are achieved by
manipulating the addChildren and deleteChildren property of a
target VRML node. EventIn typed variables in VRML are used
to set a value into the VRML node.
Similarly, the appearance and transformations of a node are
also set or changed by manipulating node properties via
getEventIn() and setValue() methods. For instance, node
appearance including color, lighting and texture changes by
manipulating such properties as transparency, diffuseColor,
emissiveColor, shininess and specularColor. In this research,
this appearance manipulation is being used for several user-
interactive effects including selecting, hiding and showing a
VRML object.
4.5.4. Dynamic VRML–EAI–Java interaction
Dynamic interactive animations are implemented by VRML
interpolators including PositionInterpolator and ColorInterpo-
lator. These VRML interpolators create time-dependant
animations with a VRML object. The basic animation concept
via these interpolators is illustrated in Fig. 8.
As shown in Fig. 8, a clock based on TimeSensor starts
generating events directly after it is created. The value of its
eventOut fraction_changed is a type of SFFloat (single float
Fig. 8. Basic animation concept
data type) and its value is in the interval key value [0, . . ., 1].
Subsequent events have increasing values. By default, if the
end of the interval is reached, no more events are generated.
If the field loop has true value, then, when reaching the end
of the interval, the clock starts over at the beginning of the
interval. As shown in Fig. 8, the event fraction_changed is
routed to the event_fraction of a node of type either
PositionInterpolator or ColorInterpolator. This node gen-
erates the eventOut_value changed of type SFVec3f (i.e.,
positions in 3D space or RGB color codes). These are sent to
such eventIn properties as set_translation, set_scale and
set_diffuseColor.
Fig. 9 shows a dynamic VRML–EAI–Java interaction for a
machining process. As shown in Fig. 9, OOMFs and a
generated process plan are imported into the VRML simulation
module. The OOMFs are used to define a number of cylinders
because this research uses a set of VRML cylinder nodes for
simulating a lathe machining process. The radius of each
VRML cylinder node is the same size as that of a chosen
workpiece, and its thickness is assigned a default value,
0.5 mm. For instance, there are 480 VRML cylinders defined
when selecting an initial workpiece with 240 mm.
Processing tables in Fig. 9 are formed by the defined
cylinders and the generated process plan. At a sequence, each
machining volume consists of a series of VRML cylinders.
When a tool moves along a machining volume, its cylinders
are resized by manipulating the set_scale property of the
Transformation node. Once process tables are completely
formed, a dynamic VRML–EAI–Java interaction is executed as
shown in Fig. 9. At each cylinder that belongs to a machining
volume to be machined, the following processes are repeatedly
executed, which are: (1) calculation of keyValue [Curren-
t_Tool_Position, Next_Tool_Position]; (2) initiation of a
PositionInterpolator; (3) transmission of the keyValue[] to
the PositionInterpolator; (4) a tool move and stop; and (5) an
update of coordinate and machining information including
accumulated machining time.
5. Applications of the developed VE
Three applications of dynamic tasks planning are imple-
mented using the developed Web-based VM environment. The
via the VRML interpolators.
Fig. 9. Dynamic VRML–EAI–Java interaction for a turning process.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–9590
implemented dynamic tasks planning works in three tiers: a
process planning at the shop floor level; an assembly planning
at the product completion level; and a disassembly planning at
the product end-life level.
In a Web-based VM environment, the developed systems
are accessed by users on the client side. The users may be
geographically dispersed and work for different companies in
an enterprise alignment. They may be CAD designers,
process planners, and assembly planners. In planning tasks
via the developed system, a user designates a DB server
location, which stores appropriate manufacturing resources
in an enterprise alignment. Then, dynamic task planning
processes are executed with the retrieved information
from the DB. Generated task plans are subsequently stored
in a DB that can be used by other users. Most of the
processing performed for dynamic tasks planning occurs on
the client side so that the Web server serves many other users
simultaneously.
The three applications are here implemented by Java 1.1.8.
This Java version is chosen for matching the currently used
Microsoft Java virtual machine (JVM) supporting Internet
Explorer. There is no additional Java plug-in required when
Fig. 10. UML sequence diagram of modelling the Web-based dynamic assembly planning.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–95 91
these Web-based applications run on the Internet Explorer.
Moreover, the implementation of these applications is based on
the concept of the object-oriented programming paradigm. As
an example, the Web-based dynamic assembly planning is
illustrated in Fig. 10. Fig. 10 shows the sequence diagram to
model this system, which is represented by unified modelling
language (UML).
UML is a widely used visual language for specifying,
visualizing, constructing, and documenting artefacts of
software systems, as well as for business modelling and
other non-software systems. This provides eight different
modelling techniques including the use-case, class, and
sequence diagrams. Among the modelling techniques
provided by UML, the sequence diagram explicitly represents
the sequence of messages for a particular case from a use case
diagram. In Fig. 10, client side processes are particularly
focused to show the sequence of all messages for dynamic
assembly planning.
As shown in Fig. 10, a message is generated by selecting a
DB server location, which is selected by users. This message is
sent to the client socket program to retrieve all product
information from the product DB. Then, a chosen product is
again sent to the client socket program to retrieve its parts and
fasteners. By a Java class named VRMLModelHandler, the
retrieved product models are displayed on a VRML browser
where user interactions with a VRML object occur. For
example, in the product assembly planning, the fastener
information is used to retrieve all available assembly tools that
are related to the retrieved fasteners. The message of assembly
tools and part VRML models is sent to the FBAS_Construction
class to form a hierarchical fastener-based assembly structure
(FBAS) by repeatedly analyzing the topological part disas-
semblability and assembly tool feasibility. Subsequently, the
FBAS is used to execute the assembly planning with the tool
selection.
The following sections describe graphic user interfaces
(GUIs) of the developed Web-based applications in this
research. The GUIs running on the client side are a tool for user
interactions with the developed system. These GUIs consist of
Java applets and VRML browsers.
Fig. 11. The simulation of a process planning.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–9592
5.1. Dynamic process planning
The dynamic process planning aims to generate a real-time
process plan based on tools and machines availability in
manufacturing environments. The main notion is to embed
available manufacturing resources in a shop floor into the
dynamic process planning. The VE interface is used to show all
the process and solution generated in the process planning, it is
likely to precisely evaluate part manufacturability, and to
calculate machining cycle information. Fig. 11 shows the
simulation of a process planning via the developed Web-based
virtual environment.
5.2. Dynamic assembly planning
The dynamic assembly planning aims to generate a feasibly
assembly sequence and optimal assembly tool alternatives in a
dynamic manufacturing environment. The main notion is to
embed available assembly tools into the process for searching
optimal assembly sequences. To achieve the objective, a genetic
algorithm (GA) is applied to the assembly planning process
with the tool feasibility analysis and the part disassemblability
analysis [32]. The process and analysis are interacted with users
in the developed VE, which helps generating an optimal
assembly sequence that ensures both tool feasibility and part
disassemblability. Fig. 12 shows a simulation of the feasibly
analysis of an assembly tool via the developed Web-based VE.
5.3. Dynamic disassembly planning
The selective-disassembly (SD) sequence is mainly con-
sidered here for dynamic disassembly planning. SD is defined
as the disassembly of selected parts in a product. SD is one of
the efficient approaches for planning partial and incomplete
disassembly. It aims to minimize efforts to separate parts
selected for separation or replacement. Unlike a complete
disassembly, SD allows a partial and non-sequential disas-
sembly procedure regardless of the assembly indenture level of
Fig. 12. Simulation of a feasibly analysis for the selected assembly tool.
Fig. 13. The user interface implemented for dynamic disassembly planning.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–95 93
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–9594
a product, with which a complete procedural disassembly
sequence can be generated.
Based on component sequence planning, non-destructive
SD by unscrewing fasteners is often required for such activities
as maintenance, reuse or remanufacturing. Without damaging
components, non-destructive SD aims to fast isolate selected
parts even not including any part of joining elements–
fasteners.
Working with two analyses, the fast tool feasibility and the
part disassemblability, a matrix-based heuristic is developed to
generate a near-optimal SD sequence [32]. SD sequence
planning is mathematically a NP-hard problem. There is not a
known efficient algorithm for solving the problem. It is
reasonable to find a good feasible solution that can be
efficiently computed. The VE provides a perfect interface to
assist the analysis and to show the process. Fig. 13 shows the
user interface implemented for dynamic disassembly planning
in Web-based VM environments.
6. Conclusions and further work
The Web-based virtual manufacturing can deal with a
number of what-if scenarios for a product being designed. It is
based on the real-time simulation and validation to minimize
the uncertainty issues associated with a product life cycle.
This research develops a Web-based 3D visualized interface
using Java and VRML–EAI. It provides an interaction between
human and virtual objects. It can perform a precise time-
dependant simulation and real-time data acquisition. The Web-
based virtual environment developed in this research can
perform the precise time-dependant 3D simulation for the
manufacturing tasks planning. The acquired real-time data of
the manufacturing resources can also be used to calculate other
useful parameters such as machining time, and elapse time for
assembly or disassembly.
The further work is the integration of existing DFX tools
with the developed Web-based virtual environment, and the
evaluation of system efficiency for applications in a variety of
manufacturing tasks.
Acknowledgements
This research is supported by Canadian NSERC Discovery
Grants, and the University of Manitoba Graduate Fellowships.
References
[1] J. Cui, E. Forssberg, Mechanical recycling of waste electric and electronic
equipment: a review, J. Hazard. Mater. 99 (2003) 243–263.
[2] C.T. Kuo, Disassembly sequence and cost analysis for electromechanical
products, Robotics Comput.-Integr. Manuf. 16 (2000) 43–54.
[3] P.Z. Yin, H. Ding, X.H. Li, L.Y. Xiong, A connector-based hierarchical
approach to assembly sequence planning for mechanical assemblies,
Comput. Aided Des. 35 (2003) 37–56.
[4] S.L. Homem De Mello, C.A. Sanderson, A correct and complete algorithm
for the generation of mechanical assembly sequences, IEEE Trans.
Robotics Automat. 7 (1991) 228–240.
[5] H.R. Wilson, Geometric reasoning about assembly tools, Artif. Intell. 98
(1–2) (1998) 237–279.
[6] B. Lazzerini, F. Marcelloni, A genetic algorithm for generating optimal
assembly plans, Artif. Intell. Eng. 14 (2000) 319–329.
[7] A.J.D. Lambert, Disassembly sequencing: a survey, Int. J. Prod. Res. 41
(16) (2003) 3721–3759.
[8] H. Srinivasan, R. Gadh, A geometric algorithm for single selective
disassembly using the wave propagation abstraction, Comput. Aided
Des. 30 (1998) 603–613.
[9] D. Soromaz, B. Khosknevis, Machine and tool constraint specification for
integrated process planning system, in: Proceedings of the 7th Industrial
Engineering Research Conference, 1997, pp. 901–906.
[10] M.J. Usher, J.K. Fernandes, An object-oriented application of tool selection
in dynamic process planning, Int. J. Prod. Res. 37 (13) (1999) 2879–2894.
[11] J.K. Fernandes, H.V. Raja, Incorporated tool selection system using object
technology, Int. J. Mach. Tools Manuf. 40 (2000) 1547–1555.
[12] G. Subrahmanyam, A. Gunasekaran, S. Arunachalam, P. Radhakrishnan,
Development of a tool database management system, Int. J. Adv. Manuf.
Technol. 15 (1999) 562–565.
[13] Q. Cao, S. Dowlatshahi, The impact of alignment between virtual enter-
prise and information technology on business performance in an agile
manufacturing environment, J. Oper. Manage. 23 (2005) 531–550.
[14] V. Subramaniam, K.D. Lee, T. Ramesh, S.D. Hong, S.Y. Wong, Machine
selection rules in a dynamic job shop, Int. J. Adv. Manuf. Technol. 16
(2002) 902–908.
[15] M. Kumara, S. Rajotia, Integration of scheduling with computer aided
process planning, J. Mater. Process. Technol. 138 (2003) 297–300.
[16] C. Moon, M. Lee, Y. Seo, Y.H. Lee, Integrated machine tool selection and
operation sequencing with capacity and precedence constraints using
genetic algorithm, Comput. Ind. Eng. 43 (2002) 605–621.
[17] Q.G. Huang, L.K. Mak, Design for manufacture and assembly on the
Internet, Comput. Ind. 38 (1999) 17–30.
[18] D.S. Noh, J.Y. Park, H.S. Kong, G.Y. Han, G. Kim, I.K. Lee, Concurrent
and collaborative process planning for automotive general assembly, Int. J.
Adv. Manuf. Technol. 26 (4–5) (2005) 572–584.
[19] N. Ahmad, A. Haque, A. Hasin, Current trend in computer aided process
planning, in: Proceedings of the 7th Annual Paper Meeting and 2nd
International Conference, 2001, pp. 81–92.
[20] M.J. Davis, K.L. Keys, J.I. Chen, L.P. Petersen, Collaborative Product
Development in an R&D Environment, 2004, NASA/TM 2004-212967,
http://gltrs.grc.nasa.gov/cgi-bin/GLTRS/browse.pl?2004/TM-2004-
212967.html.
[21] Y.K.H. Lau, L.K. Mak, T.H.M. Lu, A virtual design platform for inter-
active product design and visualization, J. Mater. Process. Technol. 139
(2003) 402–407.
[22] F.S. Qin, R. Harrison, A.A. West, K.D. Wright, Development of a novel
3D simulation modelling system for distributed manufacturing, Comput.
Ind. 54 (2004) 69–81.
[23] Y. Seo, D. Kim, S. Suh, Development of Web-based CAM system, Int. J.
Adv. Manuf. Technol. 28 (2006) 101–108.
[24] C. Chung, Q. Peng, The selection of tools and machines on Web-based
manufacturing environments, Int. J. Mach. Tools Manuf. 44 (2–3) (2004)
315–324.
[25] C. Chung, Q. Peng, A novel approach to geometric feasibility analysis for
fast assembly tool reasoning, Int. J. Adv. Manuf. Technol. 31 (2006) 125–
134.
[26] C. Chung, Q. Peng, An integrated approach to selective-disassembly
sequence planning, Robotics Comput. Integr. Manuf. 21 (3–4) (2005)
475–485.
[27] H.T. Xu, J.Y. Lin, C.C. Chan, A Web-based product modelling tool—a
preliminary development, Int. J. Adv. Manuf. Technol. 21 (2003) 669–
677.
[28] S. Lee, External Authoring Interface, http://www.cubizen.net/tt/board/
ttboard.cgi?act=read&db=eai&page=1&idx=1, 2004.
[29] International Organization for Standardization (ISO), http://www.iso.org/
iso/en/ CombinedQueryResult.CombinedQueryResult?queryString=
ISO%2FIEC+14772, 2005.
[30] ISO/IEC 14772-1, 1997, http://tecfa.unige.ch/guides/vrml/vrml97/spec/.
[31] ISO/IEC 14772-2, 2004, http://www.web3d.org/x3d/specifications/vrml/
ISO-IEC-14772-VRML97/.
C. Chung, Q. Peng / Computers in Industry 59 (2008) 82–95 95
[32] C. Chung, Q. Peng, Evolutionary sequence planning for selective-disas-
sembly in de-manufacturing, Int. J. Comput. Integr. Manuf. 19 (3) (2006)
278–286.
Chulho Chung is an engineering reliability specia-
list working at Biovail Corporation Ltd., Manitoba.
He received his doctorate in the Department of
Mechanical and Manufacturing Engineering at Uni-
versity of Manitoba, Canada in 2006. His research
interests are dynamic tasks planning in Web-based
manufacturing environments and product life-cycle
management. His research has been published in
international conferences and journals.
Qingjin Peng is an associate professor of the Depart-
ment of Mechanical and Manufacturing Engineering
at the University of Manitoba, Canada. He received
his doctorate at the University of Birmingham, UK in
1998. His current research areas cover integrated
manufacturing systems, virtual manufacturing and
reverse engineering. He has published a number
of research papers in international journals and con-
ferences.