0% found this document useful (0 votes)
18K views

Automatic Object Oriented Coding Facility For Product Life Cycle Management of Discrete Products

Uploaded by

Usman Ahmad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18K views

Automatic Object Oriented Coding Facility For Product Life Cycle Management of Discrete Products

Uploaded by

Usman Ahmad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

International Journal of Computer Integrated

Manufacturing

ISSN: 0951-192X (Print) 1362-3052 (Online) Journal homepage: https://www.tandfonline.com/loi/tcim20

Automatic object-oriented coding facility for


product life cycle management of discrete
products

Wasim A. Khan & Amir Hussain

To cite this article: Wasim A. Khan & Amir Hussain (2014) Automatic object-oriented coding
facility for product life cycle management of discrete products, International Journal of Computer
Integrated Manufacturing, 27:1, 60-84, DOI: 10.1080/0951192X.2013.800232

To link to this article: https://doi.org/10.1080/0951192X.2013.800232

Published online: 14 Jun 2013.

Submit your article to this journal

Article views: 188

View related articles

View Crossmark data

Citing articles: 1 View citing articles

Full Terms & Conditions of access and use can be found at


https://www.tandfonline.com/action/journalInformation?journalCode=tcim20
International Journal of Computer Integrated Manufacturing, 2014
Vol. 27, No. 1, 60–84, http://dx.doi.org/10.1080/0951192X.2013.800232

Automatic object-oriented coding facility for product life cycle management of discrete products
Wasim A. Khana* and Amir Hussainb
a
GIK Institute of Engineering Sciences and Technology, Topi 23640, Swabi, Pakistan; bInstitute of Business Administration, Garden
Road, Karachi-74400, Pakistan
(Received 14 December 2011; final version received 23 April 2013)

Discrete products are produced in enormous quantity and diversity all over the world. A global collaborative manufacturing
environment requires the minimisation of environmental impact that these products shall ultimately pose. The implementa-
tion of an efficient product life cycle management system that encapsulates complete historical information about the
product shall prove useful. This information may pertain to the design methodology, material type, details regarding
manufacturing methods, use of coating or paints and exposure to radiation, chemicals of varying pH and electroweak forces
during production or use. It is essential to have access to this information when the product is in use or in the disassembly
stage at the end of the useful life of a product to accomplish the proper reuse or disposal of each component. A coding
system that embodies the product life cycle stages for discrete products is envisaged. The proposed coding system stores
parameters that are related to the design, manufacture, usage and disposal of a product. A computer programme is
developed to establish a product life cycle code (PLCC) in the form of a 256-bit binary number or 64-bit hexadecimal
number. The code can be allocated to a component or product at its inception in an interactive web session and stored in a
repository for record keeping. The cradle-to-grave binary or hexadecimal code becomes an essential part of each component
and product and facilitates the usage, disassembly and disposal of each component. A case study related to the generation of
PLCC for discrete products is included towards the end of the article.
Keywords: product life cycle code; coding and classification; system design; discrete manufacturing object-oriented
programming; object-oriented databases

1. Introduction ● Use of the product by consumers with appropriate


The product life cycle is composed of several elements safety, reliability and maintainability considerations
(Doi et al. 2008, 2010; Jianjung et al. 2008). These (Lee et al. 2007)
include ● Disposal of the product after useful life encompass-
ing (Wang and Tseng 2010)
● Need for the product (1) Disassembly
● Specification of the product (2) Reuse
● Concept design of the product while considering (3) Recycle
(Pahl and Beitz 1984) (4) Waste disposal
(1) Shape of the product
(2) Material usage A product is required to include guidelines that encapsu-
(3) Required manufacturing process late the parameters related to the basic step of the design
(4) Assembly method for components of the to the final step of disposal in the product life cycle.
product These data are general data regarding the product, and
(5) Expected exposure of the components of the all of the stages in its life cycle are recommended to
product adhere to the guidelines. Minor deviations from the pre-
(6) Maintainability of the product dicted behaviour may be accommodated (Seo et al.
(7) Reliability of the product 2002). The predicted behaviour of the product during
(8) Safety features in the product its life cycle can be coded to signify its design attributes,
● Embodiment of the design considering (c) above manufacturing attributes, assembly attributes, exposure
● Detailed design considering (c) above attributes and disposal attributes. The code shall become
● Manufacturing of the product using procedures with part of the product and referred to whenever the need
least environmental impact (Kalpakjian and Schmid arises during any stage of its life cycle. Referring to the
2003; Gunendran and Young 2010) code is especially applicable to: during the use of the

*Corresponding author. Email: [email protected]

© 2013 Taylor & Francis


International Journal of Computer Integrated Manufacturing 61

