买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于本体的控制软件模型的自动生成方法_浙江大学_201910458320.4 

申请/专利权人:浙江大学

申请日:2019-05-29

公开(公告)日:2020-12-01

公开(公告)号:CN110221815B

主分类号:G06F8/20(20180101)

分类号:G06F8/20(20180101)

优先权:

专利状态码:有效-授权

法律状态:2020.12.01#授权;2019.10.08#实质审查的生效;2019.09.10#公开

摘要:本发明公开了一种基于本体的控制软件模型的自动生成方法:1基于SysML扩展包,构建系统设计模型并进行语义强化;2基于系统设计模型的系统设计知识进行分布式控制软件自动设计,生成平台无关软件设计;3基于本体映射,将平台无关软件设计自动转换生成平台相关控制软件设计并导出控制软件模型。本发明提供的自动生成方法能够有效提高软件开发效率及正确性,减轻软件开发人员工作量,生成的控制软件模型可以作为后续软件开发的基础服务于软件的详细设计及验证过程。

主权项:1.一种基于本体的控制软件模型的自动生成方法,其特征在于,所述自动生成方法包括以下步骤:1基于系统建模语言SysML扩展包,构建系统设计模型并进行语义强化;所述构建系统设计模型并进行语义强化的方法包括:1-1对SysML进行扩展,形成面向自动化加工系统建模的SysML-MF扩展包,并采用SysML-MF扩展包构建具有自动化加工语义的系统设计模型;1-2基于SysML-MF扩展包,建立加工本体-MFO本体;1-3将具有自动化加工语义的系统设计模型导入为本体知识库中的MFO本体实例;1-4对MFO本体实例描述的系统设计模型的系统设计知识的语义正确性进行验证,实现对系统设计模型的语义强化;2基于系统设计模型的系统设计知识进行分布式控制软件自动设计,生成平台无关软件设计;所述生成平台无关软件设计的方法包括:2-1定义描述分布式控制软件设计的分布式控制本体-DCO本体;2-2基于DCO本体与MFO本体之间的知识关联,开展自动设计过程,自动生成平台无关控制软件设计;3基于本体映射,将平台无关软件设计自动转换生成平台相关控制软件设计并导出控制软件模型;将平台无关软件设计自动转换生成基于IEC61499的控制软件设计并导出基于IEC61499的控制软件模型;所述将平台无关软件设计自动转换生成基于IEC61499的控制软件设计的方法包括:3-1基于IEC61499功能块定义功能块本体-FBO本体,并比较FBO本体与DCO本体的异同;3-2基于本体映射,实现FBO本体的设计知识生成;3-3FBO本体和基于IEC61499的控制软件模型具有映射关系,利用模型转换技术将FBO本体实例自动转换成基于IEC61499的控制软件模型。

