计算机毕业设计专业定做 计算机毕业论文专业代写 网站地图 | 加入收藏 | 设为首页

您的位置:首页 > 通信专业 > 基于约束的协同设计及其冲突管理技术研究 论文

基于约束的协同设计及其冲突管理技术研究 论文

新闻来源:九九论文网 QQ:995502877  发表时间:2010-5-3 23:04:17  浏览次数:  责任编辑:原创
基于约束的协同设计及其冲突管理技术研究
中文摘要
随着产品复杂程度的增加,产品的开发工作愈加趋向于多领域的协同设计。通过协同设计技术,能有效组织和协调各种设计资源进行产品开发,有助于减少开发周期和提高产品设计质量。
本文以设计参数及其约束表达工程设计的需求,对实施协同设计的关键理论和相关技术展开了研究。首先从产品设计参数及其约束的角度对协同设计的过程进行了规划。基于设计结构矩阵,本文采用有向图理论进行了耦合任务的识别和任务执行层次的规划,并对耦合任务集的解耦进行了分析以提高并行度。最后经过重组得到了适合开展协同设计的任务集。在设计过程规划的基础上,采用项目管理的形式进行相关设计资源的组织和管理。之后本文采用解空间的协同设计方法进行协同设计,有助于避免设计空间的过早丢失和检测协同设计的隐式冲突;并研究了协同设计约束网络的求解技术,提出了基于约束二叉树区间收缩的算法来进行求解,以得到各个变量的公共解空间。求解过程避免引入中间变量或进行约束解函数的分解,有利于计算机自动实现。接着本文分析了协同设计的并发冲突问题,相应提出了加锁方法对约束网络的并发操作进行控制以避免设计结果的不一致,并采用Java Rmi 技术实现协同用户之间约束操作的实时感知。最后本文研究了基于约束的协同设计冲突消解策略,提出利用规则引擎技术进行设计冲突的消解,并给出了冲突消解模块的相应结构和实现过程。
根据以上技术和研究方法,采用组件化的方法来构建系统整体框架,并使用Java语言,Java Servlet、Jsp、Rmi等技术,开发了一个基于Web的混合式协同设计原型系统,并以减速器的设计为例对系统的各项功能进行了测试。本文的研究工作对于在网络环境下实施产品的协同设计具有较大的理论及实际指导作用。
 
关键词:协同设计,任务规划,约束求解 , 区间算法,冲突管理
 
 
 
 
 
 
 
 
Research on constraint-based collaborative design and conflict management techniques
Abstract
With the increase of the product's complexity, the development of product more and more trends towards to the collaborative deisgn by working of many domain experts. It can effectively organize and coordinate various design resource to devolop product by collaborative design techniques.
In this paper, the requirement of engineering design are represented by design variable and its constraint, and then the paper mainly research on key theory and relative techniques to actuallize collabrative design. Fistly, the collaborative design process is maked out from the view of design variable and its constraint. The coupled set of design task and the layout of its excute order are implemented by using direct graph theory method based on design structure matrix. And the decoupling of coupled task set is analyzed to improve parallelment of task excution. By using those method,the task set is obtained which is fit to carry out collaborative design.On the base of design process layout, the related design resource is organized and managed by the form of project management.Then this paper use solution space method to carry out collaborative design,which is help to avoid the lost of varable design space and to detect the implicit conflict. And the solution techniques of collaborative design constraint net is researched. The solution algorithm to constraint net is put forward, which is based on interval narrowing of constraint bintree, and then the variable solution space is obtained. This algorithm can avoid introduce interim variable or decompose the constraint in the solve process,whick is good for computer automatic implement.Thirdly, the concurrent conflict of collaborative design is analyzed, and the related method based on lock is conceived to control the concurrent operation of constraint net to avoid the inconsistency of design result. And the JAVA RMI techniques is used to implement the real-time sense of constraint net operation between collaborator. Finally, the conflict resolution strategy of constraint-base collaborative design is researched. And using rule engine techniques to resolve design conflict is put forward,the related conflict resolve module structure and implement process is given out.
According to the research methods above,the whole frame is constructed by module develop method. And a web-based composite collaborative design prototype system is developed on the java programming surrounding, by the use of Java Servlet, JSP and RMI technique etc. The system capacity is be tested by the gear reducer design process. The research of this paper has great effect on the collaborative design of product under network environment.
 
