APP下载

面向服务链构建的云制造资源集成共享技术研究

2012-07-25王正成

中国机械工程 2012年11期

王正成 黄 洋

浙江理工大学,杭州,310018

0 引言

跨组织的合作与协同已成为全球化经济时代现代制造企业发展的主题。建立面向跨组织协同制造的资源集成共享方法与相关使能技术是当前乃至今后若干年内制造业所面临的最紧迫的任务之一。近20年来在敏捷制造、网络化制造、面向服务的制造等先进制造理念与思想指导下,国内外众多研究机构与组织对虚拟企业、协作网络、制造网格、应用服务提供商等先进制造模式开展了大量的研究与实践,取得了一定的研究成果并实现了一些典型应用,但其固有存在的服务模式问题、制造资源的共享与分配技术问题和安全问题阻碍了相关研究成果的扩大深化应用[1]。

云制造通过云计算、物联网、云安全、面向服务的网络信息等技术融合,实现跨组织分布、自治、异构的制造资源统一、集中的智能化管理与经营,一方面提高了资源服务提供方的资源利用率,实现增值增效;另一方面通过任务分解、自动寻租、检索匹配和协同服务等技术实现资源需求方的低碳绿色制造。云制造目标是基于专业核心竞争力共享,实现敏捷化整合社会制造资源,其本质是一种具有面向服务和需求、透明集成、主动多用户参与、按需使用与付费、低门槛外包式制造模式。云制造是一个新概念,当前众多研究者从概念、模型、体系结构等角度对云制造进行了研究。云制造环境下资源共享和应用过程是基于任务驱动资源而形成共享服务链的过程,而目前对实现云制造环境下任务与服务间的动态映射及动态服务链的构建尚缺乏系统解决方案[2]。

因此,本文根据云制造的概念和特点引入资源服务链的概念,并基于时序约束关联的原子任务链驱动的资源服务链构建,来实现云制造环境下资源集成共享,对云制造环境下资源服务模型、资源与任务建模及资源的虚拟化封装、协同制造任务的自动分解、资源服务链的构建等关键技术进行研究。

1 云制造资源共享过程模型

本文提出的资源服务链是指服务于云制造总任务分解形成的时序与约束关联的原子任务执行过程中各种制造资源所构成的资源链。因此,通过资源服务链的构建与运行,能有机地集成和处理云制造中资源集成共享所涉及的资源建模、检索匹配、选择评价、调度、监控等一系列问题,从而形成一个系统性的综合方案;而资源服务链本身又是在云制造过程中各项具有时序与约束关联的原子任务链驱动下构建形成的,因而能在全局和系统层面实现跨组织协同制造中资源的集成共享。因此,复杂的跨组织协同制造中资源的集成共享问题自然转化为任务链驱动的资源服务链的构建问题。基于上述认识提出云制造模式下资源共享的过程模型,如图1所示。该过程模型的核心是:

(1)基于面向服务的思想,利用网络信息技术把分布、自治、异构的云制造资源转化为标准规范的资源服务,并通过面向服务技术将其封装适配到集成共享平台中。

(2)利用面向服务技术,把不同类型和粒度的云制造总任务经一定的分解策略转化为时序约束关联的原子任务链,并把标准规范化描述的原子任务注册发布到集成共享平台中。

(3)基于原子任务和约束的云制造资源服务检索匹配与选择评价算法,获得各原子任务的候选制造资源服务对象集合。

(4)通过基于时序约束关联的原子任务链驱动的云制造资源服务链构建来实现跨组织资源集成共享与优化配置。

图1 面向服务链构建的云制造资源集成共享过程

上述云制造环境下的资源集成共享过程模型具有以下几个显著特点:

(1)实现了云制造环境下协同制造任务分解,时序约束关联原子任务链构建,基于语义本体的资源虚拟化封装、资源注册、发现、匹配和交易等全过程的优化管理,从而为求解大规模复杂问题的协同制造及资源共享提供了可能。

