为了实现模具设计任务的自动化管理,结合模具设计任务的特点,提出了基于活动树的任务分解模型,该模型能最大程度地避免任务间冲突的发生,并且能够保证模具设计人员之间模型信息的一致。在此模型的基础上,结合业务流程管理技术开发出了一套模具协同设计任务管理原型系统,该系统提高了模具协同设计的自动化程度,实现了模具设计任务的自动化管理。
1 协同设计中的任务管理
协同设计过程具有多用户、多应用、多任务等特征,在并行模式下,如果任由用户随意操作各种层次的信息,则会造成大量冲突的产生,影响协同设计的进行。因此必须采用一种有效的任务分解方法,降低协同设计过程中冲突发生的概率。任务分解完成之后,需将任务分配给设计人员,M时还必须实现设计人员之间的信息同步,保证设计人员之间的所见即所得。
1.1低耦合的任务分解方法
计算机支持的协同工作是多人围绕共同目标所进行的相关活动。对协同设计而言,产品就是协同群体的共同目标。而产品信息是在设计活动中不断累积的。因此,冲突避免实际是要避免设计活动中设计人员问存在的冲突行为。为此,作者提出的活动树模型,如图1所示。模型可分为任务层和零件层。任务层是将产品的设计细分为具于低耦合性的一系列设计任务,构成一棵任务树,位于树的最低端的任务被称之为原了任务。零件层则是产品的各零部件CAD模型。任务层中的原子任务直接与零件层的零部件模型连结。由于具有相同父节点分支上的任务具有相对独立性,而不同分支任务反映了零部件在整个装配模型中的层次,因此,与分支任务相联结的零部件CAD模型间也就具有低的耦冶性。如此,在并行进行相关零部件设计时,发生冲突的可能性大为降低。将不同的任务赋予不同的人员或角色,即可达到在产品信息层面上的信息同步。
1.2协同设计中的信息同步控制
在模具设计中,CAD模型是最重要的信息,对设计人员围绕CAD模型反复进行的并行操作进行控制是实现同步的关键现代CAD/CAM系统通常以Top- Down模式进行设计,即可以先以空的装配树形式描述产品的构成关系,而后进行不同零部件的详细设计。因此,以装配树为关节,可以实现设计人员与设计任务的绑定。设计信息绑定过程。
首先由项目负责人对模具设计过程进行定义,将模具设计分解为若干子任务,根据了任务间的关联关系,建立模具产品装配讨。然后,根据任务的知识特性,将之分配给不同的设计人员进行详细设计(这些上程师来自不同知识领域和层次,具有不同权限的信息操作能力),直趸完成整副模具没汁。
在设计过程中,项目管理人员将不同的任务分给不同的设计人员,不同的设计人员即在不同的装配节点下进行各自的工作,对该节点下的几何模型拥有完全控制的能力,但对其他节点下的几何模型,只有浏览的权限。由于设计人员的设计模型保存在不同的装配节点下,并不会因为保存各自的设计结果而产生并发冲突。因而也就实现了模型信息的同步,并达到了冲突避免的目的。这样,任务与模具产品的结合,为设计过程的协同控制提供了渠道,而设计人员与模具产品的结合,为设计人员的协同管理提供了渠道。如此,很好地实现了模具协同设计过程中的模型同步控制。以级进模为例,在模具设计开始前,根据客户的需求和模具的特点定义,模具产品的装配树结构。不同的装配节点代表不同的功能部分,而不同的设计仟务则依附在不同的装配节点上。一旦装配树确定,则作为当前项目的统一模板存放于服务器,共享给项目所属设计人员。各设计人员通过FTP服务器下载整个装配树,在本地工作空间中完成自己的没汁任务。如装配树中blank节点用了存放钣金件展开成为毛坯状态的几何模型。同时,它也对应于任务中的“毛坯展开”项,并由具有毛坯展开经验的模具设计人员承担。当设计人员完成自己的设计任务时,将装配树中的“毛坯展开”节点文件上传到FTP服务器上即可,同时发送消息给其他设计人员,其他设计人员可以通过同步工具实时地浏览“毛坯展开”结果或下载“毛坯展开”节点所对应的模型文件。
2 基于SOA的模具设计业务流程管理
业务流程是针对工作中具有固定程序的常规活动而提出的-个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。业务流程管理技术为企业更好地实现经营目标提供了先进的手段。通过上一小节对模具设计任务管理的分析,不难发现,一副模具的设计流程,其实质是由多个设计子任务组合而成的业务流程。因此,业务流程管理的特点天然地满足了模具设计任务管理系统的需要。同时,将SOA的思想引入其中,将系统中各功能模块用Web服务进行封装,不但可以无缝地集成应用,而且可使系统结构灵活、部署方便。
2.1基于SOA思想设计系统
SOA是一种基于网络、松耦合、多应用集成的技术解决方案,是目前信息系统技术发展的主流方向,它来源于早期的基于组件的分布式计算技术,在世界卞要信息技术公司和标准化组织推动下,已经成为一个被广泛认可的规范。SOA在传统的业务层和技术层之间增加了-个服务层,以有效地沟通业务层和技术层之问的信息,让企业应用层可以彻底摆脱技术的束缚。具体地讲,SOA将分布在网络中的各种软件资源看作是不同的服务内容。而且,能够在不同的应用中交换数据,而小需要考虑每个应用是用什么编程语言开发或在什么操作系统下运行,在这种模式下,一个应用或-个应用软件的一部分就是一种服务。
SOA的核心思想就是让应用不受限于技术,让企业轻松应对商业服务变化和发展的需要。通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商业流程。其结果就是,基于SOA的企业应用系统通常会更加真实地反映与业务模型的结合。
2.2用Web服务实现系统功能
从表面上看,Web服务就是一个应用程序,它向外界暴露一个能够通过Web进行调用的API。即其他用户能够用编程的方法通过Web调用束实现某个功能的应用程序,Web服务便是基于网络的、分布式的模块化组什,它执行特定的任务,遵守具体的技术规范,这些规范使得Web服务能与其他兼容的组件进行互操作。它可以使用标准的瓦联网协议,Web服务是目前实现SOA最重要的标准。
2.3WS-BPEL支持的业务流程管理
业务流程是一系列相互衔接、自动进行的业务活动或任务。一个业务流程包括一组任务以及它们之间的相互顺序关系,还包括流程及任务的启动和终止条件,以及对每个任务的描述。将各个服务组件看成业务流程中的任务,服务组合就转化为一个构建业务流程的过程。#p#分页标题#e#
WS-BPEL(Web Services Business Process Execution Lan-guage,服务业务流程执行语占)是为组合Web服务而定制的一项规范,它能够描述由Web服务参与的复杂业务流程,同时又能将Web服务组合而进一步包装成更为高级别的Web服务并发布出去。WS-BPEL定义了用来描述基于流程及其相关方之间互操作的qp务流程行为的模型和语法。WS- BPEL流程定义了这些相关方之间的多重服务互操作是怎样被协调起来达成业务目标的,以及这种协调所需的状态和逻辑。
2.4任务管理系统体系结构
为了实现模具产品异地设汁的高效协同上作,本系统采用业务流程管理技术作为技术支持,使用SOA思想对系统功能模块进行封装,构建了-个模具设计任务自动化管理环境。系统分为3层。
2.4.1用户层
用广I层位于客户端,提供任务分配工具和模具设计工具。任务分配工具是一个在JAVA平台上使用JGraph组件开发出的可视化的业务流程模型设计器,项目管理人员可采用此工具进行任务分配,业务流程模利设计器将任务分配的结果映射为WSBPEL语言存储在XML文件中,同时将该XML文件存入业务流程执行引擎所指定的目录,业务流程执行引擎读取此文件后自动运行业务流。模具设计丁具包括常用的CAD设计软件,如UG等,本系统在。NET平台上,使用 WMI(windows Management Instrumentation)组件开发出远程控制的功能,该功能被封装在服务器端的“任务启动服务”中,该服务能在指定的时间启动指定设计人员机器上的设计软件(如UG)。
2.4.2服务层
服务层位于服务器端,是系统的核心层。系统以Web服务的形式封装了任务管理系统的核心功能,其中包括文件传输服务、用户管理服务、任务列表服务、任务启动服务和消息服务。其中,文件传输服务提供文件的上传和下载功能;用户管理服务提供用户权限管理功能;任务列表服务提供设计人员任务列表管理功能,如一个任务(非原子任务)可能由多个设计人员完成,同时一个设计人员也可能负责多个任务;任务启动服务提供启动设计任务的功能(如前所述的“在指定的时间启动指定设计人员机器上的设计软件”);消息服务提供消息传递的功能。
2.4.3服务支持层
服务支持层也位于服务器端,该层的主要职责是为上层的服务层提供技术支持,其中包括数据库、业务流程执行引擎、FTP服务器、消息队列。如用户管理服务和任务列表服务需要数据库支持、文件传输服务需要FTP服务器的支持等。在此层中,业务流程执行引擎是任务管理系统的核心部分,它负责运行从用户层中传来的 WS-BPEL描述文件(即模具设计流程),以自动执行业务流程。系统中采用开源的ActiveBPEL Engine作为业务流程执行引擎。
3 应用实例
作者在JAVA平台上开发出了一个模具协同设计任务管理系统,该系统现在还处于原型系统阶段。下面还是以级进模设计为例,来说明该系统的运行过程。
图形化的业务流程设计器界面,如图5所示。项目管理人员通过浏览器登录后即可访问此界面。
每-个节点都代表着一个设计子任务。子任务中包含有设计人员、设计任务外始时间、设计工时、CAD模型文件名、模具设计应用程序、消息文本等信息。当项目管理人员将模具设计任务流程设计完成之后,便将其结果传入业务流程执行引擎,业务流程执行引擎即会自动执行此业务流程。同时,设计好的业务流程也可当作模板存入服务器,以便于日后重用。
当设计人员登录后,设计人员可通过调用“任务列表服务”查看自己所承担的所有设计任务,任务列表中同样显示了设计任务的开始时间、合计工时、CAD文件名等信息。当时问将要达到某项任务的开始时间时,系统会调用“消息服务”弹出提示信息来提示设计人员;当达到任务开始时间时,系统会调用“任务启动服务”和 “文件传输服务”,将用户的设计工具在指定的时间自动启动,同时,下载并打开CAD模型。当设计人员的设计工作完成后,可调用“文件传输服务”将设计结果上传到服务器中。
4 结论
根据模具协同设计的特点,提出了基于活动树的模具协同设计任务分解模型,该模型能够有效地保证协同设计过程中的信息同步。在此模型的基础上,将业务流程管理技术与基于SOA思想的Web服务技术相结合,开发出了一个模具协同设计任务管理系统的原型系统。该系统提供了可视化的业务流程设计界面,可以帮助项目管理人员做出科学合理的任务分配计划,并使得任务分配信息能在不同设计人员之间自动传递。该系统可大大提高模具设计管理的自动化程度,具有良好的应用前景。