Keywords: collaborative design, design process layout, constraint solve,interval algorithm, conflict management.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
目  录
中文摘要... I
Abstract II
目  录... IV
第一章 绪论... 1
1.1引言... 1
1.2 协同设计研究概述... 1
1.2.1 协同设计的基本概念和特点. 2
1.2.2 协同设计的基本分类和系统结构. 3
1.2.3 协同设计实施的相关理论和技术. 4
1.3 相关技术... 8
1.3.1 分布式技术. 8
1.3.2 专家系统与规则引擎技术. 10
1.4 课题的研究背景与主要研究内容和工作... 11
1.5 论文结构... 12
第二章 基于约束的协同设计过程规划... 13
2.1 产品设计过程的特点... 13
2.2 设计任务的初始分解及任务定义... 14
2.3 基于有向图的耦合任务识别及任务执行层次的确定... 18
2.3.1基于有向图法的耦合任务的识别. 19
2.3.2基于可达矩阵的任务层次的确定. 22
2.4 基于约束的协同设计任务解耦... 24
2.5协同设计过程时间估计... 25
2.6设计任务的分解实例分析... 27
2.7小结... 29
第三章 系统的总体框架及其数据模型... 30
3.1 基于约束的协同设计系统总体框架... 30
3.2 协同设计的项目管理... 32
3.2.1 项目管理概述. 32
3.2.2 基于约束的协同设计项目化管理. 33
3.3系统的管理功能及其数据模型... 36
3.4 基于XML的约束表达及约束网络的构建... 39
3.5 小结... 43
第四章 基于区间算法的约束求解... 44
4.1基于解空间的协同设计方法... 44
4.2基于区间算法的约束公共解空间的求解... 45
4.2.1 区间算法. 45
4.2.2 基于约束树区间收缩的一致性区间求解. 47
4.2.3 约束表达式因子的区间收缩. 54
4.2.4 约束求解器的实现. 56
4.3 实例分析... 60
4.5 小结... 61
第五章 约束网络操作的并发控制及协同感知... 62
5.1基于约束的协同设计过程... 62
5.2约束网络数据操作的并发冲突... 63
5.3约束操作的并发操制... 65
5.4基于RMI技术的协同用户之间的实时感知... 67
5.5 小结... 71
第六章 基于规则引擎的冲突消解技术研究... 72
6.1 协同设计冲突... 72
6.2 协同设计的冲突检测及消解策略... 73
6.2.1 基于约束的冲突检测. 73
6.2.2 基于约束的冲突消解策略. 74
6.2.3 基于规则的冲突消解策略. 75
6.3基于规则引擎的协同设计冲突消解技术... 77
6.3.1 Java规则引擎及Jboss Rules简介. 77
6.3.2 基于规则引擎的冲突消解结构. 78
6.4小结... 81
第七章 基于约束的协同设计系统实现及运行实例... 82
7.1 系统功能与逻辑结构... 82
7.2 相关开发工具... 84
7.3 运行实例... 85
7.3.1 系统主界面. 85
7.3.2 任务创建及管理. 85
7.3.3 协同设计及冲突登记. 88
7.3.4基于规则引擎应用的冲突消解. 90
7.3.5 系统图形协同浏览. 92
第八章 总结与展望... 93
8.1 总结... 93
8.2 展望... 94
参考文献... 95
致   谢... 100
个人简历... 101

 
 
 
 
 
 
 
 
 

第一章 绪论

1.1引言

随着科学技术和经济的飞速发展,人们对产品的需求变得越来越多样化和个性化。产品的设计已经不再局限于某个单一的领域内,往往需要同时满足多领域多学科的不同要求。同时,随着经济全球化的不断发展,企业面对的将不再是某个地区同行之间的竞争,而是全球市场的激烈竞争,只有进一步缩短产品的设计周期、降低产品的成本、实现产品的多样化和系列化、提高产品的质量和创新性,才能在多变的市场中把握先机求得生存。这一方面要求相关企业与供应商之间根据客户要求组成即时联盟,动态组合各个企业的设计、制造资源共同应对市场需求,提高市场竞争力。另一方面也要求企业改变传统组织模式、由部门化管理的递阶结构转向扁平化结构。产品的开发模式由串行化模式转向考虑全生命周期并行化模式;同时要求设计过程辅助工具多样化,设计人员构成转向多领域和多学科化。在这种情况下,企业与企业之间、企业内部就存在了多种多样的协同。
英特网的发展使得企业之间、设计团队之间、技术人员之间可以通过网络建立起通信,打破了地域不同的限制。同时随着网络开发语言和软件技术方面的发展,出现了CORBA(公共对象请求代理体系)、RPC(远程过程调用)、RMI(远程方法调用)等网络中间件技术、面向对象的建模语言UML与软件开发平台(J2EE和.Net平台)和多Agent技术。这些语言和技术为开发分布式应用系统提供了较大的方便。网络软硬件件技术的发展使得设计人员可以在异地进行产品协同设计已成为可能。现代产品设计也趋向于计算机支持的网络化协同设计。

