CORC  > 软件研究所  > 基础软件国家工程研究中心  > 学位论文
题名一种适应性多边软件过程Agent协商模型研究
作者黎巎
学位类别博士
答辩日期2008-06-05
授予单位中国科学院软件研究所
授予地点软件研究所
关键词软件过程建模 协商 Agent 多Agent系统
其他题名Research on an Adaptive Multilateral Negotiation Model for Software Process Agents
中文摘要软件过程建模是指对软件过程建立模型,并且对模型建立和模型执行提供自动化支持。软件过程建模技术为软件过程的描述、表示、执行、分析、跟踪、变更以及改进提供了方法和工具,从而为软件组织实现软件开发过程的管理和改进提供了有力的支持,对于保证软件组织的软件产品质量,提高开发效率具有重要的理论和实践价值。 软件过程的一个重要特征是极大地依赖于软件开发人员,当软件过程面临各种变化时,正是作为软件过程的主体——软件开发人员的及时反应和应对,使得软件过程能够灵活适应各种软件开发的实际和变化状况;忽视软件开发人员在软件过程中的核心作用,是目前大多软件过程建模方法不适用于软件企业实际应用的原因之一。Agent技术主要基于对人的观察,其已被认识到是软件过程建模领域的重要研究方向之一。然而,相关研究工作并没有很好地体现人在软件过程中的核心作用,其根本原因在于其所采用或关注的是单Agent技术,而非多Agent系统技术。以互联为背景的多Agent系统能够很好地刻画人类的社会性,因此,对于当前以全球性、分布式多点等为主要特点的软件过程而言,采用多Agent系统技术,关注软件过程中所涉及的实体之间的协商、协作、竞争、承诺等特性是将Agent技术应用于软件过程的研究重点。 本文提出一种适应性多边软件过程Agent协商模型AMNM-PA。AMNM-PA基于软件开发者为软件过程中的核心要素并且软件过程为这些核心要素之间的相互协同关系的观点,将软件开发建模描述为代表软件开发者的自治的软件过程Agent(简称过程Agent)之间的协商;在协商中,过程Agent能够在变化的环境下针对各种不同实际应用,以及根据对环境的感知和所拥有的知识,适应、灵活地确立彼此间的协同关系,即建立软件过程。 本文在组织上采用了从模型要素及其相互关系定义、模型要素具体描述到模型实现及验证的逻辑结构。首先,本文给出AMNM-PA的模型定义,对过程Agent的协商所涉及的协商要素及其相互之间的关系进行描述。其次,本文详细描述协商要素中的决策过程,即过程Agent在协商中进行决策所依据的协商策略选择方法及各种可选协商策略;并以决策过程为基础,提出一种多边适应性协商算法,以此给出基于AMNM-PA的适应性多边协商过程的基本算法。随后,本文详细描述了另一协商要素——协商规则,其解决了协商过程的离线和在线灵活性问题,从而为软件过程建模的灵活性提供了解决方案。最后,本文实现了基于AMNM-PA的协商系统,并在该系统的支持下进行了实验研究,验证了AMNM-PA能够在变化的环境中适应性地建立面向实际软件项目的软件过程,并且该软件过程所包含的个体利益能够得到均衡、整体利益较高;同时很好地支持了软件过程建立和执行的灵活性。
英文摘要The appearing of software crisis leads that researchers and engineers begin to realize the importance of software product quality. Wherein, a main research area is how to manage and improve the processes for software development (i.e. software processes). Software process modeling technologies are a key link for software process management and improvement. Software process modeling refers to the construction of software process models and the automation of the model construction and execution. Software process modeling technologies provides the tools for description, representation, execution, analysis, tracing, changing and improvement of software processes. Software organizations can manage and improve their software development processes under the support of software process modeling technologies, and thus guarantee high quality of software products and efficiency of software development. Software process modeling has been evolved for approximately 20 years. The related research well supports the description of software process key elements and the controlling of software process activities. However, they are not widely applied in real software organizations. This thesis analyzes three reasons. The first problem, which is the basis one and results in another two, is the neglect of people. Currently most software process modeling methods do not support the cooperation involvement of software developers. However, software processes often face different changes in real software development and when changes happen, it is the developers’ response that makes the software process adaptive and flexible. People are the key element in software processes and the extent of the people involvement in software process modeling reflects the level of adaptability and flexibility of a software process modeling method. The second problem is that software models are predefined. Most software process modeling methods are introduced from the mature predefined industry process or relatively stable business process modeling. However, unlike the general industry or business processes, software processes require more flexibility and adaptability and have high dependence on some environment factors, for example, resource. When these factors that effect software processes change, software processes must be able to adapt accordingly and thus assure the progress of the software development. These predefined and static modeling methods are not applicable in real software organizations, especially those having different kinds of software projects and facing often changing software processes. The third problem is a cooperation problem brought by the traditional distributed systems. Traditional modeling methods mainly describe software process cooperation by shared controling or cooperation affairs. These tradition distributed systems (whatever logically distributed or geographically distributed) can not solve the problem of users’ benefit, i.e. the entities in tradition distributed systems can not interact on users’ behalf and users’ maximal benefit. For example, when the cooperative entities are from different software organizations, the traditional methods will make the task plans centrally and have a third party to define and control the cooperation; the cooperative entities are controlled by the third part and they can not interact on their own benefits, which is not the case in real cross-organization (or cross-department etc.) software development. Agent technologies base the observation of human beings and are realized to be one of the important research topics for software process modeling. However, most related work ignores the core functions of the software developers in software processes. The main reason lies in that they apply single agent technologies rather than multi-agent system technologies. In the environment of network, multi-agent systems can well describe the sociality of human beings. Therefore, when software processes face the current requirements of global and distributed multi-position software development, the research focus are the negotiation, cooperation, competition, commitment, etc. among the multi entities involved in software processes. This thesis proposes an adaptive multilateral negotiation models for software process modeling, namely AMNM-PA. AMNM-PA is based on the ideas that software developers are the core elements of software processes and software processes consist of the developers and their cooperation relationships, and thus describes software process modeling as the negotiation among the software process agents (or process agents for simplification) that represent the developers. In the negotiation, the process agents can adaptively construct their relationships, based on their knowledge and senses of the dynamic and changing environments, aiming at different real applications, and this construct the software processes. The organization of this thesis follows the structure from the model and framework, detailed description of the model elements, to implementation and verification. Firstly, this thesis formally defines AMNM-PA, describing the key elements in the negotiation of the process agents and their relationships, thus giving the framework of the negotiation method for the process agents to construct software processes. The adaptive multilateral negotiation model for software process agents AMNM-PA have five key elements: software process agent, which are the main body of the negotiation behavior; negotiation issues, which are the content of the negotiation; the communicational primitives used by the process agents in negotiation; the multilateral negotiation protocol, which is the interaction rules that the process agents must comply with in negotiation; and the decision processes that determine the process agents’ negotiation acts, which are non-stationary finite horizon Markov Decision Processes (MDPs). In negotiation, each participating process agent complies with the negotiation protocol, bases its own non-stationary finite horizon MDPs, and then sends the negotiation primitive and negotiation issue values to the negotiation opponent. Based on the definition of the key elements of AMNM-PA and their relations, this theis defines the execution mechanism of AMNM-PA as the execution of the finite state machine specified by the negotiation protocol. The execution process is driven by the non-stationary finite horizon MDPs. Secondly, this thesis describes the key element: the non-stationary finite horizon MDPs in details, including the different decision making strategies and the method of choosing the strategies. Based on the decision processes, this thesis proposes an adaptive multilateral negotiation algorithm, thus giving the basic algorithm for adaptive multilateral negotiation processes. The non-stationary finite horizon MDPs of AMNM-PA consist of each negotiation participating agent’s MDPs. In each MDPs, there are many kinds of strategies for choosing by the process agent. The main idea of the negotiation strategies is “evaluation”, i.e., the decisions of the process agents in negotiation are made by the evaluation of some relative factors. There are mainly three kinds of evaluations: the evaluation of the other agents, the evaluation of single negotiation issue and the evaluation of a set of negotiation issues. In each MDPs, the process agent can base its sense of environmental factors, apply the model-free Q learning algorithm to choose an adaptive and optimal negotiation strategy at each decision making time point, and then act according to the chosen strategies. The chosen strategy can assure the expected sum of the rewards from the performing of the action under the strategies to the end of the whole negotiation process. Based on the definitions of the key elements of AMNM-PA, their relations, the execution mechanism, the MDPs and the Q learning algorithm, this thesis designs an adaptive multilateral negotiation algorithm for negotiation processes implementation. Then, this thesis describes the key element: control rules and the negotiation rules in details, which give a solution to flexibility of offline and online negotiation, thus supporting flexible software process modeling. A notable characteristic of software processes is variability, which embodies two aspects: diversities in models and changes in modeling and model execution. The solution of this thesis is to separate the changing part and the static part of a negotiation process. Therefore, the traditional negotiation protocol is separated into two parts: a static generic protocol and some rules, i.e., control rules. Negotiation strategies and strategy choosing methods are also represented as rules. These explicitly defined rules abstract the easily changing part of a negotiation model, namely negotiation rules. According to existing environments, project backgrounds, available sources, etc., the process agents can define, change and choose different negotiation rule. When implemented, the rules are stored and evolved independently, interacting with the other part of the model in a low-coupling way, and thus support the flexibility of negotiation in modeling and execution a low cost. This thesis also gives a classification of negotiation rules and a unified semantic of them. Finally, based on the ideas of the negotiation rules, this thesis implements AMNM-PA, experimentally verifies AMNM-PA in the support of the implementation, and concludes that AMNM-PA can well support the construction of real software processes and gives high overall performance of the constructed software processes.
语种中文
公开日期2011-03-17
页码113
内容类型学位论文
源URL[http://124.16.136.157/handle/311060/6170]  
专题软件研究所_基础软件国家工程研究中心_学位论文
推荐引用方式
GB/T 7714
黎巎. 一种适应性多边软件过程Agent协商模型研究[D]. 软件研究所. 中国科学院软件研究所. 2008.
个性服务
查看访问统计
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
暂无评论
 

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。


©版权所有 ©2017 CSpace - Powered by CSpace