摘要
为了借鉴国外成熟的技术更好的指导我国林业经营和管理决策,引进国外优秀的森林植被仿真软件系统非常必要。本文主要介绍了对美国森林植被仿真系统FVS进行中国化的实践方法和过程,研究的重点是如何对大型遗留系统进行再工程,应用新的软件架构和设计思路,对遗留系统进行改造。通过对国内外软件工程现状的研究,课题组决定在再工程的过程中,引入Agent的思想来指导和辅助逆向工程、重新设计和正向工程的全过程,并且结合平行迭代的方法,大大缩短了再工程的周期,降低了软件本地化的失败率,保持了新旧系统之间过渡的平稳性,取得了良好的效果。通过对FVS的本地化改造,有效解决了原有系统中无法动态解决模型表达式、模型变更成本太大等问题;重新划分了系统的模块,使得软件的功能和流程更加合理、清晰;此外,该文还进一步的优化和扩展了FVS系统的架构设计,使其更好的支持插件扩展,极大的提高了系统的可扩展性。经过验证,本地化取得了较为良好的效果,同时也验证了基于Agent的再工程方法的可行性和优越性。
To better guide the management and operation of Chinese forestry, mature forestry vegetation simulation software should be introduced from abroad. This article described the practice of the localization of Forest Vegetation Simulator (FVS) from America to China, the main purpose to which is to discover a way to reengineer a large-scale legacy system, and to apply new methods of design to the target system. After researching, the author decided to introduce Agent method which can guide our entire reengineering procedure, and also parallel iteration method which can significantly reduce the life cycle, guarantee the success of each period of reengineering. This approach worked well for us. The new FVS system had new feathers after the reengineering, such as:dynamically parsing the calculation expression in the forestry models, so that modifications of models get much easier than before; more reasonable division of components and modules within the system, and the support for plug-in for the future improvement. Furthermore, this thesis optimized the architecture of the FVS system and made it more scalable, in a way that plug-in can be better supported. Under cross reference, the localization end up well as expected. This also verified that the method of reengineering based on Agent is doable and superior.
引文
[1]段诘.基于FVS-BGC的森林生长收获模拟系统应用研究[D].博士学位论文,北京:北京林业大学,2010.05.
[2]罗云深.森林植被仿真Agent计算框架的研究与实现[D].硕士学位论文,北京:北京林业大学,2008.
[3]王红春,陈钊.林业资源信息管理软件共享模块急需建设[J].林业资源管理,2003,(6):67-71.
[4]刘晓建,陈平,蔡希尧.遗产系统及其解决方案的综述[J].计算机科学,2002,29(5):127-130.
[5]张志猛,庄越挺,潘云鹤.面向对象软件的逆向工程[J].计算机研究与发展,2003,40(7):1062-1068.
[6]郭耀,袁望洪,陈向葵,等.再工程——概念及框架[J].计算机科学,1999,26(5):78-83.
[7]刘毅,陈慧蓉,荣钢Plug-in结构应用程序设计[J].计算机应用,2002,22(4):9-11.
[8]姜昌华.插件技术及其应用[J].计算机应用与软件,2003(10):10-11.
[9]王忠群.软插件技术在管理信息系统中的应用[J].安徽机电学院学报,1998,13(3):33-36.
[10]高慧萍,吕俊.插件式开发技术研究与实现[J].计算机工程与设计,2009,30(16):3805-3807.
[11]成卫青,豆仁福,陈莉.利用Plug-in拓展web应用[J].计算机系统应用,1999,(9):53-54.
[12]王君,于彩虹,柳清瑞.基于软插件技术和三成C/S结构的高等院校教务管理系统[J].辽宁大学学报(自然科学版),2002,29(2):134-139.
[13]朱庆,李霞飞,张叶挺.基于Web的CCGIS浏览器插件的设计与实现[J].测绘学报,2002,33(1):22-27.
[14]汪诗林,吴泉源.WWW浏览器插件开发技术[J].计算机应用研究,2000,4:55-57.
[15]赵刚,唐慧佳Adobe After Effect插件原理及其实现[J].计算机应用研究,2000,(11):99-103.
[16]彭永康,章义来.插件及其接口的研究与应用[J].计算机应用,2003,23(6):122-123.
[17]Katharine Whitehead著,王海鹏,沈华峰译.基于组件开发[M].人民邮电出版社,2003.
[18]陈冈Eclipse RCP应用系统开发方法与实战[M].电子工业出版社,2007.
[19]药锐,赵文耘,张志.遗产系统的构件化技术[J].计算机工程,2004,30(8):48-50.
[20]刘冬懿,李虎,金茂忠,等.遗留系统再工程中交叉构件划分方法[J].北京航空航天大学学报,2005,31(10):80-84.
[21]许鹏.SOA架构下Web Services实现的企业遗留系统重用研究[D].硕士学位论文,合肥工业大学,2008.
[22]沈铖,彭鑫,夏宽理,等.面向性能的软件再工程研究[J].计算机工程,2005,31(3):7-9.
[23]杨卫平,赵合计.遗产软件的代码翻译[J].计算机工程,2004,30(6):83-85.
[24]刘大有,杨鲲,陈建中Agent研究现状与发展趋势[J].软件学报,2000,11(03):315-321.
[25]钱佳.基于MAS技术遗留系统包装器体系结构风格的研究[D].硕士学位论文,太原理工大学,2006.
[26]王少锋.基于多Agent的程序理解方法研究[J].计算机科学,2002,29(5):131-133.
[27]汪小林,邓浩,王海波,等Fortran地理模型的拆分与服务化封装[J].计算机科学与探索,2011,05(3):221-228.
[28]詹剑锋,程虎.基于Mobile Agent技术的遗留系统再工程方法[J].软件学报,2002,13(12):2343-2348.
[29]吴荣华,张辉,贲可荣.基于Agent技术的遗留系统演化研究[J].舰船电子工程,2006,26(4):7-9.
[30]毛新军,常志明,王戟,等.面向Agent的软件工程:现状与挑战[J].计算机研究与发展,2006,43(10):1782-1789.
[31]蒋云良,徐从富.智能Agent与多Agent系统的研究[J].计算机应用研究,2003(4):31-34.
[32]李珏峰.基于量化方法的大型遗留系统迭代再造研究[D].博士学位论文,浙江大学,2008.
[33]杨芙清,梅宏,吕建,等.浅论软件技术发展[J].电子学报,2002,30(12A):1901-1906.
[34]史忠植.高级人工智能[M].北京:科学出版社,1998.
[35]章江花.基于BDI-VSK-T逻辑的Agent系统形式化模型的研究[D].硕士学位论文,云南师范大学,2006.
[36]刘勇.多Agent系统理论和应用研究[D].博士学位论文,重庆大学,2003.
[37]马炜,孙玉军,郭孝玉,巨文珍,穆景森.不同林龄长白落叶松人工林碳储量[J].生态学报,2010,30(17):4659-4667.
[38]巨文珍,王新杰,孙玉军.伊春地区长白落叶松林生长过程研究.林业资源管理收录,2010,(1):39-45.
[39]Schleinzer B., Cabac L., Moldt D., et al. From Agents and Plugins to Plugin-Agents, Concepts for Flexible Architectures[C]. In:2008.1-5.
[40]Bianchi A, Caivano D., Marengo V., et al. Iterative Reengineering of Legacy System[J]. IEEE Transactions On Software Engineering.2003,3(29):225-241.
[41]M. M. Lehman and L. A. Belady, Program Evolution:Processes of Software Change[M], Aademie Press,1985.
[42]Pressman R. Software Engineering A Practitioner's Approach[M].7 ed. MGH,2009.
[43]Jennings N R, Sycara K, Wooldridge M J. A roadmap of Agent research and development [J]. Journal of Autonomous Agents and Multi-Agent Systems,1998,1(1):275-306.
[44]Wooldridge M J, Jennings N R, Intelligent Agent:theory and practice [J]. Knowledge Engineering Review,1995,10(2):115-152.
[45]Yang Kun, Liu Da-you. Agents:properties and classifications[J]. Computer Science, 1999,26 (9):30-34.
[46]Jennings N R. On Agent-based software engineering [J]. Artificial Intelligence,2000, 117(2):277-296.
[47]H. S. Nwana. Software agents:An overview[J]. Knowledge Engineering Review,1995, 11(2):205-244.
[48]S. Franklin and A. Graesser. Is it an agent, or just a program? A taxonomy for autonomous agent[C]. In J. P. Muller, M. J. Wooldridge, and N. R. Jennings, editors, Proceedings of the ECAI'96 Workshop on agent Theories, Architectures, and Languages: Intelligent Agents Ⅲ, volume 1193 of LNAI, pages 21-36. Springer-Verlag:Heid lberg, Germany, Aug.12-13 1997.
[49]Wooldridge M J. Agent-Based software engineering[C]. IEEE Transactions on Software Engineering,1999,144(1):20-37.
[50]Haddadi A. Reasoning about cooperation in Agent systems:a pragmatic theory [D] [Ph.D. Thesis]. Manchester, Uk:University of Manchester Institute of Science and Technology(UMIST),1995.
[51]Rao A S, Georgeff M P. BDI Agent:from theory to practice[C]. In:Georgeff M P ed. Proceedings of the 1st International Conference on Multi-Agent Systems(ICMAS-95). San Francisco. ACM Press,1995.312-319.
[52]Wooldridge M J, Jennings N R. Pitfalls of Agent-oriented development[C]. In:Sycara K P, Wooldridge M J eds..Proceedings of the 2nd International Conference on Autonomous Agents (Agents'98). New York:ACM Press,1998.385-391.