14
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. 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 www.elsevier.com/locate/compind Computers in Industry 59 (2008) 82–95 * 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

Enabled dynamic tasks planning in Web-based virtual manufacturing environments

Embed Size (px)

Citation preview

Page 1: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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

Page 2: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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 help

to 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.

Page 3: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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.

Page 4: Enabled dynamic tasks planning in Web-based virtual manufacturing 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.

Page 5: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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-

Page 6: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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.

Page 7: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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.

Page 8: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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.

Page 9: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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

Page 10: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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.

Page 11: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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

Page 12: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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

Page 13: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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/.

Page 14: Enabled dynamic tasks planning in Web-based virtual manufacturing environments

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.