Research Papers

A Generative Network Model for Product Evolution

[+] Author and Article Information
Qize Le

School of Mechanical and Materials Engineering,
Washington State University,
Pullman, WA 99164

Zhenghui Sha

School of Mechanical Engineering,
Purdue University,
West Lafayette, IN 47907

Jitesh H. Panchal

Assistant Professor
School of Mechanical Engineering,
Purdue University,
West Lafayette, IN 47907
e-mail: panchal@purdue.edu

1Corresponding author.

Contributed by the Design Engineering Division of ASME for publication in the JOURNAL OF COMPUTING AND INFORMATION SCIENCE IN ENGINNERING. Manuscript received October 9, 2012; final manuscript received October 23, 2013; published online January 10, 2014. Editor: Bahram Ravani.

J. Comput. Inf. Sci. Eng 14(1), 011003 (Jan 10, 2014) (12 pages) Paper No: JCISE-12-1178; doi: 10.1115/1.4025856 History: Received October 09, 2012; Revised October 23, 2013

Modeling the structure and evolution of products is important from the standpoint of improving quality and maintainability. With the increasing popularity of open-source processes for developing both software and physical systems, there is a need to develop computational models of product evolution in such dynamic product developments scenarios. Existing studies on the evolution of products involve modeling products as networks, taking snapshots of the structure at different time steps, and comparing the structural characteristics. Such approaches are limited because they do not capture the underlying dynamics through which products evolve. In this paper, we take a step toward addressing this gap by presenting a generative network model for product evolution. The generative model is based on different mechanisms though which networks evolve—addition and removal of nodes, addition and removal of links. The model links local network observations to global network structures. It is utilized for modeling and analyzing the evolution of a software product (Drupal) and a physical product (RepRap) developed by open source processes. For the software product, the generated networks are compared with the actual product structures using various network measures including average degree, density, clustering coefficients, average shortest path, propagation cost, clustered cost, and degree distributions. For the physical product, the product evolution is analyzed in terms of the proposed mechanisms. The proposed model has three general applications: longitudinal studies of a product's evolution, cross-sectional studies of evolution of different products, and predictive analyzes.

Copyright © 2014 by ASME
Your Session has timed out. Please sign back in to continue.