1.2 协同设计研究概述

协同设计是计算机支持的协同工作(CSCW)研究和应用的一个重要方向,它集成了设计理论、组织行为学、计算机技术等多方面的研究。计算机支持的协同设计,是指多功能小组成员基于网络并利用各种辅助工具,在协同设计设计系统的支持下协作进行产品开发的相关设计过程。协同设计强调的是群组协同的工作方式,有利于加强协同人员之间的通信交流,能缩短产品上市,提高产品质量、降低产品成本和有利于产品的创新。
国内外迄今对开展协同设计项目作了大量研究。在国外,California—Berkeley大学研究的CyberCut系统,将集成制造设计环境(IMADE)扩展到基于Internet的分布式代理环境,其特点是基于Web的[1]。MIT开展了DICE项目研究,建立基于计算机的设计系统,提供一个共享的工作空间,多个设计人员按照各自的工程学科进行设计,在该项目中,采用了基于全局控制机制的面向对象的数据库管理系统,以此来解决设计人员之间的协调和交流[2];美国Standford大学联合HP、EIT等公司开展了PACT项目[3],其中研究了分布式并行协同设计问题。 Kentucky大学计算机系的Zhang等人研究基于Web架构的协同CAD系统,通过讨论Web协同系统的优点他们认为Web为协同CAD应用提供了一个理想的支持环境。还具体地研究了协同用户界面、协同感知支持、同步与异步、及安全性等技术[4]
国内在相关领域的研究也很活跃。在863/CIMS重大攻关项目“面向CIMS并行工程集成框架关键技术”中,众多单位开展了对并行工程协同工作模式及支持环境的研究;清华大学、西安交通大学、南京理工大学、中国科学院计算所等单位,开展了关于计算机支持的协同设计技术的研究。如清华大学自动化系建立了面向CIMS的并行工程集成框架,实现了并行工作环境下的数据共享和通讯[5]。西安交通大学系统工程研究所开发出基于复制式应用程序共享技术的协同设计系统CoopCAD[6]。等等。接下来,本章节介绍一些基本概念和本文相关的研究领域和以及涉及的技术。

1.2.1 协同设计的基本概念和特点

协同是指多个人员共同合作完成一件工作,协同设计则是参与产品设计的人员相互协作进行产品设计和开发的过程。Roseman[7]从狭义上把协同设计定义为在计算机的支持下,各设计成员针对一个设计项目,承担相应的部分设计任务,并行交互地进行设计工作,最终输出符合设计要求的结果的设计方法。协同设计本质上是计算机支持的并行设计的深化,更注重协同设计小组信息交流和设计过程的监测,强调设计过程是一个集成了各种设计资源的动态群组协同行为。协同设计的基本特点是多实体和协调。多实体指的是设计人员、设计过程、相关软硬件等实体的多样化。协调则强调这些实体之间相互协作,以一定的组织方式和时序共同合作完成产品的设计。协同设计主要涉及到设计过程、人员、计算机软件实体,它们之间的相互关系有:
(1)设计过程的协同
一个产品的开发基本上要经历各个阶段,如需求分析、概念设计、详细设计、制造等阶段。设计过程的协同基本上有两个层次含义:一是以设计过程信息流来看,设计过程顺序必须有一定的信息依赖,即设计过程必须在顺序上有所协同。二是从产品全生命周期上看设计各个阶段的处理方法和追求的目标各有侧重,为了总体目标达到最优化,需要对产品设计过程的各个阶段进行协调以寻求全局最佳的设计方案。
(2)设计人员之间的协同
设计人员在协同设计中扮演着设计活动的主体角色。各个设计人员拥有的知识、技能不尽相同,则在协同设计中所扮演的角色也有所不同;此外各自所追求的目标也不尽相同。只有以真诚合作为基础,通过讨论协商的方法才能使产品的设计质量最好和所经历的迭代最少。
(3)计算机实体之间的协同
随着计算机科学技术和现代设计理论的发展,计算机支持的协同设计环境和传统CAD\CAE等辅助设计工具在网络化的协同设计中扮演着越来越重要的角色。在分布式的网络环境下,协调各计算机辅助实体之间的信息传递、处理和互操作性是协同设计的技术基础。
(4)设计人员与计算机实体之间的协同[8]
在协同设计中,人和计算机软件以一定的顺序各完成一些工作。随着人工智能技术和协同理论的发展,计算机实体能在协同设计完成更多的任务,甚至取代了人的部分工作。研究协调人与计算机实体之间的任务分配与角色关系,有助于进一步发挥人机一体化的优势。

