图书前言

面向主体软件工程是近年来出现的一种新颖软件工程范型,它借助于多主体系统的概念、思想、理论和方法,试图为部署在开放环境,需要与环境进行持续交互,具有异构、分布、发散、自主、自治、协同等特点的软件系统提供工程化的开发手段。随着互联网和移动互联网技术的快速发展以及建立在它们之上应用的急剧增长,越来越多的软件系统呈现出上述特点并且表现为系统之系统、超大规模系统、社会技术系统、动态适应系统等系统形态。面向主体软件工程可以为这类系统的开发提供新颖、有效的技术途径。

  面向主体软件工程的研究具有多学科交叉的特点,涉及人工智能、认知科学、自然语言处理、社会组织学等学科的知识;其应用和实践覆盖了诸多领域,包括航空航天、游戏娱乐、国防军事、电子商务、能源电力、医疗健康、机器人和无人设备、电信通信、交通运输、生产物流等,并取得了诸多成功的应用案例,因而受到了学术界和工业界的高度关注和重视,一些政府和组织(如美国、欧盟、NASA、DRAPA、OMG、ISO等)积极投入该方面的研究,并开展了诸如技术标准化、教育培训、宣传推广等方面的工作。一些国际著名企业也极力推动该方向的研究与应用,包括西门子、戴姆勒、摩托罗拉、IBM、微软、英国电信等。

  面向主体软件工程将可能是21世纪计算机科学与技术领域的一项重要、富有潜力的技术。随着面向主体软件工程理论和技术的不断发展和日趋成熟,以及在诸多领域的成功实践,它在软件工程领域的地位和作用将日益突出。为了系统了解面向主体软件工程的发展状况、加强面向主体软件工程的教育和培训、推进该方向的科学研究以及在诸多潜在领域的工程实践与应用,我们特编著了本书。

  本书内容具有以下几个方面的特点。

(1) 系统性。本书从技术和需求两个角度深入分析了面向主体软件工程的产生背景,系统介绍了面向主体软件工程的发展历程,全面阐述了面向主体软件工程的概念和思想、原则和策略、方法学、建模语言、体系结构、设计模式、程序设计、CASE工具与环境等,并与当前主流软件工程(如面向对象软件工程、面向服务软件工程等)进行了多方面的对比和分析。

(2) 前沿性。本书的内容取材于面向主体软件工程近年来的研究成果以及作者在该领域多年研究的心得和体会,展示了该领域的研究状况;书中的许多内容直接来自于我们的科学研究和工程实践成果,反映了作者对面向主体软件工程的认识和看法。此外,我们还对面向主体软件工程研究与实践面临的问题和挑战进行了深入的讨论,指出现有工作存在的局限性和不足,并通过每一章末节的导读部分,帮助读者阅读更多的相关资料和文献,从而引导读者有针对性地开展相关研究和实践。

(3) 工程性。除了介绍面向主体软件工程的理论性和方法性内容之外,本书还针对软件工程的实践性特点,强化了对工程要素的介绍,以帮助读者更好地掌握并利用这一技术来前言面向主体软件工程——模型、方法学与语言(第2版)解决实际问题并开展应用开发,包括从工程的角度对比分析了不同技术和方法的优缺点,在各个章节列举了诸多案例来说明如何运用面向主体软件工程的技术和方法,分析了面向主体软件工程的应用情况以及潜在的应用领域,介绍了目前面向主体软件工程应用实践的主要语言、工具和平台,结合软件工程的成功实践经验给出了面向主体软件开发的一组经验和策略。

  全书共有11章。第1章从软件工程的角度,结合应用需求以及软件特征的变化,分析面向主体软件工程的产生背景。第2章介绍了主体和多主体系统的概念和思想。第3章概括性地介绍了面向主体软件工程的概念和思想、研究和实践状况。第4章和第5章分别介绍了单个主体的体系结构、多个主体的交互与协同问题及其相应的实现技术。第6章介绍了面向主体的分析和设计方法学。第7章介绍了面向主体的建模语言。第8章介绍了多主体系统的体系结构设计以及面向主体的设计模式。第9章介绍了面向主体的程序设计及其语言。第10章介绍了面向主体的软件开发框架与平台。最后,第11章讨论和分析了面向主体软件工程面临的挑战以及未来的发展方向。本书的附录部分还列举了该领域我们所收集到的一些重要学术资源,包括会议、期刊、学术组织和研究机构。

     本书可以作为软件工程专业研究生的教材和参考用书,也可以作为从事多主体系统研究与实践的科研人员、工程开发人员、教师的参考用书。

     本书内容得到了国家自然科学基金、国家863计划的赞助和支持,在此表示感谢。由于作者水平有限,书写过程中难免有疏漏之处,敬请读者批评指正。

毛新军

2015年6月于长沙