- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代理的自动工艺实现方案分析;基于代理的自动工艺实现方案;背景
代理
方案;背景;CAD;CAPP应具有如下的性能:
它应作为CAD/CDM集成设计辅助的工具来工作 ,即自动地从工程 (产品设计 )方面获得输入数据 ,并且产生出一整套工艺规程 ,供编制生产计划和生产、材料、质量控制等使用 ;
它应为加工的指令安排、生产计划调度、工资单计算和材料发放等提供基本数据 ;
它应是适合于不同零件种类的通用化设计 ;;它应具有一个能充分利用计算机潜力的交互式在线处理系统 ;
它应具有便利的用户界面 ,并为操作人员提供指南 ;
系统是模块化、结构化的 ,以便容易扩展 ,修理和维护 ;
与其生产设备一样 ,它应具有经济性。
;传统CAPP的主要困难
研制周期长
适应性差
实用性差
低水平重复
提出基于代理的CAPP
采用目前较为先进的代理技术;自动工艺是CAPP系统的核心部分,自动工艺模块性能直接影响整个系统的性能。通过代理技术来实现自动工艺过程是目前较为先进的技术。在自动工艺流程上,一般有四个主要的模块:输入器、生成器、审查器以及批准器。
它们分别是用四个代理类来实现的。因此,相应的四个代理类分别是:输入器代理类、生成器代理类、审查器代理类以及批准器代理类。 ;代理;代理概念及其性质;Agent的四个最基本特性:针对环境性、反应性、自治性、面向目标性。虽然还可有移动性、社会性、学习性等其它特性,但只要具备了上述四个特性就可以认为它是一个Agent,我们将这样的Agent称为最小Agent。
在最小Agent的基础上,根据各自的应用情况还可再拥有其的特性,从而将Agent分成不同的种类:如自治Agent、软件Agent、移动Agent等。
;代理池概念及其机制;;代理池功能
装载/卸载代理
处理代理之间通信
保存/恢复代理信息
监视代理工作情况
;方案;谈谈我们目前项目;工艺流模型图;图中箭头意义;工艺层次;;任务基本信息;工艺路线批准信息;任务活动过程;;提出星型工艺模型;工艺流程分为四大类(分类编码、工艺生成、工艺审查和工艺批准)以及任务分配。
因此,星型结构如下实现:
(1)前面四类用节点代理来实现;
(2)任务分配用中枢代理来实现。
能够灵活地添加/删除节点代理。;;工艺层次;任务结构;节点代理外部结构;节点代理内部结构;中枢代理;注:
代理池不负责代理之间通信,由中枢代理接管;
中枢代理负责添加/删除节点代理;
;;添加节点代理算法;public void addNodeEntityAgent(String name,int ID,int typeID,Vector taskField)
{//添加已存在的节点类型代理的一个节点实体代理
backboneAgent bbAgent=(backboneAgent)agentPool.getBackboneAgent();
//从代理池中获得中枢代理
if(!(bbAgent.existNodeTypeAgent(typeID)))return;
//判断是否存在此种节点类型代理,若不存在则返回
Hashtable nodeTypeAgentList=(Hashtable)bbAgent.getNodeTypeAgentList();
//从中枢代理中获得节点类型代理列表
Hashtable nodeEntityAgentList=(Hashtable)bbAgent.getNodeEntityAgentList();
//从中枢代理中获得节点实体代理列表
nodeEntityAgentList.add(ID,name);
//在节点实体代理中添加新节点实体代理
Hashtable taskEntityList=(Hashtable)bbAgent.getTaskEntityList();
//从中枢代理中获得任务列表
Vector v=(Vector)nodeTypeAgentList.get(typeID)
Enumeration e=v.elements();
while(e.hasMoreElements())
{ String str=(String)e.nextElement();
taskEntityList.add(name+_+str,);
}//在任务实体列表中添加指定的新节点实体代理的任务字段,初始值置空
Agent newAgent=new Agent(name);
//用指定名称构造一个新代理
agentPool.addAgent(newAgent);//把这个新代理添加到代理池中
};;删除节
文档评论(0)