一种从Simulink模型转换至UML模型的方法

文档序号:6514718阅读:616来源:国知局
一种从Simulink模型转换至UML模型的方法
【专利摘要】本发明提供了一种从Simulink模型转换至UML模型的方法,通过建立Simulink模型的模型元素和UML模型的模型元素之间的对应关系,建立Simulink源元模型架构和UML目标元模型架构,从而根据Simulink源元模型和UML目标元模型确定Simulink模型转换至UML模型的转换方法。本发明确定了Simulink模型元素与UML模型元素的对应关系,简化了模型转换的复杂性,解决了在CPS系统中,通用建模过程领域细化问题和计算过程和物理过程融合的问题,解决了Simulink在需求建模上的弱势以及UML模型在表达控制,算法建模方面的缺陷,两者优势互补,扬长避短,提高模型开发的效率。
【专利说明】—种从S i mu I i nk模型转换至UML模型的方法
【技术领域】
[0001]本发明涉及一种信息物理融合系统,尤其是一种模型转换的方法。
【背景技术】
[0002]信息物理融合系统(Cyber-Physical System, CPS)是指在环境感知的基础上,深度融合了 3C的网络化物理设备系统,它通过计算过程和物理过程相互影响的反馈循环实现深度融合和实时交互,以安全、可靠、高效和实时的方式监测或者控制物理实体,其目的是实现信息世界和物理世界的深度融合。按照功能和系统属性划分,CPS —体化模型可以划分为物理实体、计算实体和交互实体。物理实体是指物理过程及其深度嵌入的物理环境,其过程主要表示为在连续时间域所遵循的物理规则,采用基于时间推进的动态连续仿真模型对物理实体进行刻画;计算实体主要指CPS的计算单元和控制单元,其过程主要表示为数据处理和逻辑控制,采用基于事件驱动的动态离散仿真模型对计算实体进行刻画;交互实体往往由物理构件或计算构件组成,主要描述它们的组合特性、交互接口规则、融合关系和行为特性。
[0003]模型驱动开发方法(Model Driven Development,简称MDD)能够在早期阶段对系统进行分析与验证,有助于保证系统的质量属性,并有效控制开发时间与成本。模型转换为模型驱动涉及开发方法的核心,它是指将一种语言描述的模型转换成另外一种语言描述的模型。它被认为是基于模型驱动的复杂嵌入式实时系统设计与实现的基础。
[0004]Simulink模型主要用来刻画基于时间推进的连续动态过程,UML模型主要用来刻画基于事件驱动的离散行为过程。采用UML对计算实体的静态结构仿真建模和基于离散事件驱动的动态行为仿真建模,以及采用Simulink对物理实体的动态连续行为仿真建模已成为工程试验的主流。但是CPS的异构性,表现在Simulink和UML的异构性,使得CPS物理实体和计算实体的融合面对很大的挑战。
[0005]目前已有很多基于Simulink和UML的协同仿真建模方法。德国Fraunhofer研究机构通过扩展UML Profile实现UML和Simulink在嵌入式实时领域的协同仿真,荷兰Nijmegen大学通过扩展UML在执行时间方面的表达能力实现UML和Simulink在嵌入式实时领域的同步仿真,德国EXTESSY机构将UML和Simulink模型代码集成到一个统一的系统架构中在代码级实现Simulink和UML的协同仿真。
[0006]但是这些集成方法都没有从根本上解决Simulink和UML的融合问题,CPS物理实体和计算实体的异构性,表现为Simulink和UML模型元素本质上的区别,使得这些协同仿真方法不能满足CPS系统深度融合的要求。

【发明内容】