(2)充分体现了云制造“分散资源集中使用,集中资源分散服务”的服务模式与思想。

(3)通过时序约束关联原子任务链驱动资源服务链构建实现业务链动态生成,为实现云制造环境下更广域范围、更深、更灵活的资源集成共享提供了有效的解决手段。

2 云制造资源与任务建模及资源服务化封装

2.1 云制造资源与任务建模

分布、自治、异构且类多量大的云制造资源与任务标准化描述是实现资源集成共享的前提与基础。由于云制造模式下资源与任务类多量大,为便于云制造资源的集成共享和组织管理,首先要对云制造过程中可能用到的各种资源与任务建立统一分类体系,从而使云制造模式下的资源与任务在描述、表达和理解上具有一致性。在云制造模式下,资源分为设备类、人力类、软件类、知识类、物料类、服务类和信息类等类型,任务分为分析设计类、加工制造业类、物流配送类和资源应用类等类型。其次,对云制造各类资源与任务从数据层、语义层和逻辑层均分别采用可扩展标记语言(extensible markup language,XML)、Web 服务 本 体 描 述 语 言 (Web service ontology language,OWL-S)和统一建模语言(unified modeling language,UML)来建立相应的可扩展描述模板,由此建立云制造资源与任务建模参考标准。其中,基于OWL-S的语义模板适于基于语义本体资源服务检索匹配,基于XML的数据模板适于网络传输与解析,基于UML的对象模板适于跨组织资源与任务层次化分类定义,而各类资源模板之间的逻辑映射关系通过有向弧方式建立,从而使跨企业制造资源与任务形成具有分层的有向网络图结构。在此基础上可通过扩展基于Web Service标准技术体系的通用描述、发现与集成服务(universal description,discovery and integration,UDDI)的数据结构和应用程序编程接口(application programming interface,API)来建立云制造资源与任务的管理组织方案。基于语义对象的云制造加工类任务本体结构如图2所示。在图2中,对云制造加工任务基于本体从概念、属性和关联关系等角度进行了全面系统的抽象描述。通过任务编号、名称、提交方、类型、状态和时间等信息描述了任务本体概念。通过加工任务的约束属性、特征属性和评价属性定义实现了加工任务的属性描述。通过多种关联属性定义了加工任务之间的关系定义。

图2 基于语义对象的云制造加工类任务本体结构示意图

不同类型的云制造任务按图2所示的方式详细定义好本体结构后,根据描述模板通过OWL-S进行制造任务语义描述,OWL-S使得云制造加工制造类任务具备机器可理解性和易用性,从而支持自动的、动态的云制造资源服务发现、执行、组合和互操作。云制造资源建模方法与任务建模方法主要的区别为云制造资源建模方法在具体建模时需要考虑资源类型、应用场景、状态和能力等关键属性信息。基于语义对象的云制造设备类资源服务本体结构如图3所示。图3中,基于本体从概念、属性和关联等角度对云制造设备类资源进行了全面系统的抽象定义。通过对设备的名称、类型、型号、供应厂家、所属企业、购置日期和状态等基本信息描述定义了设备类本体的概念;通过能力属性、约束属性、评价属性和接口属性定义实现了对设备类资源本体信息描述;通过多种关联关系定义描述了设备类资源本体的关系定义。而对设备类资源本体属性约束可以通过OWL-S的关键词实现取值约束、基数约束、继承约束、定义域约束、值域约束、关系约束和特性约束。

按上述方法建立各类云制造任务与资源本体结构后,采用斯坦福大学开发的Protégé本体建模工具,通过人机交互可视化建模方式编辑各类任务和资源的概念、属性和关联等本体元素,建立基于语义对象的云制造资源与任务描述模型,并运用其中的验证、评价机制对模型进行校验。采用Protégé本体编辑工具建立云制造资源与任务的概念模型和特征信息后,通过ProtégéOWL Plugin工具编辑和校验,并将本体模型自动转换成对应的OWL-S描述模型。通过对云制造资源与任务的本体建模和语义描述,为解决异构资源与任务的组合、互操作、检索匹配等奠定语义基础。

