Journal of Systems Science and Complexity

, Volume 19, Issue 2, pp 157–181 | Cite as

Design Methodology of Networked Software Evolution Growth Based on Software Patterns

  • Keqing He
  • Rong Peng
  • Jing Liu
  • Fei He
  • Peng Liang
  • Bing Li
Article

Abstract

Recently, some new characteristics of complex networks attract the attentions of scientists in different fields, and lead to many kinds of emerging research directions. So far, most of the research work has been limited in discovery of complex network characteristics by structure analysis in large-scale software systems.

This paper presents the theoretical basis, design method, algorithms and experiment results of the research. It firstly emphasizes the significance of design method of evolution growth for network topology of Object Oriented (OO) software systems, and argues that the selection and modulation of network models with various topology characteristics will bring un-ignorable effect on the process of design and implementation of OO software systems. Then we analyze the similar discipline of “negation of negation and compromise” between the evolution of network models with different topology characteristics and the development of software modelling methods. According to the analysis of the growth features of software patterns, we propose an object-oriented software network evolution growth method and its algorithms in succession. In addition, we also propose the parameter systems for OO software system metrics based on complex network theory. Based on these parameter systems, it can analyze the features of various nodes, links and local-world, modulate the network topology and guide the software metrics. All these can be helpful to the detailed design, implementation and performance analysis. Finally, we focus on the application of the evolution algorithms and demonstrate it by a case study.

Comparing the results from our early experiments with methodologies in empirical software engineering, we believe that the proposed software engineering design method is a computational software engineering approach based on complex network theory. We argue that this method should be greatly beneficial for the design, implementation, modulation and metrics of functionality, structure and performance in large-scale OO software complex system.

Key Word