[0007]为了克服现有技术的不足,针对以上问题,本发明提出了以Simulink模型对物理实体进行仿真建模,以UML模型对计算实体进行仿真建模,在两层模型之间采用模型转换方法,使用模型转换工具实现Simulink物理模型到UML计算模型的转换,完成CPS系统计算-物理实体一体化的协同仿真。
[0008]本发明要解决上述Simulink模型和UML模型的异构问题,提供一种从Simulink模型转换至UML模型的转换方法。
[0009]本发明解决其技术问题所釆用的技术方案,包括如下步骤:
[0010]I)建立Simulink模型的模型元素和UML模型的模型元素之间的对应关系
[0011]针对Simulink模型中的基本模型元素原子模块Primitive Block、子系统模块SubSystem Block、连线Line/Branch和端口 Port,通过ATL转换规则实现模型元素之间一一对应的转换,分别将其对应转换为UML模型的模型元素类Class、含子模块的类ClassContained Blocks、连接器 Connector、流端口 Flowport ;
[0012]2)建立Simulink源元模型架构和UML目标元模型架构
[0013]建立Simulink源元模型架构,Simulink源元模型包括原子模块和含子系统模块的元模型EBlock、端口的元模型EPort、连线的元模型ELine、参数的元模型EParameter和函数的元模型EFunction,建立Simulink源元模型架构,EBlock和EParameter之间釆用聚合关系,一个EBlock可以包含多个EParameter ;EBlock和EFunction之间釆用聚合关系,一个EBlock可以包含多个EFunction ;EBlock和EPort之间米用聚合关系,一个EBlock可以包含多个EPort ;ELine和EPort之间釆用聚合关系,一个ELine可以包含多个EPort ;
[0014]建立UML目标元模型架构,UML目标元模型包括类和含子模块的类的元模型EClass、连接器的元模型EConnector、流端口的元模型EFlowport、属性的元模型EAttribute和操作的兀模型EOperation ;建立UML目标兀模型架构,EClass和EAttribute之间釆用聚合关系,一个EClass可以包含多个EAttribute ;EClass和EOperation之间釆用聚合关系,一个EClass可以包含多个EOperation ;EConnector和EFlowport之间米用聚合关系,一个EConnector可以包含多个EFlowport ;
[0015]建立Simulink基本元素元模型的ecore结构:根据Simulink源元模型架构,定义ecore结构中包含五个类,分别是Block、Parameter、Function、Port、Line ;类Block中的变量有函数functions、输入参数srcBlkParams、输出参数dstBlkParams、流入端口 srcBlkPorts 和流出端口 dstBlkPorts,functions 的类型为 Function,srcBlkParams 和 dstBlkParams 的类型为 Parameter,srcBlkPorts 和 dstBlkPorts 的类型为 Port ;类 Parameter 的变量有 Parameter 所在模块 blockParameter,blockParameter的类型为Block,当Parameter是输入数据时,blockParameter表示数据来源模块 srcBlockParameter,当 Parameter 是输出数据时,blockParameter 表不数据到达模块dstBlockParameter ;类Function中的变量有Function所在模块blockFunction, blockFunction的类型为Block ;类Port中的变量包含Port所在模块blockPort和Port所关联的连线linePort,blockPort的类型为Block,当Port是输入数据,blockPort是输入模块srcBlockPort,当Port是输出数据,blockPort是输出模块dstBlockPort,linePort的类型为Line,当Port是输入数据,连线为输入连线srcLinePort,当Port是输出数据,连线为输出连线dstLinePort ;Line中的变量有连线相关联的端口 portLine,portLine的类型为Port,Line两端连接两个端口,根据数据输入还是数据输出,可分为输入端口 srcLnPorts和输出端口 dstLnPorts ;
[0016]建立UML基本元素元模型的ecore结构:根据UML目标元模型架构,定义ecore结构中包含五个类,分别是 Class、Attribute、Operation、Flowport 和 Connector ;类 Class中的变量有参数、操作、端口,参数的类型为Attribute,操作的类型为Operation,端口的类型为 Flowport ;类 Arrtibute 中的变量有属性所在类 classAttribute,classAttribute的类型为Class ;类Operation中的变量有操作所在类classOperation,classOperation的类型为Operation ;类Flowport中的变量有端口所在类classFlowport和Flowport相关联的连接器 conncetorFlowport,classFlowport 的类型为 Class, conncetorFlowport 的类型为Connector, Flowport方向的类型为EString,当Flowport是输入端口时,Flowport方向为“IN”,当Flowport是输出端口时,Flowport方向为“OUT” ;类Connector中的变量有 Connector 相关联的端口 f 1wportConnector, f 1wportConnector 的类型为 Flowport ;
[0017]3)根据Simulink源元模型和UML目标元模型确定Simulink模型转换至UML模型的转换方法
[0018]将Simulink模型中的Block使用ATL转换规则转换为UML中的Class,当Simulink模型中出现环时,将环视为一个Block,将Block中的参数、函数、端口及其Block本身的名字和类型信息,分别对应转换为Class中的属性、操作、流端口和Class的名字和类型信息;其中,Simulink参数到UML属性的转换,包括参数名称的转换和参数对应的类的信息的转换,包括 srcBlockParameter 和 dstBlockParameter 到 classAttribute 的转换;Simulink函数到UML操作的转换,包括操作操作名字的转换,和操作对应的类的信息的转换,包括blockFunction到classOperation的转换;Simulink端P到UML流端P的转换,包括端口名字的转换和端口方向的转换,其中,srcBlkPorts对应的流端口方向为“IN”,dstBlkPorts对应的流端口方向为“OUT” ;确定Simulink模型元素Line到UML模型元素Connector的转换,包括Line名字的转换,和Line连接的端口 srcLnPorts和dstLnPorts的转换,srcLnPorts和dstLnPorts的转换包括端口名字的转换和端口方向的转换,srcLnPorts对应的流端口方向为“IN”,dstLnPorts对应的流端口方向为“OUT”,在此实现了 Simulink模型到UML模型的转换,解决了 CPS领域计算过程和物理过程融合的问题。
[0019]本发明的有益效果是由于分析了 Simulink模型和UML模型的模型元素,确定了Simulink模型元素与UML模型元素的对应关系,简化了对复杂模型的分析:
[0020]1.本发明分析了 Simulink元模型和UML元模型的结构,设计了 Simulink源元模型和UML目标元模型的架构,简化了模型转换的复杂性;
[0021]2.本发明中的模型转换策略的目标模型为UML模型,由于Simulink擅长描述基于时间推进的连续过程,UML则用于描述基于离散事件驱动的过程,该模型转换策略的出现,解决了在CPS系统中,通用建模过程领域细化的问题以及计算过程和物理过程融合的问题。
[0022]3.同时解决了 Simulink在需求建模上的弱势,以及UML模型在表达控制,算法建模方面的缺陷,将两者优势互补,扬长避短,以提高模型开发的效率。
【专利附图】