1.2.2 协同设计的基本分类和系统结构

协同设计从不同的交互形式上看可分为同步协同设计和异步协同设计[8]
(1)                同步协同设计,是一种紧密耦合的协同工作。多个协作者在相同的时间内,通过共享工作空间和借助于实时通信进行设计活动。其中任何一个协作者都可以迅速从其他协作者处得到信息反馈。
(2)                异步协同设计,是一种松散耦合的协同工作。其特点是多个协作者在分布集成的平台上围绕共同的任务进行协同设计工作,但各自有不同的工作空间,可以在不同的时间内进行工作。处在异步协同设计系统中的用户通常不能指望立即得到其它协同者的反馈信息。
协同设计系统结构从计算机通信的技术角度上看,基本上可分为集中式和分布式系统,以及对两者扬长避短的混合式系统。
(1)    集中式系统
设协同设计服务器为协同客户端提供设计服务,如提供设计对象建模服务,存储设计结果等,作业负担较大。客户端则主要为设计者提供协同设计界面进行设计的交互操作。集中式系统优点在于控制递阶、信息传递递阶,便于实现全局协调运行,容易保证设计结果的一致性。但也存在中心服务器负载较重,客户端自主性较差,系统性能受服务器性能的限制等问题。
(2)    分布式系统
     分布式的协同设计系统是基于点对点的模型,例如多Agent系统及复制式的协同设计系统。在分布式系统中,每个结点运行一个服务代理,包含通讯接口、内部知识库、任务模块、协调模块等;然后将具有不同知识、目标和性能的多个结点组织在一起成为一个系统;系统工作是通过各结点之间的交互来完成。在此系统中,各结点需保证通信和服务接口的协议,在系统中的地位是平等的,拥有自主性。分布式系统优点是结点布置灵活、不依赖于特定的结点,系统的功能取决于各节点的功能以及它们的协作程度;但缺点是协调各节点变得很复杂,难于保证设计结果的一致性,实现起来难度较高。
集中式结构和分布式结构系统各有优缺点,协同设计系统可以将这两者结起来成为混合式的系统。混合式的系统一般设一个集中式的主服务器外加一些分布式的服务器组成服务器群,为协同客户端提供设计服务。其中主服务器是整个系统的中心,负责用户访问控制、数据传输与存储,分布式服务器的管理等。而分布式服务器则分担了主服务器的一部分服务。混合式结构的系统避免了纯集中式系统中服务器的瓶颈问题和纯分布式系统中各结点协调困难而不容易保证设计结果一致性的问题。

1.2.3 协同设计实施的相关理论和技术

