To tackle problems in the dynamic evolution of distributed software systems such as the difficulty in reusing the original software units and the neglect of evolution demand caused by internal running state, this paper proposes an agent-based software adaptive dynamic evolution mechanism, by means of the environmental adaptability, the sensitivity of changes, and other characteristics of agents. By packaging software units as agents and defining evolution rules among units, original units can be reused in such a framework. Using the dynamic environment awareness method based on data push, the collaborative relationships between agents can be adjusted, and thus the evolution requirements from both the external environment and the internal state are met. With the introduction of information intermediary services, the collaboration strategy of agents based on a modified contract net is implemented such that the agents can be changed adaptively and the evolution requirement from the users demand is satisfied. The operation performance of evolution mechanism in the environment and the analysis of the related capacity indexes demonsrate the proposed evolution mechanism is applicable to the dynamic and complex distributed software systems and is an effective software adaptive dynamic evolution mechanism.
[1] Amogh D, Constantine D. An agent-based model for the evolution of the Internet ecosystem. In: Mallik R, ed. Proc. of the 2009 1st Int'l Conf. on COMmunication Systems and NETworks (COMSNETS 2009). Bangalore: IEEE Press, 2009. 1-10.[doi: 10.1109/COMSNETS.2009.4808892]
[2] Tao XP, Feng XY, Li X, Zhang GQ, Lü J. Communication mechanism for Mogent system. Ruan Jian Xue Bao/Journal of Software, 2000,11(8):1060-1065 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/11/1060.htm
[3] Wang QX, Shen JR, Mei H. Study about adaptive software. Computer Science, 2004,31(10):168-171 (in Chinese with English abstract).
[4] Chang ZM, Mao XJ, Qi ZC. The network structure of software component model based on agent and its implementation. Ruan Jian Xue Bao/Journal of Software, 2008,19(5):1113-1124 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/19/1113. htm
[5] Wang J, Chen WR. A reliability-oriented evolution method of software architecture based on contribution degree of component. Journal of Software, 2012,7(8):1744-1750.[doi:10.4304/jsw.7.8.1744-1750]
[6] Pan JL, Han MH. The evolutionary optimization of system of systems based on Agent model. In: Güllüoğlu SS, Ata A, eds. Proc. of the 2014 IEEE Int'l Conf. on System Science and Engineering (ICSSE 2014). Shanghai: IEEE Press, 2014. 231-235.[doi: 10. 1109/ICSSE.2014.6887940]
[7] Perrouin G, Morin B, Chauvel F, Fleurey F. Towards flexible evolution of dynamically adaptive systems. In: Tamura G, Villegas N, eds. Proc. of the 2012 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2012). Zurich: IEEE Press, 2012. 1353-1356.[doi: 10.1109/ICSE.2012.6227081]
[8] Vogel T, Giese H. Model-Driven engineering of self-adaptive software with EUREMA. ACM Trans. on Autonomous and Adaptive Systems (TAAS), 2014,8(4):18.[doi: 10.1145/2555612]
[9] Breivold HP, Crnkovic I, Land R, Larsson S. Using dependency model to support software architecture evolution. In: Caporuscio M, ed. Proc. of the 2008 23rd IEEE/ACM Int'l Conf. on Automated Software Engineering Workshops. Láquila: IEEE Press, 2008. 82-91.[doi: 10.1109/ASEW.2008.4686324]
[10] Patikirikorala T, Colman A, Han J, Wang LP. A systematic survey on the design of self-adaptive software systems using control engineering approaches. In: Tamura G, Villegas N, eds. Proc. of the 2012 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2012). Zurich: IEEE Press, 2012. 33-42.[doi: 10.1109/SEAMS.2012.6224389]
[11] Breivold HP, Crnkovic I, Larsson M. A systematic review of software architecture evolution research. Information and Software Technology, 2012,54(1):16-40.[doi: 10.1016/j.infsof.2011.06.002]
[12] Breivold HP, Crnkovic I, Larsson M. Software architecture evolution through evolvability analysis. Journal of Systems and Software, 2012,85(11):2574-2592.[doi: 10.1016/j.jss.2012.05.085]
[13] Sato GY, Azevedo HJSD, Barthès JPA. Agent and multi-agent applications to support distributed communities of practice: A short review. Autonomous Agents and Multi-Agent Systems, 2012,25(1):87-129.[doi: 10.1007/s10458-011-9170-9]
[14] Ranjbar-Sahraei B, Ammar HB, Bloembergen D, Tuyls K, Weiss G. Evolution of cooperation in arbitrary complex networks. In: Mailler R, ed. Proc. of the 2014 Int'l Conf. on Autonomous Agents and Multi-Agent Systems (AAMAS 2014). Istanbul: ACM Press, 2014. 677-684.
[17] Gao L, Hailu A. Ranking management strategies with complex outcomes: An AHP-fuzzy evaluation of recreational fishing using an integrated agent-based model of a coral reef ecosystem. Environmental Modelling & Software, 2012,31:3-18.[doi: 10.1016/j. envsoft.2011.12.002]
[18] Viroli M, Holvoet T, Ricci A, Schelfthout K, Zambonelli F. Infrastructures for the environment of multiAgent systems. Autonomous Agents and Multi-Agent Systems, 2007,14(1):49-60.[doi: 10.1007/s10458-006-9001-6]
[19] Blair GS, Coulson G, Blair L, Duran-Limon H, Grance P, Moreira R, Parlavantzas N. Reflection, self-awareness and self-healing in OpenORB. In: Garlan D, Kramer J, Wolf A, eds. Proc. of the Workshop on Self-Healing Systems of 2002 10th Int'l Symp. on the Foundations of Software Engineering (FSE-10). New York: ACM Press, 2002. 9-14.[doi: 10.1145/582128.582131]
[20] Diao Y, Hellerstein JL, Parekh S, Bigus JP. Managing Web server performance with autotune agents. IBM Systems Journal, 2003, 42(1):136-149.[doi: 10.1147/SJ.2003.5386833]
[21] Liang X, Rabertson D, Croitoru M, Dashmapatra S, Dupplaw D, Hu B. Adaptive agent model: An agent interaction and computation model. In: Chang CK, ed. Proc. of the 31st Annual Int'l Computer Software and Applications Conf. (COMPSAC 2007). Beijing: IEEE Press, 2007. 153-158.[doi: 10.1109/COMPSAC.2007.51]
[22] Lü J, Ma XX, Tao XP, Xu F, Hu H. Research and development of network configuration software. Science in China (Series E: Information Sciences), 2006,36(10):1037-1080 (in Chinese with English abstract).
[23] Capar L, Emmerich W, Mascolo C. CARISMA: Context-Aware reflective middleware system for mobile applications. IEEE Trans. on Software Engineering, 2003,29(10):929-945.[doi: 10.1109/TSE.2003.1237173]
[24] Dam KH, Winikoff M, Padgham L. An agent-oriented approach to change propagation in software evolution. In: Gorton I, ed. Proc. of the Australian Software Engineering Conf. Los Alamitos: IEEE Press, 2006. 309-318.[doi: 10.1109/ASWEC.2006.10]
[25] Hussein M, Han J, Yu J, Colman A. Enabling runtime evolution of context-aware adaptive services. In: Ghose AK, Tekli J, eds. Proc. of the 2013 IEEE Int'l Conf. on Services Computing (SCC 2013). Santa Clara: IEEE Press, 2013. 248-255.[doi: 10.1109/SCC.2013.77]
[26] Tamura G, Villegas NM, Müller HA, Duchien L, Seinturier L. Improving context-awareness in self-adaptation using the DYNAMICO reference model. In: Sm M, ed. Proc. of the 2013 8th Int'l Symp. on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2013). San Francisco: IEEE Press, 2013. 153-162.[doi: 10.1109/SEAMS.2013.6595502]
[27] Mokni A, Huehard M, Urtado C, Vauttier S. Software architecture: Modeling and evolution management. In: Dalhoumi S, ed. Proc. of the Advances on Cognitive Automation at Laboratoire de Génie Informatique et d'Ingénierie de Production (LGI2P). Ecole des Mines d'Alès: IEEE Press, 2013. 26-29.
[28] Boukredera D, Maamri R, Aknine S. Modeling and analysis of reliable contract net protocol using timed colored Petri nets. In: Xu Y, ed. Proc. of the 2013 IEEE/WIC/ACM Int'l Joint Conf. on Web Intelligence (WI 2013) and Intelligent Agent Technologies (IAT 2013). Atlanta: IEEE Press, 2013. 17-24.[doi: 10.1109/WI-IAT.2013.85]
[29] Mukherjee S, Chaudhury S. Towards adaptive multi-agent planning in cyber physical space. In: Xu Y, ed. Proc. of the 2013 IEEE/WIC/ACM Int'l Joint Conf. on Web Intelligence (WI 2013) and Intelligent Agent Technologies (IAT 2013). Atlanta: IEEE Press, 2013. 445-450.[doi: 10.1109/WI-IAT.2013.63]
[30] Chen L, Qin XS, Yang Y, Gao ZP, Qu Z. The contract net based task allocation algorithm for wireless sensor network. In: Elmaghraby A, Tantug C, eds. Proc. of the 2012 IEEE Symp. on Computers and Communications (ISCC 2012). Cappadocia: IEEE Press, 2012. 000600-000604.[doi: 10.1109/ISCC.2012.6249362]
[31] Hsieh FS, Lin JB. A problem solver for scheduling workflows in multi-agents systems based on Petri nets. In: Seceleanu C, Yoshida K, eds. Proc. of the 2013 IEEE 37th Annual Computer Software and Applications Conf. on Workshops (COMPSACW 2013). Kyoto: IEEE Press, 2013. 316-321.[doi: 10.1109/COMPSACW.2013.47]
[32] Li QS, Wu G, Xue B, Chu H. A flexible multi-agent system model in system simulation. Information Technology Journal, 2011, 10(12):2371-2377.[doi: 10.3923/itj.2011.2371.2377]