您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 基于代理的自动工艺实现方案
文库专用1基于代理的自动工艺实现方案文库专用2•背景•代理•方案文库专用3背景概念:CIMS:计算机集成制造系统CAPP:计算机辅助工艺规划或设计CAD:计算机辅助设计CAM:计算机辅助制造MIS:管理信息系统MAS:制造自动化系统CAQ:质量保证系统文库专用4CADCAD/CAPP/CAMCAPPCAMCAQMISMAS结构图CIMS文库专用5CAPP应具有如下的性能:•它应作为CAD/CDM集成设计辅助的工具来工作,即自动地从工程(产品设计)方面获得输入数据,并且产生出一整套工艺规程,供编制生产计划和生产、材料、质量控制等使用;•它应为加工的指令安排、生产计划调度、工资单计算和材料发放等提供基本数据;•它应是适合于不同零件种类的通用化设计;文库专用6•它应具有一个能充分利用计算机潜力的交互式在线处理系统;•它应具有便利的用户界面,并为操作人员提供指南;•系统是模块化、结构化的,以便容易扩展,修理和维护;•与其生产设备一样,它应具有经济性。文库专用7传统CAPP的主要困难研制周期长适应性差实用性差低水平重复提出基于代理的CAPP采用目前较为先进的代理技术文库专用8自动工艺是CAPP系统的核心部分,自动工艺模块性能直接影响整个系统的性能。通过代理技术来实现自动工艺过程是目前较为先进的技术。在自动工艺流程上,一般有四个主要的模块:输入器、生成器、审查器以及批准器。它们分别是用四个代理类来实现的。因此,相应的四个代理类分别是:输入器代理类、生成器代理类、审查器代理类以及批准器代理类。文库专用9代理代理概念及其性质代理池概念及其机制文库专用10代理概念及其性质•概念:是一类在特定环境下能感知环境,并能自治地运行以代表其设计者或使用者实现一系列目标的计算实体或程序。从软件实现角度,它是一个计算机程序,通过预定义的协议(公用语言)与外部Agent进行通信。代理和对象的区别在于代理的自主性和协作性。文库专用11•Agent的四个最基本特性:针对环境性、反应性、自治性、面向目标性。虽然还可有移动性、社会性、学习性等其它特性,但只要具备了上述四个特性就可以认为它是一个Agent,我们将这样的Agent称为最小Agent。在最小Agent的基础上,根据各自的应用情况还可再拥有其的特性,从而将Agent分成不同的种类:如自治Agent、软件Agent、移动Agent等。文库专用12代理池概念及其机制•概念:是一个负责调度代理的载入与卸载,响应代理之间发送的事件以及做出相应的处理,而且保存每个代理的相关信息以及能够恢复保存的信息的容器。文库专用13•代理池机制代理代理代理代理文库专用14•代理池功能装载/卸载代理处理代理之间通信保存/恢复代理信息监视代理工作情况文库专用15方案•谈谈我们目前项目•提出星型工艺模型文库专用16谈谈我们目前项目概述:我们目前正在做的项目(即“天工”项目)主要包括三大模块:系统管理模块项目管理模块自动工艺模块我们小组做的是自动工艺模块文库专用17工艺流模型图工艺路线审查代理任务分配代理工艺路线生成代理分类编码代理工艺路线批准代理专业工艺生成代理专业工艺审查代理专业工艺批准代理文库专用18图中箭头意义任务成功提交任务成功反馈任务出错反馈谁操作?白色箭头:用户操作完成粉红色箭头:系统自动完成红色箭头:用户操作完成文库专用19工艺层次工艺路线工作中心工步专业工艺生成代理处完成工艺路线生成代理完成文库专用20任务结构分类编码信息工艺路线生成信息工艺路线审查信息工艺路线批准信息专业工艺生成信息专业工艺审查信息任务基本信息专业工艺批准信息文库专用21任务基本信息任务ID任务名称文档ID零件ID零件图号分类编码信息零件编码工艺路线生成信息典型零件用户名称任务状态零件名称工艺路线组合工艺路线审查信息审查人名称审查密码审查意见文库专用22工艺路线批准信息批准人名称批准密码批准意见专业工艺审查信息专业工艺组合专业工艺生成信息审查人名称审查密码审查意见专业工艺批准信息批准人名称批准密码批准意见文库专用23任务活动过程任务基本信息任务分配信息任务及前面代理信息分类编码信息工艺路线生成信息任务及前面代理信息工艺路线生成代理任务分配代理分类编码代理任务任务任务传递传递提交传递提交提交新建文库专用24任务专业工艺批准代理数据库提取信息写入数据库读取信息写入信息成功反馈信息传递提交删除任务文库专用25提出星型工艺模型提出:前面采用链式结构把各代理链接在一起。此种结构缺点:插入/删除节点困难,即不具有扩展性;为此提出星型结构。文库专用26工艺流程分为四大类(分类编码、工艺生成、工艺审查和工艺批准)以及任务分配。因此,星型结构如下实现:(1)前面四类用节点代理来实现;(2)任务分配用中枢代理来实现。能够灵活地添加/删除节点代理。文库专用27星型模型结构图批准器代理类审查器代理类生成器代理类输入器代理类中枢代理注:1.各代理类:节点代理2.红色虚框内:实体代理文库专用28•工艺层次层次1层次2层次n文库专用29•任务结构任务基本信息信息字段节点代理1节点代理n信息字段文库专用30节点代理外部结构节点代理信息事件接收发送接收发送注:事件:接收(未做工艺的)任务事件与发送(做完工艺的)任务事件;信息:在任务结构中相应的字段,由这个代理填写此字段信息。文库专用31•节点代理内部结构功能模块工艺层次添加工艺层次功能模块添加注:各类节点代理在内部结构上不同,体现在功能模块上不同;同类节点代理的不同实体内部结构相同,体现在功能模块上相同,但是工艺层次的数目不一致,从而它们也体现出不同。文库专用32•中枢代理任务1任务2任务n提取任务功能模块新建任务添加/删除节点代理功能模块节点代理1节点代理2节点代理n控制任务结构功能模块来源于系统设置文库专用33注:代理池不负责代理之间通信,由中枢代理接管;中枢代理负责添加/删除节点代理;文库专用34添加节点代理结构示图添加代理类添加实体代理文库专用35•添加节点代理算法publicvoidaddNodeTypeAgent(StringtypeName,inttypeID,VectortaskField){//添加一个新节点类型代理backboneAgentbbAgent=(backboneAgent)agentPool.getBackboneAgent();//从代理池中获得中枢代理HashtablenodeTypeAgentList=(Hashtable)bbAgent.getNodeTypeAgentList();//从中枢代理中获得节点类型代理列表nodeTypeAgentList.add(typeID,typeName);//在节点类型代理列表中添加指定的新节点类型代理HashtabletaskFabricList=(Hashtable)bbAgent.getTaskFabricList();//从中枢代理中获得任务结构列表taskFabricList.add(typeID,taskField);//在任务结构列表中添加指定的新节点类型代理的任务字段}文库专用36publicvoidaddNodeEntityAgent(Stringname,intID,inttypeID,VectortaskField){//添加已存在的节点类型代理的一个节点实体代理backboneAgentbbAgent=(backboneAgent)agentPool.getBackboneAgent();//从代理池中获得中枢代理if(!(bbAgent.existNodeTypeAgent(typeID)))return;//判断是否存在此种节点类型代理,若不存在则返回HashtablenodeTypeAgentList=(Hashtable)bbAgent.getNodeTypeAgentList();//从中枢代理中获得节点类型代理列表HashtablenodeEntityAgentList=(Hashtable)bbAgent.getNodeEntityAgentList();//从中枢代理中获得节点实体代理列表nodeEntityAgentList.add(ID,name);//在节点实体代理中添加新节点实体代理HashtabletaskEntityList=(Hashtable)bbAgent.getTaskEntityList();//从中枢代理中获得任务列表Vectorv=(Vector)nodeTypeAgentList.get(typeID)Enumeratione=v.elements();while(e.hasMoreElements()){Stringstr=(String)e.nextElement();taskEntityList.add(name+_+str,);}//在任务实体列表中添加指定的新节点实体代理的任务字段,初始值置空AgentnewAgent=newAgent(name);//用指定名称构造一个新代理agentPool.addAgent(newAgent);//把这个新代理添加到代理池中}文库专用37删除节点代理删除代理类删除实体代理文库专用38•删除节点代理算法publicvoiddelNodeTypeAgent(inttypeID){//删除一个新节点类型代理backboneAgentbbAgent=(backboneAgent)agentPool.getBackboneAgent();//从代理池中获得中枢代理if(bbAgent.existNodeEntityAgent(typeID))return;//判断是否存在此种节点类型代理的节点实体代理,若存在则返回HashtablenodeTypeAgentList=(Hashtable)bbAgent.getNodeTypeAgentList();//从中枢代理中获得节点类型代理列表nodeTypeAgentList.remove(typeID);//在节点类型代理列表中删除指定的新节点类型代理HashtabletaskFabricList=(Hashtable)bbAgent.getTaskFabricList();//从中枢代理中获得任务结构列表taskFabricList.remove(typeID);//在任务结构列表中删除指定的新节点类型代理的任务字段}文库专用39publicvoiddelNodeEntityAgent(Stringname,intID,inttypeID){//删除已存在的节点类型代理的一个节点实体代理backboneAgentbbAgent=(backboneAgent)agentPool.getBackboneAgent();//从代理池中获得中枢代理HashtablenodeEntityAgentList=(Hashtable)bbAgent.getNodeEntityAgentList();//从中枢代理中获得节点实体代理列表nodeEntityAgentList.remove(ID);//在节点实体代理中删除指定ID的节点实体代理HashtabletaskEntityList=(Hashtable)bbAgent.getTaskEntityList();//从中枢代理中获得任务列表Vectorv=(Vector)nodeTypeAgentList.keys();Enumeratione=v.elements();while(e.hasMoreElements()){Stringstr=(String)e.nextElement();if(includeKey(name))taskEntityList.remove(str);}//函数includeKey用来判断关键字str中是否存在name前缀,若存在则删除agentPool.delAgent(name);//在代理池中删除指定名称的代
本文标题:基于代理的自动工艺实现方案
链接地址:https://www.777doc.com/doc-1296611 .html