软构件集成框架的研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着对软件功能、规模和复杂性要求的增长,软件开发的成本越来越大。为了解决此问题,早在1968年的NATO软件工程会议上,Mcilroy在论文“大量生产的软件构件”中就提出了软件重用的概念,认为软件重用的基础是软构件,可以通过建立可重用的软构件库促进大型、可靠软件的开发。
     近年来,由于软件重用的需要,软构件技术发展迅速。但是很多构件依赖于特定的编程语言,耦合度较高,因此不能完全达到软件重用的可移植性和互操作性要求。为使软件象硬件一样能通过标准的构件来组装,人们开始从系统级和应用级上研究构成软件的规范化标准。诸如国际上象CORBA、COM/DCOM、Open Doc、OLE2等,国内软构件的研究有青鸟工程等。
     随着Internet应用的逐渐普及,WWW的跨平台、分布式特点为软件重用的应用开辟了广阔的前景,使大范围、大规模、分布式的软件重用成为可能。而以CORBA为代表的软构件/软总线技术为异质软构件的开发和“即插即用”制定了规范,故可采用CORBA技术来解决在分布、开放的系统中的重用问题。目前集成框架的研究主要建立在基于软构件/软总线方式的分布对象技术上,然而软构件/软总线的研究并未提供有效手段去透明地描述软构件的配置和相互关联。Agent技术的快速发展为解决此问题提供了可能,软件Agent的自治性、合作性和自适应性以及多Agent协作的自组织性,使Agent技术有潜力提供这种支持,基于Agent的软件工程和基于知识的软件工程将为软件重用提供更深层次的构造与互操作手段。
     本文通过对传统的软构件集成框架的分析,研究了软件工程的方法及基于CORBA的软构件生成和组装技术,提出一种新的分布式软构件集成环境DSCIE(Distributed Software Component Integrated Environment)的框架。主要研究工作如下:
     (1)给出软构件在分布式网络环境下的形式化描述,据此建立分布式软构件库。
     (2)采用符合CORBA规范的分布式对象技术来构造软构件集成框架,然后将agent技术引入到分布式构件管理中。
     (3)建立以分布式软构件库为核心,以符合CORBA规范的软总线为基础,通过各类软件Agent进行管理的分布式软构件集成环境DSCIE。
     从而使应用系统的开发过程转变为从分布式软构件库中选取合适的软构件,通过分布式软构件集成环境装配成可执行的系统。与传统的软构件集成框架相比,新的软构件集成框架具有较强的网络环境的动态适应性,为扩大软构件技术在网络环境下的应用提供了有效的支持。从而降低软件合成的复杂性,减少系统的开发代价。
     第1章 简单回顾了软件重用研究的发展过程,突出讨论软件重用的理论基础和技术等方面的研究现状,并对目前有关软件重用研究的热点问题及其发展趋势进行了探讨,最后介绍了本文的主要工作与组织结构。
     第2章 先简单介绍了软构件和软总线技术的定义和特点,然后对构件描述方法
    
    计
     软构件集成框架的研究
     的发展过程和研究现状进行了介绍,最后在对软构件技术分析的基础上给出了软构件
     在分布式网络环境下的形式化描述。
     第3章主要分析了建立分布式构件库的过程c首先介绍了对软构件的要求、获
     取和分类。然后根据软构件的形式化描述、构造原则、获取步骤和分类方法,建立分
     布式构件库,最后说明了分布式软构件库的管理组成和管理工具。
     第4章在分布式构件库的基础上,分析当前CORBA和Agent技术的特点,将两
     种技术引入到分布式软构件集成框架的设计中。
     第 5章提出一种新型的软构件集成环境框架的设计,此框架采用符合 CORBA规
     范的分布式对象技术来构造软构件集成框架,引入主动工作的多Agent来降低软件合
     成的复杂性,从而增加软构件技术的网络适应性,为扩大软构件技术在网络环境下的
     应用提供有效的支持。
     第6章主要列举了利用软构件集成框架技术,开发的两个应用系统:报表构件
     生成系统和Web信息发布系统。