图3 基于语义对象的云制造设备类资源服务本体结构示意图

2.2 云制造资源服务化封装

为屏蔽云制造环境下资源的异构性和复杂性,并将物理资源转化为逻辑制造资源,解除物理制造资源与其应用之间的紧耦合关系,使其对外呈现统一的调用接口,需将云制造资源封装为有状态的Web服务资源。本文提出基于Web服务资源框架(Web service resource framework,WSRF)实现云制造资源服务化封装,其封装结构如图4所示。WSRF不仅定义了跨组织资源的共享机制及管理机制,而且提供了使用Web服务资源(WSResource)的方法和状态资源(Stateful Resource)建模的能力。WS-Resource方法有利于服务之间的互操作,为不同服务提供者和服务使用者描述、访问和管理有状态资源提供了一种通用方法[3-4]。

图4 云制造资源服务化封装过程示意图

根据图4,云制造标准化资源的封装分为Web服务封装和Stateful资源封装。其中,Stateful资源封装了制造资源的属性信息。根据制造资源属性信息的特点及实现方式的不同将其分为三类:静态属性信息、动态属性信息以及任务队列信息。静态属性信息描述资源的基本信息、约束信息、关联信息、能力信息和评价信息等,它相对比较稳定,不需要频繁的被访问和修改。动态属性信息描述制造资源在执行制造任务的过程中实时变化的信息,主要分为资源状态信息和当前任务状态两部分,其中资源状态信息记录了制造资源在执行任务状态下的动态属性信息,而当前任务状态则描述了当前任务的执行情况。任务队列信息描述了在制造资源上执行过的、正在执行的以及计划执行的任务信息,它为云制造资源的预留提供了依据。

云制造资源Web服务化封装实现首先基于前文定义的本体结构模型将特定资源根据本体概念使用XML格式描述成无歧义的服务数据;其次把服务接口和操作抽象出来描述为WSDL文件,对其访问接口和操作方法进行定义,并用相应的编程语言实现访问接口,从而形成满足WSRF技术规范的资源服务;再次采用Web服务部署描述(Web services deploy description,WSDD)文件来定义Web服务部署所需要的参数,它包括一个服务地址(wsa:Address)、与服务地址关联的元数据(如WSDL服务描述信息)以及与使用服务相关的策略信息(wsa:ReferenceProperties),从而可以定义一个在端点地址上与Web服务关联的有状态资源的实例。最后使用Globus Toolkit中的部署工具将已封装好的服务部署到Globus容器中,当容器启动后资源请求者就可以通过地址调用所需的制造资源服务。

3 云制造任务分解与原子任务链构建

云制造任务具有多样性、多层次性、多路径、多资源协作和多约束条件等特点,另外云制造任务的分解分配与传统制造模式下的任务分解分配在分配对象、分配目标、分配策略、分配范围和约束条件定义等方面都有很多不同。本文提出先根据产品形成过程各阶段任务的特点、约束、概念和关联等进行抽象分析,并从成本、周期和技术方案等约束角度对影响云制造任务分解粒度的关键因素进行详细分析,然后基于产品结构和合作案例库建立跨组织协同制造任务分解模型,按功能与结构相结合的方式将总任务分解成多个子任务,图5给出了云制造加工制造类任务分解过程。

图5 云制造加工制造类任务分解过程示意图

(1)假设云制造产品BOM共有n层,初始化BOM的层次i=1,i∈[1,n],根据市场客户订单和库存文件确定BOM第0层(产品层)的任务周期和数量。

(2)检索案例库,查询针对该任务是否有成功的历史合作案例,所谓成功是相对的,如果案例库中双方的合作评价值大于任务请求方的期望值就是成功的。如有成功的历史合作案例,就执行(3);若无则执行(4)。

(3)检索到针对第i层任务的成功合作案例,与资源提供方基于合同进行商务洽谈。若洽谈成功,则该第i层的制造任务tai为分解后的子任务之一。