全文数据:一种基于本体的控制软件模型的自动生成方法技术领域本发明涉及模型驱动设计领域,具体涉及一种基于本体的控制软件模型的自动生成方法。背景技术SysMLSystemsModelingLanguage是基于模型的系统工程的标准建模语言。SysML为系统的结构模型、行为模型、需求模型和参数模型提供了通用的建模方法。结构模型强调系统的层次以及对象之间的相互连接关系。行为模型强调系统中对象的行为,包括它们的活动、交互和状态历史。需求模型强调需求之间的追溯关系以及设计对需求的满足关系。参数模型强调系统或部件的属性之间的约束关系。SysML为模型表示法提供了完整的语义。SysML的语言结构遵循四层元模型结构:元-元模型、元模型、模型和用户对象。元-元模型层具有最高抽象层次,是定义元模型描述语言的模型,为定义元模型的元素提供最基本的概念和机制。元模型是元-元模型的实例,是定义模型描述语言的模型。模型是元模型的实例,是基于模型描述语言对目标系统的描述。用户对象是模型的实例。任何复杂系统在用户看来都是相互通信的具体对象,目的是实现复杂系统的功能和性能。为应对消费需求的快速更新和升级,软件逐渐在分布式自动化加工系统中扮演越来越重要的角色。模型驱动开发是软件开发的一种主流开发范式,它是指通过模型以及模型之间的转换实现软件开发过程,具体方法为:首先确立实体模型EntityModel,以及它们之间的关系,进而可以交由程序员分别实现表现层、业务服务层和持久层,通过使用JdonFramework等模型驱动框架,结合FDD等模型驱动的工程方法,从而正确无误地、且快速高质量地完成一个软件开发过程。这种开发方式能够有效解决传统基于文档和手动编码的软件开发模式工作量大、易于出错、工件可维护性差等问题,因而能够显著提高软件开发效率、降低开发成本以及提高开发质量。分布式自动化软件与通用软件的不同在于,它与其所控制的加工装备关系密切,二者的开发过程必须协同进行。因此,分布式自动化软件的模型驱动开发必须能够从描述软件及其受控加工装备的系统模型自动生成目标开发语言所描述的软件模型,从而作为后续软件开发的基础。然而,现有的模型驱动开发方法仅支持手动实现这一转换过程,或在对系统模型赋予软件开发语言相关约束后才能自动实现转换,因此,均无法有效解决这一问题。发明内容本发明的目的在于提供一种基于本体的控制软件模型的自动生成方法,本发明提供的自动生成方法基于本体推理自动实现,可以减轻软件开发人员的工作量并有助于提高软件设计的正确性。本发明提供如下技术方案:一种基于本体的控制软件模型的自动生成方法,所述自动生成方法包括以下步骤:1基于SysML扩展包,构建系统设计模型并进行语义强化;2基于系统设计模型的系统设计知识进行分布式控制软件自动设计,生成平台无关软件设计;3基于本体映射,将平台无关软件设计自动转换生成平台相关控制软件设计并导出控制软件模型。本发明提供的自动生成方法的构思为:1基于面向自动化加工系统建模的SysML扩展包,构建具有自动化加工语义的系统设计模型,并自动导入本体知识库中以分析其语义正确性;2对于分析后的系统设计模型中的系统设计知识,采用分布式控制应用设计模式将系统设计知识与平台无关控制软件设计知识相联系,实现自动推理,自动生成平台无关软件设计;3基于本体映射,将平台无关软件设计自动转换生成平台相关控制软件设计并导出控制软件模型。在步骤1中,所述构建系统设计模型并进行语义强化的方法包括:1-1对SysML进行扩展,形成面向自动化加工系统建模的SysML-MF扩展包,并采用SysML-MF扩展包构建具有自动化加工语义的系统设计模型;1-2基于SysML-MF扩展包,建立MFO本体加工本体;1-3将具有自动化加工语义的系统设计模型导入为本体知识库中的MFO本体实例;1-4对MFO本体实例描述的系统设计模型的系统设计知识的语义正确性进行验证,实现对系统设计模型的语义强化。在步骤1-1中,所述SysML-MF扩展包中采用模块Block的版型对自动化加工系统中各种加工资源进行描述,采用不透明动作OpaqueAction的版型对自动化加工系统中各种操作进行描述。在步骤1-2中,所述MFO本体与SysML-MF扩展包之间均有映射关系,所述MFO本体中的概念通过公理形式化。所述MFO本体采用OWL2语言中的相关原语对概念的语义进行描述。这些对概念进行形式化描述的公理可以被语义网推理机所理解,从而自动识别本体中的实例是否符合其所声明的概念,或基于此对本体实例进行分类以确定其所属概念。在步骤2中,所述生成平台无关软件设计的方法包括:2-1定义描述分布式控制软件设计的DCO本体分布式控制本体;2-2基于DCO本体与MFO本体之间的知识关联,开展自动设计过程,自动生成平台无关控制软件设计。在步骤2-2中,所述自动设计过程包括:2-2-1将自动加工系统中的加工资源分组并分配相应控制器以组成控制闭环,从而识别控制器的结构;2-2-2根据自动加工系统中加工资源的分配情况,将加工资源所实现的加工操作分配给相应的控制闭环;2-2-3根据加工操作的分配情况,识别控制器之间的数据与物理交互,从而形成整个分布式控制应用。在步骤3中,将平台无关软件设计自动转换生成基于IEC61499的控制软件设计并导出基于IEC61499的控制软件模型。所述将平台无关软件设计自动转换生成基于IEC61499的控制软件设计的方法包括:3-1基于IEC61499功能块定义FBO本体功能块本体,并比较FBO与DCO本体的异同;3-2基于本体映射,实现FBO本体的设计知识生成;3-3FBO本体和基于IEC61499的控制软件模型具有映射关系,利用模型转换技术将FBO本体实例自动转换成基于IEC61499的控制软件模型。在本发明提供的自动生成方法中,SysML-MF扩展包可以对自动化加工系统的加工资源以及加工操作采用领域相关模型元素进行建模。MFO本体包含自动化加工系统相关概念以及这些概念的形式化描述公理,支持系统模型在本体知识库中的表示和验证。DCO本体分布式控制本体将自动化控制软件描述为由控制器所组成的控制应用,每个控制器与其所控制的加工设备共同形成闭环控制回路。该本体支持采用平台无关的形式对自动化加工系统的控制软件进行描述,并能够与MFO所描述的系统模型知识相关联,从而支持从系统设计知识自动导出控制软件设计知识。本发明提供的自动生成方法基于SysML所描述的系统设计模型可以自动生成控制软件设计模型如基于IEC61499的控制软件模型,即,符合IEC61499标准的控制软件模型,可以减轻软件开发人员的工作量并有助于提高软件设计的正确性。本发明提供的自动生成方法以基于SysML的自动化加工系统设计模型为输入,通过将该模型所描述的系统设计知识导入到本体知识库中进行语义分析、知识推理以及本体映射,可以推导出控制软件设计知识并最终导出为符合IEC61499标准的控制软件模型。与现有技术相比,本发明提供的自动生成方法基于本体推理自动实现,可以减轻软件开发人员的工作量并有助于提高软件设计的正确性。并且自动生成的控制软件模型可以作为后续软件开发的基础服务于软件的详细设计及验证过程。附图说明图1为本发明提供的基于本体的IEC61499软件模型生成过程示意图;图2为本发明提供的SysML-MF扩展包概览示意图;图3为本发明提供的MFO本体的结构示意图;图4为本发明提供的分布式控制应用设计模式示意图;图5为本发明提供的DCO本体的结构示意图;图6为本发明提供的FBO本体的结构示意图。具体实施方式为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。本发明提供的自动生成方法如图1所示,以基于IEC61499的控制软件模型为例,包括三个阶段:1语义强化阶段:基于自动化加工系统通用概念,对SysML进行扩展,提出面向自动化加工系统的SysML扩展包;采用该扩展包对目标系统自动化加工系统进行建模,并将该模型导入本体知识库的加工本体MFO中;对模型语义进行验证以确保系统设计的正确性。2自动设计阶段:基于分布式控制应用设计模式,提出描述控制软件设计的分布式控制本体DCO,并在DCO与MFO之间建立关联;基于知识之间的关联关系,设计相关算法,从MFO所描述系统设计知识自动导出DCO所描述的控制软件设计知识。3模型转换阶段:根据IEC61499标准定义描述平台相关软件设计模型的功能块本体FBO;基于本体映射技术及相关算法,从基于DCO的平台无关软件设计自动生成基于FBO的平台相关软件设计;最后将该设计知识自动导出为基于IEC61499的软件设计模型。具体步骤如下:步骤一:系统设计模型的语义强化1扩展SysML,形成面向自动化加工系统的SysML-MF扩展包为了表达系统模型中的自动化加工领域语义以便于识别其中的控制软件部分,需要在系统建模时采用领域相关的模型元素来对系统模型进行表示。然而,由于SysML为通用的领域无关建模语言,因此,需要对SysML进行扩展以表达自动化加工语义。MASON是自动化加工领域的一种上层本体,基于该本体中的部分概念,本发明提出了SysML-MF扩展包。该扩展包中所包含的版型如图2所示。其中,采用模块Block的版型对加工系统中各种资源Resource进行描述,这些资源包括加工资源ManufacturingResource,如机器Machine、工具Tool、工具组件ToolPart,以及控制系统ControlSystem、传感器Sensor以及促动器Actuator。资源之间通过数据端口DataPort与物理端口PhysicalPort传递数据或能量、物料等物理信息。采用不透明行为OpaqueAction的版型对系统中各种操作Operation进行描述,这些操作分为加工操作ManufacturingOperation与控制操作ControlOperation,它们之间通过相应类型的栓Pin来传递数据或物理信息,包括数据输入栓DataInputPin、物理输入栓PhysicalInputPin、数据输出栓DataOutputPin和物理输出栓PhysicalOutputPin。采用该扩展包,系统设计人员可以在通用SysML建模平台中构建具有自动化加工语义的系统设计模型。2定义加工本体MFO,从模型导入系统设计知识为了将系统设计模型导入本体知识库以支持对其语义正确性的验证以及自动模型生成,以扩展包为基础,构建加工本体MFO。该本体中的概念如图3所示。该本体与SysML语言紧密联系,图中虚线框表示来自于SysML的相关概念,如模块Block、完全端口FullPort、不透明行为OpaqueAction、输入栓InputPin和输出栓OutputPin,其他概念来自SysML-MF扩展包中的版型。该本体采用OWL2本体语言进行定义。由于MFO与SysML-MF之间具有映射关系,因此,可以采用模型转换技术将基于SysML-MF的系统设计模型自动导入为MFO的本体实例。3通过公理形式化描述MFO概念,验证模型语义正确性除了定义概念以及概念之间的关系之外,该本体还采用OWL2语言中的相关原语对概念的语义进行描述。这些对概念进行的形式化描述的公理可以被语义网推理机所理解,从而自动识别本体中的实例是否符合其所声明的概念,或基于此对本体实例进行分类以确定其所属概念。例如,MFO中概念工具Tool被定义为由工具组件ToolPart所组成的系统模块,这一定义可以被形式化的描述为OWL类表达式ClassExpression:BlockandhasAttributesomePartPropertyandhasTypesomeToolPart;该类表达式被声明为工具Tool这一OWL类的等价类,从而作为对工具Tool这一概念的相关实例进行分类或语义判断的公理。由于系统模型与本体知识库中的实例相对应,对本体实例的自动语义分析等价于对系统模型中版型使用正确性的自动验证。这一验证过程可以保证系统设计模型语义的正确性。步骤二:基于系统设计知识的分布式控制软件自动设计语义强化后的系统设计知识描述了目标自动化加工系统中所包含的加工资源以及系统所实现的加工过程,基于这些知识,可以借助于如图4所示的分布式控制应用设计模式这一通用的、领域无关的设计模式,自动推导出控制软件设计知识。该模式是对控制设计问题的一种通用解决办法。其中,一个系统由一个分布式控制应用来进行控制,该应用由多个互相连接的控制器所组成。每个控制器控制一个由多个加工资源所组成的加工设备,它们之间通过传感器和促动器相连进而共同组成一个闭环控制回路。加工资源所涉及到的加工过程由控制器的过程功能所控制。基于该模式,控制软件的自动设计过程包括以下两个步骤:1定义DCO,关联控制软件设计与系统设计知识基于该设计模式,可以定义描述自动化加工软件的本体DCO。该本体如图5所示。该本体对分布式控制应用及其所包含的控制器进行描述,并且与MFO紧密关联,图中虚线框表示来自于MFO的相关概念。控制器Controller与其受控对象Plant相连,并且通过其过程功能ProcessFunction实现相应的操作Operation。控制器Controller之间具有行为交互BehaviorInteraction与数据交互DataInteraction,并通过这些交互组成控制应用ControlApplication。2开展自动设计过程,自动生成平台无关软件设计基于DCO与MFO之间的关系,可以采用如下步骤实现分布式控制软件的自动设计过程。1将系统中的加工资源分组如以工具组件ToolPart、工具Tool或机器Machine为单位进行分组并分配相应控制器以组成控制闭环,从而识别控制器的结构;2根据系统中加工资源的分配情况,将加工资源所实现的加工操作分配给相应的控制闭环;3根据加工操作的分配情况,识别控制器之间的数据与物理交互,从而形成整个分布式控制应用。步骤三:平台无关软件设计自动转换生成基于IEC61499的平台相关软件模型1基于IEC61499标准定义FBO,比较FBO与DCO异同基于DCO的软件设计具有平台无关性,它与IEC61499标准之间仍存在较大差距,因此,还需要进一步将其转化为基于IEC61499的软件设计以导出符合标准的软件设计模型。为实现这一过程,首先需要基于IEC61499功能块标准定义FBO功能块本体,来对IEC61499平台相关设计进行描述。该本体如图6所示。其中,最基本的概念为功能块类型FBType,它分为基本功能块BasicFB、组合功能块CompositeFB以及服务接口功能块ServiceInterfaceFB三种。基本功能块BasicFB的行为通过执行控制图ECC进行描述。各种功能块类型FBType实例化为功能块FB并通过连接Connection组成功能块网络FBNetwork从而描述控制应用Application。之后,对FBO与DCO之间的概念进行比较。通过比较可以得知,二者在控制器及控制应用的结构描述方面具有相似性,即控制器均通过其接口互连形成控制应用,且二者对于控制器的行为均通过一个操作序列进行描述。但由于IEC61499采用的基于事件的行为驱动模式,使得其在控制器行为的某些细节描述上与DCO不同。2基于本体映射,实现FBO设计知识生成基于DCO与FBO之间的相似性,采用本体映射技术可以实现FBO中部分设计知识的产生。应用本体映射技术时,首先需要建立DCO与FBO中概念之间的对应关系,如DCO中的控制器Controller与FBO中的基本功能块BasicFB具有对应关系;之后,基于该对应关系,采用表示及声明本体映射语言EDOAL将映射关系定义为计算机可理解的映射规则;通过映射引擎,可以将EDOAL映射规则转化为SPARQL语句,通过执行检索语句,可以自动提取并产生FBO中的相关知识。DCO与FBO的差异部分主要由IEC61499功能块的执行控制图ECC的事件驱动执行语义所造成的。执行控制图ECC采用异步数据传输机制在功能之间收发数据,即当与数据端口相关的事件端口收到或发出相应事件时,该数据端口上的数据才能被读取或写入。然而,DCO中并没有事件这一概念,其数据传输也与事件的发生无关。这一问题可以通过为DCO中控制器之间的数据传输添加相应的事件以及事件端口来解决。3导出IEC61499软件设计模型由于FBO与IEC61499模型具有映射关系,当FBO中的描述平台相关控制软件设计的知识被提取完全后,可以基于模型转换技术将FBO本体实例自动转换生成IEC61499模型。以该模型为基础,软件设计人员可以在其上进一步开展软件详细设计与开发。同时,由于IEC61499建模平台同时支持对模型的仿真,该模型也可以做为模型验证的基础,对控制软件行为的正确性进行仿真。