With the increasing requirements of software function, scalability and complexity, the cost of software development becomes much higher. In order to solve the problem, in the conference of software reuse in 1968, Mcilroy firstly introduces the concept of software reuse in paper mass-produced software component, considering that the foundation of the software reuse is software component and what's more it can be used to stimulate the rapid development of big-type and reliable software to construct reusable bases of software component.
    In recent years, because of the requirement of software reuse, the software component technology has got its great development. However, because that most components depend on special programming language and have high coupling degree, it's hard to achieve the goal of the transplantation and mutual operation of software reuse completely. For the sake of assembling the normal software components just as hard wares, people begin to investigate the standardized criteria for the constitution of the software, such as the international researches CORBA, COM/DCOM, Open Doc, OLE2 etc. as well as the native ones Jade Bird Project and so on.
    With the gradual popularization of Internet application, the characteristics of multi-platform and distribution have exploited a wide landscape for the application practice activities of software reuse, which make it possible to get large scope, large scale and distributed software reuse. Since the software component/software bus technology, representative of CORBA, DCOM, constitutes the criteria of the development of heterogeneous software component and plug-and-play technology, it is able to solve the reuse problems in distributed, open systems. Currently the integrated framework research mainly focuses on the distributed object technology based on software component and software bus. However, the technology of software component and software bus lack for the efficient means to depict the configuration and mutual association of components. At the same time, with the rapid development of Agent technology, the software engineering based on Agent and the one based on knowledge provide higher-level constructio
    n measures and mutual manipulation measures. The software Agent's autonomy, cooperation, self-adaptation as well as multi-agent' s cooperation and self-organization makes it have the potential the provide this support.
    
    
    Aiming at the analysis of the defection of traditional component software framework, the paper studies the software engineering method and software component construction and assemble technology based on CORBA, introducing a new distributed software component integrated environment framework.
    Firstly, the paper gives a formalized account of software component in distributed Internet environment, on the basis of which reusable software components base is built.
    Secondly, it adopts the distributed object technology according with CORBA criteria to construct the integrated framework of software component, and then introduces agent technology to the management of distributed components.
    Finally, The paper constructs the component supporting environment with the core software component base, the base software bus according with CORBA criteria, and the management software agent.
    The environment makes the development of application system transfer from traditional method to new one that selects appropriate software components from the distributed bases and combines them with the newly developed ones to assemble the executable system. Comparing with the traditional one, the new component software framework is much easier to be adapted to the dynamics of the internet environment, which consequently improves the system* s maintenance, abbreviates the development cycle, and reduces the development cost.
    Chapter 1 gives a simple review of the development process of software reuse research work, discusses the current work of the theory basis and technology about it prominently, and introduces the hot issues, critical technology and
