(机械设计及理论专业论文)计算机辅助工艺设计可定制系统的研究.pdf_第1页
(机械设计及理论专业论文)计算机辅助工艺设计可定制系统的研究.pdf_第2页
(机械设计及理论专业论文)计算机辅助工艺设计可定制系统的研究.pdf_第3页
(机械设计及理论专业论文)计算机辅助工艺设计可定制系统的研究.pdf_第4页
(机械设计及理论专业论文)计算机辅助工艺设计可定制系统的研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 针对企业工艺设计的个性化特点,研究具有自维护性和可移植性的可定制性 c a p p 系统开发平台的关键问题。c a p p 的可定制性涉及工作流程可定制性和组成 模块的可定制性,后者又包括工艺资源可定制、工艺卡片可定制和工艺报表可定 制等内容。 论文引入软件设计工作流方法,将企业工艺设计的工作流程转变为软件设计 工作流中的活动和依赖转发关系。根据c a p p 的实际需求确定工作流引擎的设计 定位和结构组成,并在关系数据库中实现该引擎的数据模型( 管理机构模型以及 信息模型) 和控制模型。该结构从企业实际工作流程中抽象出来,具有普遍意义。 通过流程定制,可以有效支持企业工作流程的发展革新,并在c a p p 软件系统推 广移植时表现出对不同工作流程的兼容性。 在实施c a p p 系统软件模块定制中,研究工艺资源的可定制性,分析了传统 c a p p 软件的工艺资源的存储结构,根据本文研究对象,提出了具有新意的存储 结构,将工艺资源的结构表达和具体内容分开处理,把工艺资源结构表达中变化 的因素从相对稳定的数据库模式中分离为工艺资源属性类的具体实例,有效的支 持工艺资源种类、属性扩展以及具体资源扩展属性的维护;在工艺卡片可定制研 究中,讨论了传统c a p p 软件的工艺卡片的存储结构,从传统的“表格一) 区域一) 行( 列) 一) 单元格”结构模式中分离出容易变化的“区域一) 行( 列) ”,提出“表 格一) 单元格”的卡片结构模式,并辅之以逻辑单元格、逻辑行等视图,有效的 支持卡片种类扩充和格式变化;在工艺报表可定制实现中,以关系代数为基础, 研究自定义查询的实现方法,并给出实施的思路和步骤。以上研究均用程序进行 实现,初步达到可应用水平。 论文的研究得到大连市科技局科技攻关计划的支持,研究成果应用于国家大 型企业实际c a p p 系统开发中,初步证明本文研究成果的有效性和实用性。 关键词:计算机辅助工艺设计;可定制:工作流;框架;软件系统 a b s t r a c t t h ec u s t o m i z a t i o na p p r o a c ho fc o m p u t e ra i d e dp r o c e s sp l a n n i n g ( c a p p ) s y s t e m s i sr e s e a r c h e di nt h i s p a p e r , w h i c hi n c l u d e st h e s e l f - m a i n t a i n a b i l i t y a n dt h et r a n s d l a n t a t i o no fc a p ps y s t e m s c o r r e s p o n d i n g t ot h ei n d i v i d u a l p r o c e s s p l a n n i n g c h a r a c t e r i s t i co f p a r t i c u l a re n t e r p r i s e s a n dt h e n ,t h ec u s t o m z a t i o nc o n s i s t so fb o t ht h e c u s t o m i z a b i ew o r k f l o w e n g i n e a n dt h e e v e r y c u s t o m i z a b l ef u n c t i o n a l p r o c e s s i n gm o d u l eo fc a p ps y s t e m s , s u c ha st h er e s o u r c es u b s y s t e m ,c a r d s u b s y s t e m ,r e p o r ts u b s y s t e ma n ds o o n a tf i r s ti nt h ep a p e r ,t h ew o r k f l o wm e t h o di ns o f t w a r ed e s i g ni s i n t r o d u c e d ,a n dt h ee n t e r p r i s ew o r k f l o wi sd e s c r i b e da st h ea c t i v i t ya n d t h er u l eo fd e p e n d e n c ea n dr e t r a n s m i s s i o n t h eo r i e n t a t i o no fw o r k f l o w e n g i n ei sd e f i n e db a s e do nt h ea c t u a lr e q u i r e m e n to fc a p ps y s t e m s ,a n d t h e nt h es t r u c t u r ea b s t r a c t i n gf r o mt h ea c t u a l e n t e r p r i s ew o r k f l o wi s a p p l i e d i nr e l a t i o n a l d a t a b a s e m a n a g e rs y s t e m ( r d b m s ) ,i n c h d i n g o r g a n i z a t i o n ,i n f o r m a t i o na n dc o n t r o lm o d e l s o ,t h ec h a n g eo ft h e e n t e r p r i s ew o r k f l o wa n dt h ec h a n g eo ft h ec a p ps y s t e m st r a n s p l a n t a t i o n a r ew e l l s u p p o r t e db yt h ec u s t o m i z a b l ew o r k f l o w s e c o n d l y ,t h ec u s t o m i z a b l ef u n c t i o n a lp r o c e s s i n gm o d u l e so ft h ec a p p i sd i s c u s s e d i nr e s o u r c es u b s y s t e m , a no r i g i h a l i t yi n n o v a t es t o r a g e s t r u c t u r eo fr e s o u r c ei sp r e s e n t e d ,w h i c hd e t a c h e st h ev a r i e t yf a c t o r f r o mt h er e l a t i v es t a b l ed a t a b a s es c h e m a s ot h ep r o c e s sr e s o u r c ec a nb e c u s t o m i z e db yu s e r sf r e e l y i nc a r ds u b s y s t e m ,t h et r a d i t i o n a ls t o r a g e s t r u c t u r ei si m p r o v e d m o r es i m p l es t r u c t u r e ,i n c l u d i n gt a b l ea n dc e l l s , i sg i y e ni no r d e rt os u p p o r tt h ev a r i a t i o no fk i n da n df o r m a t i nr e p o r t t a b l es u b s y s t e m ,am e t h o do fs e l f - d e f i n i n gq u e r yb a s e dr e l a t i o na l g e b r a i sp r e s e n t e d a l lo ft h er e s e a r c ha b o v ei s i m p l e m e n t e dw i t hp r o g r a m s , w h i c hr u ne f f i c i e n t l ya n ds t e a d i l y a tl a s t ,t h er e s u l to ft h er e s e a r c hi nt h ep a p e rh a sb e e n a p p l i e d i nal a r g en a t i o n a le n t e r p r i s ei nd a l i a nc i t y , a n dt h ef u n ds u p p o r ti s g i v e nb yd a l i a ns c i e n c ea n dt e c h n o l o g yb e a r u t h ep r a c t i c eo fs o f t w a r e i nt h ee n t e r p r i s es h o w st h a tt h ea p p r o a c h e so ft h ep a p e ra r ee f f e c t i v e a n dp r a c t i c a b l e k e yw o r d s :c a p p ;c u s t o m i z a t i o n ;w o r kf f o w ;f r a m e w o r k :s o f t w ar os y s t e m 1 1c a p p 应用背景 第1 章绪论 工艺设计是机械制造企业技术部门的重要工作,是连接产品设计和产品制造的桥梁, 对产品质量和制造成本具有巨大影响。其质量之优劣及设计效率之高低,对生产组织、 产品质量、生产率、产品成本、生产周期等有极大的影响,同时,工艺设计时间是零件 设计的3 倍,占整个机械产品设计与制造周期的一半 1 ,2 】。而最终的工艺卡片又是作 为指导车间生产的最重要生产指导性文件,是进行工装制造和零件加工的主要依据,它 对组织生产、保证产品质量、提高生产率、降低成本、缩短生产周期及改善劳动条件等 都有直接的影响,因此是生产中的关键性工作。 工艺设计的主要任务是为被加工零件选择合理的加工方法和加工顺序,以便能按设 计要求生产出合格的成品零件,其一般流程如图1 1 。 图畏1 1 工艺设计的一般流程 f i g 1 - 1t h eg e n e m lf l o wo ft h ep r o c e s sp l a n 工艺设计内容有: 1 ) 根据产品图纸,分析产品零件的结构特点以及技术要求; 2 ) 了解产品生产的纲领及批量: 。 3 ) 按企业的实际情况,具体确定机床设备、切削用量、工艺装备以及工时定额 计算机辅助工艺设计可定制系统的研究 4 1 选择加工方法及采用的机床、刀具、夹具和其他工装设备等; 5 ) 安排合理的加工顺序: 6 ) 选择基准,确定加工余量和毛坯,计算工序尺寸和公差; 7 ) 选用合理的切削用量: 8 1 计算工时定额和材料定额; 9 ) 编制包含上述所有资料的工艺文件。 传统的工艺设计方式对工艺设计人员要求高,劳动强度大,效率低。工艺文件的合 理性、可操作性以及编制时间的长短主要取决于工艺人员的经验和熟练程度,这样就不 可避免的会导致工艺文件的设计周期和质量不易保证。由于每个工艺规程都要靠手工编 写,不便于计算机对工艺技术文件进行统一的管理和维护。当产品更换时,原有的工艺 规程就不再使用,必须重新设计一套产品的工艺规程,即使新产品中某些零件与过去生 产的零件相同,也必须重新设计,严重地阻碍了设计生产效率的提高。基于传统工艺设 计设计过程工作量的繁杂性以及上述面临的问题,c a p p 系统的研究开发应运而生。 c a p p ( c o m p u t e r a i d e d p r o c e s sp l a n n i n g ) 计算机辅助工艺设计,就是利用计算 机技术来制定零件的加工工艺过程,把毛坯加工成工程图纸上所要求的零件 3 】。 c a p p 将工艺设计人员从繁重的、重复性的手工劳动中解放出来,从事新产品的开 发、工艺装备的改进及新工艺的研究等等创造性的工作 4 】,真正的体现了工艺人员工艺 设计方面的价值。c a p p 代替手工填写等重复性的劳动,大大地缩短工艺设计周期,保 证工艺设计的质量,提高产品在市场上的竞争能力。应用c a p p 可以编制出一致性好、 精确的工艺过程,提高企业工艺设计的标准化,并有利于工艺设计的最优化工作。同时, c a p p 系统使用数据库存储制造资源、工艺参数等,实现资源的高度共享。通过将典型 工艺、标准工艺、成型工艺等形成模板存储,提高企业工艺的继承性,方便工艺人员进 行快速、正确的符合标准的工艺设计。 1 2 c a p p 发展现状 c a p p 的开发、研制是从6 0 年代末开始的,1 9 6 9 年挪威正式推出世界上第一个c a p p 系统a u t o p r o s ,1 9 7 3 年正式推出商品化的a u t o p r o s 系统。在c a p p 发展史上具 有旱程碑意义的是c a m i 于1 9 7 6 年推出的c a m i sa u t o m a t e dp r o c e s s p l a n n i n g 。取其字首的第一个字母,称为c a p p 系统 5 ,但把c a p p 称为计算机辅助 工艺过程设计已经成为公认的释义。 目前全世界已有上百个各种类型的c a p p 系统在生产中运行,概括起来,c a p p 系 统有两大类型 6 :派生型( v a r i a n tt y p e ) 和创成型( g e n e r a t i v et y p e ) 。 1 ) 派生型系统通常是在成组技术( g t ) 的基础上,由零件族的复合工艺派生出新 零件的工艺规程。一个新零件的工艺规程是通过检索系统中已有的相似零件的工艺 规程并加以筛选或编辑而成的。从设计角度看,与常规工艺设计的类比设计相同, 也就是用计算机模拟人工设计的方式,以继承和应用标准( 典型) 工艺。 2 ) 创成型系统的工艺规程是根据程序中所反映的决策逻辑和制造工程数据信息生 2 盐萋垫丝壁三苎堡生里塞型墨堑堕堡塞一 2 1 创成型系统的工艺规程是根据程序中所反映的决策逻辑和制造工程数据信息生 成的,这些信息主要是有关各种加工方法的加工能力和对象,各种设备及刀具的适 用范围等一系列的基本知识。工艺决策中的各种决策逻辑存入相对独立的工艺知识 库,供主程序调用。向创成式系统输入待加工零件的信息后,系统能自动生成各种 工艺规程文件,用户不需或略加修改即可。创成式系统不需要派生法中的样板工艺 文件,在创成式系统中只有决策逻辑与规则,系统必须读取零件的全面信息,在此 基础之上按照程序所规定的逻辑规则自动生成工艺文件。 派生型系统的针对性强,一般只适用于特定的企业,移植不便。但系统结构简单, 开发周期短,投资少,易于在生产中取得实效。在现有生产中成功使用的系统多数属于 派生型c a p p 系统。创成型系统结构庞大,编程工作量大,开发费用高。因此,该类系 统的开发多数处于研究阶段,在生产中实用的不多。 我国的在c a p p 方面的研究和应用始于8 0 年代,到现在的近二十年时间里,c a p p 系统经历了如下几代产品的演变和发展 7 : 第一代产品:1 9 8 2 1 9 9 5 年期间,基于智能化和专家系统思想开发的c a p p 系统。 这段时间的研究片面强调工艺设计的自动化,忽略人在工艺决策中的作用。 第二代产品:1 9 9 5 年一目前,基于低端数据库( f o x p r o 等) 开发的c a p p 系统。这 种c a p p 系统所处理的数据和生成的数据必须都是基于数据库的,但因为开发技术所限, 不是交互式设计方式,直观性较差。工艺卡片的生成是由程序来完成或是在c a d 中生 成,系统的实用性存在较大的问题。 第三代产品:1 9 9 6 年一目前,基于a u t o c a d 或自主图形平台开发的c a p p 系统。 采用c a d 技术开发了一些c a p p 系统,它解决了实用性问题,但却忽视了最根本的问 题:工艺是以相关的数据为对象的,而不是以卡片为对象的。此类c a p p 是基于文件系 统c a d 技术开发的,特别是自主c a d 平台软件,文件格式采用了非标准的自定义格式, 信息的交换存在一定的问题。 第四代产品:1 9 9 8 年一目前,完全基于数据库,采用交互式设计方式、注重数据的 管理与集成的综合式平台c a p p 系统。此类系统集中了第二、第三两代系统的优点,是 国内外c a p p 学者公认的最佳开发模式,同时满足了特定企业、特定专业的智能化专家 系统的二次开发需要。 在c a p p 发展的道路上,许多学者、公司为了c a p p 系统的实旄推广付出了大量努 力,公开发表的论文有上千篇【8 1 2 1 。但是,c a p p 的研究对于c a d 、c a m 等其他系统 来说进展相对滞后。参阅相关文献,并结合一些商业的c a p p 系统,本文分析c a p p 的 发展主要存在以下的一些不足之处: + 1 ) c a p p 系统的开发过分强调智能化 1 3 。c a p p 系统的开发需要与具体工厂的应 用实践相结合。而机械制造业的范围很广,不同的工厂,甚至同一工厂的不同车间, 由于加工对象、加工设备、生产批量、工艺方法和工艺习惯都不一样,对该工厂适 用的工艺规程,不一定适合另一工厂。工艺设计的特点决定了自动化的c a p p 系统 存在很大的局限性,无法满足企业对通用c a p p 系统平台的需求。目前虽然在专家 系统 1 4 - 1 6 、神经网络 1 7 ,1 8 】、模糊理论 1 9 】等方面进行着广泛的研究,不过这 些研究尚处于理论阶段,无法达到实用水平。 3 计算机辅助工艺设计可定制系统的研究 2 ) c a p p 系统过分注重工艺卡片设计,而忽视了工艺数据管理。工艺是以相关的数 据为对象的,而不是以卡片( 图形数据) 为对象的。些c a p p 系统往往只生成一些 孤立的工艺卡片,本身不能规范管理,也无法从中提取和统计各种工艺信息,不能 全面的指导工厂的生产,信息交换和二次开发都存在严重问题。 3 、c a p p 的实施与c a d 、c a m 等系统缺乏有效的集成,信息传递的标准不统一。 c a p p 是c a d 、c a m 信息传递的中枢,需要引入一种标准的信息表达方式进行统 一的信息描述。但是,由于历史的原因,工厂的已投资系统并不完全支持这些候选 的标准,因此,如何切实有效做好信息集成还需要一个过程。 4 ) c a p p 的柔性化设计不强。柔性化指c a p p 系统对于企业后期需求变动的适应能 力。工艺设计在企业中具有很强的个性,同时也具有易变动性,随着工厂设备、技 术的改进等变化,c a p p 的格式等一些规则也要发生相应的变化。柔性化设计良好 的c a p p 将会在不重新发布新版本程序的基础上,通过用户化的定制例来适应企业 的这种标准的更新。 5 ) c a p p 系统的移植性不强,推广困难。目前,国内已经存在了许多商业性的c a p p 系统,例如开目c a p p ,清华天河c a p p 等,在一定程度上缓解了企业工艺设计实 施的压力。但是,研究发现,其产品的分布大多数是区域性质的,此现象充分说明 这些系统进具有有限的推广和移植性能。因此,如何最大限度的降低c a p p 系统的 再开发成本,提高用户的接受程度以及开发商的开发兴趣,也是国内广泛推广企业 信息化建设需要面临的一个课题。 目前,国内企业陆续进入信息化建设的时代,而作为e r p 等系统基础数据的提供者 _ c a p p 却由于存在着上述这些问题而发展滞后,形成企业信息化建设的瓶颈。因此, c a p p 的研究开发已经提到了一个非常紧迫的日程。 1 3 课题来源及本文工作 有效解决上一节中阐述的c a p p 存在问题,是推广c a p p 系统在企业中的应用程度 和范围,进一步的加快国家制造业信息化建设的关键。 本文分析认为: 1 1 智能化和标准化属于c a p p 的基础研究工作,需要经过段时间的积累才能完 成: 2 ) 工艺数据管理、柔性化和可移植性则更多的属于c a p p 的实施设计的具体问题, 可以通过一定的手段获得立竿见影的效果。 因此,将研究的重点放在后者身上,可以尽快的研究出有效的解决方案,以加快 c a p p 系统在国内制造业实施的广度和深度。本文据此提出通过增强c a p p 系统的可定 制性来提高c a p p 系统的工艺数据管理、柔性化和可移植性的思路,并具体的围绕可定 制性展开深入的研究。本课题得到大连市科技局的支持,研究项目被列为2 0 0 2 工业科技 攻关项目( 编号2 0 0 2 a i g x 0 2 3 ) 。 4 计算机辅助工艺设计司定制系统的研究 本文开发c a p p 系统的定位是:开发新一代c a p p 工具系统,提供一个基础工作平 台,针对企业流程和模块的不同进行功能定制和流程定制,满足企业的个性化需要,提 高系统的可移植性。同时,通过提供功能通用、强大的编辑工具、工艺资源管理工具、 计算工具、汇总工具、配置工具、开发工具等给予工艺人员最大的帮助,辅助工艺人员 提高工艺设计效率和设计质量。进一步,向企业推荐和引进国家标准的工艺设计和工艺 管理规范,推进工艺规范化、标准化,提高工艺设计水平。 本文经过不同制造企业的调研结果,确定了各个企业对c a p p 系统共同需求的模块, 如图所示: 图表1 2c a p p 系统共性模块 f i g1 - 2t h ec o m m o nm o d u l e so fc a p ps y s t e m s 可见,提高c a p p 整个系统的可定制性可以从图示中的各个环节着手,分别进行研 究,在每个模块中都对可定制性进行实现,从而达到提高整体系统可定制的目的。在分 析了技术可行性和经济可行性之后,本文决定把以下几个部分的研究作为研究重点: 1 ) 工作流程可定制性:提出柔性化定制工作流程的思想,基于此思想研制一套工 作流引擎; 2 ) 工艺资源可定制性:研究并提出具有新意的工艺资源存储方式,设计实现工艺 资源定制子系统; 3 ) 工艺卡片可定制性:研究工艺卡片定制的实施思路,给出独具特色的卡片存储 方式,有力支持工艺卡片种类及格式的多变性,设计实现工艺卡片定制子系统; 4 ) 工艺报表可定制性:研究数据源的定制方法、具体的关键技术问题,设计实现 工艺报表定制子系统: 本文的研究成果在国家大型企业大连冰山集团冷冻机股份有限公司c a p p 系统 的实际研制开发中获得了应用,并表现出了良好的效果。本文结论部分对于采用和不采 用本文研究成果开发该c a p p 项目的两种情况进行7 3 2 作量预算的量化评估,进一步说 明本文研究成果对于c a p p 系统推广经济性方面的贡献。 5 计算机辅助工艺设计可定制系统的研究 第2 章工作流程可定制化性研究 企业工艺设计的工作流程多种多样,繁简程度也有很大区别,主要决定于生产类型。 以机械加工为例:在单件小批量生产中一般只编制综合工艺过程卡,供生产管理和调度 用,至于每一工序具体应如何加工,则由工人自己决定,对关键或复杂零件才制订较为 详细的工艺规程。在成批生产中多采用机械加工工艺卡片。大批量生产中则要求完整和 详细的文件,除工艺过程卡外,对各工作地点要制订工序卡片或分得更细的操作卡、调 整卡以及检验卡等。 工作流程可以指导工艺人员正确有效的进行工艺设计,是连接c a p p 系统各个功能 模块的纽带,是实旄权限管理的依据。因此,工作流程的定制可以极大的提高系统的可 定制性能。 本文在c a p p 系统中引入工作流机制,使得c a p p 系统有效仿真企业工艺设计的实 际情况,在每个阶段中缩短周期,综合发挥更大的效应,并有效的解决c a p p 本身的以 及实施中产生的一些例如工艺卡片的组织管理,顺序任务的前后交接等附带的问题。工 作流技术所具有的协调本质决定了其在企业工艺设计信息化过程中将扮演重要的角色。 本章结合大连冷动机股份有限公司的实际工作流程,介- i 作流机制的一些概念并 提出本文工作流引擎的设计定位和实施思路,最后给出工作流引擎的实现。 2 ,1 工作流基础 根据工作流管理联盟( w f m c ) 的定义,工作流是“业务流程中,由计算机自动处 理的那部分流程。” 2 0 ,2 1 1 2 1 2 作流管理系统( w o r k f l o wm a n a g e m e n t s y s t e m ,w f m s ) 是“一个用来完整地定义、管理和执行工作流的软件系统,计算机表示的工作流逻辑决 定了该软件的执行顺序。”更确切地说,工作流包括一组活动及它们的相互顺序关系,还 包括过程及活动的启动和终止条件,以及活动的执行者、相关的应用程序、需要和产生 的数据等。工作流的运行由工作流管理系统控制完成,它通过跟踪工作流中各个活动的 状态,自动地协调由人或应用软件完成的任务 2 2 1 。 工作流模型( 也称作是过程定义) 是业务过程的计算机化的形式表示。它定义的是 过程运行中会涉及到的各种参数,如业务过程的开始和终止条件、各个工作环节及相互 之间的控制流动与数据流动关系等。图2 1 是大连冷动机股份有限公司工艺设计简化工 作流程。 6 匿表2 1 业务流程举例 f i g 2 - 1ae x a m p l e o fb u s i n e s sw o r k f l o w 在研究工作流之前,首先介绍一些基本概念 2 0 】: 1 ) 过程实例:指的是某个工作流过程的一次执行,例如某一个具体零件的工艺设 计过程; 2 ) 活动:指的是工作流中的一个逻辑步骤或称环节; 3 ) 工作流引擎:工作流引擎是为工作流管理系统在定义提供支持、同时在运行时 提供解释和执行服务的一组数据模型和软件。 2 2 本文的定位 为了提高企业工作流程的柔性化,有必要在c a p p 系统中使用一套工作流引擎来管 理企业的实际工作流程并且提供一些流程定制工具实现工作流程的模板定义。 目前,一些商业的工作流软件已经出现,大多以中间件形式提供给客户,例如 d o m i n o ,l o n j s 等系列的产品。这些产品经历了长时间的使用测试,表现出很强的 稳定性。 但是,工作流定制的多样性和复杂性决定了与这些商业引擎的集成难以做到无缝。 因此,对于简单的应用( 例如公文流转、订单的审批等) ,这些产品是合适的。但是,如 果是开发关键业务的应用系统( 特别是行业应用系统) ,现有工作流产品所能提供的开发 功能是远远不够的。 利用这种所谓灵活的商业的工作流系统开发出来的应用在实际运作过程中反而表现 7 汗算机辅助工艺设计可定制系统的酬究 不灵活。因此,另外种相反趋势是,应用的逻辑仍旧由专用的应用开发工具去完成, 工作流引擎只管理相关的控制数据,对应用数据只提供必要的关联手段将其与控制数据 链接在一起。这种思路使得应用程序开发工作流引擎的代价大为降低,这样就使得开发 一套自己的工作流引擎成为可能。 显然,本文设计的目标并非是实现一个商业化的工作流引擎,只要满足各个不同企 业工作流程定制的基本需要就可以了。本文开发工作流引擎的设计定位是:简单够用; 稳定性好;集成性好;技术成熟。 为了获得较好的稳定性,我们决定采用成熟的商业r d b m s 作为工作流引擎的支撑。 参考文献 2 2 - 2 7 ,建立在传统的关系数据库基础之上来设计工作流引擎,基于关系结构 来描述工作流引擎的相关信息。 从技术角度来说,使用关系结构来表达工作流引擎中的数据模型可以降低工作流引 擎开发过程中的技术难度和工作量。具体表现在: 1 ) 与工作流引擎相关的各种控制数据( 包括业务活动的状态数据) 可以存储在数 据库系统中; 2 ) 与此相关的数据的完整性可以由数据库管理系统来维护; 3 ) 利用关系结构可以方便地定义工作流引擎中的各种数据格式和数据结构; 4 ) 可以方便地利用数据库管理系统提供的存储过程和触发器来控制工作流引擎所 需的各种数据。 从开发应用系统的角度来看,在同一数据库环境下为开发者提供一个基于关系结构 的工作流引擎,并且如果这个工作流引擎所提供的功能可以方便地嵌入到应用的开发环 境中,则可以降低开发应用的难度。这是因为: 1 ) 针对关键业务的应用系统通常会采用一个常规的关系数据库系统作为后台的支 撑; 2 ) 应用系统的开发者往往会采用一种他们所熟悉的并且适合此数据库系统的前端 开发工具来开发具体应用,这些前端开发工具一个显著特征是开发功能强大,但一般不 具备工作流机制。 因此,本文认为,自行开发一个满足本文研究的c a p p 系统工作流程需要的工作流 引擎在技术上是可行的,在经济上是可以接受的,并且基于关系结构的工作流引擎很容 易与前端应用的开发环境做到无缝的集成。 2 3 工作流程建模 对于图2 - 1 工作流程的工作流模型可以用条件有向图表示如下 8 计算机辅助工艺设计可定制系统的研究 、n 是弋7 、归挡广弋8 、结束) 图表2 - 2 工艺设计工作流模型 f i g 2 - 2t h ep r o c e s sp l a nw o r k f l e wm o d e l 上图除了人工完成的活动( 工艺设计等) 之外,还包括了“初始化”等系统自动完 成的活动,这些自动活动根据不同的用途又可以分为多种类型,把工作流模型中的出现 的所有活动进行如下分类: 1 ) i n i t i a l :初始化活动,业务过程的第1 个活动,不针对具体业务环节; 2 ) i n t e r a c t i o n :常规交互活动,i n t e r a c t i o n 活动对应实际的业务环节,在 前台对应实际的应用逻辑,完成此活动需要实际人员的参与。在所有活动类型中,只有 i n t e r a c 订o n 活动才需要与实际人员交互; 3 ) a n db r a n c h :与分支活动,不针对具体业务环节,此活动将同时派生出若干 后继活动; 4 ) a n dm e r g e :与汇聚活动,不针对具体业务环节,流经此处的任务将进行与汇 聚同步。此活动将进行活动的前依赖规则检查,只有所有的前依赖规则均被满足,才可 流向后继活动: 5 ) o rm e r g e :或汇聚活动,不针对具体业务环节,流经此处的任务将进行或汇 聚同步。它同样将进行活动的前依赖规则检查,但是在前依赖规则只要存在条满足指 定条件的,就可以流向后继活动: 6 1v o t e m e r g e :投票汇聚活动,不针对具体业务环节,其前驱任务只有达到指 定的票数才可流向后继活动; 7 ) c o m p l e t i o n :终结活动,表明相应业务过程的终结,不针对具体业务环节。 对于图2 2 :活动l 属于i n i t i a l 类型;活动2 、4 、5 、7 属于i n t e r a c t i o n 类型: 活动3 属于a n d b r a n c h 类型;活动6 属于a n d m e r g e 类型;活动8 属于 c o m p l e t i o n 类型。 每一个活动在工作流模型中表现了以下几种状态: 1 ) p e n d i n g ,处于同步状态,即正在等待其它相关前趋任务的结束: 2 ) w a i t i n g ,处于就绪状态,处于“等待处理”的状态; 3 ) p r o c e s s i n g ,任务处于“正在处理”的状态; 4 ) p a u s i n g ,任务处于“暂停”的状态。 活动状态的顺次跃迁形成了工作流实例的流动。在流动过程中,根据业务流程的限 制,活动的流向是预定义的,这种定义成为工作流模型的依赖规则。在工作流引擎中, 9 生苎! ! 塑苎三苎堡盐里塞型墨竺塑! f 塑一 依赖规则可以分解成活动的前依赖规则和活动的后转发规则。 1 ) 后转发规则 活动的后转发规则指的是当前活动所对应的任务结束后该启动哪些后继活动,后转 发规则包含顺序、或分支和与分支3 种规则。活动的后转发规则可以用如下四元组来表 达: p o s t r o m i n g r u l e = ( p r e a c t i d ,c u r r a c t i d ,c o m p l e t i o n f l a g l n e x t a c t i d l i s t ) 其含义是:在当前活动的a c i d 为c u r r a c t i d 的情况下,如果当前活动的前趋活动 的a c t i d 为p r e a c t i d ,并且当前活动的结束标记为c o m p l e t i o n f l a g 的话,工作 流将流向由n e x t a c t i d l i s t 所指明的后继活动。 对于图2 2 所示的工作流模型,其后转发规则可以列表如下: 图表2 3 工作流模型后转发规则 f i g 2 - 3t h er e t r a n s m i s s i o nr u l eo fw o r k f l o wm o d e l p r e a c t i dc u r r a c l l dc o m p l e t i o n f l a gn e x t a c t i d l i s t n u l ils u c c e e d2 l2s u c c e e d3 3 4 s u c c e e d 6 35s u c c e e d6 2 ) 前依赖规则 活动的前依赖规则指明相应活动的启动条件,启动条件是通过相应活动的直接前趋 活动以及相应的状态标志来表示的,前依赖规则包含顺序、与汇聚、或汇聚和投票汇聚 4 种规则。 前依赖规则可以用一个三元组来表达,即: p r e d e p e n d e n c y r u l e = ( p r e a c t i d c u r r a c t i d p r e d e p n t s e t ) p r e d e p n t s e t 为前依赖活动集,其中的每一个元素又可以用另外一个三元组来表 示: e l e m e n t p r e d e p n t s e t = ( d e p n t i d ,d e p n t a c t i d ,d e p n t a c t s t a t u s ) , 其含义是:由前趋活动p r e a c t i d 流转过来的当前活动c u r r a c t i d 能否启动取 决于前依赖活动集p r e d e p n t s e t 中所包含的那些活动是否已经到达各自应该到达的 - 结束状态d e p n t a c t s t a t u s 。可以看出,只有在前依赖活动集中出现的那些前趋活动 才可以联合构成对当前活动的约束关系,如果某个前依赖规则三元组中的 p r e d e p n t s e t 为空集,则表明由此前趋活动流到当前活动的流转过程跟其它前趋活动 没有任何关系,与此相应的当前活动可以立即启动。 对于图2 2 所示的工作流模型,其前依赖规则可以表示为: l o 计算机辅助工艺设计可定制系统的研究 圈表2 _ 4 工作流模型前依赖规则 f i g 2 - 4t h ed e p e n d e n c er u l eo fw o r k f l o wm o d e l p r e a c t i dc u r r a c t i dp r e d e p n t s e t n u l lln u l l 12l ,6 343 2 4 工作流引擎实现 在w f m s 工作流参考模型【2 0 中,工作流引擎是工作流管理系统的核心。根据文献 2 8 中对工作流引擎体系结构的讨论,我们认为工作流引擎主要包括机构模型、信息模 型和控制模型3 种模型,前两者合称为工作流引擎的数据模型。 2 4 1 数据模型 基于关系结构的轻量级工作流引擎的数据模型包括机构模型和信息模型两部分。机 构模型描述的是企业或者部门的组织机构关系,信息模型则定义工作流引擎中所用到的 各种控制数据。通过数据模型,可以方便地描述关键业务的业务规则、活动的依赖关系 等特征。它们都通过统的关系结构来定义。 1 ) 机构模型 图表2 - 5 机构模型 f i g 2 - 5t h eo r g a n i z a t i o nm o d e l 机构模型中的部门、团队、人员以及相互间的关系为大型企业尤其是从事技术工作 的企业的机构建模提供了有力的支持,同时也为现代企业流行的管理模式“矩阵管 计算机辅助工艺设计可定制系统的研究 理”提供了支持。当然,对于小型机构而言,完全可以考虑只定义d e p a r t m e n t 或者 t e a m 其中之一。由于d e p a r t m e n t 和t e a m 之间在e r 图中并无联系,因此缺少其 一并不会破坏机构模型的完整性,从而增加了机构模型的柔性。 2 ) 信息模型 信息模型的核心是业务活动表( 简称活动) a c t i v i t y ,其它相关的表结构主要有 业务过程p r o c e s s 、业务规则( 活动流转规则) r o u t i n gr u l e 、活动前依赖规则 p r er u l e 。从图2 - 6 中可以看出,a c t i v i t y 与其它表之间都存在联系。 图表2 - 6 信息模型 f i g2 - 6t h e i n f o r m a t i o nm o d e l 图2 - 6 中的p r e _ r u l e 表、r o u t i n g _ r u l e 表以及a c t i v i t y 表中的a c t t y p e 和r u l e a p p l i e d 等字段联合表示活动的前依赖规则和后转发规则。 2 4 2 控制模型 图表2 - 7 控制模型 f i g 2 - 7t h ec o n t r o lm o d e 任井管理l j 任务指耀 隔i 西i j 转发控制 1 ) 监控调度中心 调度中心监视有关任务实例中某一些活动的状态变化( 如p e n d i n g 到 1 2 计算机辅助工艺设计可定制系统的研究 w a i t i n g ,p r o c e s s i n g 到p a u s i n g 等等) ,然后根据不同的活动类型调用相应的 存储过程完成与本次变化相关的操作并将结果返回,可能是启动或者停止某一个活 动,或者是给相关的活动参与人员一些任务到来提示等a 2 ) 任务管理 任务管理主要根据调度中心的指示完成诸如任务创建、任务状态的转换以及相关 数据的维护等工作。每次“结束任务”的外部请求将触发调度中心调用“任务管理” 为后继活动( 如果存在的话) 创建新的实例,其状态为“p e n d i n g ”;同时,其它不同 的外部请求也将触发“任务管理”实施任务状态的切换。 3 ) 任务指派 任务指派处理只是针对常规交互活动,通常情况下,在任务状态由“p e n d i n g ”切 换到“w a i t i n g ”过程中完成任务的指派工作,即处于就绪状态的任务在通常情况下都 确定了其执行者。本系统实际操作中根据企业的实际管理流程对任务指派进行了简 化,采用用户自定义的任务指派方式,即在任务创建的时候已经同时指定了相关参与 人员。但是,考虑到以后的发展,我们在系统中保留了其他不同任务指派基准实施的 可能性。 4 ) 依赖检查 依赖检查指的是活动的前依赖规则的检查,调度中心在将任务切换到就绪状态之 前将进行相关的前依赖规则检查,只有满足检查条件的任务才可以进行状态的切换。 5 ) 转发控制 当应用发出“结束任务”的外部请求时,该请求将触发调度中心启动“转发控制”。 转发控制的主要依据为工作流数据模型中定义的后转发规则,后转发规则定义了当前活 动与其后继活动之间的关系。转发控制的处理过程是根据“结束任务”请求中所携带的 “任务结束标记”以及相应前趋活动和当前活动的活动标识匹配r o u t i n g r u l e 表中 的记录,从而得到相应的后继活动列表n e x t a c n d l i s t ;然后监控调度中心对 n e x t a c t i d l i s t 中指出的所有后继活动发送消息,调用其自身对应的前依赖规则检查 存储过程,从而判断该活动是否可以启动。 2 4 3 权限管理 在工作流引擎中必须提供一种手段将任务与应用实体有机地关联起来,否则,单独 的任务将不具有任何实际意义。工作流引擎与实际系统的挂接主要体现在具体化所需要 操作的数据及其相应的操作权限。 根掘上面的介绍,要使得工作流引擎真正有效的运转,应该设计一套符合其特点的 权限管理模型。基于此种考虑,本文在研究常规权限管理模型的基础上,提出了基于流 程的动态权限管理模型的语法。 对于关系数据库来说,所有的数据都是存储在数据表中,相应的操作权限总是可以 最终转化为对相应的数据表的操作权限,而这种权限可以进一步归纳为:添加、更新、 删除、查询。因此具体化工作流模型中某一个活动所需要操作的数据及其相应的操作权 计算机辅助工艺设汁可定制系统的研究 限,也就可以等同于在关系数据库中设置对某一些表的某些满足条件的集合具有某几种 操作。 传统的权限管理语法是“+ + 角色拥有使用+ ”功能的权利”2 9 ,其反映到关系数 据库中最终可以表现为“拥有菜一些表的某些操作权限”,这样对于基于工作流的系统来 说,设置的权限相对于动态的工作流实例的流转是静止的,这就导致权限管理无法满足 工作流动态实施,工作流要求在某一阶段具有某种权限集合,而无论是谁被指定参与该 阶段的实施。因此传统的权限管理模型显得

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论