李 迪,张 柳,张春华,周 楠
(华南理工大学机械与汽车工程学院,广东 广州510640)
当前,制造业产业链布局全球化、消费者需求多样化以及产品市场周期不断缩短的趋势给制造业企业带来重大挑战[1]。制造业企业需建立能够适应多品种、变批量生产模式的制造系统[2]从而满足大规模个性化定制产品需求。制造系统需要具有一定水平的适应性和鲁棒性,以确保同时进行多种产品的混流生产[3]。信息物理系统(Cyber-Physical System,CPS)[4]构建了物理空间与信息空间要素相互映射、适时交互、高效协同的复杂系统,实现系统内资源配置和运行的按需响应、快速迭代、动态优化。通过将CPS集成到制造场景中,形成信息物理生产线系统,可满足以上需求,实现智能制造[5]。
信息物理生产线系统的开发覆盖了机械、电气、网络等多个领域,所涉及的信息是多视角、多层次的,在不同的问题域内需使用不同工具从不同角度描述系统以进行协同开发。混合异构的工具间信息交互为系统开发与集成带来重大挑战。采用模型驱动开发方法[6],将开发工具的信息模型化,可以有效地降低系统复杂性,提高开发效率。AutomationML(AML)由自动化技术的主要供应商和研究机构提出,是一种国际标准(IEC 62714),用于存储和交换不同工程领域的工程数据。目前,在生产线系统级别,国内外逐渐集中于围绕AML相关理念与技术对生产系统的信息模型开发和集成问题进行相关研究。文献[7]基于AML,通过关注生产系统的资源、工艺、产品三个角度,对螺丝生产线进行信息建模,并对AML在智能制造的数据集成领域的应用前景作了展望。文献[8]采用AML建立生产系统的设备的数字孪生模型来保存产品全生命周期数据,以便于进行异构系统间的数据交换。文献[9]采用AML表示CPS资产的AAS模型信息,并进行制造系统的实际验证。目前虽然基于AML的相关研究取得了一定的成果,但是大部分仅仅面向单一具体应用场景,其展示的建模方法流程适用性不广;不同工具之间针对同一对象存在重复建模的问题,复用性不强;信息集成环节中自动化程度不高、通用性不强,不能实现面向生产线系统多领域的统一化、自动化开发。
针对现有不足,提出基于AML的信息物理生产线系统模型驱动开发方法及其架构,将面向生产线系统不同领域开发工具的信息模型化;通过模型转换定义模型映射规则,实现系统开发过程信息集成的自动化。
为保证所提模型驱动方法应用于生产线系统开发过程中的精确性和可信度,遵循模型驱动架构(Model-Driven Architecture,MDA)下模型定义的分层架构,将信息物理生产线系统的信息集成架构分为四层,如图1所示。
图1 信息物理生产线系统信息集成架构Fig.1 The Information Integration Architecture of Cyber-Physical Production Line System
在M0层,通过使用M1层中提供的领域模型来描述生产线系统。领域模型应符合在M2层中定义的领域特定建模语言(Domain-specific modeling language,DSML)的语法和语义。在语法及语义定义之前,应进行领域概念分析以确定所要定义的DSML的适用范围。以AML通用核心概念为指导展开元模型层的构建。所建立的元模型需要遵循在M3层中定义的元元模型。元模型构建采用UML类图的表达方式,在具体实施过程中采用模型集成计算理论[10]提供的相关领域建模工具链[11]。
在具体应用中,M1层的领域模型提供了开发人员可直接使用的领域特定建模概念对系统进行直接描述,能够避免需求与实现的不一致性。将基于AML概念定义的领域建模语言应用于生产线系统的规划调度问题的功能与性能验证的具体实现之中。基于此研究问题,开发了相应的模型转换器,将领域模型分别转换为:语义推理工具下的本体模型以便进行规划调度,以及形式化验证工具下的形式化模型以进行设计时性能验证。模型转换器的实现同样遵循M2层中的语法定义,以领域模型实例作为输入,通过建立领域模型与本体模型及形式化模型之间的映射规则实现模型转换。
模型构建包括元模型及领域模型的构建,采用AML实现。采用AML建模主要基于以下核心概念:
(1)角色类(Role Class,RC),用于定义面向特定领域语义层;(2)接口类(Interface Class,IC),用于定义模型元素之间的关系及引用存储在文件之外的信息;(3)系统单元类(System Unit Class,SUC),定义可重用的系统组件模板;(4)实例层次(Instance Hierarchy,IH),使用内部元素(Internal Element,IE)创建特定应用下的具体实例。
元模型的构建,即DSML定义,由语法及语义定义组成。在实施过程中,DSML语义通过创建AML角色类库中的语义层实现[12]。DSML语法定义涵盖生产线资产分类及描述,分别由产品-工艺-资源(Product-Process-Resource,PPR)和资产管理壳(Asset Administration Shell,AAS)组成。
(1)PPR:PPR是针对生产中规划和调度等主要生产环节提出的对生产线资产的分类[13],即“产品”、“工艺”、“资源”,如图2所示。产品是指在生产过程中被生产的商品,按粒度分为原材料、半成品和成品,由资源处理。工艺是指生产中的特定过程,涉及一个或多个步骤的操作,用于描述所有与机械加工、制造、运输等方面相关的抽象的工艺及其约束,可以产生产品。工艺按粒度分为动作、操作和特征工艺。例如孔工艺(特征工艺),可由钻孔工艺或冲孔工艺(操作)实现。其中,钻孔工艺由移动、旋转等更小粒度工艺(动作)构成。资源是指在生产过程中提供加工能力并参与实际生产过程的实体,按不同粒度还可以进一步划分为传感和执行单元、设备、工作站,负责执行产品所需的工艺流程。
图2 元模型PPR部分Fig.2 Part of Metamodel:PPR
使用PPR方式进行生产线资产分类,能够有效地整合生产线系统开发过程中不同工程领域和阶段的软硬件资源、产品、工艺和工程数据,使其能够被有条理地分析。基于PPR描述生产系统具有通用性,所构建的领域模型复用性高。对于新的应用场景,不需要改变元模型而只需要在领域模型层创建继承于相应概念的模型实例,而其它工具内相对应的概念则由模型转换工具自动生成,避免重复定义,提高自动化程度,保证建模过程的精确性和可信度。
(2)AAS:用于生产线资产描述,提供资产信息以供外部访问。通过将生产线资产抽象成AAS,生产线资产可借由AAS进行交互,以实现生产线系统的信息物理融合。
在AAS规范指导下定义的AAS如图3所示。AAS由目录清单(Manifest)和子模型(Submodel)组成。其中,目录清单是AAS的层次结构索引列表,从功能视角提供资产、AAS及各子模型唯一标识供外部访问;子模型是资产不同方面特性的聚合表示。结构子模型从结构视角描述资产的组成元素的层次,行为子模型从行为视角描述资产内部组成元素之间的依赖关系。
图3 元模型AAS部分Fig.3 Part of Metamodel:AAS
信息物理生产线系统可视为不同层次及不同类型的组件的组合,其领域模型由组件模型和应用模型两部分组成。组件模型是系统开发阶段对组件的抽象;应用模型是特定应用场景下的具体实例,通过对组件模型的重用及组合实现。
本节以华南理工大学生产线原型平台[14]为例进行领域模型构建。生产线原型平台以U盘的打标和木雕的加工工艺为加工任务,能够模拟多种生产系统实际加工任务场景。具体地,该平台由上盒模块、上盖模块、回收模块、上料模块、CNC加工模块、激光打标模块、包装模块及运输模块组成,如图4所示。
图4 生产线原型平台Fig.4 Production Line Prototype Platform
该生产线原型平台涉及的所有组件如表1所示。
表1 生产线原型平台组件Tab.1 The Components of Production Line Prototype Platform
领域模型的构建按如下步骤进行:
第一步:在AML的系统单元类库中建立上述组件的组件模型,具体定义AAS下子模型实例。例如,对于带夹爪的机械臂组件,在静态结构子模型下定义机械臂的静态信息,如名称、类型及内部组成等;在动态结构子模型下定义机械臂的动态可变信息,如运行状态、运行时长、不可用时间等;在行为子模型下定义机械臂的组成部分之间的几何关系以及机械结构依赖关系,如夹爪需安装在机械臂的末端。
第二步:在AML的实例层次中将实际场景所涉及的产品组件模型、工艺组件模型及资源组件模型进行重用及组合,为模型的内部元素添加具体的属性集合,完成应用模型的构建。
模型转换是模型驱动开发中的关键技术,通过定义源模型到目标模型的映射规则实现。本节通过定义领域模型到本体模型和形式化模型的映射规则实现模型转换,从而将规划调度问题及其验证过程的信息集成到基于AML的统一模型。
本体模型关注生产线系统中产品组件、工艺组件、资源组件的关联关系并形成结构化知识网络。语义推理工具依据本体模型进行语义推理,将推理信息提供给规划调度工具,实现将产品所需的加工内容合理地分配给设备进行生产。采用OWL语言构建本体模型。本体模型构建基于实体(Object),分为两个层次:实体的类层次和关系层次。实体关系又称为属性(Property),分为对象属性(Object Property)和数据属性(Data Property),分别定义实体与实体关系及实体与数据关系[15]。定义领域模型到本体模型的映射规则时,领域模型内的组件模型部分对应本体模型的类层次;领域模型内的应用模型部分对应本体模型的实例,其具体映射规则如表2所示。
表2 应用模型与本体模型实例映射规则Tab.2 The Mapping Rules between Application Model and Ontology Model Individuals
本体模型的Object Property和Data Property由应用模型中产品组件、工艺组件、资源组件间的关系定义,如表3所示。
表3 本体模型属性Tab.3 Ontology Model Properties
基于着色Petri网(Coloured Petri Net,CPN)构建生产线系统的形式化模型。CPN可用于检验执行规划调度命令的生产线逻辑正确性,验证其功能是否满足需求并进行性能分析。采用CPN建模主要基于以下概念[16]:库所(Place),用于定义生产线系统的状态;变迁(Transition),用于定义使生产线系统状态发生改变的事件;有向弧(Arc),表示变迁方向;令牌标记(Token),用于表示处于某个Place的对象,Token的颜色代表该对象的属性值;颜色集(Coloured Set),用于定义属性值的类型。
进行领域模型到形式化模型的转换时,主要关注领域模型内的应用模型部分中:(1)工作站级别的资源组件模型;(2)特征工艺级别的工艺组件模型及(3)成品级别的产品组件模型。由此定义应用模型到形式化模型的映射规则,如表4所示。
表4 应用模型到形式化模型的映射规则Tab.4 The Mapping Rules between Application Model and Formal Model
为实现模型开发验证流程一体化,提出集建模工具AML Editor、语义推理工具Apache Jena、规划调度工具、形式化验证工具CPN Tools、集成开发平台GME于一体的工具链,支持信息物理生产线系统模型驱动开发方法的实现,其工作流程如图5所示。应用该工具链时,遵循模型构建、规划调度、形式化验证的基本流程,通过模型转换实现三个阶段的信息交互。
图5 工具链Fig.5 The Toolchain
模型转换基于通用建模环境(Generic Modeling Environment,GME)。GME是一个可自定义配置的工具集,拥有模块化、可拓展的架构,并提供了面向第三方工具集成的扩展接口,用于实现各类模型转换器从而满足快速工具集成的需求。通过开发面向建模工具的模型转换器,实现GME下领域模型的集成;开发面向语义推理工具的模型转换器,可将领域模型转换为本体模型;开发面向规划调度工具的模型转换器,根据规划调度结果更新GME下领域模型;开发面向形式化验证工具的模型转换器,关联CPN模板文件和领域模型,将领域模型中的规划调度信息更新到CPN模板文件并将其导出。模板文件预先定义模型的可视化相关的信息,将未知工艺未知产品的模型仿真验证问题转换成一组确定的最小化的加工工艺的仿真问题,固定形式化模型的大致结构,降低生成形式化模型的难度。
本节以木雕产品的加工包装为例,应用前文提出的基于AML的信息物理生产线系统模型驱动开发方法及工具链进行实施。
(1)在AML Editor中,基于已定义的角色类库及系统单元类库中的组件模型,定义基于木雕产品加工包装的生产线系统应用模型,如图6所示。
图6 基于木雕产品加工包装的生产线系统应用模型Fig.6 Production Line System Application Model Based on The Processing and Packaging of Woodcarving Products
(2)集成开发平台GME界面如图7所示,红框区域为插件区,对应模型转换器的实现。通过GME中的AML Importer插件实现基于AML定义的模型到GME下模型的转换。
图7 GME界面Fig.7 GME Interface
(3)通过AML2OWL插件将GME下领域模型转换为本体模型,以文本形式提供给Apache Jena进行语义推理。
(4)规划调度工具根据语义推理信息进行规划调度,将规划调度结果保存在数据库中。
(5)通过GME中的PPS2AML插件读取数据库中信息,同时更新领域模型。
(6)定义CPN模板文件并通过GME中的CPN Importer插件进行模型转换,创建CPN模型,并为CPN模型元素和领域模型元素定义映射关系。CPN模板文件与领域模型对应。
(7)通过CPN Exporter插件获取领域模型中规划调度信息并更新CPN模型。
(8)将更新后的CPN模型导出到原有的CPN文件中,在CPN Tools中进行验证,如图8所示。若验证结果理想,则可依据规划调度结果安排产品的生产;若验证结果不理想,则证明规划调度结果不合理,需将验证结果返回给规划调度工具,重新触发规划调度过程,即上述的第4步,并执行后续过程,直到验证结果满足需求。
可见,将所提出方法及工具链应用于生产线系统开发是可行的,能够实现由模型构建到规划调度再到形式化验证的完整流程,提高了系统开发的自动化程度。
这里介绍了基于AML的信息物理生产线系统模型驱动开发方法及其架构。该方法基于AML概念构建元模型,进而构建领域模型;基于定义的模型映射规则实现了领域模型到本体模型及形式化模型的转换,以便进行生产线系统的规划调度问题的功能与性能验证。开发的工具链能够实现生产线开发流程化、模型集成和模型转换过程的可视化与自动化。基于生产线原型平台验证了该方法的合理性及可行性。未来的工作将更多地集中在已开发工具的完善以及对模型转换过程进行正确性验证。