CN1900906A - Software process main body automatic consulting system and method based on rulls - Google Patents
Software process main body automatic consulting system and method based on rulls Download PDFInfo
- Publication number
- CN1900906A CN1900906A CN 200610089762 CN200610089762A CN1900906A CN 1900906 A CN1900906 A CN 1900906A CN 200610089762 CN200610089762 CN 200610089762 CN 200610089762 A CN200610089762 A CN 200610089762A CN 1900906 A CN1900906 A CN 1900906A
- Authority
- CN
- China
- Prior art keywords
- negotiation
- rules
- rule
- engine
- subject
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000008569 process Effects 0.000 title claims abstract description 154
- 238000000034 method Methods 0.000 title claims abstract description 140
- 230000007704 transition Effects 0.000 claims abstract description 22
- 230000000694 effects Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 238000004886 process control Methods 0.000 claims description 2
- 230000003068 static effect Effects 0.000 abstract description 5
- 238000012545 processing Methods 0.000 abstract description 3
- 239000003795 chemical substances by application Substances 0.000 description 16
- 238000012360 testing method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 239000003999 initiator Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于规则的软件过程主体自动协商系统和方法,该系统由平等的软件过程主体互连而成,过程主体包括以下功能模块:协商规则编辑器、协商模型分析器、协商规则引擎、协商过程引擎、协商规则库、协商过程库。该方法包括步骤:依次处理接收到的消息,检验消息的合法性;根据合法的消息,通过状态转换函数转换过程主体的状态;触发协商规则引擎,并载入协商规则以及相关数据;根据约定的算法,将数据与协商规则进行匹配,并对其进行排序、冲突检测和解决;执行处理过的规则,生成新的数据,将结果提交给协商过程引擎。该方法将传统协商协议分为静态的通用协议和动态的协商规则,以较低的成本为软件过程agent的协商提供了灵活性和动态性。
A rule-based software process subject automatic negotiation system and method, the system is formed by interconnecting equal software process subjects, the process subject includes the following functional modules: negotiation rule editor, negotiation model analyzer, negotiation rule engine, negotiation process engine, negotiation rule library, and negotiation process library. The method includes the steps of: sequentially processing the received messages, and checking the legitimacy of the messages; converting the state of the process subject through a state transition function according to the legal messages; triggering the negotiation rule engine, and loading the negotiation rules and related data; according to the agreed Algorithm, match the data with the negotiation rules, sort them, detect and resolve the conflicts; execute the processed rules, generate new data, and submit the results to the negotiation process engine. This method divides traditional negotiation protocol into static common protocol and dynamic negotiation rules, and provides flexibility and dynamics for software process agent negotiation at a lower cost.
Description
技术领域technical field
本发明涉及一种软件过程建模技术,特别涉及一种基于规则的软件过程主体自动协商系统和方法,属于计算机软件生产技术领域。The invention relates to a software process modeling technology, in particular to a rule-based software process subject automatic negotiation system and method, and belongs to the technical field of computer software production.
背景技术Background technique
近年来,计算机技术的发展越来越侧重于软件的开发和应用,软件技术的发展已经成为衡量计算机技术水平的重要标志之一。软件的生产规模越来越大,使软件过程建模技术日益成为关系到软件生产成本和质量的关键因素。传统的软件过程建模方法往往将软件过程建模为活动或任务之间的相互关系,且这些活动之间的相互关系是预定义的。在实际的软件开发过程中,一个软件过程通常由一组开发者作为基本组成元素,这些开发者首先相互协商各自承担的任务,达成一致后形成开发小组,从而相互协作以完成软件过程的目标。基于主体(agent)的软件过程建模方法将软件过程建模为一组可代表软件开发者(可以是单个开发者、也可以是团队或组织)、具有软件过程知识、能够实施软件过程活动(如系统设计、编码以及测试等)的主体之间的相互协作关系,这些主体被称为软件过程主体,简称过程主体。这种强调软件过程中软件开发者为主要构成元素,且构成元素之间的关系通过主动、灵活的协商而建立的软件过程,更接近软件开发的实际情况,具有较好的灵活性和对环境的适应性。In recent years, the development of computer technology has increasingly focused on the development and application of software, and the development of software technology has become one of the important symbols to measure the level of computer technology. The scale of software production is getting larger and larger, making software process modeling technology increasingly a key factor related to software production cost and quality. Traditional software process modeling methods often model software process as the interrelationships between activities or tasks, and the interrelationships between these activities are predefined. In the actual software development process, a software process usually consists of a group of developers as the basic components. These developers first negotiate with each other about their respective tasks, and after reaching an agreement, they form a development team to cooperate with each other to complete the goals of the software process. The software process modeling method based on the agent (agent) models the software process as a group of representative software developers (it can be a single developer, or a team or organization), has software process knowledge, and can implement software process activities ( Such as system design, coding and testing, etc.), these subjects are called software process subjects, referred to as process subjects. This kind of software process, which emphasizes that the software developer is the main constituent element in the software process, and the relationship between the constituent elements is established through active and flexible negotiation, is closer to the actual situation of software development, and has better flexibility and environmental protection. adaptability.
在已知的现有技术中,基于主体的自动协商方法考虑三个基本要素:协商协议、协商参数以及决策策略。目前基于主体的大多协商方法都是非灵活的:预定义和固定协商协议、固定协商参数的数量,甚至所有协商参与者均采用单一、相同的决策策略,当这些因素发生改变时,相应系统的维护成本就很昂贵。过程主体的协商过程是多形式和变化的,依赖于环境、业务目标、项目特点等因素。例如,组织间关于软件外包项目的协作关系的建立,可以采用一对多的拍卖式协商,也可采用一对一的谈判式协商;而不同等级的协商主体(比如个人、团队和组织就属于不同等级的协商主体)之间的协商明显不同。因此,在协商的过程中,代表协商主体的过程主体(Agent)需自主决定其所使用的协商协议、所协商的协商目标以及所采用的决策策略,而那些非灵活的、静态的、变更代价昂贵的协商方法显然不适用于过程主体。In the known prior art, the subject-based auto-negotiation method considers three basic elements: negotiation protocol, negotiation parameters, and decision-making strategy. Most of the current agent-based negotiation methods are inflexible: predefined and fixed negotiation protocols, fixed number of negotiation parameters, and even a single, same decision-making strategy for all negotiation participants. When these factors change, the maintenance of the corresponding system The cost is very expensive. The negotiation process of the process subject is multiform and variable, depending on factors such as the environment, business objectives, and project characteristics. For example, one-to-many auction negotiation or one-to-one negotiation negotiation can be used to establish the collaborative relationship between organizations on software outsourcing projects; while different levels of negotiation subjects (such as individuals, teams and organizations belong to Negotiation between different levels of negotiating subjects) is obviously different. Therefore, in the negotiation process, the process subject (Agent) representing the negotiation subject needs to independently decide the negotiation protocol it uses, the negotiation goal it negotiates, and the decision-making strategy it adopts, while those inflexible, static, and change costs Expensive negotiation methods are clearly not suitable for process bodies.
还有一些方法将控制协商过程某些方面的规则与协商过程本身分离表示,在获取协商灵活性和动态性方面取得了一定的成果,如将时间控制和拍卖过程分别表示和处理,从而在时间控制方面取得了一定的灵活性;用规则表示决策策略,并采用相应技术使规则能够在系统运行时间被动态添加和修改,从而决策策略可动态、灵活地变化;将协商协议中的某些规则提取、分类,为协商协议提供一定的灵活性。然而,当这些方法应用到过程主体时,存在两个主要问题:(1)它们仅提供了协商中某一方面的灵活性和动态性,而过程主体需要一个完整的解决方案,能够基于自身需求,环境变化等因素适应地、灵活地、动态地决定它们所需采用的协商协议、需要协商的协商目标及数量、以及所使用的决策策略;(2)它们大多针对电子商务领域,因而不能完全适应过程主体的需求。There are also some methods that separate the rules that control certain aspects of the negotiation process from the negotiation process itself, and have achieved certain results in obtaining negotiation flexibility and dynamics. A certain degree of flexibility has been achieved in control; the decision-making strategy is represented by rules, and the corresponding technology is used to enable the rules to be dynamically added and modified during system runtime, so that the decision-making strategy can be changed dynamically and flexibly; certain rules in the agreement will be negotiated Extract, classify, and provide some flexibility for negotiating agreements. However, when these methods are applied to the process body, there are two main problems: (1) They only provide flexibility and dynamics in one aspect of the negotiation, while the process body needs a complete solution that can , factors such as environmental changes adaptively, flexibly, and dynamically determine the negotiation protocols they need to adopt, the negotiation goals and quantities that need to be negotiated, and the decision-making strategies used; (2) Most of them are aimed at the e-commerce field, so they cannot be completely Adapt to the needs of the subject of the process.
发明内容Contents of the invention
为了解决上述问题,本发明的目的在于提供一种基于规则的软件过程主体自动协商系统和方法,用于软件过程建模。发明构思为:在相互连接组成分布式网络的计算机终端上部署软件过程主体(Agent),每个过程主体都具有唯一的标识,并可以基于规则独立地建立协商模型。所有软件过程主体既可以通过该系统发布协商目标,也可以根据其他过程主体发布的协商目标进行响应。In order to solve the above problems, the object of the present invention is to provide a rule-based system and method for automatically negotiating software process subjects, which are used for software process modeling. The inventive idea is: to deploy software process agents (Agents) on computer terminals connected to each other to form a distributed network, each process agent has a unique identifier, and can independently establish a negotiation model based on rules. All software process subjects can issue negotiation goals through this system, and can also respond according to the negotiation goals released by other process subjects.
在所述的过程主体自动协商系统中,软件过程主体之间建立协商的主要过程描述如下:当过程主体接收到一个目标的时候,首先对该目标进行规划,根据自身的知识库,建立基于该目标的任务树,树上的每个节点表示满足该目标所需完成的任务。所述任务树的层次和粒度取决于过程主体的知识库。例如,某一过程主体a接收到一个关于开发Web的目标A,该目标需要10人月(即,10个开发人员一个月的工作量)。该过程主体根据知识库所提供的经验,分析出实现该目标需要4项子任务:需求、分析、实现、测试;然后进一步根据知识库所提供的关于该过程主体自身能力的信息,决定将需求、分析和实现作为自身的任务,而将自身无法完成的测试作为协商目标B发布给系统中的其他过程主体。所有接收到该协商目标B的过程主体都重复和过程主体a相同的步骤,假设其中的过程主体b将测试任务拆分成单元测试和集成测试两部分,并判断出自身只能够完成集成测试的任务,则将另一任务再发布出去。此时,假设过程主体c接受了该任务并给予确定的反馈信息,则过程主体b和c就该任务的属性,比如该任务的工作量、质量进行协商并达成一致。在协商的过程中,过程主体根据各自的规则库进行决策。当过程主体b和c协商一致之后,b向a发出确定接受任务的消息,然后b和a就测试任务的属性进行协商。In the process subject auto-negotiation system, the main process of establishing negotiation among software process subjects is described as follows: when the process subject receives a target, it first plans the target, and establishes a process based on the target based on its own knowledge base. A task tree for a goal, where each node on the tree represents a task that needs to be done to meet that goal. The level and granularity of the task tree depend on the knowledge base of the process subject. For example, a certain process subject a receives a goal A about developing the Web, and the goal requires 10 man-months (that is, the workload of 10 developers for one month). Based on the experience provided by the knowledge base, the subject of the process analyzes that four subtasks are required to achieve the goal: requirements, analysis, implementation, and testing; , analysis and implementation as their own tasks, and release the tests that cannot be completed by themselves as negotiation goals B to other process subjects in the system. All process subjects receiving the negotiation target B repeat the same steps as process subject a, assuming that process subject b splits the test task into two parts: unit test and integration test, and judges that it can only complete the integration test task, then publish another task. At this time, assuming that process subject c accepts the task and gives certain feedback information, process subjects b and c negotiate and reach an agreement on the attributes of the task, such as the workload and quality of the task. During the negotiation process, the process subjects make decisions according to their respective rule bases. After the process subjects b and c reach a consensus, b sends a message to a to confirm the acceptance of the task, and then b and a negotiate on the attributes of the test task.
对于每个过程主体而言,其首先要建立一可执行的协商模型,然后参与协商。所述的协商模型包含三个基本元素和两个控制元素,两个控制元素是通用协议和协商规则。所述三个基本元素是:可能参与协商的主体集合、协商原语集合、协作合同模板。协商原语集合用于过程主体之间的话语通信,由通用协议控制,通用协议作为信息流的静态控制,可支持过程主体大多形式的协商过程。协作合同模板是针对传统模型固定协商目标以及协商目标数量的问题而提出的一种组织协商目标的方式,合同模板包括协商目标和协商参数,由协商规则控制,过程主体的协商过程是过程主体就合同模板中的某些参数交替发送自己认可的参数值,直至协商参与者对这些参数值达成一致的过程。因协商参与者对该结构及内容有一致的理解,当协商目标在运行时间被加入时,过程主体能够知道并处理这种被动添加的协商目标。这样为用户提供了更大的协商灵活性。For each process subject, it must first establish an executable negotiation model, and then participate in the negotiation. The negotiation model includes three basic elements and two control elements, the two control elements are general agreement and negotiation rules. The three basic elements are: a set of subjects that may participate in the negotiation, a set of negotiation primitives, and a collaboration contract template. The set of negotiation primitives is used for discourse communication between process subjects, and is controlled by a general protocol. As a static control of information flow, the general protocol can support most forms of negotiation processes of process subjects. Collaboration contract template is a way to organize negotiation goals for the fixed negotiation goals and the number of negotiation goals in the traditional model. The contract template includes negotiation goals and negotiation parameters, which are controlled by negotiation rules. The negotiation process of the process subject is the process subject Some parameters in the contract template alternately send their own approved parameter values until the negotiation participants agree on these parameter values. Because the negotiation participants have a consistent understanding of the structure and content, when the negotiation object is added at runtime, the process subject can know and handle this passively added negotiation object. This provides users with greater negotiation flexibility.
如图3所示,协商模型建立后,过程主体参与协商的具体步骤包括:As shown in Figure 3, after the negotiation model is established, the specific steps for the process subject to participate in the negotiation include:
1、依次处理接收到的消息,检验消息的合法性,并将消息传输给状态转换器;1. Process the received messages in sequence, check the legitimacy of the messages, and transmit the messages to the state converter;
2、状态转换器接收到消息后,根据状态转换函数转换过程主体的状态;2. After the state converter receives the message, it converts the state of the process subject according to the state transition function;
3、过程主体的状态变化后,其随后的行为取决于协商规则,因此此时规则触发器触发协商规则引擎,并将协商规则引擎所需的信息传输给规则事件管理器,由事件管理器触发数据载入器;3. After the state of the process subject changes, its subsequent behavior depends on the negotiation rules. Therefore, at this time, the rule trigger triggers the negotiation rule engine, and transmits the information required by the negotiation rule engine to the rule event manager, which is triggered by the event manager data loader;
4、数据载入器载入协商规则以及相关数据,供规则匹配器推理使用;4. The data loader loads the negotiation rules and related data for the reasoning of the rule matcher;
5、规则匹配器根据约定的算法,将数据与协商规则进行匹配,被匹配的规则进入规则匹配队列;5. The rule matcher matches the data with the negotiation rules according to the agreed algorithm, and the matched rules enter the rule matching queue;
6、规则匹配队列管理器接收规则匹配器生成的规则并对其进行排序、冲突检测和解决等,将处理后的规则递交给规则执行器执行;6. The rule matching queue manager receives the rules generated by the rule matcher, sorts them, detects and resolves conflicts, and submits the processed rules to the rule executor for execution;
7、规则执行器依次执行规则匹配队列管理器传递过来的规则,生成新的数据,将结果提交给协商过程引擎。7. The rule executor sequentially executes the rules to match the rules passed by the queue manager, generates new data, and submits the results to the negotiation process engine.
相应地,自动协商系统中的软件过程主体包括以下功能模块:Correspondingly, the software process body in the auto-negotiation system includes the following functional modules:
协商规则编辑器,用于编辑、管理协商规则,包括控制规则和决策规则,显示协商规则的分析结果,提示用户进行规则冲突处理;Negotiation rule editor, used to edit and manage negotiation rules, including control rules and decision rules, display the analysis results of negotiation rules, and prompt users to deal with rule conflicts;
协商模型分析器,用于检查由协商规则编辑器所定义的协商规则与通用协议构成的协商模型的正确性和合理性;The negotiation model analyzer is used to check the correctness and rationality of the negotiation model formed by the negotiation rules defined by the negotiation rule editor and the general agreement;
协商规则引擎,用于对协商规则进行推理,根据协商过程引擎调用时给定的参数值,将结果返回给协商过程引擎,以实现对协商过程的控制和决策;The negotiation rule engine is used to reason the negotiation rules, and return the result to the negotiation process engine according to the parameter value given when the negotiation process engine is invoked, so as to realize the control and decision-making of the negotiation process;
协商过程引擎,用于驱动可执行的协商过程模型,包含对协商规则引擎的调用;其相当于一个工作流引擎,按照通用协商协议解析协商过程的全部活动,并通过调用协商规则引擎触发符合协商规则的活动;The negotiation process engine is used to drive the executable negotiation process model, including the call to the negotiation rule engine; it is equivalent to a workflow engine, which analyzes all the activities of the negotiation process according to the general negotiation protocol, and triggers the negotiation by calling the negotiation rule engine regular activities;
协商规则库,用于存储协商规则,包括过程控制规则和决策规则;Negotiation rule library, used to store negotiation rules, including process control rules and decision rules;
协商过程库,用于存储协商过程产生的消息流数据,主要包括每次交互的过程主体、发送的协商原语、协作合同以及发送时间等。The negotiation process library is used to store the message flow data generated during the negotiation process, mainly including the process subject of each interaction, the negotiation primitives sent, the cooperation contract, and the sending time.
其中,协商过程引擎模块还包括:消息处理器,用于接收、发送消息,并对所接收到消息的合法性进行检查;状态转换器,用于过程主体的状态转换控制,该控制遵循通用协议GProtocol;规则触发器,用于触发协商规则引擎。协商规则引擎模块还包括:规则事件管理器,用于响应协商过程引擎对规则引擎的触发事件;数据载入器,用于载入协商规则以及相关数据;规则匹配器,用于将数据与协商规则进行匹配;规则匹配队列管理器,用于接收规则匹配器生成的实例化数据队列,进行冲突检测和解决,提交给协商过程引擎;规则执行器,用于执行协商规则,依次执行规则匹配队列管理器传递过来的规则,生成新的数据,将结果提交给协商过程引擎。Among them, the negotiation process engine module also includes: a message processor, used to receive and send messages, and check the validity of the received messages; a state converter, used to control the state transition of the process subject, and the control follows the general protocol GProtocol; rule trigger, used to trigger the negotiation rule engine. The negotiation rule engine module also includes: a rule event manager, which is used to respond to the trigger event of the negotiation process engine to the rule engine; a data loader, which is used to load the negotiation rules and related data; a rule matcher, which is used to combine the data with the negotiation Match the rules; the rule matching queue manager is used to receive the instantiated data queue generated by the rule matcher, perform conflict detection and resolution, and submit it to the negotiation process engine; the rule executor is used to execute the negotiation rules, and execute the rule matching queue in turn The rules passed by the manager generate new data and submit the results to the negotiation process engine.
本发明的技术效果在于:(1)将传统协商协议分为两部分:一个通用协议和规则。通用协议是静态的,能够支持多种形式的协商过程。规则是变化的,为协商协议带来灵活性和可变性;(2)将决策策略表示成规则,由此决策策略能够被定以和修改以适应环境状态等影响因素的变化;(3)协商目标以结构化协作合同的方式组织,能够被动态添加;(4)协商规则独立存储和演化,与模型的其它部分以一种低耦合的方式交互,从而以较低的成本为软件过程agent的协商提供灵活性和动态性。The technical effects of the present invention are: (1) The traditional negotiation protocol is divided into two parts: a general protocol and rules. The common protocol is static and can support various forms of negotiation process. The rules are changing, bringing flexibility and variability to the negotiation agreement; (2) Expressing the decision-making strategy as a rule, so that the decision-making strategy can be determined and modified to adapt to changes in environmental conditions and other influencing factors; (3) Negotiation Objectives are organized in the form of structured collaboration contracts, which can be added dynamically; (4) Negotiation rules are stored and evolved independently, and interact with other parts of the model in a low-coupling manner, thereby providing a low-cost support for the software process agent. Negotiation provides flexibility and dynamism.
附图说明Description of drawings
图1是基于规则的软件过程协商模型中的通用协议;Figure 1 is the general protocol in the rule-based software process negotiation model;
图2是系统的构架示意图;Fig. 2 is a schematic diagram of the framework of the system;
图3是协商过程的执行步骤以及系统的主要功能模块详细结构示意图。Fig. 3 is a schematic diagram of the execution steps of the negotiation process and the detailed structure of the main functional modules of the system.
具体实施方式Detailed ways
以下结合附图,通过优选的具体实施方式对本发明作进一步的说明,但不构成对本发明的限制。The present invention will be further described through preferred specific embodiments below in conjunction with the accompanying drawings, but this does not constitute a limitation to the present invention.
以企业间就软件外包项目进行协商的过程为例,企业就软件外包项目进行协商的过程一般是:某需要将某软件项目向外承包的企业向其它企业发送协商请求,响应的企业与其建立协商关系后,开始就彼此关心的协商参数值进行协商,直至彼此就这些值达成一致的意见,从而建立起彼此的合作关系。Taking the negotiation process between enterprises on software outsourcing projects as an example, the process of enterprise negotiation on software outsourcing projects is generally as follows: an enterprise that needs to outsource a certain software project sends a negotiation request to other enterprises, and the responding enterprise establishes a negotiation agreement with it. After establishing a relationship, they start to negotiate on the negotiation parameter values that they care about until they reach an agreement on these values, thus establishing a cooperative relationship with each other.
首先时软件过程主体自动协商系统的建立,所有参与协商的企业被建模成软件过程主体并互连成一自动协商系统,每个过程主体在系统中都具有唯一的标识。如图2所示,过程主体的基本功能模块包括:协商规则编辑器、协商模型分析器、协商规则引擎及其拥有的协商规则库、协商过程引擎及其拥有的协商过程库、以及用于发布消息的Web服务器。其中,协商规则编辑器和协商模型分析器位于用户可见的访问界面。First of all, the software process subject auto-negotiation system is established. All enterprises participating in the negotiation are modeled as software process subjects and interconnected into an auto-negotiation system. Each process subject has a unique identifier in the system. As shown in Figure 2, the basic functional modules of the process body include: a negotiation rule editor, a negotiation model analyzer, a negotiation rule engine and its own negotiation rule library, a negotiation process engine and its own negotiation process library, and a tool for publishing Web server for messages. Among them, the negotiation rule editor and the negotiation model analyzer are located on the access interface visible to the user.
其次是建立可执行的协商过程模型,每个过程主体都可以基于自身的知识和能力定义和修改协商规则;所述的知识和能力可以包括:组织能力(如承担某类项目的能力)、个人能力(如编码能力)、资源(时间资源)等;协商规则的编辑、管理功能由协商规则编辑器实现,且协商规则存储于协商规则库。协商规则包含控制规则和决策规则,控制规则可以由协商发起者定义,例如:协商过程的超时时间、答复的超时时间、什么条件下协商正常终止、什么条件下意外终止。决策规则可以由协商参与者自定义,例如:什么条件下接受对方提出的参数值、什么条件下拒绝以及什么条件下修改对方提出的参数值且自己提出的新参数值如何确定等。协商规则定义后,需进行协商规则合法性分析,分析正确后,将协商规则输出到协商过程引擎和协商规则引擎。The second is to establish an executable negotiation process model. Each process subject can define and modify negotiation rules based on its own knowledge and ability; the knowledge and ability can include: organizational capabilities (such as the ability to undertake certain types of projects), individual Capabilities (such as coding capabilities), resources (time resources), etc.; the editing and management functions of negotiation rules are implemented by the negotiation rule editor, and the negotiation rules are stored in the negotiation rule library. Negotiation rules include control rules and decision rules. Control rules can be defined by the negotiation initiator, such as: the timeout period of the negotiation process, the timeout period of the reply, the conditions under which the negotiation is terminated normally, and the conditions under which it is terminated unexpectedly. The decision-making rules can be customized by the negotiation participants, for example: under what conditions accept the parameter value proposed by the other party, under what conditions reject it, under what conditions modify the parameter value proposed by the other party and how to determine the new parameter value proposed by the other party, etc. After the negotiation rules are defined, it is necessary to analyze the legality of the negotiation rules. After the analysis is correct, the negotiation rules are output to the negotiation process engine and the negotiation rule engine.
所述协商模型的基本元素由通用协议和协商规则控制,以执行协商过程。所述通用协议命名为GProtocol,是协商过程的静态、不可变控制部分,其通用性使其能够支持过程主体大多形式的协商过程。所述通用协议由一个状态转换图表示,如图1所示,其中:The basic elements of the negotiation model are governed by general protocols and negotiation rules to carry out the negotiation process. The general protocol is named GProtocol, which is a static and immutable control part of the negotiation process, and its versatility enables it to support most forms of negotiation processes of the process subject. The general protocol is represented by a state transition diagram, as shown in Figure 1, wherein:
(1)GProtocol包含5个状态,状态集由S表示,S={Start,S1,S2,S3,End},其中,状态Start是初始状态,状态End是结束状态,状态S1、S2、S3是三种中间状态;(1) GProtocol contains 5 states, and the state set is represented by S, S={Start, S 1 , S 2 , S 3 , End}, wherein, the state Start is the initial state, the state End is the end state, and the states S1 and S2 , S3 are three intermediate states;
(2)GProtocol包含9种状态转换:(2) GProtocol contains 9 state transitions:
图中状态转换(1)表明:协商发起者提出一个协商请求;The state transition (1) in the figure shows that: the negotiation initiator proposes a negotiation request;
图中状态转换(2)表明:协商发起者发起另一个协商请求,还未收到其他agent对其上一次协商请求的答复;The state transition (2) in the figure shows that: the negotiation initiator initiates another negotiation request, and has not yet received a reply from other agents to its last negotiation request;
图中状态转换(3)表明:接到消息的agent接受协商请求;State transition (3) in the figure shows: the agent receiving the message accepts the negotiation request;
图中状态转换(4)表明:接到消息的agent拒绝协商请求;State transition (4) in the figure shows: the agent that receives the message rejects the negotiation request;
图中状态转换(5)表明:协商过程结束,如果达到限定时间,或者参与协商的agent终止该过程;The state transition (5) in the figure shows that: the negotiation process ends, if the time limit is reached, or the agent participating in the negotiation terminates the process;
图中状态转换(6)表明:协商发起者提出初始协作合同;The state transition (6) in the figure shows that: the initiator of the negotiation proposes an initial cooperation contract;
图中状态转换(7)表明:协商双方交替发送协作合同,可添加、修改或拒绝其中的协商目标值;The state transition (7) in the figure shows that: the negotiating parties alternately send cooperation contracts, and can add, modify or reject the negotiation target value;
图中状态转换(8)表明:协商过程结束,如果达到限定时间,或者参与协商的agent终止该过程;The state transition (8) in the figure shows that: the negotiation process ends, if the time limit is reached, or the agent participating in the negotiation terminates the process;
图中状态转换(9)表明:协商过程结束,如果达到限定时间,或者agent接受协作合同的内容,或者agent终止该过程。The state transition (9) in the figure shows that: the negotiation process ends, and if the time limit is reached, the agent accepts the content of the cooperation contract, or the agent terminates the process.
所述协商规则命名为NR,是协商过程的动态控制以及决策部分。协商规则分为控制规则(CR)和决策规则(DR)。两种规则的定义均基于Horn子句。Horn子句由两部分组成:条件部分和结论部分,条件部分包含多个Horn原子,而结论部分只允许包含一个Horn原子。一个协商规则表示当所有条件为真时,结论为真。控制规则负责协商过程消息流的公共控制,与通用协议GProtocol的主要区别在于其可随环境、目标等因素的变化而被改变或调整。其通常对所有协商参与者公开。决策规则用于确定(大多情况下非公开地)发送的协商原语和包含协商目标值的协作合同,通常非公开,对协商的对方是不可见的。The negotiation rule is named NR, which is a dynamic control and decision-making part of the negotiation process. Negotiation rules are divided into control rules (CR) and decision rules (DR). Both rules are defined based on Horn clauses. The Horn clause consists of two parts: the condition part and the conclusion part. The condition part contains multiple Horn atoms, and the conclusion part only allows one Horn atom. A negotiation rule states that the conclusion is true when all conditions are true. The control rule is responsible for the common control of the negotiation process message flow, and the main difference from the general protocol GProtocol is that it can be changed or adjusted with changes in the environment, goals and other factors. It is usually public to all negotiation participants. Decision rules are used to determine (mostly privately) sent negotiation primitives and collaboration contracts containing negotiated target values, usually privately and invisible to the negotiating counterparts.
协商模型的执行与有限状态机的执行类似,包含如下步骤:The execution of the negotiation model is similar to the execution of the finite state machine, including the following steps:
步骤一:构建状态转化算法:s×NPrim→s,具体状态转换算法由通用协议GProtocol决定,如图一所示;Step 1: Build a state transition algorithm: s×NPrim→s, the specific state transition algorithm is determined by the general protocol GProtocol, as shown in Figure 1;
步骤二:构建消息流集MF,
(1)发送消息的主体;(1) The subject of the message;
(2)接收消息的主体;(2) The subject receiving the message;
(3)被发送的协商原语;(3) The negotiation primitive to be sent;
(4)被发送的协作合同;(4) Collaboration contract sent;
(5)发送原语和协作合同的时间点。(5) The time point at which primitives and collaboration contracts are sent.
步骤三:构建协商历史H,H={h1,h2,...,hn},hi是MF的子集,反映的是主体发送和接收的所有消息流;Step 3: Construct the negotiation history H, H={h 1 , h 2 ,...,h n }, h i is a subset of MF, reflecting all message flows sent and received by the subject;
步骤四:构建知识K,K由一些关于软件过程的知识组成,如环境知识、组织或个人能力(如编码能力)等;Step 4: Construct knowledge K, K consists of some knowledge about the software process, such as environmental knowledge, organizational or personal ability (such as coding ability), etc.;
步骤五:构建有限输入集I:I=NPrim×CC×H×K;Step 5: Construct a finite input set I: I=NPrim×CC×H×K;
步骤六:构建有限输出集:Out=NPrim×CC;Step 6: Construct a finite output set: Out=NPrim×CC;
步骤七:构建状态转换函数GProtocol:S×NPrim→S;Step 7: Construct the state transition function GProtocol: S×NPrim→S;
步骤八:构建输出函数OF:I→Out,其中,OF有两个子函数:CR:I→Out和DR:I→Out。Step 8: Construct the output function OF: I→Out, wherein, OF has two sub-functions: CR: I→Out and DR: I→Out.
OF的最后输出为CR(I)∩DR(I)(≠)。The final output of OF is CR(I)∩DR(I)(≠).
在任何时间点,一个协商过程的一个参与协商的主体都在集合S中的一个状态中。当其收到一个原语时,在通用协议GProtocol(参见图1)的控制下,被转换到另一个状态。进一步,遵从OF,其输出一个协商原语和协作合同,其中,子函数CR和DR亦即控制规则和决策规则。At any point in time, a negotiating agent of a negotiating process is in a state in the set S. When it receives a primitive, it is transferred to another state under the control of the general protocol GProtocol (see Figure 1). Further, following OF, it outputs a negotiation primitive and a cooperation contract, wherein the sub-functions CR and DR are control rules and decision rules.
协商规则定义后,经协商模型分析器分析正确和合理的协商规则作为数据源载入协商过程引擎中,一个协商过程开始。After the negotiation rules are defined, the correct and reasonable negotiation rules analyzed by the negotiation model analyzer are loaded into the negotiation process engine as a data source, and a negotiation process starts.
过程主体之间的协商过程话语通信采用协商原语,而协商原语以消息的方式实现,消息的类别与协商原语名称一致。所述的协商原语的集合命名为NPrim:NPrim={Propose_N,Accept_N,Reject_N,Terminate_N,Propose_CC,Accept_CC,Reject_CC,Modify_CC},其中各原语的含义如下:Propose_N表示提出一个协商请求,Accept_N表示接受一个协商请求,Reject_N表示拒绝一个协商请求,Propose_CC表示发送一个协作合同,Accept_CC表示接受当前收到的协作合同CC(不再进行修改),Reject_CC表示拒绝当前收到的协作合同,Modify_CC表示修改收到的协作合同,Terminate_N表示终止当前的协商过程。协商原语的分析和处理实现于协商过程引擎中的消息处理器。Negotiation process discourse communication between process subjects adopts negotiation primitives, which are implemented in the form of messages, and the types of messages are consistent with the names of negotiation primitives. The set of negotiation primitives is named NPrim: NPrim={Propose_N, Accept_N, Reject_N, Terminate_N, Propose_CC, Accept_CC, Reject_CC, Modify_CC}, wherein the meanings of each primitive are as follows: Propose_N means to propose a negotiation request, and Accept_N means to accept A negotiation request, Reject_N means rejecting a negotiation request, Propose_CC means sending a collaboration contract, Accept_CC means accepting the currently received collaboration contract CC (no modification), Reject_CC means rejecting the currently received collaboration contract, Modify_CC means modifying received Collaboration contract, Terminate_N means to terminate the current negotiation process. The analysis and processing of negotiation primitives are implemented in the message processor in the negotiation process engine.
在协商的过程中,所有过程主体基于相同的协作合同模板进行协商,所述的协作合同模板采用XML(网络标记语言)文档方式实现,定义相应的XML Schema;协作合同模板的分析和处理实现于协商过程引擎中的消息处理器。协作合同模板为协商目标,即协商参数的组织形式。协作合同模板命名为CC,包含以下内容:During the negotiation process, all process subjects negotiate based on the same collaboration contract template, which is implemented in XML (Web Markup Language) documents and defines the corresponding XML Schema; the analysis and processing of the collaboration contract template is implemented in Message handler in the negotiation process engine. The collaboration contract template is the negotiation target, that is, the organizational form of the negotiation parameters. The collaboration contract template is named CC and contains the following contents:
(1)合同类型:描述合同类别,如企业间外包、项目任务分配等类别;(1) Contract type: describe the type of contract, such as inter-enterprise outsourcing, project task assignment, etc.;
(2)合同描述:用于说明合同的主要内容,如“J2EE”表明该合同关于一个J2EE项目;(2) Contract description: used to explain the main content of the contract, such as "J2EE" indicates that the contract is about a J2EE project;
(3)协商参数集:协商参数表明协商参与者感兴趣的具体协商内容,如项目所需人月数,代码质量;协商参数集作为整体反映了协商参与者对感兴趣的协商内容的共同理解;(3) Negotiation parameter set: The negotiation parameters indicate the specific negotiation content that the negotiation participants are interested in, such as the number of man-months required for the project, code quality; the negotiation parameter set as a whole reflects the common understanding of the negotiation participants on the negotiation content of interest ;
(4)协商参数值集:协商参数值即协商参数对应的值;协商参数值集表明了协商参数的取值域;(4) Negotiation parameter value set: the negotiation parameter value is the value corresponding to the negotiation parameter; the negotiation parameter value set indicates the value range of the negotiation parameter;
(5)协商目标类别集:协商目标类别用于表明一个协商目标是否可协商,N表示可协商,NN表示不可协商。(5) Negotiation target category set: The negotiation target category is used to indicate whether a negotiation target is negotiable, N indicates that it is negotiable, and NN indicates that it is not negotiable.
协作合同模板中加入了具体内容后就成为一个协作合同,由CC表示。在本实施例中,协商参数包含软件外包项目所需的人月数、代码质量、所提交的文档数量等。After specific content is added to the collaboration contract template, it becomes a collaboration contract, represented by CC. In this embodiment, the negotiation parameters include man-months required for the software outsourcing project, code quality, number of submitted documents, and the like.
如图3所示,协商过程引擎模块包括消息处理器、状态转换(控制)器和规则触发器。当协商开始后,消息处理器接收消息和协作合同,状态处理器遵从状态转换函数GProtocol,转换过程主体状态;状态处理器接着触发规则处发器,由规则处发器触发协商规则引擎并向其输送参数值,即消息和协作合同,等待返回结果并将结果返回给状态处理器,状态处理器触发消息处理器,待消息处理器发送消息成功后,状态处理器改变过程主体状态等待下一次消息处理器的触发;As shown in Figure 3, the negotiation process engine module includes a message processor, a state transition (controller) and a rule trigger. When the negotiation starts, the message processor receives the message and the cooperation contract, and the state processor follows the state transition function GProtocol to convert the state of the process subject; the state processor then triggers the rule dispatcher, which triggers the negotiation rule engine and sends it Send parameter values, that is, messages and collaboration contracts, wait for the result to be returned and return the result to the state processor, the state processor triggers the message processor, and after the message processor sends the message successfully, the state processor changes the state of the process body and waits for the next message Processor triggers;
协商规则控制实现于协商规则引擎:数据载入器载入协商规则、知识(即事实)、协商历史以及接收协商过程引擎的规则处发器传递过来的参数,然后规则匹配器将事实、参数值与规则进行匹配,规则匹配队列管理器对匹配后数据进行处理后,将处理后的数据交给协商过程引擎的规则触发器。Negotiation rule control is implemented in the negotiation rule engine: the data loader loads the negotiation rules, knowledge (that is, facts), negotiation history, and receives the parameters passed by the rule processor of the negotiation process engine, and then the rule matcher converts the facts and parameter values Matching with the rules, the rule matching queue manager processes the matched data, and delivers the processed data to the rule trigger of the negotiation process engine.
上述过程重复,直至协商双方达成一致或超时,协商过程结束。The above process is repeated until the negotiating parties reach an agreement or the timeout expires, and the negotiation process ends.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100897629A CN100399265C (en) | 2006-07-14 | 2006-07-14 | System and method for automatic negotiation of software process subjects based on rules |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100897629A CN100399265C (en) | 2006-07-14 | 2006-07-14 | System and method for automatic negotiation of software process subjects based on rules |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1900906A true CN1900906A (en) | 2007-01-24 |
CN100399265C CN100399265C (en) | 2008-07-02 |
Family
ID=37656796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100897629A Expired - Fee Related CN100399265C (en) | 2006-07-14 | 2006-07-14 | System and method for automatic negotiation of software process subjects based on rules |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100399265C (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100465888C (en) * | 2007-08-03 | 2009-03-04 | 中国科学院软件研究所 | A way to automatically create process bodies |
CN101741913A (en) * | 2010-01-06 | 2010-06-16 | 北京讯鸟软件有限公司 | Multi-main-body cooperating method |
CN101800748A (en) * | 2009-02-06 | 2010-08-11 | 株式会社东芝 | Security strengthening device |
CN102800223A (en) * | 2012-07-19 | 2012-11-28 | 中国科学院软件研究所 | Collaborative entity programming method |
CN105144092A (en) * | 2013-03-14 | 2015-12-09 | 微软技术许可有限责任公司 | Software release workflow management |
CN108446143A (en) * | 2018-02-28 | 2018-08-24 | 万惠投资管理有限公司 | Event-handling method and device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1203427C (en) * | 2002-09-24 | 2005-05-25 | 武汉拓锐计算机系统有限责任公司 | Load balance modulator possessing TCP connection fault tolerant function and its modulating method |
CN1826610A (en) * | 2003-05-07 | 2006-08-30 | Sap股份有限公司 | An end user oriented workflow approach including structured processing of ad hoc workflows with a collaborative process engine |
US10445795B2 (en) * | 2003-07-31 | 2019-10-15 | Swiss Reinsurance Company Ltd. | Systems and methods for multi-level business processing |
-
2006
- 2006-07-14 CN CNB2006100897629A patent/CN100399265C/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100465888C (en) * | 2007-08-03 | 2009-03-04 | 中国科学院软件研究所 | A way to automatically create process bodies |
CN101800748A (en) * | 2009-02-06 | 2010-08-11 | 株式会社东芝 | Security strengthening device |
CN101800748B (en) * | 2009-02-06 | 2013-03-27 | 株式会社东芝 | Security strengthening device |
CN101741913A (en) * | 2010-01-06 | 2010-06-16 | 北京讯鸟软件有限公司 | Multi-main-body cooperating method |
CN102800223A (en) * | 2012-07-19 | 2012-11-28 | 中国科学院软件研究所 | Collaborative entity programming method |
CN102800223B (en) * | 2012-07-19 | 2014-08-20 | 中国科学院软件研究所 | Collaborative entity programming method |
CN105144092A (en) * | 2013-03-14 | 2015-12-09 | 微软技术许可有限责任公司 | Software release workflow management |
US11340870B2 (en) | 2013-03-14 | 2022-05-24 | Microsoft Technology Licensing, Llc | Software release workflow management |
CN108446143A (en) * | 2018-02-28 | 2018-08-24 | 万惠投资管理有限公司 | Event-handling method and device |
Also Published As
Publication number | Publication date |
---|---|
CN100399265C (en) | 2008-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429433B2 (en) | Process discovery and automatic robotic scripts generation for distributed computing resources | |
RU2502127C2 (en) | Model-based composite application platform | |
US7454469B2 (en) | Method and system for instant messaging Bots specification using state transition methodology and XML | |
CN100399265C (en) | System and method for automatic negotiation of software process subjects based on rules | |
CN1791037A (en) | Method for realizing Web service automatic test | |
Portchelvi et al. | Achieving web services composition–a survey | |
Resinas et al. | A bargaining-specific architecture for supporting automated service agreement negotiation systems | |
Fakas et al. | A workflow management system based on intelligent collaborative objects | |
Gerosa et al. | Development of groupware based on the 3C collaboration model and component technology | |
Shen et al. | From BPEL4WS to OWL-S: Integrating e-business process descriptions | |
Van den Heuvel et al. | Software service engineering: Tenets and challenges | |
Blake et al. | WSC-06: the web service challenge | |
Braubach et al. | A generic simulation service for distributed multi-agent systems | |
Geppert et al. | The SDL pattern approach–a reuse-driven SDL design methodology | |
Ruokolainen et al. | An ontology of interoperability in inter-enterprise communities | |
Dominiak et al. | Selecting grid-agent-team to execute user-job--initial solution | |
González et al. | Software experience when using ontologies in a multi‐agent system for automated planning and scheduling | |
Lillehagen et al. | Utilizing active knowledge models in an infrastructure for virtual enterprises | |
Kim et al. | E-negotiation system development: Using negotiation protocols to manage software components | |
CN1955992B (en) | Method of operating web service working flow based on stack mode | |
Hao et al. | Collaborative manufacturing resource scheduling using Agent-based Web Services | |
Floch et al. | A comprehensive engineering framework for guaranteeing component compatibility | |
Padgham et al. | Internet collaboration and service composition as a loose form of teamwork | |
Kalofonos et al. | Building agents that plan and argue in a social context. | |
CN115130999A (en) | A service chain modeling and model mapping method for cross-platform service collaboration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080702 Termination date: 20150714 |
|
EXPY | Termination of patent right or utility model |