基于复杂网络的软件系统结构演化研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:lmh860628
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件产业的迅速发展,软件系统的功能和结构日益复杂,如何有效地理解复杂软件系统的结构,理解其在生命周期里的变化规律,成为人们进行软件开发、再工程、维护和重构时关注的一个关键问题。   近年来复杂网络得到很多研究学者的关注。研究发现,包括生物学、社会学、物理学等在内的很多领域的复杂系统均表现出了复杂网络的特征。复杂网络是一种新的系统科学理论,为复杂系统构建网络模型,并研究其拓扑结构特征及这些特征的形成机制,从而揭示复杂表象背后不复杂的、规律性的一面。   复杂网络也就为人们研究复杂软件系统提供了一个新的手段。本文分别从复杂网络结构和演化模型两个方面着手进行研究:通过为大规模软件系统构造网络模型来研究软件系统的拓扑结构特征;通过建立演化模型来模拟软件系统结构的演化过程。主要工作如下:   (1)综述了复杂网络的基本概念及其在软件系统中的研究进展。首先介绍了软件系统结构研究的现状,说明为什么要引入复杂网络。然后概述了目前复杂网络研究的三个方面,并分别举例说明。接着详细介绍了复杂网络的基本概念,这是本文研究内容的背景知识和理论基础。最后,结合复杂网络研究的三个方面,总结了复杂网络在软件系统中的研究进展。   (2)提出了一种基于模块的软件演化模型。与已有的软件演化模型的出发点不同,该模型着眼于软件系统的模块结构。在网络演化时,新边选择连接节点的择优概率不是单纯地依赖节点度数的大小,还要考虑了节点所在模块:调整与新边的另一端节点在同一个模块的节点的被选择概率。本文改进了BA模型原有的择优概率,定义模块择优概率,考虑了实际软件系统的演化规律,再结合软件演化中渐进活动和反倒退活动的概念,建立了包含这两类活动四个部分的基于模块的软件演化模型,并在理论上证明了该模型的无标度特性。   (3)设计并实现了一个基于复杂网络的Java程序分析工具(JPAC)。JPAC工具具有三层的系统结构:数据分析层、数据运算层和用户界面层。本文详述了各个层次主要功能以及采用的技术。JPAC工具是对软件系统复杂网络结构及其演化规律进行研究的基础。   (4)验证了软件系统中的复杂网络现象。首先为Java程序构筑其网络表示:Java SCG。然后以JDK系统为例,用JPAC工具为大型Java程序构建复杂网络并统计其特征,发现软件系统网络结构的平均路径长度很小,而平均聚集系数较大,即具有小世界效应,同时其度分布也服从幂律分布,即具有无标度特性,从而验证了大规模软件系统中的复杂网络现象。   (5)对JDK系统的演化过程进行了模拟。首先给出了一个可行的参数估计方法,对基于模块的软件演化模型进行参数估计。然后使用JPAC工具对JDK系统的演化过程进行了模拟仿真,实验结果说明了基于模块的软件演化模型的有效性。  
其他文献
随着信息技术的发展,软件安全成为信息技术的一个研究热点。作为软件运行基础,操作系统的安全性尤为重要。其中,隐蔽通道分析和处理是高等级安全操作系统开发中不可或缺的环节。
无线传感器网络在环境的监测和保护、企业生产管理、自动运输、医疗产业以及国防事业等很多领域中都有着光明的应用前景。其应用领域广泛、多变,应易于使用和部署。传感器网络
软件agent本身具有自治性、交互性和对环境的反应性,并具有主动行为的特点。agent所具有的这些特点为当前Internet开放式环境下的程序设计开辟了一条新思路。移动agent是一类
近来,全球范围内越来越多的组织已经迅速采用云范例提供按需存取、存储以及大数据处理。基于位置服务的应用对采用云服务起到了巨大的推力作用。由于车辆GPS数据的实时性及其
网格技术虽然有着非常广阔的前景和发展空间,但是对它的许多研究还处在起步阶段,还有许多关键技术问题需要解决。经过二十多年的研究和发展,网格计算技术取得了一系列重大的
由于网络技术与移动通信技术的发展,基于移动计算设备的应用已经越来越普及。人们广泛地使用个人数字助理(PDA,Personal Digital Assistant),、智能电话等移动手持设备随时随
当今,用户需求频繁变化,对软件系统灵活性的期望日益增长。但是,大多数系统由于自身设计的局限性,不能及时满足用户期望,导致软件满意度降低;与此同时,开发者却疲于满足不同用户的个
软件成本估算的方法和技术众多且各有千秋,没有一种方法被证明在各种情况下的估算都是最精确的。组合估算是一种非常有效的估算方法,它避免了去选择一种单一的最优的估算方法,而
作为一种全新的信息获取和处理技术,无线传感器网络综合了传感器技术,微机电系统和无线网络技术。它能够用来进行实时监测、感知和采集各种环境或监测对象的信息并对其进行处
互联网的飞速发展极大地方便了人们从网络上获取多媒体数据,同时也给版权保护这一问题提出了新的挑战。数字水印技术作为一种新的有效数字产品版权保护的技术手段,是目前国际