(4)若检索到针对第i层任务无成功合作案例,则将其确定为带分解任务,并对其相应制造对象根据产品BOM进行物料类型判断。若为采购件或外协件则将第i层的制造任务tai作为分解后的子任务之一。

(5)若根据产品BOM第i层的待分解任务所对应的加工对象物料类型为自制件,则根据相应任务周期企业的生产能力和生产计划进行能力平衡判定。若平衡则将该第i层的制造任务ti确定为企业自制任务,执行(6);若不平衡则将确定超能力的制造任务并将其发布为分解后的子任务之一。

(6)若产品BOM第i层共有m项任务,则初始化j=1,j∈[1,m]并按照上述步骤(1)~(5)循环判断待分解任务taij是否作为分解后的子任务,直至j=m即第i层所有任务分解完毕。

(7)按产品BOM遍历直至i=n。

分解后的任务是一种层次的树状结构,采用任务结构树来描述。分解后的各个任务之间的联系采用基于Steward的设计结构矩阵(design structure matrix,DSM)思想和产品工艺路线而提出 的 任 务 结 构矩阵 (task structure matrix,TSM)的形式表示:

结构矩阵的维数代表分解后任务个数,对角线上的元素代表任务活动本身,TSM的每一行表示完成该活动所对应的任务需要其他各列任务的支持信息。利用结构矩阵可以十分方便地进行云制造协同任务的规划和管理,同时也可以帮助各参与者认识任务的本质和规律。通过判定分解后所形成任务矩阵的稀疏性和耦合性来确定各子任务的执行顺序,任务结构矩阵通过量化模式和聚类算法实现任务间关联类型、特征及重要程度的分析。同时,对云制造总任务所需满足的QoS约束(即总任务约束)进行分解形成各原子任务约束,其分解原理如图6所示。针对特定云制造任务,根据上述分解后形成的任务矩阵、各原子任务约束、任务工艺路线,可基于Petri网和商业流程执行语言(Business Process Execution Language For Web Services,BPEL4WS)建立云制造原子任务链。

4 云制造资源服务链构建

4.1 单原子任务驱动云制造资源服务检索匹配

图6 云制造总任务QoS约束分解原理示意图

单原子任务驱动云制造资源服务检索匹配阶段的关键是要搞清采用何种算法和机制快速有效地找到满足任务需求的资源服务。本文从类型、文本语义、I/O参数和QoS约束等角度提出单原子任务驱动的制造资源检索匹配算法:

其中,u1~u4分别为检索匹配过程中类型匹配值TypeMatch(TP,RP)、语 义 匹 配 值SemMatch(TP,RP)、输入输出参数匹配值IOMatch(TP,RP)和QoS约束匹配值QoSMatch(TP,RP)相应的权重。类型匹配TypeMatch(TP,RP)的目的是确定制造任务所需的资源服务类型和资源服务自身所声明的在类型上的相似性,其中TP代表任务提交方(task provider),RP代表资源提供方(resource provider)。语义匹配SemMatch(TP,RP)通过计算服务请求和资源服务的名称、描述的语义相关度来完成,目的是确定两者在描述上的相似性。输入输出参数匹配IOMatch(TP,RP)通过综合计算制造任务和资源服务输入输出类型和语义的相关度,确定两者在功能上的相似性。QoS约束匹配QoSMatch(TP,RP)通过计算QoS相关度完成,QoS相关度基于制造任务和资源服务中的评价指标来计算,其目的是确定两者在操作能力上的相似性。式(2)中TypeMatch(TP,RP)、SemMatch(TP,RP)、IOMatch(TP,RP)和QoSMatch(TP,RP)的计算模型参见文献[4]。

4.2 多原子任务驱动的云制造资源服务链构建

云制造资源服务链是根据特定的制造原子任务检索匹配情况,由时序与约束来关联多原子任务驱动而形成的结果。本文提出将时序关联的多任务驱动的云制造资源服务链构建问题抽象为多目标约束的最短路径选择问题,建立相应的目标函数如下:

其中,α和β分别为任务提交方对时间和成本因素的综合权重,α+β=1且α,β∈[0,1];T为云制造资源服务链运行时间函数,包括资源服务准备时间、执行时间以及资源服务间的周转时间;C为云制造资源服务链运行成本函数,包括资源服务执行成本与资源服务间的周转成本等。T和C的数学模型分别如下:

5 仿真算例

某模具制造企业接到一大型注塑模具加工订单,批量为5件,报价为40万元,交货期为20天,需通过云制造资源服务平台外协合作完成。假设该模具制造企业根据本文方法对加工订单进行分解,并已将所分解形成需外协合作原子任务基于特定描述的模板在云制造资源服务平台发布注册,而平台中的资源服务库中已存在相关可提供外协服务的模具加工资源。根据单任务驱动的资源服务检索匹配算法(式(2)),除开始时的ta0任务和结束时的ta7任务,每个原子任务各有两个候选云制造资源服务,经云制造任务分解所形成的各个候选云制造资源任务与服务的结构如图7所示。

图7 模具云制造原子任务与候选资源服务关系结构示意图

上述算例各原子任务候选资源间的加工时间成本及连接时间成本等性能参数如表1所示。

该算例基于前文所述的目标函数,采用蚁群算法在 MATLAB 7.0中仿真求解,具体实现技术与过程参考文献[5]。设置蚁群算法基本初始化参数如下:总信息素量Q=100,蚂蚁数量m=40,启发因子α=1,β=3,信息素残留系数ρ=0.5,启发式期望值常量C=30。经计算,该企业模具云制造资源服务链基于成本最低构建结果如图8所示,此时该模具云制造完成时间为62.4d,总制造成本为107.1千元。

基于时间最短构建结果如图9所示,此时总制造完成时间为52.3d,总制造成本为131.4千元。

基于时间成本综合最优结果如图10所示,此时目标函数式(3)中的时间成本权重均为0.5,该模具云制造完成时间为54.2d,总制造成本为120千元。因此,调整目标函数中时间成本权重值可优化得到不同的模具云制造任务分配结果。

6 结束语

制造资源集成共享一直是国内外众多学者的研究热点与难点,云制造以实现敏捷化、服务化、智能化的绿色低碳制造为目标,同时作为面向服务的网络化制造新模式,为实现跨组织制造资源的集成共享与优化配置、促进制造资源的增值增效,进而增强制造企业核心竞争力提供了新的解决思路。

表1 仿真算例各子任务候选资源性能参数表

图8 算例模具云制造基于成本最低资源服务链构建示意图

图9 算例模具云制造基于时间最短资源服务链构建示意图

图10 算例模具云制造基于时间成本最优资源服务链构建示意图(α=β=0.5)

本文在对云制造相关研究工作进行分析的基础上,深刻把握云制造资源集成共享与优化配置本质——时序关联任务驱动云制造资源服务链构建,以云制造资源服务链构建为研究视角,系统深入地分析云制造资源集成共享所涉及的关键技术问题,并提出了相应的解决方案,如云制造资源共享过程模型、云制造资源与任务建模及资源服务化封装、云制造任务分解及原子任务链构建、云制造资源服务检索及资源服务链构建等,并通过仿真算例证明了相关研究成果的有效性与可行性。

[1]李伯虎,张霖,王时龙,等.云制造——面向服务的网络化制造新模式[J].计算机集成制造系统,2010,16(1):1-7,16.

[2]尹胜,尹超 ,刘飞,等.云制造环境下外协加工资源集成服务模式及语义描述[J].计算机集成制造系统,2011,17(3):525-532.

[3]牛涛.基于 WSRF.NET的网格服务研究开发[D].沈阳:沈阳工业大学,2011.

[4]王正成.网络化制造资源集成平台若干关键技术研究与应用[D].杭州:浙江大学,2009.

[5]杜利峰,牛永洁.蚁群算法在 MATLAB中的实现[J].信息技术,2011(6):115-118.