10
Identifying functional modules using generalized directed graphs: Definition and application Fei Gao a, *, Gang Xiao a , Timothy W. Simpson b a College of Computer Science & Technology, Zhejiang University of Technology, Hangzhou 310023, China b Industrial & Manufacturing Engineering, The Pennsylvania State University, University Park, PA 16802, USA 1. Introduction Today’s market is characterized by aggressive global competi- tion, widely varying customer needs, and distinct market segments. Advanced manufacturing capabilities and information technology allow many companies to respond rapidly to changing customer requirements. Under such circumstances, mass customization can be employed to gain a competitive advantage in the marketplace. Modular design is one of the key enabling technologies for mass customization [1]. Modular design tries to use as few modules as possible to assemble as wide a variety of products as possible [2].A challenge in modular design is identifying modules reasonably and effectively [3,4], and many researchers have investigated methods to identify and partition modules. Qualitative approaches to identify modules include, for example, the work by Eppinger et al. [5] who advanced a heuristic and interactive arithmetic for partitioning modules according to physical relationships between parts, which considers physical correlation conditions of structure modules. In contrast, Ulrich et al. [6,7] suggested that a module, identified from the function structure of a product, should be made up of similar sub-functions. Mistree et al. [8] stated that there were relationships between independent modules using several case studies and pointed out that the aim of modular design was to reduce the dependence between modules and to enhance their independence. Kusiak and Huang [9] pointed out that the influence of cost upon the performance of a product should be taken into account when partitioning modules, but they did not give a quantitative analysis model. Erixon et al. [10] advanced a method for module partitioning based on the concept of ‘‘module drivers’’. The foundation of the method was the module-indication-matrix, which was constructed by considering influence factors such as carry-over, technology push, product plan, technical specification, styling, upgrading, and recycling. The matrix provided a powerful qualitative reference for designers during module partitioning. Stone et al. [11] advanced a heuristic and qualitative method for identifying functional modules based on a function model of a product. Since some modules identified by the heuristic method overlapped, quantitative functional models were developed to judge which modules were more valuable to implement [12]. Kurtadikar et al. [13] identified function modules with respect to customer needs using a heuristic and qualitative method. With respect to quantitative analysis for identifying modules, Gu et al. [14,15] presented a method of module formation based on product life cycle. In their method, an interaction matrix was created for each design goal (i.e., each phase in the product life cycle), and then modules were clustered by interaction analysis according to these design goals. All the modules were manually balanced and synthesized to form the final modules. Pan et al. [16] investigated a method of module partitioning using fuzzy clustering. The method began with correlation rules, including customer requirements, function, geometry and physical correlations, and then an evaluation Computers in Industry 61 (2010) 260–269 ARTICLE INFO Article history: Received 16 June 2008 Received in revised form 14 September 2009 Accepted 18 September 2009 Available online 29 October 2009 Keywords: Design methodology Product development Generalized directed graph Conceptual design Product modeling ABSTRACT We extend traditional directed graphs to generalized directed graphs, making them capable of representing function structures as graphs. In a generalized directed graph, vectors are used to denote the edges, which are pairs of sub-function vertices connected by a relationship, and elements of the vectors indicate different types of flow (i.e., material, energy, or signal) on which sub-functions operate. Based on these definitions, we formalize the three heuristics proposed by Stone et al. into rules to identify functional modules in function structures: (1) sequential flow rule, (2) parallel flow rule and (3) flow transformation rule. The arithmetic for identifying functional modules based on these formalized rules is developed, and a computer-aided software tool is created to facilitate this process. Finally, the proposed approach is applied to a function structure for a power screwdriver, and the results compare favorably to those obtained using the three heuristics. ß 2009 Elsevier B.V. All rights reserved. * Corresponding author. Tel.: +86 571 85290535; fax: +86 571 85290668. E-mail address: [email protected] (F. Gao). Contents lists available at ScienceDirect Computers in Industry journal homepage: www.elsevier.com/locate/compind 0166-3615/$ – see front matter ß 2009 Elsevier B.V. All rights reserved. doi:10.1016/j.compind.2009.09.007

Identifying functional modules using generalized directed graphs: Definition and application

  • Upload
    fei-gao

  • View
    218

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Identifying functional modules using generalized directed graphs: Definition and application

Computers in Industry 61 (2010) 260–269

Identifying functional modules using generalized directed graphs:Definition and application

Fei Gao a,*, Gang Xiao a, Timothy W. Simpson b

a College of Computer Science & Technology, Zhejiang University of Technology, Hangzhou 310023, Chinab Industrial & Manufacturing Engineering, The Pennsylvania State University, University Park, PA 16802, USA