product and during the disassembly and disposal stages discrete products and is further enhanced by upper level
after the useful life of the product (Wanyama et al. 2003; classification based on the origin of the product and
Penaranda et al. 2010). category of the product. The product may be marketed,
The importance of using product life cycle code sold, used, change hands, maintained and disposed off in
(PLCC) is further augmented by the fact that the code is any part of the world on a single PLCC. The central
unique for each range of products. An example of credit repository storing PLCC remains a source of complete
card identification code resembles it. The credit card iden- cradle-to-grave information for the product at any given
tification number has a brand code, type of credit cards for time (Zimmers, Sharma, and Gould 1978; Billo, Rucker,
each brand, maximum cash limit under each type of credit and Shunk 1987.
card, franchise code and country code. These standardised The operation of PLCC generation, storage and
credit card identification numbers cater for millions of retrieval is detailed in Figure 1. It is a three-tier process.
consumers worldwide while maintaining their distinction The first tier comprises software and hardware for
(Flitcroft and O'Donnell 2009). the generation, storage and retrieval of PLCC. The
Using a 256-bit binary code (64-bit hexadecimal generation and retrieval software is written in C#
code) for representing a range of discrete products pro- (dot) Net framework. Large capacity storage area net-
vides uniqueness and complete information pertaining to work (SAN) is recommended as product life cycle
the design attributes, manufacturing attributes, assembly repository. Tier one computer software takes appropriate
attributes, exposure attributes and the disposal attributes measures to abide by local, regional and international
of the product. After the allocation of attributes in binary standards and laws. The computer hardware at this level
form, the code can be converted into compact 64-bit consists of high-end servers, input/output console and
hexadecimal code that should be carried by all the pro- graphics display unit. The graphics display unit adds to
ducts for decoding when required. 256 bits arranged in identifying components in a product before assigning
least significant bit to most significant bit provides enor- PLCC. The manufacturers of various products can pass
mous number of permutations for generating PLCC for the product geometrical formation to PLCC generation

Figure 1. Product life cycle code generation and use.


62 W.A. Khan and A. Hussain

software at tier 1 through IGES or STEP interface. (5) Operation of the life cycle code generation
This is accomplished by mounting a CAD modeller software
alongside PLCC generation software on a graphics (6) Concluding remarks
console.
The second tier consists of manufacturers of the dis-
crete products. The manufacturers have to go through a 2. Coding facility for product life cycle
registration process with tier 1 in order to ascertain The procedures for establishing the part families used in
proper identification and for the payment of tier 1 fees. discrete part production include (Bedworth, Henderson,
These manufacturers are physically connected to the first and Wolfe 1991)
tier through local area network, metropolitan area net-
work or wide area network. Tier 2 is the origin of the (1) Manual visual search
discrete product. The discrete product produced is (2) Production flow analysis
intended for use under set of rules. The corresponding (3) Classification and coding
PLCC only accounts for the fair use of the product during
its life cycle. User-defined attributes can be used to code Manual visual search, classification and coding have a
for action required in case a rouge user is involved. The vast scope of applications. Manual visual search, which
output from tier 2 along with the PLCC is floated in the is often used at the disassembly and disposal stage, is a
open market worldwide and stays in use until a malfunc- tedious, time-consuming and sometimes dangerous
tion occurs or the product becomes non-functional. While method of establishing part families. Production flow ana-
functional the product may also change hands. In that lysis provides important classification data for the design,
case, only the attribute defining the life of the product production and usage that can partially be used during the
changes ownership at the PLCC website at tier 1. classification and coding stage. Classification and coding
Tier 3 is characterised by the user. The user may provides an efficient and safer method by encapsulating
consult PLCC in case of malfunction, maintenance or for the product life cycle information (Chattha, Khan, and
finding historical information about the product. Tiers 1–3 Qureshi 1998).
communicate through a web link based at the tier1. The The classification and coding system developed so far
user at tier 3 can connect to the PLCC website to decode can be grouped into these basic types (Chang and Wysk
the code and to take appropriate measures for the above- 1985):
mentioned tasks. When the product becomes non-func-
tional, the user can seek guidelines based on PLCC from (1) Hierarchical
the PLCC website for steps to either how to reuse the (2) Attribute or poly code
product or completely recycle the product or how to dis- (3) Hybrid
pose the product.
The variety of products and components accumulated In hierarchical codes, the meaning of each character is
at the disassembly stage for reuse, recycling or disposal is dependent on the meaning of the previous character. A
enormous. A classification and coding system helps to hierarchical code provides a large amount of information
segregate the products and their components on the basis in a relatively smaller number of digits. In the attribute or
of type of design and manufacturing practices, usage poly code, the meaning of each character is independent of
guidelines and disposal recommendations (Viswanathan any other character. Each attribute of a part can be assigned
and Allada 1999). a specific position in an attribute code that leads to a code
The objective of this study is to generate PLCC for that may be very long. The hybrid code utilises the advan-
discrete products. The core element of this exercise is the tages of the hierarchical and attributes coding system. The
PLCC generation at tier 1 using object-oriented program- hybrid code is more compact and can be easily identified by
ming language C# (dot) Net framework. The following specific characteristics (Bedworth et al. 1991). DCLASS
sections cover this task: (Malarkey 1986), MICLASS (Houtzeel and Schilperoort
1976) and OPTIZ (Optiz 1970) are the most commonly
(1) History of coding mechanism used methods for classification and coding in the conven-
(2) Use of binary and hexadecimal numbers for PLCC tional engineering design and manufacture cycle. The scope
generation through identification and mapping of of implementing these coding schemes is restricted to shape
product life cycle parameters information, form feature, tolerances, materials, treatments
(3) Object-oriented analysis and design for software and method of assembly.
generation The classification and coding for developing part
(4) Coding of object-oriented algorithm in C# (dot) families are widely used in group technology implementa-
Net framework tion and in process planning. Soloja (1969) defines the
International Journal of Computer Integrated Manufacturing 63

underlying objectives of classification and coding in group The system approach to the design and manufacture of
technology to realise that many design and manufacturing discrete products captures design and manufacture best
problems are similar. By grouping the problems into sub- practices for the optimal product life cycle but lacks pre-
sets, a single solution can be found for the problems, diction of the maintainable life of the product, the proce-
saving time and effort. dure for disassembly of the product and the reuse,
Mitrofanov (1966) maintains that by adopting this recycling or disposal options for the product. A coding
approach the economics associated with large-scale pro- and classification system provides this information
duction can be obtained in small-scale situations. Chang because PLCC is a part of the product at all stages of
and Wysk (1985) extensively outline the benefits gained the product life cycle (Ozdemirel, Mackulak, and Cochran
by using classifications and coding in conventional 1993).
engineering design and the manufacturing cycle. These The manufacturers of the discrete product use com-
benefits can be extended to the whole product life cycle, pany/industry-specific national or international standards
which specifically affects the economies of disassembly to label the product. This article includes a case study
and disposal (Wang and Tseng 2010; Curran et al. differentiating between the product code labelled by the
2007). manufacturers of discrete product and PLCC. Here two
Classification and coding systems are now used in examples are taken from the international market, that
diverse fields. Credit cards, debit cards and other fran- is, refrigerators from LG and Samsung. The product
chised cards are now commonly used to provide unique codes from the companies are given as follows:
identification to the user. Several methods of generating
these numbers are in practice today and can be an aid to For LG: LFX31925ST
identifying product families. The specification for credit L – LG Electronics
card numbering has been drawn up by the International F – French door model
Standards Organization (ISO/IEC 7812-1:1993) and the X – indicates the unit has a water dispenser and ice
American National Standards Institute (ANSI X4.13). maker
The International Standards Organization (www.iso. 31 – unit is 31 cubic feet in capacity
org) also defines several other coding and classification 925 – indicates internal specifications of the unit
standards that pertain to health care, information technol- ST – stainless steel finish
ogy and automobiles. This knowledge is also relevant to For Samsung: RF287HARS
the coding and classification for the product life cycle of RF – French Door
discrete products. 287 – cubic footage
Binary number representation is yet another method H – features
to provide unique representation to products through A – shelving
sectoral classification. A unique decimal number is R – colour
obtained by counting from the least significant bit to S – retail location
the most significant bit in bit sizes of 4, 8, 16, 32, 64,
128, 256 and even larger bit sizes. These binary num- This is a general outline, and this format may vary by
bers can be grouped together in modular form to country.
represent, for example, the origin of design and man- Such codes are widely used in the industry for identi-
ufacture, the component types in the product, permis- fying discrete products. These codes do not clearly define
sible exposure or disposal guidelines. This code can be the design attributes, manufacturing attributes, assembly
converted into a more compact hexadecimal number attributes, exposure attributes and disposal attributes.
carrying less number of digits while representing the The classification and coding system for the product
same information as that of binary PLCC. This coding life cycle proposed in this article is based on arranging
system takes benefits of features of hierarchical, attri- binary numbers in a predefined manner and covers the
bute and hybrid coding systems. The old system for following parameters:
classification and coding relied on group technology
philosophy. The ISO classification worked in diverse (1) Origin of the product
fields for products and services. On the other hand, the (2) Shape definition principles that link the coding
binary system of classification and coding is an open system with commercial CAD/CAM packages
system applicable to all the products using discrete (3) Use of object primitives such as bearings, gears
manufacturing processes and systems. Not a single and seals as well-defined entities
ISO standard exists that covers all the attributes as (4) Use of an assembly method such as adhesion,
proposed in this research and follows a coding scheme cohesion or mechanical joining
such as binary/hexadecimal numbers to cover all the (5) Exposure environment of the product
aspects of product life cycle. (6) Disposal procedure of the product
64 W.A. Khan and A. Hussain

The coding system mainly encompasses (6) Exposure to thermal radiation


(7) Exposure to toxic environment
(1) Design attributes (8) Exposure to stress conditions
(2) Manufacturing attributes
(3) Assembly attributes The disposal attributes cover
(4) Exposure (usage) attributes
(5) Disposal attributes (1) Disassembly
(2) Reuse
The design attributes cover (3) Recycling
(4) Waste disposal
(1) Basic shape
● 2D modelling
● 3D modelling 3. Use of binary numbers for generating product life
● Wireframe modelling cycle code
● Surface modelling Each product or each component of the product has 256 bits
● Solid modelling in its PLCC. Each attribute category has bits for fixed
(2) Object primitives attributes and bits for user-defined attributes for flexibility.
(3) Form features In user-defined attributes, users can set the attribute value
(4) Box volume based on their needs or based on attributes that do not exist
(5) Precision in the system-defined attributes. Table 1 shows the division
(6) Material of 256 bits in PLCC.

The manufacturing attributes cover 3.1. Bit mapping


Each bit in the product or component code directly corre-
(1) Bulk deformation processes sponds to an attribute in a particular attributes category.
(2) Sheet metal-forming processes The bit mapping starts from the most significant bit in the
(3) Metal-removal processes 256-bit overlay. Tables 2–6 show the bit mapping of each
(4) Metal-joining processes category of product life cycle attributes.
(5) Metal properties modification process
(6) Thermal properties modification processes
(7) Surface properties modification processes 3.1.1. Design attributes bit mapping
(8) Processing of polymers and reinforced plastics The first 36 most significant bits are designated to the
(9) Processing of metal powder, ceramics, glasses, design attributes. Of these, 12 bits are fixed attributes
composites and super conductors while the rest of the 24 bits are left for the user to define
(10) Fabrication of micromechanical and microelec- the additional attributes if required. A description of bit
tronic devices allocation for design attributes is given in Table 2.
(11) Non-conventional processes
The assembly attributes cover 3.1.2. Manufacturing attributes bit mapping
A total of 144 bits that adjoin the design attributes bits are
(1) Cohesion designated for manufacturing attributes. Of these, 93 bits
(2) Adhesion
(3) Interference Table 1. Division of 256 bits.
(4) Mechanical joining methods
Attribute category Predefined User-defined Attribute total
name code bits code bits bits
The exposure attributes cover the product exposure envir-
onment as well as other conditions such as fatigue and Continent 4 0 4
Country 4 0 4
creep. Other exposure conditions are Design 12 24 36
Manufacturing 93 51 144
(1) Atmospheric condition Assembly 3 13 16
(2) Exposure to matter (liquid, gases and solids) Exposure 8 24 32
(3) Exposure to liquids of varying pH Disposal 4 16 29
Product life cycle code product or component 256
(4) Exposure to radiation code total bits
(5) Exposure to electroweak forces
International Journal of Computer Integrated Manufacturing 65

Table 2. Design attributes mapping. Table 3. (Continued).


Bit sequence Design attribute name Bit
1 Basic shape sequence Manufacturing attribute name
2 2D modelling 37 Gas welding Arc welding consumable
3 Wire frame modelling electrodes
4 Surface modelling 38 Arc welding non-consumable electrodes
5 Object primitive 39 High-energy beam welding
6 Form features 40 Fusing welding
7 Box volume 41 Cold welding
8 Precision 42 Ultrasonic welding
9 3D modelling 43 Friction welding
10 Wire frame 44 Resistance welding
11 Surface modelling 45 Explosion welding
12 Sold modelling 46 Diffusion bonding
13–36 User-defined attributes 47 Adhesive bonding
48 Joining plastics
49 Joining ceramics
50 Joining glass
51 Semi-permanent metal joining
52 Threaded fastener
53 Rivets
Table 3. Manufacturing attributes mapping. 54 Metal stitching or stapling
55 Seaming
Bit 56 Crimpling
sequence Manufacturing attribute name 57 Snap in fastener
1 Metal-forming process 58 Shrink and press fit
2 Expandable mould, permanent pattern 59 Thermal properties modification process
3 Expandable mould, expandable pattern 60 Annealing
4 Permanent mould 61 Normalising
5 Melting furnaces 62 Water quenching
6 Bulk deformation process 63 Austempering
7 Forging 64 Tempering
8 Rolling 65 Age hardening
9 Extrusion 66 Surface properties modification processes
10 Drawing 67 Surface cleaning buffing and polishing
11 Swaging 68 Shot peering grit blasting
12 Sheet metal-forming process 69 Induction heating/flame heating for stress
13 Shearing relieving
14 Bending 70 Quench hardening
15 Stretch forming 71 Case hardening procedures
16 Bulging 72 Conversion coating
17 Rubber forming 73 Costing
18 Hydro forming 74 Electrolytic processing anodising
19 Spinning 75 Processing of polymers and reinforced plastic
20 High-energy rate forming 76 Plastic
21 Super plastic forming 77 Extrusion
22 Deep drawing 78 Injection moulding
23 Metal-removal process 79 Blow moulding
24 Long chip process 80 Rotational moulding
25 Turning 81 Thermo compression moulding
26 Milling 82 Transfer moulding
27 Drilling 83 Casting
28 Boring 84 Cold forming
29 Shaping 85 Solid phase forming
30 Planning 86 Polymer matrix-reinforced plastic
31 Non-chip process 87 Moulding
32 Grinding 88 Filament winding
33 Metal-joining process 89 Pultrusion
34 Permanent metal joining 90 Pulforming
35 Soldering 91 Fabrication of micro mechanical
36 Brazing 92 Non-conventional process
93 Continuous manufacturing process
(continued ) 94–144 User-defined attributes
66 W.A. Khan and A. Hussain

Table 4. Assembly attributes mapping. Table 6. Disposal attributes mapping.

Bit sequence Assembly attribute name Bit sequence Disposal attribute name
1 Cohesion 1 Disassembly
2 Interference 2 Recycling
3 Adhesion 3 Reuse
4–16 User-defined attributes 4 Waste disposal
5–20 User-defined attributes

Table 5. Exposure attributes mapping. 3.1.3. Assembly attributes bit mapping


Sixteen bits are allocated to assembly attributes. These bits
Bit sequence Exposure attribute name join manufacturing attributes bits on the right-hand side.
1 Atmospheric condition Of these, 3 bits are fixed assembly attributes while the
2 Exposure to liquid of varying pH remaining 13 bits are left for user-defined assembly attri-
3 Exposure to electroweak forces butes. Please note that the mechanical joining methods are
4 Exposure to toxic environment
covered in manufacturing attributes. Table 4 describes the
5 Exposure to matter (liquid, gases and solids)
6 Exposure to radiation bit allocation for assembly attributes.
7 Exposure to thermal radiation
8 Exposure to stress conditions
9–32 User-defined attributes 3.1.4. Exposure attributes bit mapping
Following the assembly attributes bit mapping, the expo-
sure attributes bits are earmarked on the right side of the
are designated as fixed manufacturing attributes while the assembly attributes bits. A total of 32 bits are allocated for
rest of the 51 bits can be used for user-defined manufac- this purpose. Of these, 8 bits define the fixed attributes
turing attributes. A description of the bit allocation for while the other 24 bits are allocated to user definition.
manufacturing attributes is shown in Table 3. Table 5 depicts the bits allocation for exposure attributes.

Figure 2. Basic architecture of PLCC generation software.


International Journal of Computer Integrated Manufacturing 67

Figure 3. Add Component Code and Set Component Code sequence diagram.

3.1.5. Disposal attributes bit mapping for the description and design of functional software.
Disposal attributes bits are the 20 least significant bits in UML helps to design and describe software functionality
the 256-bit outlay. The 4 leftmost bits in this category are by providing several representations or diagrams. The
system defined while the other 16 bits are left for user general flow of the software can be shown by using
designation. A description of these bits allocation is pro- UML flow charts. The sequence of events and messages
vided in Table 6. can be defined by UML sequence diagrams. The human
interaction and response of the software is defined by
UML use case diagrams. The static structure of object-
4. Object-oriented design for product life cycle code oriented classes and its methods, properties and inheri-
This section presents the tier 1 PLCC software develop- tance can be easily defined by using UML static class
ment. Object-oriented analysis and design techniques are diagrams (Chang, Tsai, and Hsiung 2004). The PLCC
used to accomplish this task. Object-oriented analysis and generation software comprises seven classes. In the fol-
design practices utilise unified modelling language (UML) lowing, each UML diagram is discussed to provide
68 W.A. Khan and A. Hussain

Figure 4. Add Product Code and Set Product Code sequence diagram.

information on the product life cycle software’s internal country and also enter the name of the component and
and external functionality in complete detail. press the ‘add component’ button. After creating the new
The PLCC generation software is designed and built component, the user can set the value of each attribute by
using object-oriented methodology. The basic architecture checking its value as true or false and change the caption
of the programme is given in Figure 2. of the user-defined attributes. Form1 class represents the
The following sections describe the UML description application–user interface. ComponentGrid class is the
of PLCC. The sequence of events for creating new com- user control that represents the attributes component
ponent code and setting component code values is pro- code. GetData class represents the data access layer for
vided in the UML sequence diagram shown in Figure 3, database functionality.
which clarifies the communication sequence. A complete The sequence of events for creating a new product
product code consists of 256 digits and multiple compo- code and setting product code values is provided in the
nent codes. A product code can be created by adding one UML sequence diagram shown in Figure 4. To create a
or more components. The component code must be cre- product code, the user must select the continent and coun-
ated in advance before creating the product code. To create try and also enter the product name and select one or more
a component code, the user must select the continent and components. After creating the new product, the user can
International Journal of Computer Integrated Manufacturing 69

Figure 5. Add Component Code use case diagram.

set the value of each attribute by checking its value as true Table 7. Summary description of Add Component Code use
or false. Form1 class represents the application–user inter- case.
face. ComponentGrid class is the user control that repre-
Use-case summary
sents the attributes component code. CodeGrid represents
the product code and may have one or more instances of Use-case ID UC-1
the ComponentGrid class. GetData class represents the Use-case name Add Component Code
data access layer for database functionality. Actors User
Description The user selects continent name,
The UML use case diagram is used to present the country name and enters component
sequence of actions between the external system or actor name to create new component code
and software internal system. Figure 5 shows the PLCC Preconditions Continent and countries must be on
Add Component Code use case diagram; a summary of database
Figure 5 is listed in Table 7. Post-conditions The same component name should not
be already in database
Figure 6 shows the PLCC Update Component Code use System parameters Path of local database
case diagram; a summary of Figure 6 is listed in Table 8. Success scenario Created component code
Figure 7 shows the PLCC Add Product Code use case Alternative scenario Inform user to select continent and
diagram; a summary of Figure 7 is listed in Table 9. country if these are not already
Figure 8 shows the PLCC Update Product Code use selected
Priority High
case diagram; a summary of Figure 8 is listed in Table 10.
The UML class diagram presents the static structure of
classes that describes the functionality of a system by
showing the class attributes, operations, methods, proper- Table 17 shows the summary description of the flow
ties and the relationships between the classes. Figure 9 chart provided in Figure 12.
shows the PLCC UML static class, and Tables 11–14 Table 18 shows the summary description of the flow
show the summary description of Figure 9. chart provided in Figure 13.
The UML flow charts present the step-by-step process
of a system or software to clarify its core functionality.
Figures 10–13 show the PLCC flow charts, and 5. Operation of product life cycle code generation
Tables 15–18 list the summary descriptions of the flow software
charts. Establishing the component or PLCC by using the PLCC
Table 15 shows the summary description of the flow application is a simple process. PLCC has two main tabs:
chart provided in Figure 10. Component and Product. The Component tab deals with
Table 16 shows the summary description of the flow creating the new component, deletion of the existing com-
chart provided in Figure 11. ponent, listing the component and setting the component
70 W.A. Khan and A. Hussain

Figure 6. Update Component Code use case diagram.

Table 8. Summary description of Update Component Code use case.

Use-case summary
Use-case ID UC-2
Use-case name Set Component Code
Actors User
Description The user selects component code attribute to change component code
Preconditions Component must be created in advance before setting its code
Post-conditions User must change attribute values by checking box
System parameters Path of local database
Success scenario Code is updated and shown on component grid
Alternative scenario Component grid does not show updated code
Priority High

Figure 7. Add Product Code use case diagram.


International Journal of Computer Integrated Manufacturing 71

Table 9. Summary description of Add Product Code use case.

Use-case summary
Use-case ID UC-3
Use-case name Add Product Code
Actors User
Description The user creates a new product code by selecting continent, country,
product name and one or more components
Preconditions Components must be created in advance before creating a new product
Post conditions User must select ‘save product’ to save product code
System parameters Path of local database
Success scenario Default product code shown on product grid
Alternative scenario Product grid does not show default product code
Priority High

Figure 8. Update Product Code use case diagram.

Table 10. Summary description of Update Product Code use case.

Use-case summary
Use-case ID UC-4
Use-case name Set Product Code
Actors User
Description User sets product code values after creating a product
Preconditions Product must be created in advance before setting its code
Post-conditions User must select ‘save product’ to save product code changes
System parameters Path of local database
Success scenario Updated product code shown on product grid
Alternative scenario Product grid does not show updated product code
Priority High

code, while the Product tab deals with adding components The Component subtab has three additional tabs: the
to the product, creating the product, product listing and Component tab for creating a new component, the
setting the product code. Components List for listing the existing component with
72 W.A. Khan and A. Hussain

Figure 9. Product life cycle static classes.

codes and the Component Code tab used to set the com- database, and it can also be printed. Figure 15 shows the
ponent code. Figure 14 shows the Component tab with Component List tab.
which a new component can be created by entering the Component code values can be set from the
component name, selecting the component continent and Component Code tab. Component code attributes are
country and finally pressing the Add Component button. divided into five main attribute categories that are directly
From the Components List tab, the existing compo- mapped using five tabs. Figure 16 shows the Component
nent with the value for current codes can be viewed. The Code tab, and the Exposure Attribute category is selected.
component must be selected to view its code value. The From this attributes tab, the code value can be set to 1 or
selected component can be deleted from the PLCC 0. By default, all of the code values from any attribute
International Journal of Computer Integrated Manufacturing 73

Table 11. Summary description of Form1 class.

Class summary
Class ID 1 Namespace Code
Class name Form1 Class type User Interface (Windows Form)
Is base class? No No. of inherited 0
classes:
Inherited from Form Interfaces with None
Method name Return Type Access modifier Description
Form1 Void Public Constructor of class
GetComponentIDByComponentName String Private Returns component ID by matching the component name
GetContinentCodeByContinentID String Private Returns continent code by matching continent ID
GetCountryCodeByCountryID String Private Returns country code by matching country ID
InitialisedComponent Void Public Initialise all objects of this class
LoadContinent Void Private Load all continents in combo box
UpdateAssemblyCode Void Private Set the product assembly code text box
UpdateComponentAssemblyCode Void Private Set the component assembly code text box
UpdateComponentDesignCode Void Private Set the component design code text box
UpdateComponentDisposalCode Void Private Set the component disposal code text box
UpdateComponentExposureCode Void Private Set the component disposal code text box
UpdateComponentList Void Private Refresh all components in list from database
UpdateDesignCode Void Private Set the product design code text box
UpdateDisposalCode Void Private Set the product disposal code text box
UpdateExposureCode Void Private Set the product exposure code text box
UpdateFullComponentList Void Private Load all components in combo box
UpdateManufacturingCode Void Private Set the product manufacturing code text box
UpdateProductList Void Private Refresh all products in list from database

Table 12. Summary description of CodeGrid class.

Class summary
Class ID 2 Namespace Code
Class name CodeGrid Class type User Control
Is base class? No No. of inherited classes 0
Inherited from UserControl Interfaces with None
Method name Return Type Access modifier Description
AddComponentGrid Void Public Add ComponentGrid object in CodeGrid
CodeGrid Void Public Constructor of class
GetNextLocation Int Private Find the location where next ComponentGrid place on CodeGrid
IntialisedComponent Void Public Initialise all objects of this class
RemoveAllComponentGrid Void Pubic Removes all ComponentGrid objects from CodeGrid

Table 13. Summary description of CheckBoxCollection class.

Class summary
Class ID 3 Namespace Code
Class name CheckBoxCollection Class type Internal
Is base class? No No. of inherited classes 0
Inherited from Interfaces with None
Method name Return type Access modifier Description
AddCheckBox Void Public Add CheckBox control in CheckBox collection
GetCheckBox Checkbox Public Return CheckBox control from CheckBox collection

category are set to 0. To change the code value, the check- The addition of a new product and setting product
box of a particular attribute must be selected or checked, code can be done from the main Product tab. The main
and this checkbox converts the code from 0 to 1. The user- Product tab has three additional subtabs: the Product sub-
defined attribute values can also be changed by right- tab for creating the new product, the Product Lists subtab
clicking on the required attribute. for listing the existing product with codes and details of
74 W.A. Khan and A. Hussain

Table 14. Summary description of ComponentGrid class.

Class summary
Class ID 4 Namespace Code
Class name ComponentGrid Class type User control
Is base class? No No. of inherited classes 0
Inherited from User Control Interfaces with None
Method name Return Type Access modifier Description
ComponentGrid Void Public Constructor of the class
Dispose Void Public Clean the system memory from dead Component Grid objects
GetCaption String Public Return the component grid caption
Initialised Component Void Public Initialise all objects of this class
SetAssembly Void Public Set the component code assembly text box
SetCaption Void Public Set the component code caption
SetContinent Void Public Set the component code continent text box
SetCountry Void Public Set the component code country text box
SetDesign Void Public Set the component code design text box
SetDisposal Void Public Set the component code disposal text box
SetExposure Void Public Set the component code exposure text box

Figure 10. Add Component Code flow chart.


International Journal of Computer Integrated Manufacturing 75

Figure 11. Set Component Code flow chart.

components from which this product was built and the From the Product List subtab, the existing product
Product Code subtab used to set the product code. with current code values and components can be viewed.
Figure 17 shows the Product subtab, where the new pro- The product must be selected to view its code value. The
duct can be created by entering the product name, select- selected product can be deleted from the PLCC database,
ing the product origin continent and country, adding the and it can also be printed. Figure 18 shows the Product
components and finally pressing the Add Product button. Lists subtab.
76 W.A. Khan and A. Hussain

Figure 12. Add Product Code flow chart.


International Journal of Computer Integrated Manufacturing 77

Figure 13. Set Product Code flow chart.

Product code values can be set from the Product Code checked, and this checkbox converts the code from 0 to 1.
subtab. Product code attributes are divided into five main User-defined attribute values can also be changed by right-
attribute categories that are directly mapped with five tabs. clicking on the required attribute.
One of the main attribute categories ‘Manufacturing The aforementioned principle is applied to generate
Attribute’ is further divided into eight submanufacturing PLCC for a ‘Refrigerator’. Refrigerator is a multi-compo-
categories. Figure 19 shows the Product Code subtab, and nent product. PLCC can be used to generate a code for
the Manufacturing Attribute category is selected. From the components. All the components used in the Refrigerator
attributes tab, the code value can be set to 1 or 0. By must be considered. Figure 13 shows the process of creat-
default, all of the product code values from any attribute ing component and setting component attribute values. In
category are set to 0. To change the product code value, Figure 14, the component ‘Condenser’ for the Refrigerator
the checkbox of a particular attribute must be selected or product originated in Afghanistan. Asia is being created.
78 W.A. Khan and A. Hussain

Table 15. Summary description of Add Component Code flow chart.

Flow chart summary


Flow chart ID FC-P1
Flow chart name Add Component Code Flow Chart
No. of inputs 3
No. of processes 3
No. of outputs 1
No. of control decisions 4
Input name Description
Check component name User must enter component name to add new component
Continent name is selected User must select one continent name to create component
Country name is selected User must select one country name to create component
Check for component name Check component name in database to avoid duplicate name
Generate default code Generate default component code
Insert component name Insert component in database
Update component grid Update component grid with default code

Table 16. Summary description of Set Component Code flow chart.

Flow chart summary


Flow chart ID FC-P2
Flow chart name Set Component Code Flow Chart
No. of inputs 4
No. of processes 13
No. of outputs 4
No. of control decisions 2
Input name Description
Component is selected Component is selected for setting its code?
Change attribute Attribute is changed?
Get attribute number If attribute is changed, get its number for reference
Attribute is checked Checkbox is checked or not
Change attribute array If checkbox is checked mark attribute with 0
Change attribute array If checkbox is not checked mark attribute with 1
Save component code Save changes of component code
Selection of component Select component from component list
Get component code information Get selected component information from database
Update continent code box Change continent with selected component continent
Update country code box Change country with selected component country
Update assembly code box Change assembly with selected component assembly
Update exposure code box Change exposure with selected component exposure
Update disposal code box Change disposal with selected component disposal
Update design code box Change design with selected component design

Figure 15 shows the list of components that PLCC has. In has full information of all the components and compo-
order to set the component code, select the component nents codes. After creating a product, PLCC can be set by
from the components list. Figure 15 shows how attributes setting the product attributes value, as shown in Figure 19.
can be set to generate a component code. Figure 16 shows As indicated by the PLCC generated for the refrigera-
how to set component attributes. tor, PLCC contains elaborate cradle-to-grave information
After creating all the required components, a product about the product as opposed to the product code supplied
can be created by adding available component, entering a by the manufacturer.
product name, selecting a continent and selecting a coun- The product life cycle schema presented here is applic-
try. Figure 17 shows how to add a new product comprising able to discrete products. The discrete products and com-
number of components. The product ‘Refrigerator’ is ponents considered here are all those products and
being created and it consists of various components, for components which are countable. Since the PLCC is
example, condenser, thermostat, capability tube and com- accessed through a website and there is a provision for
pressor. Figure 18 shows that the product ‘Refrigerator’ user-defined attributes, product information requirements
International Journal of Computer Integrated Manufacturing 79

Table 17. Summary description of Add Product Code flow chart.

Flow chart summary


Flow chart ID FC-P3
Flow chart name Add Product Code Flow Chart
No. of inputs 4
No. of processes 4
No. of outputs 2
No. of control decisions 5
Input name Description
Product name User must enter product name to create new product code
Continent name is selected User must select one continent name to create product
Country name is selected User must select one country name to create product
Product has component/s If product has multiple components
Selection of components If product has multiple components, then the user must select component/s
Get selected component code Get selected component code for product
Product name already in database Check for duplicate product name in database
Generate default product code Generate default product code
Insert component code Insert component and product code in database
Update product grid Update the product grid with default product code

Table 18. Summary description of Set Product Code flow chart.

Flow chart summary


Flow chart ID FC-P2
Flow chart name Set Product Code Flow Chart
No. of inputs 4
No. of processes 13
No. of outputs 4
No. of control decisions 2
Input name Description
Product is selected Product is selected for setting its code?
Change attribute Attribute is changed?
Get attribute number If attribute is changed, get its number for reference
Attribute is checked Checkbox is checked or not
Change attribute array If checkbox is checked, mark attribute with 0
Change attribute array If checkbox is not checked, mark attribute with 1
Save product code Save changes of product code
Selection of product Select product from product list
Get product code information Get selected product information from database
Update manufacturing code box Change manufacturing with selected product manufacturing
Update continent code box Change continent with selected product continent
Update country code box Change country with selected product country
Update assembly code box Change assembly with selected product assembly
Update exposure code box Change exposure with selected product exposure
Update design code box Change design with selected product design

can be edited as per the current state of the product coding of various kinds of products. These schemes
including start, middle and end of the product life cycle. encompass standards from ISO, IEC, DIN, ANSI, etc. A
Such changes may arise due to maintenance alteration or list of some of the ISO standards covering these products
an accident. A modified version of the PLCC generation is given as follows:
software can also be developed for products made out of
the continuous manufacturing processes. (1) ISO 6983-1 2009
Automation systems and integration – numerical
control of machines – program format and defi-
6. Comparison nitions of address words – part 1: data format for
As envisaged earlier, PLCC is applicable to all discrete positioning, line motion and controlling control
products, including the product and its components. There systems.
are several standardised schemes for the classification and (2) ISO 27769-1.2009
80 W.A. Khan and A. Hussain

Figure 14. Product life cycle code creating new component.

Figure 15. Product life cycle code components list.

Wood-based panels – wet process fibreboard – (4) ISO 9999-2.2009


part 1: classifications Assistive products for persons with disability –
(3) ISO 28941-1.2008 classification and terminology
Plastics – poly (phenylene ether) (PPE) moulding (5) IEC 81346-2.2009
and extrusion materials – part 1: designation Industrial systems, installations and equipment
systems and basis for specifications and industrial products – structuring principles
International Journal of Computer Integrated Manufacturing 81

Figure 16. Product life cycle code set component attributes.

Figure 17. Product life cycle code add new product.

and reference designations – part 2: classification Pumps – shaft sealing systems for centrifugal and
of objects and codes for classes rotary pumps
(6) ISO 16895-1.2008 (8) ISO 21049:2004
Wood-based panels – dry process fibre board – Guide for specification of product properties and
part 1: classifications classes – part 2: technical principles and guidance.
(7) ISO 21049:2008 (9) ISO 8068:2006
82 W.A. Khan and A. Hussain

Figure 18. Product life cycle code products list with components.

Figure 19. Product life cycle code set product attributes.

Lubricants, industrial oils and related products Lubricants, industrial oils and related products
(class L) – family T (turbines) – specifications (class L) – family H (hydraulic systems) – speci-
for lubricating oils for turbines fications for categories HH, HL, HM, HV and HG
(10) ISO/TS 23768.1.2011 (12) ISO/TS1339950:2007
Rolling bearings – parts library – part 1: refer- Cutting tool data representation and exchange –
ence dictionary for rolling bearings part 50: reference dictionary for reference sys-
(11) ISO 1156:2009 tems and common concepts
International Journal of Computer Integrated Manufacturing 83

Table 19. Features of PLCC as compared to other classification and coding systems.

General company product


Features ISO IEC classification PLCC
Scope Product specific Product specific Product specific Applicable to all discrete products
Origin of product Undefined Undefined Undefined Defined
Provision for change of Undefined Undefined Undefined Defined
hands/maintenance
Provision for user definition Undefined Undefined Undefined Defined
Design attributes Undefined Undefined Undefined Defined
Manufacturing attributes Undefined Undefined Undefined Defined
Assembly attributes Undefined Undefined Undefined Defined
Exposure attributes Undefined Undefined Undefined Defined
Disposal attributes Undefined Undefined Undefined Defined

(13) ISO/IEC TR 18001: 2004 no need to maintain the code repository locally or
Information technology – radio frequency identi- individually.
fication for item management – applications The manufacturers register their products at a central
requirements profiles. website that maintains PLCC worldwide in a repository.
Complete design and development of the website is the
The PLCC code can be compared with any unique major future work envisaged in this article. This will allow
product identification coding schemes such as ISO/IEC the industry to use the procedure for a product life cycle
7812-1, 1993, 15459-6 2007 and ISO 28219:2009. coding from cradle to grave. The appropriate technical
The major differences between the PLCC code and committee at the ISO can be contacted to amalgamate
other codes are this procedure for the PLCC generation of discrete
products.
● The PLCC code is not of fixed length in order to
provide a more flexible product coding scheme. The
PLCC code length can be in multiples of 256. 8. Conclusion
● The PLCC code contains product information and A product life cycle coding facility that may be operated
all the information related to the components that locally, regionally or internationally is envisaged. The
are used to build that product in a single PLCC algorithm presented here takes into account the design,
code. The PLCC product code itself is of 256 manufacture, exposure, disassembly and disposal attri-
length, and each component’s length is also butes. It provides an efficient method of storing informa-
256 and every product can contain multiple tion pertaining to each stage of the product life cycle. This
components. scheme is specifically helpful in the area of disassembly
● The PLCC code can also contain user-defined attri- and disposal while taking into consideration the design,
butes to provide a more adaptable coding scheme. manufacture and exposure of a product and thus contri-
The total number of user-defined bits is defined in butes to environmental protection through the optimal
Table 1. Any malfunction and subsequent mainte- selection of reuse, recycling or disposal.
nance can be logged. The manufacturers register their products at a cen-
● The PLCC country and city attributes provide a tral website that maintains a PLCC repository. The
globally unique code to each product. product is then floated in the market while carrying a
unique PLCC. At any stage during use to when the
Table 19 provides the features of PLCC as compared to product becomes non-functional, PLCC is decoded.
other classification and coding system. PLCC may be obtained from the PLCC repository or
from the product itself. The state of the product is
matched with the PLCC information, and a decision is
7. Future work made about the disassembly leading to reuse, recycling
A product life cycle coding facility can operate locally, or disposal.
regionally or internationally in order to provide a glob- PLCC as envisaged here is either in the form of a 256-
ally unique PLCC. A worldwide central PLCC reposi- bit binary code or a 64-bit hexadecimal code. Although
tory can be created and accessed from anywhere by the industry standard coding schemes for products are
using the Internet, as presented in Figure 1. This model shorter in length, these are also deficient in the number
insures the uniqueness of the PLCC code, and there is of aspects. The industry standard coding schemes only
84 W.A. Khan and A. Hussain

provide information related to the product, product model, Technology.” Proceeding 13th Annual Meeting and
product colour, product stock number, product batch num- Technical Conference, Cincinnati, OH.
Jianjun, Y., J. Baiyang, G. Yifeng, D. Jinxiang, and L.
ber, retail location, etc. It does not contain information
Chenggang. 2008. “Research on Evaluation Methodologies
related to the components of which the product is com- of Product Life Cycles Engineering Design (LCED) and
posed of or the components/product attributes informa- Development of its Tools.” International Journal of
tion. On the other hand, PLCC provides the basic Computer Integrated Manufacturing 21 (8): 923–942.
product data as well as the life cycle data. Kalpakjian, S., and Schmid, S. R. 2003. Manufacturing
Processes for Engineering Materials. 4th ed. Upper Saddle
Code generation from PLCC does not only generate
River, NJ: Pearson Education.
unique product code but the code also has all the compo- Lee, H. M., W. F. Lu, B. Song, Z. Shen, Z. Yang, and R. K. L.
nents information used to create that product and attributes Gay. 2007. “A Framework for Integrated Manufacturing and
information such as continent, country, design, manufac- Product Service System: Integrating Service Operations Into
turing, assembly, exposure and disposal attributes within a Product Life Cycle.” International Journal of Services
operations and Informatics 2 (1): 81–101.
product code. PLCC also has the feature that users can use
Malarkey, L. D., 1986. “Process Planning Systems as the CIM
to create their own attribute data in order to make the Integrator.” In Integrated and Intelligent Manufacturing.
product code more informative. Winter Annual Meeting of the American Society of
Mechanical Engineers. Anaheim, CA, 407–412.
Mitrofanov, S. P. 1966. Scientific Principles of Group
References Technology: English Translation. Washington, DC:
Bedworth, D. D., M. R. Henderson, and P. M. Wolfe. 1991. National Library of Sciences and Technology.
Computer Integrated Design and Manufacturing. Optiz, H. 1970. A Classification System to Describe Workpieces.
Singapore: McGraw Hill. Oxford: Pergmon Press.
Billo, R. E., R. Rucker, and D. L. Shunk. 1987. “Integration of a Ozdemirel, N. E., G. T. Mackulak, and J. K. Cochran. 1993.
Group Technology Classification and Coding System with “Technology Classification and Coding Scheme for Discrete
an Engineering Database.” Journal of Manufacturing Manufacturing Simulation Models.” International Journal of
Systems 6 (1): 37–45. Production Research 31 (3): 579–601.
Chang, H. K. C., R. Tsai, and C. Hsiung. 2004. “Application of Pahl, G., and W. Beitz. 1984. Engineering Design. London:
Object – Oriented UML Technique for Product Data Design Council.
Management: A Case Study in Steel Industry.” Penaranda, N., R. Mejia, R. Richardo, D. Romero, and A. Molina.
International Journal of Computer Applications in 2010. “Implementation of Product Life-Cycle Management
Technology 21 (3): 117–127. Tools Using Enterprise Integration Engineering and Action –
Chang, T. C., and R. A. Wysk. 1985. An Introduction to Automated Research.” International Journal of Computer Integrated
Process Planning Systems. Englewood Cliffs, NJ: Prentice Hall. Manufacturing 23 (10): 853–875.
Chattha, J. A., W. A. Khan, and B. M. Qureshi. 1998. Seo, K.-K., J.-H. Park, D.-H. Jang, and D. Wallace. 2002.
“Automatic Coding Facility for Product Life Cycle.” “Prediction of the Life Cycle Cost Using Statistical and
Proceedings R’99 – Recovery, Recycling, Re-integration Artificial Neural Network Methods in Conceptual Product
World Congress, Geneva. Design.” International Journal of Computer Integrated
Curran, R., G. Gomis, S. Castange, J. Butterfield, T. Edgar, C. Manufacturing 15 (6): 541–554.
Higgins, and C. McKeever. 2007. “Integrated Digital Soloja, V. B. 1969. Optimization of Group Technology Lines by
Design for Manufacture for Reduced Life Cycle Cost.” Methods Developed in the Institute of Machine Tool and
International Journal of Production Economics 109 Tooling in Belgrade: Group Technology – Proceedings of the
(1–2): 27–40. Intematona Seminar. Belgrade: Institute of Machine Tool and
Doi, K., M. Yoshimura, S. Nishiwaki, and K. Lzui. 2008. Tooling.
“Multiobjective Optimization Method for Life – Cycle Viswanathan, S., and V. Allada. 1999. “Framework for the
Design of Mechanical Products.” Proceedings of the ASME Flexible Grouping of Products for Disassembly.” Journal
International Design Engineering Technical Conferences and of Electronics Manufacturing 9 (1): 53–66.
Computers and Information in Engineering Conferences, Wang, W., and M. M. Tseng. 2010. “Economic Analysis of
DETC 2008 1 (1): Part B, 937–947. Product End-of-Life Strategies to Achieve Design for
Doi, K., M. Yoshimura, S. Nishiwaki, and K. Lzui. 2010. Sustainable Manufacturing.” In 5th International
“Multiobjective Optimization Method for Life – Cycle Conference on Responsive Manufacturing – Green
Design of Mechanical Products.” International Journal of Manufacturing, 2010 (ICRM 2010), Ningbo, January
Sustainable Engineering 3 (2): 81–94. 11 – 13, 268–272. Red Hook, NY: Curran Associates.
Flitcroft D. I., and G. O'Donnell. 2009. “Credit Card System and Wanyama, W., A. Ertas, H.-C. Zhang, and S. Ekwaro-Osire.
Method.” US patent US 7593896 B1; Orbis Patents Ltd. 2003. “Life-Cycle Engineering: Issues, Tools, and
Gunendran, A. G., and R. I. M. Young. 2010. “Methods for the Research.” International Journal of Computer Integrated
Capture of Manufacture Best Practice in Product Lifecycle Manufacturing 16 (4–5): 307–316.
Management.” International Journal of Production Research Zimmers Jr., E. W., S. Sharma, and A. F. Gould. 1978. “Group
48 (20): 5885–5904. Technology – Overview and Critique of Coding
Houtzeel, A., and B. Schilperoort. 1976. “A Chain Structured Techniques.” In Proceedings of the Spring Annual
Part Classification System (MICLASS) and Group Conference, May 1978, 266–275. Toronto, ON: AIIE.

You might also like