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.
Similar content being viewed by others
References
D. J. Watts and S. H. Strogatz, Collective dynamics of ‘small world’ networks, Nature, 1998, 393: 400–442.
A. L. Barabási and R. Albert, Emergence of scaling in random networks, Science, 1999, 286: 509–512.
A. L. Barabási, R. Albert, and H. Jeong, Mean-field theory for scale-free random networks, Physica A, 1999, 272: 173–187.
A. L. Barabási, R. Albert, H. Jeong, and G. Bianconi, Power-law distribution of the World Wide Web: response, Science, 2000, 287: 2125a.
R. Albert and A. L. Barabási, Statistical mechanics of complex networks, Reviews of Modern Physics, 2002, 74: 47–97.
G. Bianconi and A. L. Barabási, Topology of evolving networks: local events and universality, Phys. Rev. Lett., 2000, 85: 5234–5237.
G. Bianconi and A. L. Barabási, Competition and multiscaling in evolving networks, Europhysics Letters, 2001, 54(4): 436–442.
J. Jost and M. P. Joy, Evolving networks with distance preferences, Phys. Rev. E, 2002, 66, 036126: 1–7.
P. L. Krapivsky, S. Redner, and F. Leyvraz, Connectivity of growing random networks, Phys. Rev. Lett., 2000, 85: 4629–4632.
S. N. Dorogovstsev and J. F. F. Mendes, Evolution of reference networks with aging, Phys. Rev. E, 2000, 62: 1842–1845.
S. N. Dorogovstsev and J. F. F. Mendes, Scaling behaviour of developing and decaying networks, Europhys. Lett., 2000, 52: 33–39.
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.
X. Li and G. R. Chen, A local-world evolving network model, Physica A, 2003, 328(1–2): 274–286.
S. Valverde and Ricard Solé, Hierarchical small-worlds in software architecture, Santa Fe Institute working paper SFI/03-07-044, 2003.
R. S. Chidamber and C. F. Kenerer, A metrics suite for object oriented design, IEEE Transactions on Software Engineering, 1994, 20(6): 476–493.
C. R. Myers, Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs, Physical Review E, 2003, 68, 046116: 1–15.
D. Braha and Y. Bar-Yam, The topology of large-scale engineering problem-solving networks, Physical Review E, 2004, 69, 016113: 1–7.
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.
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.
N. F. Schneidewind, Modularity considerations in real time operating structures, COMPSAC 77: 397–403.
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.
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.
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.
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.
M. Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley Publishers Japan, Ltd, 1998.
J. S. Wu and Z. R. DI, Complex networks in statistical physics, Progress Physics (in Chinese), 2004, 24(1): 18–44.
C. W. Irving and D. Eichmann, Patterns and design adaptability, Pattern Languages of Programs, 1996, 2: 1–10.
S. N. Dorogovtsev and J. F. F. Mendes, Evolution of Networks From Biological Nets to the Internet and WWW, Oxford University Press, 2003.
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.
K. Q. He, S. Ying, and F. He, A constructive state reflective pattern, Journal of Software (in Chinese), 2001, 12(8): 1242–1249.
Author information
Authors and Affiliations
Corresponding author
Additional information
Supported by the National Natural Science Foundation of China under Grant No. 60373086; ISO/IEC SC32 Standardization Project No. 1.32.22.01.03.00; “Tenth Five-Year Plan” National Key Project of Science and Technology under Grant No. 2002BA906A21; Hubei Province Key Project under Grant No. 2004AA103A02; Wuhan City Key Project under Grant No. 20021002043; Open Foundation of SKLSE under Grant No. SKLSE05-19.
Rights and permissions
About this article
Cite this article
He, K., Peng, R., Liu, J. et al. Design Methodology of Networked Software Evolution Growth Based on Software Patterns. Jrl Syst Sci & Complex 19, 157–181 (2006). https://doi.org/10.1007/s11424-006-0157-6
Received:
Issue Date:
DOI: https://doi.org/10.1007/s11424-006-0157-6