A R T I C L E I N F O

Article history:

Received 16 June 2008

Received in revised form 14 September 2009

Accepted 18 September 2009

Available online 29 October 2009

Keywords:

Design methodology

Product development

Generalized directed graph

Conceptual design

Product modeling

A B S T R A C T

We extend traditional directed graphs to generalized directed graphs, making them capable of

representing function structures as graphs. In a generalized directed graph, vectors are used to denote

the edges, which are pairs of sub-function vertices connected by a relationship, and elements of the

vectors indicate different types of flow (i.e., material, energy, or signal) on which sub-functions operate.

Based on these definitions, we formalize the three heuristics proposed by Stone et al. into rules to

identify functional modules in function structures: (1) sequential flow rule, (2) parallel flow rule and (3)

flow transformation rule. The arithmetic for identifying functional modules based on these formalized

rules is developed, and a computer-aided software tool is created to facilitate this process. Finally, the

proposed approach is applied to a function structure for a power screwdriver, and the results compare

favorably to those obtained using the three heuristics.

� 2009 Elsevier B.V. All rights reserved.

Contents lists available at ScienceDirect

Computers in Industry

journa l homepage: www.e lsevier .com/ locate /compind

1. Introduction

Today’s market is characterized by aggressive global competi-tion, widely varying customer needs, and distinct market segments.Advanced manufacturing capabilities and information technologyallow many companies to respond rapidly to changing customerrequirements. Under such circumstances, mass customization canbe employed to gain a competitive advantage in the marketplace.Modular design is one of the key enabling technologies for masscustomization [1]. Modular design tries to use as few modules aspossible to assemble as wide a variety of products as possible [2]. Achallenge in modular design is identifying modules reasonably andeffectively [3,4], and many researchers have investigated methods toidentify and partition modules.

Qualitative approaches to identify modules include, forexample, the work by Eppinger et al. [5] who advanced a heuristicand interactive arithmetic for partitioning modules according tophysical relationships between parts, which considers physicalcorrelation conditions of structure modules. In contrast, Ulrichet al. [6,7] suggested that a module, identified from the functionstructure of a product, should be made up of similar sub-functions.Mistree et al. [8] stated that there were relationships betweenindependent modules using several case studies and pointed outthat the aim of modular design was to reduce the dependence

* Corresponding author. Tel.: +86 571 85290535; fax: +86 571 85290668.

E-mail address: [email protected] (F. Gao).

0166-3615/$ – see front matter � 2009 Elsevier B.V. All rights reserved.

doi:10.1016/j.compind.2009.09.007

between modules and to enhance their independence. Kusiak andHuang [9] pointed out that the influence of cost upon theperformance of a product should be taken into account whenpartitioning modules, but they did not give a quantitative analysismodel. Erixon et al. [10] advanced a method for modulepartitioning based on the concept of ‘‘module drivers’’. Thefoundation of the method was the module-indication-matrix,which was constructed by considering influence factors such ascarry-over, technology push, product plan, technical specification,styling, upgrading, and recycling. The matrix provided a powerfulqualitative reference for designers during module partitioning.Stone et al. [11] advanced a heuristic and qualitative method foridentifying functional modules based on a function model of aproduct. Since some modules identified by the heuristic methodoverlapped, quantitative functional models were developed tojudge which modules were more valuable to implement [12].Kurtadikar et al. [13] identified function modules with respect tocustomer needs using a heuristic and qualitative method.

With respect to quantitative analysis for identifying modules, Guet al. [14,15] presented a method of module formation based onproduct life cycle. In their method, an interaction matrix was createdfor each design goal (i.e., each phase in the product life cycle), andthen modules were clustered by interaction analysis according tothese design goals. All the modules were manually balanced andsynthesized to form the final modules. Pan et al. [16] investigated amethod of module partitioning using fuzzy clustering. The methodbegan with correlation rules, including customer requirements,function, geometry and physical correlations, and then an evaluation

Page 2: Identifying functional modules using generalized directed graphs: Definition and application

F. Gao et al. / Computers in Industry 61 (2010) 260–269 261

model for module partition scheme was developed based oninformation entropy by considering factors such as assembly, cost,and maintenance. Gao et al. [17] focused on a method forpartitioning modules based on customer needs. McAdams et al.[18] introduced a new quantitative matrix method to identifycommon assembly modules within a group of related products.Kreng and Lee [19] proposed a QFD-based approach to clusterstructural modules using linear integer programming. Finally, Seunget al. [20] presented a methodology for identifying commonmodules within a product family using fuzzy c-means clustering.