MacCormack, A., Rusnak, J., and Baldwin, C., 2012, “Exploring the Duality Between Product and Organizational Architectures: A Test of the “Mirroring” Hypothesis,”” Research Policy, 41(8), pp. 1309–1324. [CrossRef]
MacCormack, A., Rusnak, J., and Baldwin, G., 2006, “Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code,” Manage. Sci., 52(7), pp. 1015–1030. [CrossRef]
Steward, D. V., 1981, “The Design Structure System: A Method for Managing the Design of Complex Systems,” IEEE Trans. Eng. Manage., 78(3), pp. 71–74. [CrossRef]
Browning, T. R., 2001, “Applying the Design Structure Matrix to System Decomposition and Integration Problems: A Review and New Directions,” IEEE Trans. Eng. Manage., 48(3), pp. 292–306. [CrossRef]
Wynn, D. C., Kreimeyer, M., Clarkson, P. J., and Lindemann, U., 2012, “Dependency Modelling in Complex System Design,” J. Eng. Design, 23(10–11), pp. 715–718. [CrossRef]
Panchal, J., 2009, “Agent-based Modeling of Mass Collaborative Product Development Processes,” ASME J. Comput. Inf. Sci. Eng., 9(3), p. 031007. [CrossRef]
Le, Q., and Panchal, J. H., 2011, “Modeling the Effect of Product Architecture on Mass Collaborative Processes—An Agent-based Approach,” J. Comput. Inf. Sci. Eng., 11(1), p. 011003. [CrossRef]
Huang, H., Le, Q., and Panchal, J. H., 2011, “Analysis of the Structure and Evolution of an Open-Source Community,” ASME J. Comput. Inf. Sci. Eng., 11(3), p. 031008. [CrossRef]
Weber, S., 2004, The Success of Open Source, Harvard University Press, Cambridge, MA.
Pearce, J. M., 2012, “Building Research Equipment With Free, Open-Source Hardware,” Science, 337(6100), pp. 1303–1304. [CrossRef] [PubMed]
RepRap, 2013, “Build a RepRap.” Available at: http://reprap.org/wiki/Main_Page
Oxer, J., and Blemings, H., 2009, Practical Arduino: Cool Projects for Open Source Hardware, APress, New York, NY.
SourceForge, 2009, “SourceForge.net: Open Source Software.” Available at: http://sourceforge.net/
Drupal, 2011, “Drupal: Community Plumbing.” Available at: https://drupal.org.
Crowston, K., Wei, K., Howison, J., and Wiggins, A., 2008, “Free/Libre Open-Source Software Development: What we Know and What we do Not Know,” ACM Comput. Surv., 44(2), pp. 7:1–7:35. [CrossRef]
Turski, W. M., 1996, “Reference Model for Smooth Growth of Software Systems,” IEEE Trans. Software Eng., 22(8), pp. 599–600. Available at: http://dl.acm.org/citation.cfm?id=235686
Lehman, M. M., and Belady, L. A., eds., 1985, Program Evolution: Processes of Software Change, Academic Press Professional, Inc., San Diego, CA.
Cataldo, M., Herbsleb, J. D., and Carley, K. M., 2008, “Socio-Technical Congruence: A Framework for Assessing the Impact of Technical and Work Dependencies on Software Development Productivity,” Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM’08, ACM, pp. 2–11.
Hutchens, D. H., and Basili, V. R., 1985, “System Structure Analysis: Clustering With Data Bindings,” IEEE Trans. Software Eng., 11(8), pp. 749–757. [CrossRef]
Selby, R. W., and Basili, V. R., 1991, “Analyzing Error-Prone System Structure,” IEEE Trans. Software Eng., 17(2), pp. 141–152. [CrossRef]
Murphy, G. C., Notkin, D., Griswold, W. G., and Lan, E., 1998, “An Empirical Study of Call Graph Extractors,” ACM Trans. Softw. Eng. Methodol., 7(2), pp. 158–191. [CrossRef]
Gall, H., Hajek, K., and Jazayeri, M., 1998, “Detection of Logical Coupling Based on Product Release History,” Proceedings International Conference on Software Maintenance, pp. 190–198. Available at: http://dl.acm.org/citation.cfm?id=853338
Eick, S. G., Todd, L. G., Alan, F. K., Marron, J. S., and Mockus, A., 1999, “Does Code Decay? Assessing the Evidence From Change Management Data,” IEEE Trans. Software Eng., 27(1), pp. 1–12. [CrossRef]
Cataldo, M., Wagstrom, P. A., Herbsleb, J. D., and Carley, K. M., 2006, “Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools,” Proceedings of the 2006 20th Anniversary Conference on Computer Supported Cooperative Work, CSCW’06, ACM, pp. 353–362.
Godfrey, M., and Tu, Q., 2001, “Growth, Evolution, and Structural Change in Open Source Software,” Proceedings of the 4th International Workshop on Principles of Software Evolution, IWPSE’01, ACM, pp. 103–106. [CrossRef]
Milev, R., Muegge, S., and Weiss, M., 2009, “Design Evolution of an Open Source Project Using an Improved Modularity Metric,” Open Source Ecosystems: Diverse Communities Interacting, Vol. 299, C.Boldyreff, K.Crowston, B.Lundell, and A.Wasserman, eds., IFIP Advances in Information and Communication Technology, Springer, Berlin, Heidelberg, pp. 20–33. [CrossRef]
Sosa, M. E., Browning, T., and Mihm, J., 2007, “Studying the Dynamics of the Architecture of Software Products,” ASME 2007 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, No. DETC2007-34761.
MacCormack, A., Rusnak, J., and Baldwin, C., 2008, “The Impact of Component Modularity on Design Evolution: Evidence From the Software Industry,” Harvard University, Technical Report 08-038.
LaMantia, M., Cai, Y., MacCormack, A., and Rusnak, J., 2008, “Analyzing the Evolution of Large-Scale Software Systems Using Design Structure Matrices and Design Rule Theory: Two Exploratory Cases,” Seventh Working IEEE/IFIP Conference on Software Architecture, WICSA2008, pp. 83–92.
Pfleeger, S. L., and Atlee, J. M., 2009, Software Engineering: Theory and Practice. Prentice Hall, Upper Saddle River, NJ.
Huynh, S., and Cai, Y., 2007, “An Evolutionary Approach to Software Modularity Analysis,” Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques, ACoM’07, IEEE Computer Society, pp. 1–6.
Wen, H., D'Souza, R. M., Saul, Z. M., and Filkov, V., 2009, Evolution of Apache Open Source Software, Springer, New York, pp. 199–216.
Mockus, A., Fielding, R. T., and Herbsleb, J. D., 2002, “Two Case Studies of Open Source Software Development: Apache and Mozilla,” ACM Trans. Softw. Eng. Methodol., 11(3), pp. 309–346. [CrossRef]
Valverde, S., and Sole, R., 2003, “Hierarchical Small-Worlds in Software Architecture,” Santa Fe Inst. Working Paper SFI/03-07-044.
Raymond, E., 2001, “The Cathedral and the Bazaar,” Knowl., Technol. Policy, 12(3), pp. 23–49. [CrossRef]
O'Reilly, T., 1999, “Lessons From Open-source Software Development,” Commun. ACM, 42(4), pp. 33–37. [CrossRef]
Torvalds, L., 1999, “The Linux Edge,” Commun. ACM, 42(4), pp. 38–39. [CrossRef]
Robins, G., Pattison, P., Kalish, Y., and Lusher, D., 2007, “An Introduction to Exponential Random Graph (p) Models for Social Networks,” Soc. Networks, 29(2), pp. 173–191. [CrossRef]
Liang, G., and Yu.B., 2003, “Maximum Pseudo Likelihood Estimation in Network Tomography,” IEEE Trans. Acoust., Speech, Signal Process., 31(8), pp. 2043–2053. [CrossRef]
Snijders, T., 2002, “Markov Chain Monte Carlo Estimation of Exponential Random Graph Models,” J. Soc. Struct., 3(2), pp. 1–40.
Duke, C. B., Hopcroft, J. E., Arkin, A. P., Armstrong, R. E., Barabási, A. L., Brachman, R. J., Broome, N. L., Davis, S., De Millo, R. A., Hilsman, W. J., Leland, W. E., Malone, T. W., Murray, R. M., Pellicci, J., Silver, P. A., and Van Riper, P. K., 2007, Network Science: Report from the Committee on Network Science for Future Army Applications, The National Academies Press, Washington, D.C.
Barabasi, A. L., Albert, R., and Jeong, H., 2000, “Scale-Free Characteristics of Random Networks: The Topology of the World-Wide Web,” Phys. A: Statist. Mech. Appl., 281(1–4), pp. 69–77. [CrossRef]
Dorogovtsev, S. N., and Mendes, J. F. F., 2002, “Evolution of Networks,” Adv. Phys., 51(4), pp. 1079–1187. [CrossRef]
Krapivsky, P. L., Redner, S., Leyvraz, F., 2000, “Connectivity of Growing Random Networks,” Phys. Rev. Lett., 85(21), pp. 4629–4632. [CrossRef] [PubMed]
Tangmunarunkit, H., Govindan, R., Jamin, S., Shenker, S., and Willinger, W., 2002, “Network Topology Generators: Degree-Based Versus Structural,” SIGCOMM Comput. Commun. Rev., 32(4), pp. 147–159. [CrossRef]
Barabasi, A.-L., and Albert, R., 1999, “Emergence of Scaling in Random Networks,” Science, 286(5439), pp. 509–512. [CrossRef] [PubMed]
Banker, R. D., and Slaughter, S. A., 2000, “The Moderating Effect of Structure on Volatility and Complexity in Software enhancement,” Information Systems Research, 11(3), pp. 219–240. [CrossRef]
Rusovan, S., Lawford, M., and Parnas, D., 2004, Open Source Software Development: Future or Fad? Perspectives on Free and Open Source Software, MIT, Cambridge, MA.
Doxygen, 2011, “Generate Documentation From Source Code,” http://www.doxygen.org
Wasserman, S., and Faust, K., 1994, Social Network Analysis: Methods and Applications, Cambridge University, Cambridge.
Henry, S., and Kafura, D., 1981, “Software Structure Metrics Based on Information Flow,” IEEE Trans. Software Eng., SE-7(5), pp. 510–518. [CrossRef]
Sosa, M. E., Eppinger, S. D., and Rowles, C. M., 2007, “A Network Approach to Define Modularity of Components in Complex Products,” J. Mech. Des., 129(11), pp. 1118–1129. [CrossRef]
Wyatt, D. F., Wynn, D. C., and Jarrett, J. P., 2010, “Supporting Product Architecture Design Using Computational Design Synthesis With Network Structure Constraints,” Res. Eng. Des., 23(1), pp. 17–52. [CrossRef]
Newman, M. E. J., 2003, “The Structure and Function of Complex Networks,” SIAM Rev., 45(2), pp. 167–256. [CrossRef]
Marczyk, J., and Deshpande, B., 2008, Measuring and Tracking Complexity in Science, Unifying Themes in Complex Systems, A.Minai, D.Braha, and B-Y.Yaneer, eds., Springer Berlin Heidelberg, pp. 27–33. [CrossRef]
Giffin, M., deWeck, O., Buonova, G., Keller, R., Eckert, C., and Clarkson, P., 2009, “Change Propagation Analysis in Complex Technical Systems,” ASME J. Mech. Des., 131(8), pp. 081001. [CrossRef] [CrossRef] [CrossRef]
Girvan, M., and Newman, M. E., 2002, “Community Structure in Social and Biological Networks,” Proc. Natl. Acad. Sci. U.S.A., 99(12), pp. 7821–7826. [CrossRef] [PubMed]
Hyland-Wood, D., Carrington, D., and Kaplan, S., 2005, “Scale-Free Nature of Java Software Package, Class and Method Collaboration Graphs,” The 5th International Symposium on Empirical Software Engineering.
LaBelle, N., and Wallingford, E., 2004, “Inter-Package Dependency Networks in Open-Source Software.” Available at: http://arxiv.org/abs/cs/0411096
RepRap, 2013, “Prusa Mendel Solidworks 2007 Assembly,” http://reprap.org/wiki/FilePrusa_Mendel_Solidworks_2007_Assembly.zip
Sosa, M. E., Eppinger, S. D., and Rowles, C. M., 2004, “The Misalignment of Product Architecture and Organizational Structure in Complex Product Development,” Manage. Sci., 50(12), pp. 1674–1689. [CrossRef]
Sosa, M. E., 2008, “A Structured Approach to Predicting and Managing Technical Interactions in Software Development,” Res. Eng. Des., 19(1), pp. 47–70. [CrossRef]