权利要求:1.一种基于本体的控制软件模型的自动生成方法,其特征在于,所述自动生成方法包括以下步骤:1基于SysML扩展包,构建系统设计模型并进行语义强化;2基于系统设计模型的系统设计知识进行分布式控制软件自动设计,生成平台无关软件设计;3基于本体映射,将平台无关软件设计自动转换生成平台相关控制软件设计并导出控制软件模型。2.根据权利要求1所述的基于本体的控制软件模型的自动生成方法,其特征在于,在步骤1中,所述构建系统设计模型并进行语义强化的方法包括:1-1对SysML进行扩展,形成面向自动化加工系统建模的SysML-MF扩展包,并采用SysML-MF扩展包构建具有自动化加工语义的系统设计模型;1-2基于SysML-MF扩展包,建立MFO本体;1-3将具有自动化加工语义的系统设计模型导入为本体知识库中的MFO本体实例;1-4对MFO本体实例描述的系统设计模型的系统设计知识的语义正确性进行验证,实现对系统设计模型的语义强化。3.根据权利要求2所述的基于本体的控制软件模型的自动生成方法,其特征在于,在步骤1-1中,所述SysML-MF扩展包中采用Block的版型对自动化加工系统中各种加工资源进行描述,采用OpaqueAction的版型对自动化加工系统中各种操作进行描述。4.根据权利要求2所述的基于本体的控制软件模型的自动生成方法,其特征在于,在步骤1-2中,所述MFO本体与SysML-MF扩展包之间具有映射关系,所述MFO本体中的概念通过公理形式化。5.根据权利要求1所述的基于本体的控制软件模型的自动生成方法,其特征在于,在步骤2中,所述生成平台无关软件设计的方法包括:2-1定义描述分布式控制软件设计的DCO本体;2-2基于DCO本体与MFO本体之间的知识关联,开展自动设计过程,自动生成平台无关控制软件设计。6.根据权利要求5所述的基于本体的控制软件模型的自动生成方法,其特征在于,在步骤2-2中,所述自动设计过程包括:2-2-1将自动加工系统中的加工资源分组并分配相应控制器以组成控制闭环,从而识别控制器的结构;2-2-2根据自动加工系统中加工资源的分配情况,将加工资源所实现的加工操作分配给相应的控制闭环;2-2-3根据加工操作的分配情况,识别控制器之间的数据与物理交互,从而形成整个分布式控制应用。7.根据权利要求1所述的基于本体的控制软件模型的自动生成方法,其特征在于,在步骤3中,将平台无关软件设计自动转换生成基于IEC61499的控制软件设计并导出基于IEC61499的控制软件模型。8.根据权利要求7所述的基于本体的控制软件模型的自动生成方法,其特征在于,所述将平台无关软件设计自动转换生成基于IEC61499的控制软件设计的方法包括:3-1基于IEC61499功能块定义功能块本体FBO,并比较FBO本体与DCO本体的异同;3-2基于本体映射,实现FBO本体的设计知识生成;3-3FBO本体和基于IEC61499的控制软件模型具有映射关系,利用模型转换技术将FBO本体实例自动转换成基于IEC61499的控制软件模型。

百度查询: 浙江大学 一种基于本体的控制软件模型的自动生成方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。