Most of these methods are at a structural level and are suitablefor re-design (e.g., [5,8–10,14–16,18,19]), while others (e.g.,[6,7,11,13,17,20]) are at a functional level and are suitable forboth re-design and new product design. Significant advantages,such as reducing product development time and costs, can beobtained if modularity is identified and exploited in the initialconceptual or reverse reengineering effort [21]. However, asystematic technique for clustering function elements and defininginteractions in identifying functional modules is a challenge formodular design [11]. Mathematically modeling function structuresand formalizing heuristics to support computer-aided modulardesign, and ultimately computer-aided conceptual design, isconsequently the focus in this paper. In particular, we extendtraditional directed design to introduce a new generalized directedgraph to support module identification, and then a computer-aidedmethodology for identifying functional modules at a functionallevel is investigated by extending the heuristics proposed by Stoneet al. [11] based on the generalized directed graph.

2. Definition of generalized directed graph

2.1. Limitations of traditional directed graphs

Although a product’s function structure can be effectivelydescribed using graph theory, traditional directed graphs [22] have

Fig. 1. The function structure fo

two major limitations. First, an edge in a traditional directed graphonly indicates whether or not there is a connection between twovertices; however, there is no way to describe the type ofconnection. In a function structure, sub-functions are connected byenergy, material, or signal flows, none of which can be expressed ina traditional directed graph. Second, the traditional directed graphcannot describe conversion relationships between flows in afunction chain in a function structure. To model the functionstructure of a product, the traditional directed graph is extended toa generalized directed graph as follows.

The function structure for a power screwdriver was used as anexample for identifying functional modules using three heuristicmethods advanced by Stone et al. [11], as shown in Fig. 1. Tosupport computer-aided identifying functional modules, thefunction structure should be converted to a graph which can beunderstood by computer software. The directed graph is a goodtool to express the function structure as shown in Fig. 2. However,the types of flows are lost and the conversion of ‘‘electricity’’ to‘‘torque’’ after it passes through the sub-function ‘‘convert elect.to torque’’ cannot be expressed in Fig. 2. Also, the heuristicmethods proposed by Stone et al. [11] cannot be automaticallyapplied to the graph shown in Fig. 2. So, the traditional directedgraph should be extended to support expression of functionstructure and the heuristic rules proposed by Stone et al. [11] sothat computer-aided identification functional modules can befacilitated.

2.2. Generalized directed graph

Definition 1. A generalized directed graph (GDG) is defined as afour-element group G = <V, E, T, C>, where V is a nonempty setand V = {v1; v2; . . . ; vn}, vi is a vertex in G, i = 1, 2, . . ., n. E is a finiteset and E = {E1, E2, . . ., Em}, where Ei (i = 1, 2, . . ., m) is also anonempty finite set and named edge-vector, elements of the

r a power screwdriver [11].

Page 3: Identifying functional modules using generalized directed graphs: Definition and application

Fig. 2. Traditional directed graph according to Fig. 1.

F. Gao et al. / Computers in Industry 61 (2010) 260–269262