协同设计实施理论及其技术包括的内容比较广泛,根据本文的研究内容,主要介绍协同设计的过程建模、约束求解和冲突管理的一些理论及其技术的研究现状。
1、协同设计过程建模
对协同设计过程进行建模,是开展协同设计的前提。不同的协同设计问题有不同的过程建模,但一般要包含产品设计过程的描述;设计过程之间的相互关系以及如何进行协作;设计过程的执行步骤;每个步骤所用的工具等相关内容。根据本文研究的相关内容,主要讲述如何进行协同设计过程的规划。
协同设计过程的规划即是协同设计的任务规划,是协同设计过程建模的一个主要研究内容。协同设计任务规划主要研究内容是任务的分解及其重组。任务分解就是按照一定的要求将一个任务分解成多个子任务,并确定子任务之间的关系,如先后顺序。纵观研究,以设计结构矩阵来描述协同设计任务相互关系的方法被应用得最为广泛。Steward[9]创造性提出利用设计结构矩阵形式化描述任务之间的关系,并利用设计结构矩阵进行信息回路的搜索和行列的重新排序,得以找出耦合的任务集。Eppinger[10]等人在Steward的设计结构系统的基础上,进一步考虑了工程的技术结构,并给出了相应的算法,可将任务重新排序,且能将某些任务简化或分解成小的子任务,避免了设计的瓶颈;Kusiak[11]等采用分枝界定法分别对任务—参数矩阵和约束—参数矩阵进行分解,以求得最大的设计并行度。董明[12]采用设计结构矩阵描述任务,并采用分解和割裂算法对结构矩阵进行重构,探讨了串行和并行设计过程的收敛性,经过重新组织后的设计过程为并行设计的管理、控制、实施提供了新的策略。唐敦兵[13]等介绍了利用图论的方法对设计结构矩阵进行处理,识别出耦合的设计活动集。 
2、约束求解
产品开发过程中,各子任务之间都存在着各种相互制约、相互依赖的关系,其中包括设计规范、设计对象的基本规律、各种一致性要求、当前技术水平和资源限制以及用户需求等,这些关系可以通过约束来表达。产品开发过程是一个在保证各种约束满足的条件下,为实现某个指标而对所有设计变量进行赋值的过程,因此产品设计过程也是一个约束求解的过程。本文主要考虑数值型约束。
构建产品设计的约束网络后,对变量在求解过程中是以一个区间还是以一个值进行迭代计算来看,一般有值传播和区间传播两种解法[14]。值传播算法的思想是将各种制约关系通过约束表达建立约束集,在设计过程对产品变量赋一个值,然后进行约束检查,满足约束的解就是设计的可行解。值传播算法比较简单,但作用有限,协同设计过程中需要确定变量的值,有时会造成设计空间过早丢失。这方面工作有,华中科技大学模具国家重点实验室的何德林[14]等人对协同设计系统及协同设计产品约束网络进行了研究,采用Agent构建协同设计主体框架结构,采用值传播算法进行约束网络求解;上交大塑性成型工程系的李祥[15]等人基于图论的方法对协同设计的动约束问题进行求解,其计算过程便是值传播的形式。区间传播算法则是将各种约束进行约束表达后,构建出约束空间,然后变量以一个区间参与计算,若当前约束空间有解,则得到的变量的解区间是产品的可行解空间,设计过程就是变量区间的不断收缩直至为确定值。这方面典型的工作有,清华大学精仪系的赵慧设[16]等人利用区间传播算法对产品的约束网络进行冲突检测。清华大学国家CIMS工程研究中心的张少彤[17]、李涛[18]、熊光楞等人,提出了一种基于约束网络协调模型的设计方法,以区间的形式描述设计参数、状态变量的不确定性信息 ,并给出了一个求解一致性区间的算法框架。综合来看,应用于协同设计中的约束求解技术研究并不深入,相关求解方法还有待于进一步结合其它研究领域的成果加以深化。
实际上设计问题可以看作是一个约束满足问题,即在各个参数的设计空间内寻求一个或多个满足所有约束条件的解。约束满足问题是一个关于变量、变量值域及其约束条件的三元组问题。根据变量值域是否离散性来划分可分为离散约束满足问题和连续型约束满足问题。在机械设计中,大多问题最终表现为数值约束满足问题,属于连续型约束满足问题。
传统研究的约束满足问题的求解算法通常可分为两大类:一致性技术和搜索技术[19,20]。一致性技术把变量中肯定不包含最后解的空间去除,为后面的进一步求解减少搜索范围。一般以约束中包含变量不超过二元的CSP问题为研究对象,其一致性技术[30]主要有三类:结点一致算法,弧一致性算法和路径一致算法。其中弧一致性算法AC3因算法简单高效,能满足一定的需要从而得到最广泛的应用。第二类的搜索技术,有试探法与回溯法,启发式搜索等,基本思想即利用剪除、回溯技术和有方向性的试探来对可能的解进行更高效的搜索。
对变量取值为有限个离散型值的约束满足问题为考虑对象,这些方法都能达到较高维度的一致性,如八皇后问题,整数规划等。而在工程设计中,大多变量的初始取值是连续型的值域,上述的一些方法就并不适用。对于变量取值为连续型的数值约束满足问题,其解决方法不同于变量为有限域的约束满足问题
求解数值约束满足问题相比传统离散型的约束满足问题要来得困难。求解数值问题的传统方法有线性、非线性规划,数值分析分法,约束优化技术等。例如文献[21]把设计的各种约束转化成一个优化设计问题,再利用有约束优化算法进行求解。这些传统方法一般有很强的针对性,很难做到通用和实现自动化求解,一般都要针对每个具体问题编写程序,且其本质都是要进行数值或区间的迭代运算。近年来,以瑞士联邦工业学院的人工智能实验室的学者们为代表将传统约束满足问题的一致性技术和搜索技术用于数值约束满足问题的求解上,利用 树划分连续变量的搜索域和进行变量值域离散化,并给出了相应的算法[22,23,24]。这些算法能在一定程度上能达到较高维度的一致性,并在建筑设计中得到了应用。但 树本身数据结构复杂内存需要量大,其算法也不容易实现,使其应用有限。
对于这种连续型的数值约束满足问题而言,区间算法[25]至今为止公认为是一种有效的通用求解方法。其研究核心是,在数值计算中,变量是以一个区间而不是以一个单点值参与计算,得到的结果也是一个区间,以及在此基础上开发各种算法及其应用。区间算法最初用于解决计算机内部数值的精确计算,后来逐步用于约束系统求解,数值优化等方面。文献[26]讨论了基于IEEE 754浮点运算的区间基本运算的实现。文献[27,28,29] 提出了基于区间算法求解数值约束满足问题的算法,这些算法框架都类似于传统一致性算法AC-3[30],可得到变量结果区间的类弧一致性,即算法剪除掉的变量区间肯定不满足约束,而剩余的变量值域中至少存在值能满足约束。对于数值约束满足问题在利用类类弧一致性的区间算法框架求解时大多时候能达到全局一致。
3、冲突管理
协同设计的冲突管理是管理产品开发过程中出现的冲突,以及和冲突相关联的所有对象和因素的一门技术[31]。它集协调管理、产品开发环境支持、冲突解决等功能于一体,避免和及时检测并解决产品开发过程中所出现的冲突,调整和管理产品开发活动中的各种相互依赖关系,协调产品开发过程以支持协同设计的顺利完成。在协同设计系统中,冲突是指在多个相互关联的对象(包括产品对象、设计意图、产品开发过程、产品开发人员和资源等多种具有一定的信息结构,以及相关属性的信息实体或功能实体)之间存在一种不一致、不和谐或不稳定的对立状态[31]。冲突的表现形式及起因多种多样,可分为设计冲突、资源冲突,过程冲突等三类。设计冲突主要是设计结果和设计目标的冲突两种,前者表现为设计方案或设计属性之间存在着对立与矛盾的关系,后者表现为设计方案或者设计属性值无法同时满足一定的功能目标、可制造性目标或可装配性目标等。过程冲突是指因产品开发过程在时间或信息传递上存在矛盾时,就产生了过程冲突。造成冲突的基本原因有:设计决策不同、产品数据错误、术语不同和交流不足而造成理解错误、设计模型不一致、目标和评价标准不同等。冲突管理的关键支持技术有:冲突避免技术、冲突检测和冲突解决技术[31]
管理冲突的最好方法是尽可能避免冲突的发生。冲突避免技术通过尽可能地消除产生冲突的根源,从而达到避免冲突的目的,它包括设计人员的组织和管理、设计任务规划、加强通信交流、产品数据管理和设计原理支持等技术。具有CSCW特征[32]的协同设计环境能提供基本的通信、共享和合作的功能,可有效地在某种程度上减少冲突的发生。并行工程中的大多数冲突是由各设计体间对产品设计的相互误会和知识的不完整性引起的,人们在冲突避免中广泛应用信息共享策略,在这种策略中,诸如各方约束和目标等信息在参与者里尽可能地共享。如文献[33]介绍了元信息(Meta-information)的概念,它对协同方的解空间进行抽象描述,开发一个编入一些冲突消解的专家经验的Agent,一旦有需要此Agent对不同的场合动态应用合适的冲突解决专家经验,以此提高冲突的避免效率。Lottaz提出用约束表达设计解空间,使关键变量的取值尽可能地在设计最后阶段确定,这种基于约束满足技术支持的重要决定后推策略可减少设计迭代和避免人工的冲突[24]
不同协同设计过程模型采用的冲突检测技术不尽相同。根据本文相关研究内容,讨论基于约束网络的冲突检测。基于约束网络的冲突检测其思想是:协同设计各小组参与到产品开发中,他们之间存在许多相互制约、相互依赖的关系,包括设计规范、设计对象的基本规律、各种一致性要求、用户需求等。这些关系主要是通过约束来表达,产品开发过程的各种约束关系交织在一起便构成一个约束网络。约束表达了产品设计需求、建立了各协同人员之间的联系,冲突产生势必会造成约束违反,因而冲突检测可通过检查约束的违反情况来检测。从约束传播和求解的方法上来看,一般有基于变量真值传播的冲突检测[14,15,34]和基于约束满足问题(CSP)的不可满足约束集冲突检测[16,17,24]方法。基于真值的冲突检测实现较为简单,一般用于显式冲突的检测上,而基于CSP的不可满足约束集检测的方法实现较难,可用于隐式冲突的检测上。
冲突消解策略若从不同的技术角度上来看一般有:基于规则[35,36,37]、基于实例[38,39]及协商技术[40];若从不同层面上看,有基于约束的约束放松法消解及基于知识的冲突消解。基于约束的冲突消解一般是通过约束松弛进行的,是一种较低层次和直接的冲突消解。基于知识的冲突消解能通过基于规则、基于实例的形式加以实现,是一种较高层次和间接的冲突消解。从技术的角度上看,基于规则的冲突消解技术用规则表达协同小组领域知识,形成知识库,在推理机的支持下辅助协同小组进行冲突消解。基于实例的冲突消解其思想是:把冲突消解事例以脚本的形式进行保存形成事例库,当要解决一个新问题时,通过检索相似事例库,找出与新问题相似的一个或几个事例辅助消突消解。协商技术就是在计算机的支持下,各领域人员对某个冲突问题进行交流,协商出一个大家都能接受的方案。协同设计过程中冲突种类繁多,目前尚难提供一个普遍的冲突消解方法。有的文献[41]集成各种冲突消解策略,从不同层次对冲突进行消解。应当注意的是,上述几种方法是冲突消解的共性地方,而不同协同设计系统所用的冲突消解技术是根据这些策略应用不同技术加以实施。此外从协同设计的冲突消解的相关文献综合来看,其理论探讨较多,而相关技术实现上的研究并不足够和深入。

