The invention discloses a method for simulating and validating a SysML model, which involves the following steps: (1) defining the SysML module definition diagram and the rules for converting the activity diagram elements to the Modelica model elements; (2) parsing the XMI document of the module definition diagram as input to obtain the module values and the module values in the module definition diagram. Attribute information; (3) parse the XMI document of activity diagram as input to obtain the information of activity partition, activity parameter, node and edge; (4) transform the information of acquired SysML activity diagram and module definition diagram into Modelica model according to the transformation rules; (5) import the transformed Modelica model into simulation tool according to the transformation rules. In the activity diagram, the conditional expression on the node and the monitoring value on the covered branch are determined to determine the simulation parameters, and then the simulation verification is carried out. By simulating and verifying the SysML model, the invention can verify the specific business requirements of the system in the early development stage, thereby early discovering and correcting errors.
【技术实现步骤摘要】
一种将SysML模型进行仿真验证的方法
本专利技术属于软件模型验证领域,具体涉及将SysML模块定义图和活动图转换为Modelica模型并利用OpenModelica进行仿真的方法,通过对早期的SysML模型进行仿真来验证系统的业务逻辑。
技术介绍
随着现代软件系统的复杂程度不断递增,系统建模过程变得更加复杂和难以把握。除此之外,如何在系统开发早期阶段对系统的抽象模型进行分析验证也成为了一个研究的难点。基于模型的开发技术优点之一就是可以利用各种方法进行软件正确性和可靠性验证。常见的方法可以分为仿真验证和形式化验证,其中形式化验证方法又可以分为定理证明和模型检测。定理证明是构建一个形式化的公理系统,包括推理规则。使用严格的推导证明来验证软件的正确性。定理证明推导过程中虽然一部分可以做到自动化,但在多数情况下还是需要人工的参与。因此,它不适合用于大型软件系统的性质验证。模型检测是比较常用的方法,通过穷尽系统状态空间进行相关性质的检验,但它的主要难点在于解决状态空间爆炸的问题。仿真验证是相对简便有效的方法,通过对系统模型仿真并分析仿真结果来验证系统性质。Simulink被广泛用来对系统模型进行仿真,其方法是建立严格的数学模型。它是根据控制工程中数据流转换的规律来建模、仿真,需要对模型进行手工推导和分解。这无疑增加的了系统验证时的工作难度,而且效率较低。基于Modelica语言的建模与仿真可以利用微分方程组对系统的行为进行描述并实现仿真运行,支持面向对象、非因果的连续与离散混合建模仿真。另外,相对于Simulink,Modelica基于方程的非因果建模仿真可以将使 ...
【技术保护点】
1.一种将SysML模型进行仿真验证的方法,其特征在于,该方法包括以下具体步骤:步骤1:定义SysML模块定义图以及活动图元素到Modelica模型元素的转换规则;步骤2:以模块定义图的XMI文档为输入进行解析,获取模块定义图中基本元素即模块(block)以及模块的值属性信息;步骤3:以活动图的XMI文档为输入进行解析,获取活动图基本元素即活动分区、活动参数、节点以及边的信息;步骤4:根据转换规则将获取的SysML活动图和模块定义图的基本元素转换成Modelica模型中的元素;步骤5:将转换后的Modelica模型导入仿真工具,根据活动图中决定节点上的条件表达式和所覆盖分支上的监值确定仿真参数,之后进行仿真验证。
【技术特征摘要】
1.一种将SysML模型进行仿真验证的方法,其特征在于,该方法包括以下具体步骤:步骤1:定义SysML模块定义图以及活动图元素到Modelica模型元素的转换规则;步骤2:以模块定义图的XMI文档为输入进行解析,获取模块定义图中基本元素即模块(block)以及模块的值属性信息;步骤3:以活动图的XMI文档为输入进行解析,获取活动图基本元素即活动分区、活动参数、节点以及边的信息;步骤4:根据转换规则将获取的SysML活动图和模块定义图的基本元素转换成Modelica模型中的元素;步骤5:将转换后的Modelica模型导入仿真工具,根据活动图中决定节点上的条件表达式和所覆盖分支上的监值确定仿真参数,之后进行仿真验证。2.根据权利要求1所述的方法,其特征在于,步骤1中,SysML模块定义图以及活动图元素到Modelica模型元素的转换规则为:(i)模块定义图的中的每一个模块对应一个Modelica模型,模块拥有的值属性对应Modelica模型声明区的变量、参数;(ii)活动图中每一个活动分区对应一个Modelica模型;基本动作以及发送信号动作转换为方程;等待时间动作节点根据不同类型的时间事件分别进行转换,绝对时间事件的等待时间动作转换为when语句,相对时间事件的等待时间动作需要在声明区先声明一个Timer类型实例,之后转换为if语句;接受事件动作转换为Modelica模型中的if语句;决定节点与其分支转换为if语句;合并节点与决定节点组合形成的循环结构转换为while语句。3.根据权利要求1所述的方法,其特征在于,步骤2中,模块定义图XMI文档所需要解析的为:<packagedElement>标签,<ownedAttribute>标签,<defaultValue>标签,<type>标签。4.根据权利要求1所述的方法,其特征在于,步骤3中,活动图XMI文档所需要解析的为:<group&am...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。