基于体系结构的软件动态演化研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
变化性是软件的基本属性。特别是在Intemet成为主流软件运行环境之后,网络的开放性和动态性使得客户需求与硬件资源更加频繁地变化,导致软件的变化性和复杂性进一步增强。软件演化指的是软件进行变化并达到所希望形态的过程,可分为静态演化和动态演化两种类型。由于具有持续可用性的优点,动态演化已成为软件工程研究的热点。但动态演化比静态演化更为复杂,技术上更难以处理。
     现代软件的复杂性决定了动态演化研究应从宏观层面入手。软件体系结构从系统全局的角度刻画当前配置状态,有利于对系统级特征属性的监控和关键约束是否得以遵守的检查,因此成为软件进行动态演化的重要依据和驱动因素。为支持基于体系结构的动态演化,本文较系统地从动态体系结构描述语言、体系结构求精、软件应用模型和构造框架、软件运行环境和机制等方面逐步展开研究。
     基于高阶多型π演算理论,提出了动态体系结构描述语言D-ADL。在D-ADL中,构件、连接件和体系结构风格被模型化为高阶π演算中的抽象(abstraction)类型;构件计算功能、连接件路由行为、体系结构配置活动被模型化为进程(process);构件和连接件的交互点则被模型化为通道(channel)。D-ADL可显性表示软件的变更计划,计划行为被形式化为高阶进程,从而直接支持预设的动态演化。
     在D-ADL形式规约的框架之下,论文从结构、行为和属性三个方面深入分析体系结构求精,给出了求精的方法和准则,以维持求精过程中信息的一致性。特别是形式化地给出了行为求精的准则,即构件的行为求精应该满足进程观察弱模拟关系,连接件的行为求精应该满足进程分支弱模拟关系。这为通过对体系结构求精来支持非预设的动态演化提供了可能。
     在此基础上,提出了基于体系结构空间、面向动态演化的软件应用模型SASM。SASM使用反射技术构造,基层和元层因果相联。基层由可运行的物理构件形成,元层RSAS是一个具备树形层次、层间存在求精关系的体系结构空间。RSAS反映了需求的层次性,提供给用户不同抽象级别的视图和管理手段。通过对RSAS的观察,可获知系统的结构和行为信息。对RSAS的在线调整可实现对基层的修改进而实现系统的非预设动态演化,而RSAS中不同层次之间的求精关系保证了应用的完整性和演化的一致性。
     设计了SASM支撑平台并实现了其原型系统。SASM支撑平台由构造工具集、执行工具集和动态演化工具集组成。构造工具集旨在方便用户按照SASM
Variability is an essential characteristic of software systems. In order to adapt themselves to the opening environment of Internet and the variable requirements of users, software systems should be able to adjust themselves dynamically. Software evolution refers to the process that software changes itself to achieve anticipant form. It can be divided into two categories, static evolution and dynamic evolution. Owing to the merit of continuous usability, dynamic evolution has become a hotspot in the software engineering research areas. But dynamic evolution is more complex and more difficult to be dealt with than the static one.The complexity of modern software system requires that the research on dynamic evolution should be commenced from a macroscopic view. SA(Software Architecture) depicts system configuration states from a global perspective, which is advantageous to monitor the system level attributes and check the key constraints. SA can become a major gist and a driving factor for dynamic evolution. In order to support dynamic evolution based on SA, this paper conducted a series of researches, including dynamic SA description language, architecture refinement, application model and construction framework, and runtime environment and mechanisms for dynamic evolution.Based on the high-order multi-type π calculus theory, this paper proposed a dynamic architecture description language D-ADL. In D-ADL, components, connectors, and architecture are modeled as the 'Abstraction' type of high-order π calculus;components computing, connectors routing and architecture configuration are modeled as the 'Process';and the interaction point between component and connector is modeled as the 'Channel'. D-ADL can be used to describe evolution plans in an explicit way, while the evolution plans are formally represented as the high-order 'Process', and thus D-ADL can directly support anticipated dynamic evolution.On the basis of D-ADL formal specification, this paper analyzed the architecture refinement from three aspects deeply, i.e., structure, behavior, and attribute, then presented the methods and principles of refinement, so that the architectural information from different levels can be kept consistent during the refinement process. Especially, the principles of behavior refinement are formally defined, i.e., the behavior refinement of components should satisfy the relation of 'Observation Weak Simulation' between processes. The behavior refinement of connectors should satisfy the relation of 'Branching Weak Simulation' between processes. This affords possibility for unanticipated dynamic evolution through architecture refinement.Then, an architectural space-based, dynamic evolution-oriented software
    application model SASM(Software Architecture Space-based Model) was proposed. SASM is constructed by reflection technology. Its meta-level RSAS is an architecture space with tree-like layers, between which there exist refinement relations, and its base-level is composed of physical components. The meta-level and base-level are associated in the form of cause and effect. Within RSAS, different layers of architecture provide views and management means at different abstraction levels to the users, which meet the variable requirement of various roles from management layer to operation layer. Through the observation of RSAS the information of structure and behaviour of application system is acquired. The on-line adjustment for RSAS can modify base-level so as to evolve application system.At last, a supporting system for SASM was designed and its prototype is developed. The supporting system consists of three modules: construction tool set, execution tool set and dynamical evolution tool set. Construction tool set includes a visualized integrated tool for the development of application system according to SASM model. Execution tool set provides a runtime environment for the execution and monitoring of dynamic application. Dynamical evolution tool set supports the dynamic evolution based on architecture space. Testing result of the prototype shows that additional cost of SASM model is acceptable in view of its great advantage.
