Design Methodology of Networked Software Evolution Growth Based on Software Patterns
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 WordComplex networks evolution growth design method growth characteristics of software patterns networked software OO software network types and modulation of preferential attachment
Unable to display preview. Download preview PDF.
- 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
- 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
- S. Valverde and Ricard Solé, Hierarchical small-worlds in software architecture, Santa Fe Institute working paper SFI/03-07-044, 2003.Google Scholar
- 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
- 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
- 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
- N. F. Schneidewind, Modularity considerations in real time operating structures, COMPSAC 77: 397–403.Google Scholar
- 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
- 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
- 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
- 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
- M. Fowler, Analysis Patterns: Reusable Object Models, Addison-Wesley Publishers Japan, Ltd, 1998.Google Scholar
- J. S. Wu and Z. R. DI, Complex networks in statistical physics, Progress Physics (in Chinese), 2004, 24(1): 18–44.Google Scholar
- C. W. Irving and D. Eichmann, Patterns and design adaptability, Pattern Languages of Programs, 1996, 2: 1–10.Google Scholar
- 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
- 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