引文
[1] 方裕,杨芙清.可重用软件工程研究.电子学报,1988,16(4):99-104
    [2] 耿刚勇,仲萃豪.采用软件构件技术开发领域应用软件.计算机科学,1997,24(1):58-62
    [3] 应晶,何志均.软件方法论研究中的若干问题.计算机科学,1997,24(4):69-73
    [4] 邹炜,孙家肃,孙艳春.青鸟网上构件库系统的访问控制机制.软件学报,2002,13(1):92-98
    [5] 常继传,李克勤,郭立峰,梅宏,杨芙清,青鸟系统中可复用软件构件的表示与查询.电子学报,2000,28(8):20-23
    [6] 杨芙清,朱冰,梅宏.软件复用.软件学报,1995,6(9):525-533
    [7] 张岩,姜岩松,郭福顺.DSSRE:基于 www 的分布式软件重用支撑环境.小型微型计算机系统,2001,22(2):187-190
    [8] Carma Mc Clure. Software reusetechniques [M]. Prentice Hall PTR. 1997
    [9] Adler R M. Emerging standards component software. IEEE Computer. 1995, 18(3):68-77
    [10] 冯玉琳等.面向对象的组合软件工程研究.计算机学报,1996,19(3):237-244
    [11] Wooldridge M. Intelligent Agents:Theory and Practice.. Knowledge Review, 1995, 10(2)
    [12] 刘弘,曾广周,林宗楷.基于 Agent 的信息过程建模方法.计算机研究与发展,1998,35(8):705-708
    [13] 段永强,李平.基于 CORBA 和代理技术的软件重用.小型微型计算机系统,2000,21(9):811-813
    [14] Vigna G. Mobile Agents and Security. Lecture Notes in Computer Science 1419, Berlin, Heidelberg:Springer-Verlag, 1998
    [15] Lange D B. Mitsuru Oshima:Programming and Deploying Mobile Agents with Aglets. Reading,MA:Addison-Wesley Publishing Company, 1998
    [16] White J. Mobile agents. In:Bradshaw Jed. Software Agents. Cambridge, MA:MIT Press, 1996,437-472
    [17] 刘磊,刘弘,邵增珍.一个基于 Agent 的分布式构件管理系统.计算机应用研究,2002,19(8),15-18
    [18] Johnson R E, Components, Frameworks, Patterns. ACM SIGSOFT Software Enginneering Notes, 1997,22(3):10-17
    [19] 唐胜群,唐涛洲.软件体系结构与组件软件工程.计算机工程,1998,24(8):32-35
    [20] 耿刚勇,仲萃豪.采用软件构件技术开发领域应用软件.计算机科学,1997,24(1):58-61
    [21] 陈英 李丰 邬延风.软件复用技术.研究北京理工大学学报,1998,
    
    18(6):712-717
    [22] Whittle B. Models and languages for component descriptionand reuse. ACM SIGSOFT Software Engineering Notes, 1995, 20(2):76-89
    [23] Latour'L, Wheeler T, Frakes B. Descriptive and prescriptive aspects of the 3 Cs model:SETA1 working group summary. CASE Centre, Syracuse University, New York:Technical Report 90 14, 1990
    [24] Morel JM, Faget J. The REBOOT environment. In:Proc2 nd International Workshop on Software Reuse (REUSE'93), Lucca, Italy, 1993.80-88
    [25] Kiniry JR. Leading to a kind description language:Thoughts on component specification. Caltech Computer Science Technical Reports CS-tr-99-04, 1999. http://resolver.library.caltech.edu/caltech CSTR:1999.cs-tr-99-04
    [26] Jade Bird Ⅲ Project Team of Peking University. The manualof jade bird componentdescription language(JBCDL). Technical Report, 1997(in Chinese)
    [27] 马俊涛,刘积仁.面向复用过程的自描述构件接口模型,东北大学学报(自然科学版)1999,20(3):232-235
    [28] AmyMoormann Zaremski, Jeannette M Wing. Specification matching of software component[J]. ACM Software Engineering, 1995,20(5):6-17.
    [29] Jun-Jang Jeng, Betty Cheng H C. Specification matching for software reuse:A foundation[J]. ACM Software Engineering, 1995.20(5):97-10
    [30] 吕丽民,陈火旺.OOFMD 软件的重用与集成分析.计算机研究与发展,1997,34(6):444-448
    [31] 张涌,王渊峰,钱乐秋.一个集成式的软件构件描述框架.计算机学报,2002,25(5):502-507
    [32] Ralf,S. "Load Balancing Your Web Site", Web Techniques Magazine,May1 99
    [33] 王欣,杨根兴,朱三元.构件软件的质量和度量.华东理工大学学报,2000,26(5),543-546
    [34] Chidamber S R, Kemerer C F. A metrics suite for ob ject-oriented design [J]. IEEE Trans Software Eng, 1994, 20(6):476-493
    [35] 肖卫东,张维明,赵新昱.一种基于 Actire X 构件的Web应用系统开发模式.小型微型计算机系统,1999,20(7):536-539
    [36] Markus Breugstand Thomas Magendonz, Mobile Agents-Enabling Technolohy for Active Intelligent Net Work Implementation, IEEE Network, May/June 1998
    [37] 刘大有,杨鲲,陈建.Agent 研究现状与发展趋势.软件学报,2000,11(3):315-321
    [38] Liu Hong, Liu Xiyu. Design Agents with Sharing Learning Mechanism. Computer Aided Drafting, Design and Manufacturing. 2000, 10(1): 74-83.
    [39] Wooldridge M, Jennings N R. Intelligent Agents:Theory and Practice[J]. Knowledge Engineering Review, 1995, 10(2):115-152
    [40] Wooldridge M. Agent-Based Software Engineering[J]. IEEE Proc on Software Engineering, 1997, 144(1):26-37
    [41] Jennin(?)s N R, Wooldridge M. Application of Intelligent Agents[A]. In:Agent
    
    Technology: Foundation, Applications, and Markets [M]. 1998
    [42] 胡代平,刘豹.基于 Agent 的预测支持系统的设计.管理科学学报,1998,1(4);82-86.
    [43] 祁明,卓光辉多智能代理网络购物系统的设计与分析.计算机工程与设计,2001,22(3):12-15
    [44] 韩耀伟,张灵玲,李俊,潘金贵.一个基于 Mobile Agent 的课件搜索系统的框架设计.小型微型计算机系统 1999,20(8):609-614
    [45] 吕建,张鸣,廖宇,陶先平.基于移动 Agent 技术的构件软件框架研究.软件学报,2000,11(8):1018-1023
    [46] 刘海燕等,多 Agent 系统的研究.计算机科学,1995,22(2):57-62
    [47] Liu Hong, Tang Ming Xi & John Frazer. Evolutionary design in a multi-agent design environment. In: Proceedings of Seventh International Conference on Artificial Intelligence in Design(AID'02), July 15-17,2002,Cambridge University,UK.
    [48] 刘弘,刘希玉.支持设计环境中学习的多 Agent 系统.小型微型计算机系统,2002,23(3):230-234.
    [49] 刘弘,孙文星,刘希玉.一个多 agent 设计概念学习系统.西南师范大学学报(自然科学版),2001,26(4):388-392.
    [50] Gek Woo Tan etal. An intelligent-agent framework for concurrent product design and planning. IEEE Trans on Engineering Management, 1996,43(3):297-306
    [51] 高济 王进 基于 Agents 的软件合成框架 ABFSC 计算机学报,1999,22(10)
    [52] 蔡智明,刘宗田.构件复用的W e b化支撑模型研究,2000,28(3):142-144
    [53] 毛新军,徐锡山,齐治昌.基于 Agent 的软件重用.计算机工程与科学,2000,22(5),88-99
    [54] Sandhu, R., Coyne, E., Feinstein, H., et al. Role-Based access control models. IEEE Computer, 1996,29(2):38-47
    [55] Ob ject Management Group. The Common Ob ject Request Broker:Architecture and Specification. OMG, 1998
    [56] Liu Hong, Zeng Guang Zhou & Lin Zong Kai. A Constructing Approach of Software Agents Using Components. ACM Software Engineering Notes, 1999,24(3):80-84.
    [57] 刘弘,郑明春,冯梅.设计环境中共享学习机制的研究.计算机辅助设计与图形学学报,2001,13(11)
    [58] 刘希玉,刘弘.一种多 Agent 系统的构筑方法.计算机应用研究,2000,17(9),36-39
    [59] 刘弘,曾广周,林宗楷.软件 Agent 的构筑.计算机科学,1998,25(2):24-28
    [60] 方裕,杨芙清.可重用软件工程研究.电子学报,1988,16(4):99-104
    [61] Liu Hong, Zeng Guang Zhou & Lin Zong Kai. An Agent-Oriented Modeling Approach. ACM Software Engineering Notes, 1998, 23(3):87-92.
    [62] 鲍钟峻,张琼,石教英.采用多 Agent 模型的协同编著系统的设计与实现.计算机研究与发展,1998,35(11):966-970
    [63] 刘弘,林宗楷.一种支持动态任务分配的协同设计方法.软件学报,
    
     2001,12(12),1830-1836
    [64] 刘弘 曾广周 林宗楷.一种面向 Agent 的设计过程模型.小型微型计算机系统,1998,19(6),23-28
    [65] 刘磊,刘弘,王化雨,邵增珍.基于软件重用的报表构件生成系统的研究与实现.小型微型计算机系统 2003,24(4),739-743
    [66] 刘磊,刘弘,邵增珍.基于软构件的 web 信息发布生成器的研究与实现.计算机应用研究,2002,19(12),16-18