引文
[1] M.M.Lehman, D.E.Peryy, J.F.Ramil. Metrics and Laws of Software Evolution—the Nineties Views. Proceeding of 4th International Symposium on Software Metrics. IEEE Computer Society Press, 2000: 20-32.
    [2] T.Mens, J.Buckley, M.Zenger, and A.Rashid. Towards a Taxonomy of Software Evolution. In International Workshop on Unanticipated Software Evolution, Warsaw, Poland, April 2003.
    [3] J.Kramer, J.Magee. The evolving philosophers problem: Dynamic change management. IEEE Transactions on Software Engineering, 1990, 16(11): 1-33.
    [4] 孙昌爱,金茂忠,刘超.软件体系结构研究综述.软件学报,2002,13(7):1229-1237.
    [5] S.Cimpan, F.Leymonerie, F.Oquendo. Handling Dynamic Behaviour in Software Architectures. EWSA 2005, 2005;LNCS 3527: 77-93.
    [6] C.Q.Cuesta, P.Fuente. M.B.Solorzano. Dynamic coordination architecture through the use of reflection. Symposium on Applied Computing Proceedings of the 2001 ACM symposium on Applied computing, Las Vegas, Nevada, United States, 2001: 34-140.
    [7] S.Stuurman, J.V.Katwijk. On-line change mechanisms: The software architectural level. In 6th International Symposium on the Foundations of Software Engineering, 1998: 80-86.
    [8] P. Oreizy, N. Medvidovic, R.N. Taylor. Architecture-Based Runtime Software Evolution. Proceedings of ICSE'20, Kyoto, Japan, IEEE Computer Society Press, 1998: 177-186.
    [9] J.Magee, J.Kramer. Dynamic Structure in Software Architectures. Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, 1996: 3-13.
    [10] Marsala, S.Peyman. Issues in Modeling and Analyzing Dynamic Software Architectures. Proceedings of the International Workshop on the Role of Software Architecture in Testing and Analysis, Marsala, Sicily, Italy, 1998: 368-372.
    [11] 马晓星,余萍,陶先平,吕建.一种面向服务的动态协同架构及其支撑平台.计算机学报,2005,28(4):467-477.
    [12] J.Dowling, V.Cahill, S.Clarke. Dynamic Software Evolution and The K-Component Model. Workshop on Software Evolution, OOPSLA 2001, 2001.
    [13] W.Cazzola, A.Savigni, A.Sosio, et al. Architectural Reflection: Bridging the Gap Between a Running System and its Architectural Specification. In IEEE proceedings of 6th Reengineering Forum. Florence, Italy, 1998: 12-1-12-6.
    [14] 黄罡,梅宏,杨芙清.基于反射式软件中间件的运行时软件体系结构.中国科学E辑技术科学,2004,34(2):121-138.
    [15] 杨芙清.软件工程技术发展思索.软件学报,2005,16(1):1-7.
    [16] 李长云,邬惠峰,应晶,李赣生.软件体系结构驱动的运行环境.小型微型计算机系统,2005,26(8):1358-1363.
    [17] J. Peterson, P. Hudak, G. S. Ling. Principled dynamic code improvement. Yale University Research Report YALEU/DCS/RR-1135. Department of Computer Science, Yale University, July 1997.
    [18] J.Purtilo. The Polylith software bus. ACM Transactions on Programming Languages and Systems, 1994 Jan, 16(1): 151-174.
    [19] M.Barbacci. Real Time Distributed Systems. CHDL 1993, 1993: 3-12.
    [20] M.M.Gorlick, R.R.Razouk. Using weaves for software construction and analysis. Proceedings of the 13th International Conference on Software Engineering, IEEE Computer Society Press, Austin, Texas, United States, May 1991: 23-34.
    [21] J.Magee, N.Dulay, S.Eisenbach, J.Kramer. Specifying Distributed Software Architectures. 5th European Software Engineering Conference (ESEC '95), Sitges, Springer-Verlag 1995, LNCS 989: 137-153.
    [22] D.Luckham, L.Augustin, J.Kenney. Specification and Analysis of System Architecture Using Rapide. IEEE Transactions on Software Engineering, 1995, 1 (4): 1-20.
    [23] R.Allen, R.Douence, D.Garlan. Specifying and Analyzing Dynamic Software Architectures. Proceedings on Fundamental Approaches to Software Engineering, Lisbon, Portugal, March 1998, LNCS 1382: 21-37.
    [24] W.Cazzola, A.Savigni, A.Sosio, et al. Architectural Reflection: Concepts, Design, and Evaluation. Milan: University degli Studi di Milano, RI-DSI 234-99, 1999.
    [25] 黄罡,王千祥,梅宏,杨芙清.基于软件体系结构的反射式中间件研究.软件学报,2003,14(11):1819-1826.
    [26] F.Tisato, W.Cazzola, A.Savigni, A.Sosio. Architectural Reflection: Realising Software Architectures via Reflective Activities. Proceedings of the 2nd International Workshop on Engineering Distributed Objects (EDO 2000). Wolfang Emmerich and Stephan Tai, 2000, LNCS 1999: 102-115.
    [27] 梅宏,陈锋,冯耀东,杨杰.ABC:基于体系结构、面向构件的软件开发方法.软件学报,2003,14(4):721-732.
    [28] K.H. Bennett, V. T. Rajlich. Software maintenance and evolution: a roadmap. International Conference on Software Engineering, Proceedings of the Conference on The Future of Software Engineering, Limerick, Ireland, 2000: 73-87.
    [29] G.iczales, J.Lamping, A.Mendhekar, C.Maeda, C.V.Lopes. Aspect-Oriented programming. Proceedings of the European Conference on Object-Oriented Programming 1997(ECOOP), 1997, LNCS 1241: 220-242. http://citeseer.nj.nec.corn/63210.html.
    [30] M.Oriol. An Approach to the Dynamic Evolution of Software Systems. PhD thesis, University de geneve (France), Avril.2004.
    [31] M.Dmitriev. Safe Class and Data Evolution in Large and Long-Lived Java Applications. PhD thesis, University of Glasgow, May 2001.
    [32] P.Costanza. Dynamic object replacement and implementation-only classes. 6th International Workshop on Component-Oriented Programming.(WCOP 2001) at ECOOP 2001, Budapest, Hungary, June 2001.
    [33] 胡海洋,马晓星,陶先平,吕建.反射中间件的研究与进展.计算机学报,2005,28(9):1408-1420.
    [34] A.Ghoneim, W.Cazzola. RAMSES: a Reflective Middleware for Software Evolution. RAM-SE 2004: 21-26.
    [35] Object Management Group. The Common Object Request Broker: Architecture and Specification, Revision 2.0, July 1996. http://www.omg.org/corba/corbiiop.htm.
    [36] D. Garlan, M. Shaw. An Introduction to Software Architecture. Advances in Software Engineering and Knowledge Engineering, Volume 1, World Scientific Publishing Co., 1993.
    [37] D.Garlan. Software Architecture: a Roadmap. The Future of Software Engineering, ACM Press, 2000: 91-101.
    [38] M.Shaw. The coming-of-age of software architecture research. In: Proceedings of the 23rd International Conference on Software Engineering. Washington, DC: IEEE Computer Society, 2001: 657-664.
    [39] N.Medvidovic, D.S.Rosenblum, R. N.Taylor. A Language and Environment for Architecture-Based Software Development and Evolution. In Proceedings of the 1999 International Conference on Software Engineering, Los Angeles, CA, 1999: 44-53.
    [40] J.Magee, J.Kramer, D.Giannakopoulou. Behaviour analysis of software architectures. In: Donohoe P, ed. Proc. of 1 st Working IFIP Conf. on Software Architecture (WICSA 1). Boston: Kluwer Academic Publishers, 1999: 35-50.
    [41] R.Allen. A Formal Approach to Software Architectures. PhD thesis, TR# CMU-CS-97-144, Carnegie Mellon University, School of Computer Science, May 1997.
    [42] R.N. Taylor, N. Medvidovic, K. M. Anderson, E. J. Whitehead, J. E. Robbins, K. A. Nies, P. Oreizy, D. L. Dubrow. A Component- and message-based architectural style for GUI software. IEEE Transactions on Software Engineering, 1996, 22(6): 390-406.
    [43] D.Garlan, R.Monroe, D.Wile. ACME: Architectural Description of Component-Based Systems. Foundations of Component-Based Systems, G.T. Leavens, and M.Sitaraman, Cambridge University Press, 2000.
    [44] M.Shaw, et al. Abstractions for Software Architecture and Tools to Support Them. IEEE Transactions on Software Engineering, 1995, 21 (4): 314-335.
    [45] N.Medvidovic, R.N.Taylor. A Framework for classifying and comparing architecture description languages. In Proceedings of ESEC/FSE'97, Springer / ACM Press, Sept 1997, LNCS 1301: 60-76.
    [46] D.C.Luckham, J.Vera. An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering, 1995, 2(9): 717-734.
    [47] M. Moriconi, R.A. Riemenschneider. Introduction to SADL 1.0: A Language for Specifying Software Architecture Hierarchies. Computer Science Laboratory, SRI International, Technical Report SRI-CSL-97-01, March 1997.
    [48] M. Moriconi, X. Qian, R. A. Riemenschneider. Correct architecture refinement. IEEE Transactions on Software Engineering, April 1995, 21(4): 356-372.
    [49] 冯铁,张家晨,陈伟等.基于框架和角色模型的软件体系结构规约.软件学报,2000,11(8):1078-1086.
    [50] 马俊涛,傅韶勇,刘积仁.A-Adl:一种多智能体系统体系结构描述语言.软件学报,2000,11(10):1382-1389.
    [51] 骆华俊,唐稚松,郑建丹.可视化体系结构描述语言XYZ/ADL.软件学报,2000,11(8):1024-1029.
    [52] 张家晨,冯铁,陈伟等.基于主动连接的软件体系结构及其描述方法.软件学报,2000,11(8):1047-1052.
    [53] M.A.Wermelinger. Specification of Software Architecture Reconfiguration. PhD thesis, Universidade Nova de Lisboa, 1999.
    [54] N. Medvidovic. ADLs and dynamic architecture changes. Second International Software Architecture Workshop(ISAW-2), San Francisco, October 1996: 24-27.
    [55] 马晓星,曹建农,吕建.一种面向图的分布web应用架构技术.计算机学报,2003,26(9):1104-1115.
    [56] 黄罡,王千祥,曹东刚,梅宏.PKUAS:一种面向领域的构件运行支撑平台.电子学报,2002,30(12A):39-43.
    [57] F.Oquendo, B.Warboys, R.Morrison, et al. ARCHWARE: Architecting Evolvable Software. EWSA 2004, 2004, LNCS 3047: 257-271.
    [58] P.Oreizy. Issues in the runtime modification of software architectures. UC Irvine Technical Report UCI-ICS-96-35. Department of Information and Computer Science, University of California, Irvine, August 1996.
    [59] J.Kuusela. Architectural Evolution. Proceedings of the First Working IFIP Conference on Software Architecture, Kluwer Academic, Boston, Massachusetts. 1999.
    [60] P.Inverardi, A.Wolf. Formal Specification an Analysis of Software Architectures Using the Chemical Abstract Machine Model. IEEE transactions on Software Engineering, 1995, 21(4):373-386.
    [61] D. LeMetayer. Describing software architecture styles using graph grammars. IEEE Transactions on Software Engineering, July 1998,24(7):521-553.
    [62] N. Medvidovic, P. Oreizy, R. N. Taylor. Reuse of off-theshelf components in C2-style architectures. Symposium on Software Reusability, Boston, May 1997.
    [63] M.Shaw, D.Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall Press, 1996.
    [64] R.Allen, D.Garlan. A Formal Basis for Architecture Connection. ACM Transactions on Software Engineering and Methodology, 1997, 6(3): 213-249.
    [65] N.Mehta, N.Medvidovic, S.Phadke. Towards a Taxonomy of Software Connector. Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000), Limerick, Ireland, June 2000:178-187.
    [66] D.E.Perry, A.L.Wolf. Foundations for the Study of Software Architectures. ACM SIGSOFT Software Engineering Notes, October 1992,17(4):40-52.
    [67] A.M.Zaremski, J.M.Wing. Specification Matching of Software Components. ACM Transactions on Software Engineering and Methodology, October 1997,6(4):333-369.
    [68] M.Bernardo, P.Ciancarini, D.Lorenzo. Architecting Families of Software Systems with Process Algebras. ACM Transactions on Software Engineering and Methodology, 2002, 11(4):386-426.
    [69] J.Aldrich, C.Chambers, D.Notkin. ArchJava: Connecting Software Architecture to Implementation. 2002 International Conference on Software Engineering, Orlando, Florida, USA, 2002:187-197.
    [70] C.Hofmeister, T.Nord, D.Soni. Applied Software Architecture. Boston: Addison-wesley Press, 2000.
    [71] F.Oquendo. π-ADL:an Architecture Description Language based on the higher-order typed π-calculus for specifying dynamic and mobile software architectures. ACM SIGSOFT Software Engineering Notes, May 2004, 29(3): 1-14.
    [72] C.Chaudet, F.Oquendo. π-SPACE:A Formal Architecture Description Language Based on Process Algebra for Evolving Software Systems. Proceedings of 15th IEEE International Conference on Automated Software Engineering (ASE'00), September 2000, Grenoble, France.
    [73] D.Wile. AML: An Architecture Meta Language. Proceedings of the 14th International Conference on Automated Software Engineering, Cocoa Beach. October 1999: 183-190.
    [74] 任洪敏.基于π演算的软件体系结构形式化研究[博士学位论文].复旦大学,上海,2003.
    [75] R. Milner, J. Parrow, D. Walker, A Calculus Of Mobile Processes. Information and Computation, 1992, 100(1): 1-40.
    [76] R. Milner. Communicating and Mobile Systems: The Pi-Calculus. Cambridge University Press, 1999.
    [77] D.Sangiorgi. Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms. PhD Thesis, University of Edinburgh, 1992.
    [78] C.Stirling. Modal and Temporal Properties of Processes. Springer Verlag, 2001.
    [79] J.R.Abrial. The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.
    [80] J.Davies, J.Woodcock. Using Z: Specification, Refinement and Proof. Prentice Hall International Series in Computer Science, 1996.
    [81] J.Fitzgerald, P.Larsen. Modelling Systems: Practical Tools and Techniques for Software Development. Cambridge University Press, 1998.
    [82] M.G.Hinchey, S.A.Jarvis. Concurrent Systems: Formal Development in CSP. McGraw-Hill, 1995.
    [83] J.Misra, K.M.Chandy. Parallel Program Design: A Foundation. Addison-Wesley, 1988.
    [84] D.F.Souza, A.C Wills. Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, 1998.
    [85] F.Oquendo. π-ARL: An Architecture Refinement Language for Formally Modelling the Stepwise Refinement of Software Architectures. ACM SIGSOFT Software Engineering Notes, September 2004, 29(5): 1-20.
    [86] A.Kerschbaumer. Behavioral Refinement of Software Architectures. PhD thesis, Institute for Software Technology, Graz University of Technology, Austria, August 2002.
    [87] 许文,方海,林惠民.π演算互模拟判定算法的优化和实现.软件学报,2001,12(2):159-166.
    [88] R.De Nicola, F.W.Vaandrager. Three Logics for Branching Bisimulation. Journal of the ACM, 1995, 42(2): 458-487.
    [89] T.Bolusset, F.Oquendo. Formal Refinement of Software Architectures Based on Rewriting Logic. ZB2002 International Workshop on Refinement of Critical Systems: Methods,Tools and Experience, Grenoble, Janvier 2002,29(5): 1-20.
    [90] J.Philipps, B.Rumpe. Refinement of Pipe and Filter Architectures. Proceedings of FM'99, 1999, LNCS 1708:96-115.
    [91] D.Garlan. Style-based refinement for software architecture. Second International Software Architecture Workshop (ISAW-2). San Francisco, CA, October 1996:72-75.
    [92] A.Egyed, R.N.Mehta, N.Medvidovic. Software Connectors and Refinement in Family Architectures. IW-SAPF 2000, Las Palmas de Gran Canaria, Spain, March 2000:96-106.
    [93] D.Giannakopoulou. Model Checking for Concurrent Software Architectures. PhD Thesis, University of London, March 1999.
    [94] V.Matena, M.Hapner. Java 2 Platform Enterprise Edition Specification, v1.3 final Release, Sun Microsystem, Inc., July 27, 2001.
    [95] J.Richter. Applied Microsoft .NET Framework Programming. Microsoft Press, 2002.
    [96] D.Garlan, B.Schmerl, J.Chang. Using gauges for architecture-based monitoring and adaptation. In Conference on Complex and Dynamic Systems Architecture, Brisbane, Australia, December. 2001. htt://www-2.cs.cmu.edu/-able/publications/cdsa01
    [97] P.Maes. Concepts and experiments in computational reflection. OOPSLA'87, Sigplan: Notices, 1987:4-8.
    [98] D.Edmond, A.Hofstede. A reflective infrastructure for workflow adaptability. Data and Knowledge Engineering, 2000, 34(3): 271-304.
    [99] T.Ledoux. OpenCorba: A reflective open broker. In: Cointe P, ed. Proceedings of the 2nd International Conference on Reflection. LNCS 1616, Heidelberg: Springer-Verlag, 1999:197-214.
    [100]W.Cazzola. Communication-Oriented reflection: A way to open up the RMI mechanism. PhD Thesis, Milano: Universita degli Studi di Milano, 2001.
    [101]S.Rank. A Reflective Architecture to Support Dynamic Software Evolution. PhD thesis, University of Durham. 2002.
    [102] D.Edmond, M.Papazoglou, Z.Tari. An overview of reflection and its use in cooperation. Int. J. Intell. Coop. Inf. Syst. 1995, 4(1):3-44.
    [103]W.Cazzola, J.O.Coplien, A.Ghoneim and G.Saake. Framework Patterns for the Evolution of Nonstoppable Software Systems. In Proceedings of the the 1st Nordic Conference on Pattern Languages of Programs (VikingPLoP'02), Helsingor, Denmark, September 2002:266-283.
    [104]D. Edmond, M.P. Papazoglou. Reflection is the essence of cooperation. In, M.P. Papazoglou and G. Schlageter (eds.), Cooperative Information Systems, Academic Press, 1998:1-34.
    [105]M. Franz. Dynamic linking of software components. IEEE Computer, March 1997,30(3): 74-81.
    [106]W.Cazzola, A.Ghoneim, G.Saake. System Evolution through Design Information Evolution: a Case Study. In W. Dosch and N. Debnath, editors, Proceedings of the 13th International Conference on Intelligent and Adaptive Systems and Software Engineering (IASSE 2004), Nice, France, July 2004:145-150.
    [107]C.Chaudet, M.Greenwood, F.Oquendo, B.Warboys. Architecture-Driven Software Engineering:Specifying, Generating, and Evolving Component-Based Software Systems. IEEE Software Engineering Journal, 2000, 147(6):86-97.
    [108]J.Robbins, D.Redmiles. Software Architecture Critics in the Argo Design Environment. Knowledge-Based Systems. Special issue: The Best of IUF98, 1998.
    [109]C.Luer, A.Hoek. Composition Environments for Deployable Software Components. Technical report uci-ics-02-18, 2002.
    [110]Z.Maamar, Z.Sheng, B.Boualem. Interleaving Web Services Composition and Execution Using Software Agents and Delegation. 2003 http://www.cse.unsw.edu.au/~qsheng/papers/maamar.pdf.
    [111]A.Liu, I.Gorton. PARSE-DAT: An Integrated Environment for the Design and Analysis of Dynamic Software Architectures. International Symposium on Software Engineering for Parallel and Distributed Systems, Kyoto, Japan, April 1998:146-159.
    [112]N.Medvidovic, P.Oreizy, R.N.Taylor, R.Khare, and M.Guntersdorfer. An Architecture-Centered Approach to Software Environment Integration. Technical Report USC-CSE-00-516, Center for Software Engineering, University of Southern California, March 2000.
    [113]B.Agnew, C.R.Hofmeister, J.Purtilo. Planning for change: A reconfiguration language for distributed systems. Distributed Systems Engineering, 1994, 1(5):313-322.
    [114]T. Bloom, M. Day. Reconfiguration and module replacement in Argus: Theory and practice. IEE Software Engineering Journal,1993,8(2):102-108.
    [115]O.Frieder, M.Segal. On dynamically updating a computer program: From concept to prototype. Journal of Systems and Software, 1991,14(6):111-128.
    [116]K.Sullivan, D.Notkin. Reconciling environment integration and software evolution. ACM Transactions on Software Engineering and Methodology, July 1992, 1(3):229-268.
    [117] T.Batista, A.Joolia, G.Coulson. Managing Dynamic Reconfiguration in Component-Based Systems. EWSA 2005, 2005: 1-17.
    [118] B.Warboys, M.Greenwood, I.Robertson, R.Morrison, et al. The ArchWare Tower: The Implementation of an Active Software Engineering Environment Using a π-Calculus Based Architecture Description Language. EWSA 2005, 2005, LNCS 3527: 30-40.
    [119] 李长云,李赣生,李莹.基于扩展的粒度计算的软件体系结构模型:EGSA.电子学报,2005,33(2):271-275.
    [120] B.Warboys, B.Snowdon, R.M.Greenwood, et al. An Active-Architecture Approach to COTS Integration. IEEE SOFTWARE, 2005, July/August: 20-27.
    [121] I. Georgiadis, J. Magee, J. Kramer. Self-Organising Software Architectures for Distributed Systems. Proceedings of the ACM SIGSOFT Workshop on Self-healing Systems, Charleston, South Carolina, ACM Press, 2002: 33-38.
    [122] F.Rivard. A New Smalltalk Kernel Allowing Both Explicit and Implicit Metaclass Programming. In Workshop Extending the Smalltalk Language, OOPSLA'96, San Jose, California, October 1996.
    [123] 李长云,李赣生,李莹.集成多计算源的软件体系结构:IMSA.计算机工程,2004,30(21):20-22.
    [124] 李长云,李莹,胡军,李赣生.基于软件体系结构的反射工作流.计算机辅助设计与图形学报,2005,17(8):1844-1850.
    [125] A.Tsalgatidou, T. Pilioura. An Overview of Standards and Related Technology in Web services. Distributed and Parallel Databases, 12(3), Kluwer Academic Publishers, 2002.
    [126] A.Brown, S.Johnston, K.Kelly. Using Service-Oriented Architecture and Component-Based Development to Build Web Service Applications. A Rational software whitepaper from IBM, April 2003.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700