1.3 相关技术

协同设计研究是一个多学科融合的研究领域,涉及的学科和技术相当广泛。本文从课题研究角度出发,概述分布式和规则引擎技术。

1.3.1 分布式技术

在进行分布式协同设计系统开发时,如果直接从底层通讯做起,那么程序编写难度将是十分巨大的。幸运的是存在一些分布式技术可以帮助我们省略掉远程调用的底层通讯细节,简化了程序编写,使我们的精力得以放在领域问题域上。目前用于分布式系统开发的分布式技术有:OMG组织的CORBA技术[42]、Microsoft公司的COM/DCOM技术[43,44]、Sun公司的Java RMI技术[45]
CORBA (公共对象请求代理体系)是由OMG (对象管理组织)提出的分布式应用的一种技术规范,能有效实现异构环境的分布式对象之间的互操作和数据库之间的无缝集成。CORBA技术的优点是通用和中立,能为分布式系统提供一种较彻底的解决方法,但其规范较为复杂在商业项目中并不多用。协同设计中这方面的例子有,英国考文垂大学数学和信息学院的Kuo-Ming Chao和Peter Norman等人开发了用于工程设计的多智能体系统,其中采用CORBA技术实现的多学科设计小组协同框架结构,使用CORBA技术实现了不同系统平台、设计工具和设计模型之间的通讯[46]
COM(组件对象模型)是集成化的面向组件的软件系统体系结构规范,它为Windows平台中的通用组件对象的访问提供了一个途径。DCOM(分布式组件对象模型)是COM网络环境下的扩展,两者一般是微软平台Windows平台的专用分布式开发技术,异构性支持得不好。这方面例子有张滢[47]、王维等人介绍了基于DCOM技术,实现跨网络的制造资源分布式集成系统。
JAVA RMI(对象远程方法调用)是JAVA API中的核心对象软件包之一,它的出现大大简化了分布异构环境中Java应用之间的通信。RMI是一种分布式对象技术。它封装了Java语言的Socket通信、序列化、代理和命名技术,实现了远程调用对象的能力。RMI使得JAVA对象能通过网络调用运行在不同JAVA虚拟机中的对象的方法。RMI采用了JAVA串行化方法并通过字节流方式在网络上传输对象,传输的字节流中包括在本地JVM中实例化远程JVM中的对象所需的必要信息。RMI不仅传输对象数据,还传输对象实现的行为。这个特性为实现跨机器和跨网络的非静态应用程序代理提供了强大的平台。RMI使得JAVA语言适合开发分布式应用程序的关键技术之一,是JAVA P2P中的核心技术,也是J2EE标准中 EJB模型通讯的基础。典型的应用如新加坡大学机械学院的Francis Eng Hock Tay和Avijit Roy开发了名为CyberCAD[48]的协同设计系统,它使用RMI分布式对象通讯的基础,支持3维建模和浏览的功能。华中科大的李玉良[49]等用Java RMI和VRML等开发了一个三维机械产品远程动态装配/拆卸的过程仿真系统。
几种中间件技术中,CORBA标准功能最为强大,分布式解决方案最为彻底,但协议复杂,开发代价较大。COM/DOM功能也不错,但一般只用在Windows平台上,不具有真正的跨异构平台运行的能力。随着JAVA 语言的流行,JAVA RMI事实成为了J2EE中分布式计算的基础,简单易用且能实现跨异构平台布运行的能力。考虑到本系统的编程环境为JAVA,且JAVA RMI技术十分成熟且实现比较简单,故本文在系统开发中采用JAVA RMI实现服务器与服务器,服务器与客户端的分布式计算。