Complex networks evolution growth design method growth characteristics of software patterns networked software OO software network types and modulation of preferential attachment 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    D. J. Watts and S. H. Strogatz, Collective dynamics of ‘small world’ networks, Nature, 1998, 393: 400–442.CrossRefGoogle Scholar
  2. [2]
    A. L. Barabási and R. Albert, Emergence of scaling in random networks, Science, 1999, 286: 509–512.CrossRefGoogle Scholar
  3. [3]
    A. L. Barabási, R. Albert, and H. Jeong, Mean-field theory for scale-free random networks, Physica A, 1999, 272: 173–187.CrossRefGoogle Scholar
  4. [4]
    A. L. Barabási, R. Albert, H. Jeong, and G. Bianconi, Power-law distribution of the World Wide Web: response, Science, 2000, 287: 2125a.Google Scholar
  5. [5]
    R. Albert and A. L. Barabási, Statistical mechanics of complex networks, Reviews of Modern Physics, 2002, 74: 47–97.CrossRefGoogle Scholar
  6. [6]
    G. Bianconi and A. L. Barabási, Topology of evolving networks: local events and universality, Phys. Rev. Lett., 2000, 85: 5234–5237.CrossRefGoogle Scholar
  7. [7]
    G. Bianconi and A. L. Barabási, Competition and multiscaling in evolving networks, Europhysics Letters, 2001, 54(4): 436–442.CrossRefGoogle Scholar
  8. [8]
    J. Jost and M. P. Joy, Evolving networks with distance preferences, Phys. Rev. E, 2002, 66, 036126: 1–7.CrossRefGoogle Scholar
  9. [9]
    P. L. Krapivsky, S. Redner, and F. Leyvraz, Connectivity of growing random networks, Phys. Rev. Lett., 2000, 85: 4629–4632.CrossRefGoogle Scholar
  10. [10]
    S. N. Dorogovstsev and J. F. F. Mendes, Evolution of reference networks with aging, Phys. Rev. E, 2000, 62: 1842–1845.CrossRefGoogle Scholar
  11. [11]
    S. N. Dorogovstsev and J. F. F. Mendes, Scaling behaviour of developing and decaying networks, Europhys. Lett., 2000, 52: 33–39.CrossRefGoogle Scholar
  12. [12]
    S. N. Dorogovstsev and J. F. F. Mendes, Scaling properties of scale-free evolving networks: continuous approach, Phys. Rev. E, 2001, 63, 056125: 1–19.Google Scholar
  13. [13]
    X. Li and G. R. Chen, A local-world evolving network model, Physica A, 2003, 328(1–2): 274–286.CrossRefGoogle Scholar
  14. [14]
    S. Valverde and Ricard Solé, Hierarchical small-worlds in software architecture, Santa Fe Institute working paper SFI/03-07-044, 2003.Google Scholar
  15. [15]
    R. S. Chidamber and C. F. Kenerer, A metrics suite for object oriented design, IEEE Transactions on Software Engineering, 1994, 20(6): 476–493.CrossRefGoogle Scholar
  16. [16]
    C. R. Myers, Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs, Physical Review E, 2003, 68, 046116: 1–15.CrossRefGoogle Scholar
  17. [17]
    D. Braha and Y. Bar-Yam, The topology of large-scale engineering problem-solving networks, Physical Review E, 2004, 69, 016113: 1–7.Google Scholar
  18. [18]
    J. Watson, H. A. Abbass, C. Lokan, and P. Lindsay, Software engineering for artificial life, complex systems, and agent-based distillation, in Proceedings of the 7th Asia-Pacific Conference on Complex Systems Cairns Convention Centre, Cairns, Australia, 6–10th December 2004.Google Scholar
  19. [19]
    L. Li, D. Alderson, R. Tanaka, J. Doyle, and W. Willinger, Towards a theory of scale-free graphs: definition, properties, and implications, Technical Report CIT-CDS-04-006, Engineering & Applied Sciences Division, California Institute of Technology, Pasadena, CA, USA, 2005.Google Scholar
  20. [20]
    N. F. Schneidewind, Modularity considerations in real time operating structures, COMPSAC 77: 397–403.Google Scholar
  21. [21]
    R. W. Wolverton, The cost of developing large-scale software, IEEE Transactions on Computer, 1974, C-23(6): 615–636. Also in: Tutorial on Programming Productivity: Issues for the Eighties, IEEE Computer Society, Second Edition, 1986.Google Scholar
  22. [22]
    B. Liu, D. Y. Li, J. Liu, and F. He, Classifying Class and Finding Community in UML Metamodel Network, Springer LNCS 3584, 1st International Conference, Proceedings pp. 690–695, Advanced Data Mining and Applications, 2005.Google Scholar
  23. [23]
    S. Valverde1 and R. V. Sole, Network Motifs in Computational Graphs: A Case Study in Software Architecture, Dynamically Evolving, Large-scale Information Systems Technical Report 0206: 1–9 (DELIS-TR-0206), Santa Fe Institute.Google Scholar
  24. [24]
    E. Gamma, R. Helm, R. Johson, and J. Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Soft-Bank Publishers (in Japanese), 2000, 325–333.Google Scholar
  25. [25]
    M. Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley Publishers Japan, Ltd, 1998.Google Scholar
  26. [26]
    J. S. Wu and Z. R. DI, Complex networks in statistical physics, Progress Physics (in Chinese), 2004, 24(1): 18–44.Google Scholar
  27. [27]
    C. W. Irving and D. Eichmann, Patterns and design adaptability, Pattern Languages of Programs, 1996, 2: 1–10.Google Scholar
  28. [28]
    S. N. Dorogovtsev and J. F. F. Mendes, Evolution of Networks From Biological Nets to the Internet and WWW, Oxford University Press, 2003.Google Scholar
  29. [29]
    S. N. Dorogovtsev, J. F. F. Mendes, and A. N. Samukhin, Structure of growing networks with preferential linking, Phys. Rev. Lett., 2000, 85: 4633–4636.CrossRefGoogle Scholar
  30. [30]
    K. Q. He, S. Ying, and F. He, A constructive state reflective pattern, Journal of Software (in Chinese), 2001, 12(8): 1242–1249.Google Scholar

Copyright information

© Springer Science + Business Media, Inc. 2006

Authors and Affiliations

  • Keqing He
    • 1
  • Rong Peng
    • 1
  • Jing Liu
    • 1
  • Fei He
    • 2
  • Peng Liang
    • 1
  • Bing Li
    • 1
  1. 1.State Key Laboratory of Software EngineeringWuhan UniversityWuhanChina
  2. 2.Fukazawa Laboratory, Graduate School of Computer ScienceWaseda UniversityTokyoJapan

Personalised recommendations