edge-vector are edges, let Ei = {ei1, ei2, . . ., eiq}. T is a nonempty set,which is the definition domain of edges. An element in T is often anatural number and each number indicates an edge type (inproduct function modeling, edge type is flow type, Fig. 3 shows

basic flow types for function structures), Ei� T and T ¼[mi¼1

Ei. C is a

mapping of order dual from E to V.

An example of a GDG is shown in Fig. 4, where T = {1, 2, 3, 4, 5},E = {{2}, {1, 3, 4}, {2, 5}, {5}}, V = {v1; v2; v3; v4; v5} and C is depictedin Fig. 4(b).

Definition 2. Given a GDG G = <V, E, T, C>, let v1; v2; . . . ; vkþ1 2 Vand k + 1 � n, where vi and viþ1 are vertices in Ei, the alternatesequence v1E1v2E2v3 . . . Ekvkþ1 is called the generalized chain (GC)from v1 to vkþ1, with v1 the start vertex and vkþ1 the end vertex, andk is the length of GC, distinctly, k � 1.

Fig. 3. Basic flows for function

In the example shown in Fig. 4, there are seven GCs as follows:

Definition 3. The number of edge-vectors starting from vertex vi iscalled the out-degree of vi and is denoted as d+(vi). The number of

structure modeling [18].

Page 4: Identifying functional modules using generalized directed graphs: Definition and application

Fig. 5. Schematic illustration for sequential flow rule.

Fig. 6. Schematic illustration for parallel flow rule.

Fig. 4. Example of a GDG. (a) A GDG and (b) mapping of order dual from E to V.

F. Gao et al. / Computers in Industry 61 (2010) 260–269 263

edge-vectors ending with vertex vi is called the in-degree anddenoted as d�(vi).

Definition 4. Generalized reachability (GRA) exists between ver-tices vi and v j if and only if

(1) There exists a GC between vertices vi and v j;(2) \k

i¼1

Ei 6¼? when the length of the GC is larger than 1, namely

k > 1.

Also, it can be defined that vi=v j is generalized reachable fromv j=vi.

Definition 5. If the end vertex of a GC is generalized reachablefrom the start vertex, then the chain is called a generalized reach-able chain (GRC); otherwise, it is a non-generalized reachablechain (NGRC). Distinctly, a GC the length of which is 1, is a GRC too.

According to Definition 5, the GC L3 from Fig. 4 is a NGRCbecause it satisfies {2} \ {2, 5} \ {5} = Ø. Provably, all other GCs inFig. 4 are GRCs.

Definition 6. Given a GDG, G = <V, E, T, C>, whereV = {v1; v2; . . . ; vn} and vertices in V are numbered with a subscriptaccording to their ascending order. A square matrix A = [aij]n�n iscalled the generalized adjacency matrix (GAM) of graph G, wherethe aij is defined as follows:

ai j ¼Eq; Eq is the nonempty edge-vector connecting vi and v j

F; There is no mapping from a nonempty vector to ½vi; v j�

3. Application of generalized directed graph

3.1. Rules for identifying functional modules

Based on the function analysis of 70 different products [11,23]and referring to the function independence rule [2,21], the

heuristics proposed by Stone et al. [11] can be summarized asthree qualitative rules for identifying functional modules asfollows:

(1) Sequential flow rule (SFR): Trace a flow of a function structureuntil the flow is transformed into another flow or is branched orexits the system boundary, then all the sub-functions that theflow passes through define a function module, as shown inFig. 5(a). Additional conditions should be satisfied as follows:(1) the flow enters only one sub-function and is thentransformed or branched but does not exit the product, thenthe sub-function should not be defined as a module, as shownin Fig. 5(b) and (2) if the flow passes through only one sub-function and then exits the product, the sub-function is amodule by itself, as shown in Fig. 5(c).

(2) Parallel flow rule (PFR): Trace a flow of a function structure untilthe flow branches out, and then each limb after the branchingpoint is handled according to SFR. This rule is shownschematically in Fig. 6, where the sub-functions encompassedby the dashed lines represent a module.

(3) Flow conversion rule (FCR): If a flow of material or energy isconverted to another form of material or energy after it passes

Page 5: Identifying functional modules using generalized directed graphs: Definition and application

Fig. 7. Schematic illustration for flow conversion rule.

F. Gao et al. / Computers in Industry 61 (2010) 260–269264

through a sub-function, three instances should be consideredas follows: (1) check for transmit or transport sub-functionsdownstream of the converted flow; if none exists, then theconversion sub-function is a module by itself, as shownschematically in Fig. 7(a); (2) if transmit or transport sub-functions exist without any other sub-functions between them,then the convert–transmit (transport) pair forms a module, asshown schematically in Fig. 7(b); (3) if other sub-functionsexist between the convert and transmit (transport) sub-functions and those intermediate sub-functions only operateon the converted flow (i.e., the object in the sub-function verb–object pair is the converted flow), then the conversion–transmission (transportation) chain forms a module, as shownschematically in Fig. 7(c).

To describe a function structure using a GDG, two virtualfunction vertices, v0 and vnþ1 indicating the start and end of theproduct, respectively, should be added to the GDG since thefunction structure always begins with the input flows (not sub-

Fig. 8. Steps for identifying functional modules using a GDG.

functions) and ends with output flows (not sub-functions). Oncethese have been added, and then Stone et al.’s three heuristics canbe formalized quantitatively as follows:

Rule 1: Given a GDG of a function structure, G = <V, E, T, C>, anda GRC v1E1v2E2v3 . . . Ekvkþ1. If k = 2 and vkþ1 ¼ vnþ1 and9 s2 E1 \ E2 and s 2 T, then v2 is a module by itself accordingto the flow s. If k � 3 and 9 s2

\ki¼1

Ei and s 2 T and s does notbranch, then {v1; v2; . . . ; vkþ1} forms a module according to theflow s.Rule 2: Given a GDG of a function structure G = <V, E, T, C> andits GAM is A and a vertex vi. Let d = d+(vi) and arrange thenonempty edge-vectors of aij (j = 1, 2, . . ., n) which are startingfrom vi in order such as E1, E2, . . ., Ed. If and only if d � 2 and9 s2

\di¼1

Ei and s 2 T, then vi can be judged as a branch point.After that, let each limb beginning with viE j(j = 1, 2, . . ., d) beacted on by Rule 1, but do not consider vertex vi when forming afunction module for each limb.Rule 3: Given a GDG G = <V, E, T, C> and a GCv1E1v2E2v3 . . . Ekvkþ1v1. If k = 2 and 9 s2 E2 and s 2 T and9 e2 E1 and s is converted from e, then v2 is a conversionmodule by itself. If k = 3 and 9 s2

\ki¼2

Ei and s 2 T and 9 e2 E1 ands is converted from e and s is transmitted or transported by v3,then {v2; v3} form a conversion–transmission-pair module. Ifk > 3 and 9 s2

\ki¼2

Ei and s 2 T and 9 e2 E1 and s is convertedfrom e and s is transmitted/transported by vk and vi

(2 � i � k � 1) only operates on s, then {v2; v3; . . . ; vk�1; vk} forma conversion–transmission-chain module.

3.2. Steps for identifying modules

The GDG and three quantifiable rules can now be applied toidentify functional modules within a product. We propose thethree step process shown in Fig. 8 to do this. Each step follows thefigure.

3.2.1. Step 1: Collect and arrange customer needs

As shown in Fig. 8, the first step is to collect customer needs, andthen arrange and map the needs to a design demand table. Sincethis is not the focus in this work, we refer the reader to Refs. [22,23]for more details and methods to facilitate this process.

3.2.2. Step 2: Function modeling

First, function analysis should be executed where the overallfunction is decomposed into several sub-functions connected bymaterial, energy or signal flows, culminating in a functionstructure. A function structure is composed of flows and sub-functions that are expressed in verb–object form and it can helpexpand the design solution space by making the most of abstractbase words when creating function structure [22,23]. In Fig. 3, leafnodes indicate usual flow descriptions, where the words after thecolon denote the branch according to the flow, for instance, thetorque is a branch of energy. In Fig. 9, leaf nodes indicate typicalsub-function descriptions, where the words after the colonindicate synonyms for each sub-function.

Page 6: Identifying functional modules using generalized directed graphs: Definition and application

Fig. 9. A sample of sub-function abstract descriptions [18].

Table 1Definition of vertices according to sub-functions in Fig. 10.

Vertices (V) Description

v0 System input

v1 Import hand

v2 Couple solid

v3 Secure Solid

v4 Separate solid

v5 Import h.f.

v6 Stop rot. ener.

v7 Rotate solid

v8 Dissipate force

v9 Allow rot. DOF

v10 Import solid

v11 Transmit force

v12 Store electricity

v13 Supply electricity

v14 Transmit electricity

v15 Actuate electricity

v16 Regulate electricity

v17 Convert elec. to torque

v18 Change torque

v19 Transmit torque

v20 Rotate solid

v21 Dissipate torque

v22 System output

F. Gao et al. / Computers in Industry 61 (2010) 260–269 265

Second, a GDG is employed to model the function structure. Allsub-functions in the function structure are numbered in order,where vi (i = 1, 2, . . ., n) indicates the ith sub-function. Virtualvertices v0 and vnþ1 are added to the GDG, where v0 indicates thesystem input vertex and vnþ1 indicates the system output vertex.All flows are numbered, including energy, material, and signalflows according to the order in which they appear in the functionstructure. Branches of flows are distinctively numbered, forinstance, torque and translation motion, which are mechanicalenergy branches of energy flow, are differently numbered as 1 and2, respectively. The GDG can be constructed after all sub-functionsand flows are numbered.

3.2.3. Step 3: Identifying functional modules

A computer-aided tool for identifying functional modules basedon these three rules has been developed, the development detailscan be found in the Appendix A.

Then, the flows and sub-functions are numbered and inputinto the computer-aided software. The three relationships ofonly-operation-on, conversion, and transmission/transportationare identified based on the following: (1) how does thealgorithm know that a flow is converted to another type offlow? (2) How does the algorithm know that a flow is onlyoperated on by a sub-function? And (3) how does the algorithmknow that a flow is transmitted/transported by a sub-function?Actually, the algorithm cannot auto-identify instances like that;therefore, designers should input the data about these threerelationships into the database (i.e., identify where the relation-ships of conversion, only-operation-on, or transmission/trans-

Fig. 10. The GDG created from th

portation can be found) before modules can be identified usingthe software. These relationships can be easily identifiedbecause they are very distinct when designers model thefunction structure.

Besides the flows, sub-functions and the relationships data,another important data that should be input as data is GAM, eachnonempty element aij of which is input into the database in arecord form like {i, j, edge-vector}. For example, as shown in Fig. 4,a13 = [1 3 4]T, then the input form is {1, 3, ‘‘{1, 3, 4}’’}. Once the datais entered, the software is used to identify functional modulesbased on the three rules.

4. Case study

To demonstrate the proposed process, we use the functionstructure model for a power screwdriver developed by Stone et al.[11] and shown in Fig. 1. First, all sub-functions and flows aredefined and numbered as vertices and edges as listed in Tables 1and 2, respectively. The resulting GDG for the power screwdriver isdepicted in Fig. 10.

e function structure model.

Page 7: Identifying functional modules using generalized directed graphs: Definition and application

F. Gao et al. / Computers in Industry 61 (2010) 260–269266

The GAM for Fig. 10, which is a sparse matrix, is given asfollows:

Table 3The relationships of only-operation-on.

Sub-function Flow only operated on

1(import hand) 2(hand)

5(import h.f.) 4(human force, h.f.)

12(store electricity) 8(electricity)

13(supply electricity) 8(electricity)

14(transmit electricity) 8(electricity)

17(convert elec. to torque) 8(electricity)

Table 4The relationships of conversion.

Flow being converted Sub-function Flow converted

8(electricity) 17(convert elec. to torque) 9(torque)

Table 2Definition of domain T of edges in Fig. 10.

Flow type T Description

Material flow 1 Bit

2 Hand

3 Screw

Energy flow 4 Human force (h.f.)

5 Relative rotation (rel.rot.)

6 React. force

7 Weight

8 Electricity

9 Torque

10 Heat

11 Noise

Signal flow 12 Manual use

13 Direction

14 On/off

Page 8: Identifying functional modules using generalized directed graphs: Definition and application

Table 5The relationships of transmission/transportation.

Sub-function Flow transmitted/transported

11(transmit force) 4(human force, h.f.)

14(transmit electricity) 8(electricity)

19(transmit torque) 9(torque)

Table 6Modules identified.

Flow Modules identified

in this paper

Modules identified

by Stone et al. [11]

1: bit {v2; v3} {v2; v3}

{v4} {v4}

{v19; v20; v21} {v19; v20; v21}

2: hand {v1; v2; v3; v4} {v1; v2; v3; v4}

3: screw {v7} {v7}

{v20} {v20}

4: h.f. {v2; v3; v4} {v2; v3; v4}

{v6; v7; v8; v9} {v6; v7; v8; v9}

{v11} {v11}

{v15} {v15}

6: react. force {v7; v8}

7: weight {v11}

8: elec. {v17; v18 ; v19} {v17; v18 ; v19}

{v12; v13 ; v14; v15; v16} {v12; v13 ; v14; v15; v16}

9: torque {v18; v19 ; v20; v21} {v18; v19 ; v20; v21}

Fig. 11. A computer-aided tool for identifying functional modules from GDG.

F. Gao et al. / Computers in Industry 61 (2010) 260–269 267

This matrix is input into the database and rendered in thesoftware. A screen shot showing how a GDG is visualized is given inFig. 11. In this case, the relationships of only-operation-on,conversion, and transmission/transportation are identified aslisted in Tables 3–5, respectively, and are also input into thedatabase.

The user then selects ‘‘identifying. . .’’ from the menu, and themodules shown in Table 6 are identified. There are two differentpoints: (1) although the sub-functions v7 (rotate solid) and v8

(dissipate force) are not identified as a module by Stone et al.[11], it is suggested that they should form a module accordingto SFR by the flow react. force; (2) the sub-function v11 (transmitforce) is a module by itself, which embodies the systematicnature of the rules as mentioned in Section 3.1. On thewhole, the result is consistent with those obtained by Stoneet al. [11].

5. Conclusion and future work

Quantitative methods to support functional module identifica-tion from function structures would benefit many designproblems. To help achieve this, the traditional directed graph isextended to create a generalized directed graph, which includesdefinitions for a generalized chain, generalized reachability, ageneralized reachable chain, and a generalized adjacency matrix.Based on these definitions, the module identification heuristicsproposed by Stone et al. [11] are formalized into three rules usingGDG. An arithmetic procedure for identifying functional modulesis investigated, and a computer-aided tool for identifyingfunctional modules is developed. Finally, the proposed approachis shown to be effective by identifying functional modules for apower screwdriver and comparing the results to those obtained bythe heuristics proposed by Stone et al. [11].

In the proposed approach, numbering flows and sub-functions,identifying the relationships of only-operation-on, conversion andtransmission/transportation, and constructing GAM are doneinteractively and input into the database through the softwareinterface. Then identification of functional modules and over-lapping modules can be done by the software, which has to be donemanually in the approach proposed by Stone et al. [11]. The timecomplexity of the arithmetic is O(mn) and since the number offlows, m, and the number of sub-functions, n, are not too large inmost instances of product development, the computationalexpense of the approach is relatively low.

Future research efforts will focus on improving the efficiency ofidentifying, numbering, and inputting flows and sub-functions intothe database with a given GDG. Also, graph grammars could be apowerful instrument to help improve the representation of GDG.How to judge which modules should be implemented as common

Page 9: Identifying functional modules using generalized directed graphs: Definition and application

Fig. 12. Data structure of GDG.

Fig. 14. The flowchart of the arithmetic of identifying functional modules based on a GDG.

Fig. 13. Arithmetic of identifying functional modules based on a GDG.

F. Gao et al. / Computers in Industry 61 (2010) 260–269268

Page 10: Identifying functional modules using generalized directed graphs: Definition and application

F. Gao et al. / Computers in Industry 61 (2010) 260–269 269

components or unique components or series components so as tosupport product family design is another open avenue of research.In addition, given several function models in a product family, howto identify common modules is also part of our ongoing work.

Acknowledgments

This work is being supported by the National Natural ScienceFoundation of China under Grant No. 50705087, the Project ofScience and Technology of Zhejiang Province, China under GrantNo. 2009C31110 and the Open Project Program of the State Key Labof CAD&CG (Grant No. A0903), Zhejiang University.

Appendix A

To develop a computer-aided tool for identifying functional

modules based on these three rules, the data structure in Fig. 12 is

developed for a GDG. Since the GAM of a GDG is usually a sparse

matrix, it is designed as the structure ‘‘GAM’’ as shown in Fig. 12 to

save memory space, where ‘‘nTotalNumber’’ indicates the total

number of the nonempty edge-vectors in the GAM, ‘‘nTotalRows’’

indicates how many rows the GAM has, and ‘‘nTotalCols’’ indicates

how many columns in the GAM. The data type of the array

‘‘vecs[MAX_VERTEX_NUM]’’ is ‘‘EdgeVector’’, which denotes a real

element of the GAM and is also a structure constructed from three

variables: ‘‘edge’’, ‘‘i’’, and ‘‘j’’. Using ‘‘i’’ and ‘‘j’’ together indicates that

the edge-vector describes the relationship between vertices vi and v j.

Since the number of an edge-vector is uncertain, the ‘‘edge’’ is

designed as a linked list ‘‘EdgeInfo’’ as shown in Fig. 12.

Based on the data structure and three quantifiable rules, the

arithmetic for identifying functional modules is developed as shown

in Fig. 13, and the detailed flowchart of the arithmetic is shown in

Fig. 14.

The software has been developed using Microsoft VB.NET 2003

based on Windows Advanced Server 2000. Microsoft SQL Server 2000

is the database used to store all the input and output data. Microsoft

Visio 2003 is also integrated into the software to help draw the GDG

(Fig. 11).

References

[1] B.J. Pine II, Mass Customization: The New Frontier in Business Competition,Harvard Business School Press, Boston, 1993.

[2] C.Y. Baldwin, K.B. Clark, Managing in an age of modularity, Harvard BusinessReview 75 (1997) 84–93.

[3] C.C. Huang, A. Kusiak, Modularity in design of product and systems, IEEE Transac-tion on Systems, Man and Cybernetics-Part A: Systems and Humans 28 (1) (1998)66–77.

[4] J.S. Smith, A.H.B. Duffy, Modularity in support of design for re-use, in: Interna-tional Conference on Engineering Design ICED 01, Glasgow, August 21–23, 2001.

[5] S.D. Eppinger, D.E. Whitney, G. Smith, Organizing the task in design projects, in:Proceedings of ASME second International Conference on Design Theory andMethodology, vol. 27, 1990, pp. 39–46.

[6] K. Ulrich, K. Tung, Fundamentals of product modularity, in: Proceedings of the1991 Winter Annual Meeting De, vol. 39, Atlanta, GA, 1991.

[7] K. Ulrich, The role of product architecture in the manufacturing firm, ResearchPolicy 24 (1995) 419–440.

[8] F. Mistree, W. Chen, D. Rosen, J.K. Alien, Modularity and the independence offunctional requirements in designing complex system, in: R. Gadh (Ed.), Con-current Product Design, DE-vol. 74, ASME, New York, 1994, pp. 31–38.

[9] A. Kusiak, C. Huang, Development of modular products, IEEE Transactions onComponents Packing and Manufacturing Technology—Part A 19 (4) (1996) 523–538.

[10] G. Erixon, A.V. Yxkull, A. Arnstrom, Modularity—the basis for product and factoryreengineering, Annals of the CIRP 45 (1) (1996) 1–6.

[11] R.B. Stone, K.L. Wood, R.H. Crawford, A heuristic method for identifying modulesfor product architectures, Design studies 21 (2000) 5–31.

[12] R.B. Stone, K.L. Wood, R.H. Crawford, Using quantitative functional models todevelop product architectures, Design studies 21 (2000) 239–260.

[13] R.M. Kurtadikar, R.B. Stone, M.V. Wie, D.A. McAdams, A customer needs motivatedconceptual design methodology for product portfolios, in: Proceedings of DETC‘04: ASME 2004 International Design Engineering Technical Conferences AndComputers and Information in Engineering Conference, Salt Lake City, UT, Sep-tember 28th–October 2nd, 2004.

[14] P. Gu, M. Hashemian, S. Sosale, An integrated modular design methodology forlife-cycle engineering, Annals of the CIRP 46 (1) (1997) 71–74.

[15] P. Gu, S. Sosale, Product modularization for life cycle engineering, Robotics andComputer Integrated Manufacturing 15 (1999) 387–401.

[16] S.X. Pan, F. Gao, P.E. Feng, Module partition method research under the circum-stances about mass customization, Chinese Journal of Mechanical Engineering 39(7) (2003) 1–6.

[17] F. Gao, G. Xiao, S.X. Pan, J.J. Chen, Y.M. Zhang, Research on method of productfunction module partition, Chinese Journal of Mechanical Engineering 43 (5)(2007) 29–35.

[18] D.A. McAdams, R.B. Stone, K.L. Wood, Functional interdependence and productsimilarity based on customer needs, Research in Engineering Design 11 (1999) 1–19.

[19] V.B. Kreng, T.P. Lee, QFD-based modular product design with linear integerprogramming—a case study, Journal of Engineering Design 15 (3) (2004) 261–284.

[20] K.M. Seung, S.R.T. Kumara, T.W. Simpson, Data mining and fuzzy clustering tosupport product family design, in: ASME Design Engineering Technical Confer-ences—Design Automation Conference, Philadelphia, PA, September 10–13, 2006,ASME, Paper No. DETC2006/DAC-99287.

[21] G. Pahl, W. Beitz, Engineering Design, Springer-Verlag, London, 1996.[22] K.H. Rosen, Discrete Mathematics and its Applications, 6th edition, McGraw-Hill

Higher Education, Boston, 2007.[23] R.B. Stone, K.L. Wood, R.H. Crawford, A heuristic method to identify modules from

a functional description of a product, in: ASME Design Engineering TechnicalConferences, Atlanta, Georgia, USA, 1998, DTM-5642.

Fei Gao received B.S. degree in mechanical design and

computer engineering and Ph.D. degree in mechanical

engineering from Zhejiang University, Hangzhou, Zhe-

jiang, China, in 1998 and 2004, respectively. He is

currently an Associate Professor of College of Informa-

tion Engineering at the Zhejiang University of Technol-

ogy and a visiting scholar in industrial engineering at

the Pennsylvania State University between November

1, 2007 and April 30, 2008. His current research

interests include CAD, design methodology, and pro-

duct family design, etc.

Gang Xiao received B.S. degree in chemical & mechan-

ical engineering from Zhejiang University of Technol-

ogy, Zhejiang, Hangzhou, China, in 1985, and the M.S.

degree in mechanical engineering from Tsinghua

University, Peking, China, in 1992. He is currently a

Professor of College of Information Engineering at

Zhejiang University of Technology, China. He is the

Director of Department of Human Resources, Zhejiang

University of Technology. His current interests include

intelligent information system, product modeling, and

CAD/CAM, etc.

Timothy W. Simpson received the B.S. degree in

mechanical engineering from Cornell University, Ithaca,

NY, in 1994, and the M.S. and Ph.D. degrees in

mechanical engineering from the Georgia Institute of

Technology, Atlanta, in 1995 and 1998, respectively. He

is currently a Professor of Mechanical and Industrial

Engineering and Engineering Design at the Pennsylva-

nia State University. He is the Director of the Product

Realization Minor, Pennsylvania State University, and

his research and teaching interests include product

family and product platform design, product dissection

and concurrent engineering, and visualization methods

to support design decision-making. Dr. Simpson is a member of the American

Society of Mechanical Engineers (ASME), the American Institute of Aeronautics and

Astronautics (AIAA), the Society of Automotive Engineers (SAE), and is an elected

member of the ASME Design Automation Executive Committee and the AIAA

Multidisciplinary Design Optimization Technical Committee.