论文部分内容阅读
软件过程建模是指对软件过程建立模型,并且对模型建立和模型执行提供自动化支持。软件过程建模技术为软件过程的描述、表示、执行、分析、跟踪、变更以及改进提供了方法和工具,从而为软件组织实现软件开发过程的管理和改进提供了有力的支持,对于保证软件组织的软件产品质量,提高开发效率具有重要的理论和实践价值。
软件过程的一个重要特征是极大地依赖于软件开发人员,当软件过程面临各种变化时,正是作为软件过程的主体——软件开发人员的及时反应和应对,使得软件过程能够灵活适应各种软件开发的实际和变化状况;忽视软件开发人员在软件过程中的核心作用,是目前大多软件过程建模方法不适用于软件企业实际应用的原因之一。Agent技术主要基于对人的观察,其已被认识到是软件过程建模领域的重要研究方向之一。然而,相关研究工作并没有很好地体现人在软件过程中的核心作用,其根本原因在于其所采用或关注的是单Agent技术,而非多Agent系统技术。以互联为背景的多Agent系统能够很好地刻画人类的社会性,因此,对于当前以全球性、分布式多点等为主要特点的软件过程而言,采用多Agent系统技术,关注软件过程中所涉及的实体之间的协商、协作、竞争、承诺等特性是将Agent技术应用于软件过程的研究重点。
本文提出一种适应性多边软件过程Agent协商模型AMNM-PA。AMNM-PA基于软件开发者为软件过程中的核心要素并且软件过程为这些核心要素之间的相互协同关系的观点,将软件开发建模描述为代表软件开发者的自治的软件过程Agent(简称过程Agent)之间的协商;在协商中,过程Agent能够在变化的环境下针对各种不同实际应用,以及根据对环境的感知和所拥有的知识,适应、灵活地确立彼此间的协同关系,即建立软件过程。
本文在组织上采用了从模型要素及其相互关系定义、模型要素具体描述到模型实现及验证的逻辑结构。首先,本文给出AMNM-PA的模型定义,对过程Agent的协商所涉及的协商要素及其相互之间的关系进行描述。其次,本文详细描述协商要素中的决策过程,即过程Agent在协商中进行决策所依据的协商策略选择方法及各种可选协商策略;并以决策过程为基础,提出一种多边适应性协商算法,以此给出基于AMNM-PA的适应性多边协商过程的基本算法。随后,本文详细描述了另一协商要素——协商规则,其解决了协商过程的离线和在线灵活性问题,从而为软件过程建模的灵活性提供了解决方案。最后,本文实现了基于AMNM-PA的协商系统,并在该系统的支持下进行了实验研究,验证了AMNM-PA能够在变化的环境中适应性地建立面向实际软件项目的软件过程,并且该软件过程所包含的个体利益能够得到均衡、整体利益较高;同时很好地支持了软件过程建立和执行的灵活性。