【附图说明】
[0023]图1是模型转换的总体框架。
[0024]图2是Simulink基本元素元模型结构定义图。[0025]图3是UML基本元素元模型结构定义图;
[0026]图4是Simulink模型例图,其中,In1、In2表示输入端口,Outl表示输出端口,Linel> Line2、Line3、Line4、Line5 表不连线,Integrator 表不积分器模块,Integrator>Line2、Line4和加法器组成子系统模块SubSystem, Add表示原子模块,用来实现加法运算。
[0027]图5 是 UML 模型例图,itsSubSystem:SubSystem、itsSum:Sum 表不类,inAttributel、inAttribute2、inAttribute3、outAttributel、outAttribute2 表不属性,double为属性的类型,In1、In2、In3、Outl、0ut2表示流端口,Line2表示连接器。
[0028]图6是UML模型中类的状态图。其中(a)是UML模型例图中SubSystem的状态图,Active为状态的名字,tm(100)表示时间事件,每100ms触发一次,SubSystemFunctionO表示操作,(b)是UML模型例图中Sum的状态图,Active表示状态的名字,tm(100)表示时间事件,每IOOms触发一次,SumFunction O表示操作。
【具体实施方式】
[0029]下面结合附图和实施例对本发明进一步说明。
[0030]本发明涉及到一个Simulink到UML的模型转换工具,该模型转换工具对任意Simulink模型,都能自动将其转换到相应的UML模型。模型转换的总体框架如图1所示。
[0031]转换方法的步骤为:
[0032]I)建立Simulink模型的模型元素和UML模型的模型元素之间的对应关系
[0033]针对Simulink模型中的基本模型元素原子模块Primitive Block、子系统模块SubSystem Block、连线Line/Branch和端口 Port,通过ATL转换规则实现模型元素之间一一对应的转换,分别将其对应转换为UML模型的模型元素类Class、含子模块的类ClassContained Blocks、连接器 Connector、流端口 Flowport ;
[0034]该模型转换工具,基于ATL模型转换技术,要完成模型该转换工具,定义源语言Simulink与目标语言UML的元模型,元模型是以面向对象的思想描述一种语言的语法结构,从而使模型转换时,能根据其相应的语法元素,进行相对应的转换。针对模型转换的特点,使用了 KM3重新描述了 Simulink和UML的元模型语法结构。
[0035]2)建立Simulink源元模型架构和UML目标元模型架构
[0036]建立Simulink源元模型架构,Simulink源元模型包括原子模块和含子系统模块的元模型EBlock、端口的元模型EPort、连线的元模型ELine、参数的元模型EParameter和函数的元模型EFunction,建立Simulink源元模型架构,EBlock和EParameter之间采用聚合关系,一个EBlock可以包含多个EParameter ;EBlock和EFunction之间采用聚合关系,一个EBlock可以包含多个EFunction ;EBlock和EPort之间米用聚合关系,一个EBlock可以包含多个EPort ;ELine和EPort之间采用聚合关系,一个ELine可以包含多个EPort ;聚合关系如附图2所示。
[0037]建立UML目标元模型架构,UML目标元模型包括类和含子模块的类的元模型EClass、连接器的元模型EConnector、流端口的元模型EFlowport、属性的元模型EAttribute和操作的兀模型EOperation ;建立UML目标兀模型架构,EClass和EAttribute之间采用聚合关系,一个EClass可以包含多个EAttribute ;EClass和EOperation之间采用聚合关系,一个EClass可以包含多个EOperation ;EConnector和EFlowport之间米用聚合关系,一个EConnector可以包含多个EFlowport ;聚合关系如附图3所示。
[0038]建立Simulink基本元素元模型的ecore结构:根据Simulink源元模型架构,定义ecore结构中包含五个类,分别是Block、Parameter、Function、Port、Line ;类Block中的变量有函数functions、输入参数srcBlkParams、输出参数dstBlkParams、流入端口 srcBlkPorts 和流出端口 dstBlkPorts,functions 的类型为 Function,srcBlkParams 和 dstBlkParams 的类型为 Parameter,srcBlkPorts 和 dstBlkPorts 的类型为 Port ;类 Parameter 的变量有 Parameter 所在模块 blockParameter,blockParameter的类型为Block,当Parameter是输入数据时,blockParameter表示数据来源模块 srcBlockParameter,当 Parameter 是输出数据时,blockParameter 表不数据到达模块dstBlockParameter ;类Function中的变量有Function所在模块blockFunction, blockFunction的类型为Block ;类Port中的变量包含Port所在模块blockPort和Port所关联的连线linePort,blockPort的类型为Block,当Port是输入数据,blockPort是输入模块srcBlockPort,当Port是输出数据,blockPort是输出模块dstBlockPort,linePort的类型为Line,当Port是输入数据,连线为输入连线srcLinePort,当Port是输出数据,连线为输出连线dstLinePort ;Line中的变量有连线相关联的端口 portLine,portLine的类型为Port,Line两端连接两个端口,根据数据输入还是数据输出,可分为输入端口 srcLnPorts和输出端口 dstLnPorts ;
[0039]建立UML基本元素元模型的ecore结构:根据UML目标元模型架构,定义ecore结构中包含五个类,分别是 Class、Attribute、Operation、Flowport 和 Connector ;类 Class中的变量有参数、操作、端口,参数的类型为Attribute,操作的类型为Operation,端口的类型为 Flowport ;类 Arrtibute 中的变量有属性所在类 classAttribute,classAttribute的类型为Class ;类Operation中的变量有操作所在类classOperation,classOperation的类型为Operation ;类Flowport中的变量有端口所在类classFlowport和Flowport相关联的连接器 conncetorFlowport,classFlowport 的类型为 Class, conncetorFlowport 的类型为Connector, Flowport方向的类型为EString,当Flowport是输入端口时,Flowport方向为“IN”,当Flowport是输出端口时,Flowport方向为“OUT” ;类Connector中的变量有 Connector 相关联的端口 f 1wportConnector, f 1wportConnector 的类型为 Flowport ;
[0040]3)根据Simulink源元模型和UML目标元模型确定Simulink模型转换至UML模型的转换方法
[0041]将Simulink模型中的Block使用ATL转换规则转换为UML中的Class,当Simulink模型中出现环时,将环视为一个Block,将Block中的参数、函数、端口及其Block本身的名字和类型信息,分别对应转换为Class中的属性、操作、流端口和Class的名字和类型信息。其中,Simulink参数到UML属性的转换,包括参数名称的转换和参数对应的类的信息的转换,包括 srcBlockParameter 和 dstBlockParameter 到 classAttribute 的转换;Simulink函数到UML操作的转换,包括操作操作名字的转换,和操作对应的类的信息的转换,包括blockFunction到classOperation的转换;Simulink端P到UML流端P的转换,包括端口名字的转换和端口方向的转换,其中,srcBlkPorts对应的流端口方向为’ IN,,dstBlkPorts对应的流端口方向为’ OUT,。确定Simulink模型元素Line到UML模型元素Connector的转换,包括Line名字的转换,和Line连接的端口 srcLnPorts和dstLnPorts的转换,srcLnPorts和dstLnPorts的转换包括端口名字的转换和端口方向的转换,srcLnPorts对应的流端口方向为“IN”,dstLnPorts对应的流端口方向为“OUT”,在此实现了 Simulink模型到UML模型的转换,解决了 CPS领域计算过程和物理过程融合的问题。
[0042]以图4中的Simulink模型为例,具体转换方法为:
[0043]a、定义已知Simulink模型要转换到的UML模型的名称
[0044]b、确定Simulink参数所在的模块信息,获取模块的名字
[0045]判断是否定义了srcBlockParameter,若定义了,则通过 srcBlockParameter获取对应Block的名字,若没有,则通过dstBlockParameter获取对应Block的名字;否贝1J,需要自己定义;根据Simulink实施例,子Block SubSystem定义了srcBlockParameterInAttribute2,则 InAttribute2 对应的模块的名字为 SubSystem,如图5所示,类似,InAttributel对应的模块的名字为Sum。
[0046]C、确定Simulink函数所在的模块信息,获取模块的名字
[0047]判断是否定义了 blockFunction,若定义了,则通过blockFunction获取对应Block的名字,若没有,则不进行任何操作;否则,需要自己定义;根据Simulink实施例,子Block SubSystem 定义了 blockFunction SubSystemFunction,则 SubSystemFunction 对应的模块的名字为SubSystem,如图5所示。
[0048]d、将Simulink模 型中的Block转换为UML中的Class,当Simulink模型中出现环时,将环视为一个block。
[0049]获取Block中的所有参数、函数、端口及其Block本身信息(名字、类型),分别转换为Class中的属性、操作、流端口和Class的信息(名字、类型);如Simulink实施例中,BlockSubSystem转换为 UML 类 SubSystem,Sum 转换为 UML 类 Sum,类型为 Add。其中,Simulink 参数到UML属性的转换,包括参数信息(参数名称等)的转换,和参数对应的类的信息的转换,包括 srcBlockParameter 和 dstBlockParameter 到 classAttribute 的转换;如 SimulinkBlock SubSystem 中 srcBlkParams inAttribute2 和 dstBlkParams outAttribute2 转换为 UML Class Subsystem 中的 attributes inAttribute2 和 outAttribute2。 Simulink函数到UML操作的转换,包括操作信息(操作名字等)的转换,和操作对应的类的信息的转换,包括 blockFunction 到 classOperation 的转换;如 Simulink Block Sum 中 functionsSumFunction 转换为 UML Class Sum 中的 operationsSumFunction。Simulink 端口 到UML流端口的转换,包括端口信息的转换和端口方向的转换,其中,srcBlkPorts对应的流端口方向为“IN”,dstBlkPorts对应的流端口方向为“OUT”;如Simulink Block Sum的srcBlkPorts Inl 转换为 UML Class Sun^classFlowports Inl,并且 f 1wportDirection为“IN”。确定Simulink模型元素Line到UML模型元素Connector的转换,包括Line信息的转换,和 Line 连接的端口 srcLnPorts 和 dstLnPorts 的转换,srcLnPorts 和 dstLnPorts的转换包括端口信息的转换和端口方向的转换,srcLnPorts对应的流端口方向为“IN”,dstLnPorts对应的流端口方向为“0UT”,如Simulink中的Line2转换为UML ConnectorLine2,其 dstLnPorts In3 转换为 UMLClass 中的 flowports In3,f1wportDirection 为“OUT”。
[0050]e、将Simulink模型的兀模型和步骤2)中定义的Simulink ecore模型、UML ecore模型及由步骤3)中转换方法编写的转换规则加载到模型转换器中,配置运行环境,生成对应的UML模型的元模型
[0051]Simulink模型的元模型由Simulink模型得到。Simulink模型的数据在项目文件夹下以XML文件形式进行保存,所以需要通过处理XML文件,将其还原成为符合Simulink源元模型架构的.xmi文件。UML模型的元模型是符合UML目标元模型架构的.xmi模型描述文件。
[0052]为UML模型绑定状态图,根据Simulink模型数据信息设定采样时间,提取由Simulink/RTW(Real-Time Workshop,实时工具)生成的 Simulink 模型的 C/C++代码中的函数SimulinkFunctionO,添加到UML状态图中,如图6分别提取Simulink实施例模型的C/C++代码中的函数 SubSystemFunctionO 和 SumFunctionO。
【权利要求】
1.一种从Simulink模型转换至UML模型的方法,其特征在于包括如下步骤: 1)建立Simulink模型的模型元素和UML模型的模型元素之间的对应关系 针对Simulink模型中的基本模型元素原子模块Primitive Block、子系统模块SubSystem Block、连线Line/Branch和端口 Port,通过ATL转换规则实现模型元素之间一一对应的转换,分别将其对应转换为UML模型的模型元素类Class、含子模块的类ClassContained Blocks、连接器 Connector、流端口 Flowport ; 2)建立Simulink源元模型架构和UML目标元模型架构 建立Simulink源元模型架构,Simulink源元模型包括原子模块和含子系统模块的元模型EBlock、端口的元模型EPort、连线的元模型ELine、参数的元模型EParameter和函数的元模型EFunction,建立Simulink源元模型架构,EBlock和EParameter之间釆用聚合关系,一个EBlock可以包含多个EParameter ;EBlock和EFunction之间米用聚合关系,一个EBlock可以包含多个EFunction ;EBlock和EPort之间米用聚合关系,一个EBlock可以包含多个EPort ;ELine和EPort之间釆用聚合关系,一个ELine可以包含多个EPort ; 建立UML目标元模型架构,UML目标元模型包括类和含子模块的类的元模型EClass、连接器的元模型EConnector、流端口的元模型EFlowport、属性的元模型EAttribute和操作的元模型EOperation ;建立UML目标元模型架构,EClass和EAttribute之间釆用聚合关系,一个EClass可以包含多个EAttribute ;EClass和EOperation之间釆用聚合关系,一个EClass可以包含多个EOperation ;EConnector和EFlowport之间米用聚合关系,一个EConnector 可以包含多个 EFlowport ; 建立Simulink基本元素元模型的ecore结构:根据Simulink源元模型架构,定义ecore 结构中包含五个类,分别是 Block、Parameter、Function、Port、Line ;类 Block 中的变量有函数functions、输入参数srcBlkParams、输出参数dstBlkParams、流入端口srcBlkPorts 和流出端口 dstBlkPorts,functions 的类型为 Function,srcBlkParams和 dstBlkParams 的类型为 Parameter,srcBlkPorts 和 dstBlkPorts 的类型为 Port ;类 Parameter 的变量有 Parameter 所在模块 blockParameter,blockParameter 的类型为Block,当Parameter是输入数据时,blockParameter表示数据来源模块 srcBlockParameter,当 Parameter 是输出数据时,blockParameter 表不数据到达模块dstBlockParameter ;类Function中的变量有Function所在模块blockFunction, blockFunction的类型为Block ;类Port中的变量包含Port所在模块blockPort和Port所关联的连线linePort,blockPort的类型为Block,当Port是输入数据,blockPort是输入模块srcBlockPort,当Port是输出数据,blockPort是输出模块dstBlockPort,IinePort的类型为Line,当Port是输入数据,连线为输入连线srcLinePort,当Port是输出数据,连线为输出连线dstLinePort ;Line中的变量有连线相关联的端口 portLine,portLine的类型为Port,Line两端连接两个端口,根据数据输入还是数据输出,可分为输入端口 srcLnPorts和输出端口 dstLnPorts ; 建立UML基本元素元模型的ecore结构:根据UML目标元模型架构,定义ecore结构中包含五个类,分别是 Class、Attribute、Operation、Flowport 和 Connector ;类 Class 中的变量有参数、操作、端口,参数的类型为Attribute,操作的类型为Operation,端口的类型为 Flowport ;类 Arrtibute 中的变量有属性所在类 classAttribute,classAttribute 的类型为Class ;类Operation中的变量有操作所在类classOperation, classOperation的类型为Operation ;类Flowport中的变量有端口所在类classFlowport和Flowport相关联的连接器 conncetorFlowport, classFlowport 的类型为 Class, conncetorFlowport 的类型为 Connector, Flowport 方向的类型为 EString,当 Flowport 是输入端口时,Flowport 方向为“IN”,当Flowport是输出端口时,Flowport方向为“OUT” ;类Connector中的变量有Connector 相关联的端口 f 1wportConnector, f 1wportConnector 的类型为 Flowport ; 3)根据Simulink源元模型和UML目标元模型确定Simulink模型转换至UML模型的转换方法 将Simulink模型中的Block使用ATL转换规则转换为UML中的Class,当Simulink模型中出现环时,将环视为一个Block,将Block中的参数、函数、端口及其Block本身的名字和类型信息,分别对应转换为Class中的属性、操作、流端口和Class的名字和类型信息;其中,Simulink参数到UML属性的转换,包括参数名称的转换和参数对应的类的信息的转换,包括 srcBlockParameter 和 dstBlockParameter 到 classAttribute 的转换;Simulink函数到UML操作的转换,包括操作操作名字的转换,和操作对应的类的信息的转换,包括 blockFunction 到 classOperation 的转换;Simulink 端口 到 UML 流端口 的转换,包括端口名字的转换和端口方向的转换,其中,srcBlkPorts对应的流端口方向为“ IN”,dstBlkPorts对应的流端口方向为“OUT” ;确定Simulink模型元素Line到UML模型元素Connector的转换,包括Line名字的转换,和Line连接的端口 srcLnPorts和dstLnPorts的转换,srcLnPorts和dstLnPorts的转换包括端口名字的转换和端口方向的转换,srcLnPorts对应的流端口方向为“IN”,dstLnPorts对应的流端口方向为“OUT”,在此实现了 Simulink模型到UML 模型的转换, 解决了 CPS领域计算过程和物理过程融合的问题。
【文档编号】G06F17/50GK103514331SQ201310466291
【公开日】2014年1月15日 申请日期:2013年9月30日 优先权日:2013年9月30日
【发明者】王宇英, 周兴社, 梁东方, 李晓宇 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1