- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
复杂软件系统的成长性构造与适应性演化
中国科学: 信息科学 2014 年 第44 卷 第6 期: 743–761
可再生能源互联网专题 论文 科学与技术前沿论坛
复杂软件系统的成长性构造与
适应性演化
王怀民 吴文峻 毛新军 丁博 郭长国 李未
国防科学技术大学计算机学院, 长沙 410073
北京航空航天大学计算机学院, 北京 100191
中国电子设备系统工程公司, 北京 100039
* 通信作者. E-mail: dingbo@
收稿日期: 2014–01–20; 接受日期: 2014–05–06
摘要 随着信息网络技术的渗透性发展, 复杂软件系统正在成为一种泛在的新型软件形态. 此类软
件系统通常由相当数量的局部自治的软件系统相互耦合关联而成, 具有 “系统之系统” 、“信息— 物
理” 融合系统和“社会— 技术” 交融系统的特点, 表现出成员异质、边界开放、行为涌现、持续演化
等一系列新的性质. 这些特征打破了传统基于 “还原论” 思想的软件工程理论和技术所基于的基本
假设, 使其难以适用于复杂软件系统的构建. 本文分析复杂软件系统的内涵、形成特征和基本性质,
深入讨论复杂软件系统在构造和演化环节所面临的挑战, 借鉴互联网以及生命系统、社会系统和经
济系统等复杂系统的形成和演进模式, 提出复杂软件系统的“成长性构造” 和“适应性演化” 法则, 阐
述这两条法则所涉及的主要科学问题和关键支撑技术. 本文试图为复杂软件系统的构建和发展提供
新的方法学和架构层面的支持.
关键词 复杂软件系统 成长性构造 适应性演化 软件开发 软件演化
引言
近年来, 软件系统的复杂程度持续增长. 这种增长首先表现在软件的规模上. 例如, 互联网的前身
ARPANET 最初仅连接了4 个节点, 而2014 年4 月支持即时通信的分布式应用QQ 实现了超过2 亿
个节点同时在线 , 其中超过70% 是移动终端设备; IBM 正在英国建设智能能源云(UK smart energy
cloud) 项目 , 计划在 2020 年将英国 5200 万台智能电表联接在一起, 形成能源互联网络; 美军正在
建设的 “全球信息栅格”(global information grid) 旨在通过网络和分布计算软件实现从传感器到射手、
从总统府到散兵坑的 “无缝信息链接”, 其规模超过200 万个结点, 与此同时美军正在调研如何建设超
过 10 亿行代码的软件系统 .
规模上的持续量变引起系统复杂性的质变. 在规模持续增长的过程中, 许多大型软件系统在内部
结构、外部交互、演化方式等维度上也表现出了与传统分布计算软件迥异的特征, 它们兼具了 “系统
1) /a000129.htm.
2) /smarterplanet/uk/en/smart grid/article/smart energy cloud.html.
引用格式 王怀民 吴文峻 毛新军 等 复杂软件系统的成长性构造与适应性演化 中国科学 信息科学
王怀民等: 复杂软件系统的成长性构造与适应性演化
之系统” 、“信息— 物理” 融合系统和 “社会— 技术” 交融系统的特点. 我们称此类软件系统为复杂
软件系统, 其典型实例包括互联网软件系统、能源互联网软件系统、各类大型联合指控软件系统、国
家和全球金融信息系统等. 它们在如下两个方面对现有软件开发和维护技术 提出了挑战:
(1) 在构造方面, 由于其规模巨大、内部结构复杂, 复杂软件系统不可能一次性设计、开发和部署.
在时间尺度上, 其持续开发、部署、更新和调整的过程可能长达数年甚至数十年. 从参与者的角度而
言, 这一过程涉及到大量不同目标的投资者, 以及不同类型的开发者、维护者和使用者等大量利益相
关者; 从系统成分的角度而言, 这一过程涉及到高度异构的各类自
文档评论(0)