Grahic Jump Location
Fig. 1

Six mechanisms for the evolution of product networks

Grahic Jump Location
Fig. 2

Probabilities of creation of links between new and existing nodes (mechanism (c))

Grahic Jump Location
Fig. 3

Probabilities of new nodes linking with each other (mechanism (d))

Grahic Jump Location
Fig. 4

Probabilities of existing nodes linking with each other (mechanism (e))

Grahic Jump Location
Fig. 5

Probabilities of removal of existing links (mechanism (f))

Grahic Jump Location
Fig. 6

Degree distribution of Drupal product structure

Grahic Jump Location
Fig. 7

Relationship between the number of functions and interfaces

Grahic Jump Location
Fig. 8

The execution of the model based on mechanisms

Grahic Jump Location
Fig. 9

Comparison of evolutionary characteristics at product level between Drupal product and the models. (i) The product, (ii) model with initial version 2 network, (iii) model with initial random network, (iv) model with initial scale-free network

Grahic Jump Location
Fig. 10

Comparison of degree distribution between Drupal product and the models

Grahic Jump Location
Fig. 13

Degree distributions of the three versions of RepRap




Some tools below are only available to our subscribers or users with an online account.

Related Content

Customize your page view by dragging and repositioning the boxes below.

Related Journal Articles
Related eBook Content
Topic Collections

Sorry! You do not have access to this content. For assistance or to subscribe, please contact us:

  • TELEPHONE: 1-800-843-2763 (Toll-free in the USA)
  • EMAIL: asmedigitalcollection@asme.org
Sign In