1.3.2 专家系统与规则引擎技术

如通用设计理论指出,设计的本质是基于一种知识处理、操作的创造性求解活动。从人工智能技术诞生以来,人们就没有停止过应用人工智能技术辅助人们进行问题求解和产品设计。基于知识处理技术的智能化设计应用从最初的专家系统发展起来,到现在的具有知识库和推理机制的多Agent系统,为构建设计环境提供理论和技术支持。智能化设计的本质是知识的表示和处理,其应用代表是专家系统,如标准胶带传动设计的专家系统[50]。专家系统对输入信息进行处理,并运用知识进行推理,做出决策和判断,辅助人们解决问题。它是一种典型的知识处理系统,其应用的关键在于表示和运用领域专家的知识。
要进行基于知识的应用首先必须把拥有的知识采用适当的模式表示出来,以便于计算机处理。目前机械设计领域的专家系统经常采用的知识表示方法一般有[51]:规则表示法、框架表示法、语义网络表示法、一阶谓词逻辑表示法、过程表示法。这些表示法各有各的特点,在开发实际应用中,一般是一种方法为主并结合几种表示法共同在不同层次上表示知识。
具有高效率求解复杂问题能力的专家系统除了拥有大量的专门知识外,还应该具有高效的推理机制。对于规则表达的知识,其推理方法[52]一般有演绎法和归纳法。演绎法从已知事实,把规则的前提同当前工作区的内容进行匹配以选取出可用规则,若有多条规则可用,则按冲突消解策略从中选择一条规则执行,之后工作区得到新的事实,这样不断进行匹配执行直到问题求解或无规则可用。归纳法也称反向推理,它根据工作区内给出的假设,把规则的结论同当前工作区内容进行匹配来选取一条可用规则并执行,把规则的前件加入到工作区内,直至找到假设成立所需要的全部证据或当前无可用规则。由于演绎法问题表示直观,便于处理,故大多实用的推理机,特别是商业所用的推理引擎其推理方法都是演绎法。
随着网络技术和软件工程的发展,近年来规则引擎技术特别是基于JAVA语言的规则引擎慢慢地走进了应用舞台,成为一支活跃的开发工具。比较出名的JAVA规则引擎有:Jboss Rules、JESS 、IILOG JRules等。规则引擎来源于产生式专家系统,是推理引擎的一种,相当于基于规则的产生式专家系统的核心部分[53]。实用的规则引擎一般采用正向推理,这也是符合人们解决问题的习惯。此外利用面向对象语言如JAVA实现的规则引擎技术,在知识表达方面比较灵活。类本身表达知识的效果类似于框架法,且类本身可以封装一些方法,用以规则难以表示的计算过程。近年来,在商业信息系统中应用Java规则引擎技术得到流行,增加了系统开发的灵活性和减少了模块之间的耦合度。
,
发表评论】【加入收藏】【返回顶部】【打印】【关闭
相关评论
发表评论
 您的姓名:     验证码:
 评论内容:  
    最多200字。 当前字数

最新新闻

热点新闻