文档详情

静态代码和模型检测一致性的设计研究.doc

发布:2017-02-28约2.23千字共4页下载文档
文本预览下载声明
静态代码和模型检测一致性的设计研究   摘要:针对代码与模型之间的不一致性问题,本文提出了一种基于 UML模型和Java代码之间的一致性检测方法。首先,给出了怎样检测模型与代码一致性的步骤,对模型检测中所要用到的模型和代码进行预处理,其次设计出模型代码一致性检测的框架,在本文的后面重点研究静态的模型与代码一致性。对静态检测设计了算法,进行了一致性验证研究。   关键词:一致性检测 静态代码 预处理   中图分类号:TP39 文献标识码:A 文章编号:1007-9416(2016)05-0000-00   1 模型与代码一致性检测的基本流程   在这篇文章中,UML模型的一致性和Java代码检测是基于两个假设:(1)要保证每个模型的UML是对的,要保持一致性;(2)在UML模型与Java代码的信息不一样的时候,这个时候UML模型就会输出相关的报告。   1.1 UML模型预处理   1.1.1 UML模型的形式化定义   UML模型具有半正式的相关特性,这个特性就没办法直接在UML模型中获取相关的的信息。导致,UML模型的形式化定义就要用数学符号语言进行定义。   (1)类元组(类,)是一种面向对象的类图表示,在这个类图中,一个图可以表示为一个元祖,而每个类图又可以分为好多个类的元组构成的集合。   (2)序列图六组形式化定义一个,味精,是一个对象集合。的对象是序列图M = { msg1 msg2,……是一家集新闻,MSGM }。消息味精定义如下:味精:= },返回类型   (3)发送和接收消息。味精新闻,发送事件、接收事件常说。   (4)消息集上的全序关系,说新闻的轴纵向时间序列图先后。   (5)E M函数关系的味精,味精(E)∈E M说事件对应的信息。6 obj E O函数关系,obj E(E)∈O表示事件对应。像所有事件的集合的。   1.1.2 UML类图信息解析   一个类图包含的相关信息,对xml文件是需要说明他的类图和类的名称,类的属性的,以及和其他有关的信息。类图要对类之间的关系进行分析,还要分析他们的转换属性。四种模式的关系。   1.2 代码静态信息预处理   静态结构的Java代码他所包含的信息都是基本信息,比如:类的名称、类的属性、以及类的方法与其他有关的信息。Jave代码静态信息提取的主要思想是通过词法分析和语法分析来获取Java类的名称、属性序列和方法序列,并将这些信息存储到上面定义的数据存储结构中   2 模型与代码一致性检测框架的设计   通过对UML模型与Java代码的分析提出了UML模型与Java代码一致性性检测框架。该框架的输入为Java代码和UML模型信息,输出为一致性检测报告;框架中的主要过程有信息预处理、静态一致性检测、动态一致性检测等功能[1]。   UML模型和Java代码一致性测试框架的具体过程:首先,分别对Java代码和UML模型信息预处理,预处理的Java代码主要通过词法分析和语法分析,预处理的UML模型是基于XMI文件解析的模型;然后,Java代码预处理结果Java类和UML模型预处理UML静态信息,例如UML模型和代码一致性测试输入,根据检测的一致性算法一致性测试,如果不一致输出测试报告,停止测试,否则继续;最后,Java代码预处理结果Java调用图CG和UML序列图构造顺序调用图SD - CG作为UML模型和动态一致性测试代码输入。   3 静态模型与代码的一致性检测   3.1 静态检测一致性的设计   UML模型和Java代码一致性测试的静态信息,是一致性的基础模型和系统测试。静态信息包括类名、类属性集和类的方法。UML类信息和Java类信息一致性检测:首先,UML类的检测数量和类在Java类的数量是一致的,不一致的信息返回如果不一致,一致性测试结束,否则继续;然后一个UML类和Java类根据类的名称进行排序,最后排序的列顺序检测测试UML类关系返回Java类信息是一致的和不一致的信息如果不一致,测试结束。   3.2 静态检测   模型和代码之间的静态信息检测是UML模型的基础和Java代码之间的一致性测试,是动态交互信息检测的前提。静态信息的检测包括检测类的名称、类的属性集合,还有类的方法集合等,表1展示了二者之间的映射关系。   一致性测试的UML类图信息预处理后预处理后的模型与Java代码的Java类信息作为输入,静态测试,反过来,测试类,类的名称、类的属性、测试类的方法、参数列表的一致性的检测方法,万一有不一致的情况,那就直接输出检测的测试报告,立刻停止测试,默认为为默认值(defaultValue)没有不一致的信息警告)那就不终止静态信息的一致性检测,最后就会输出一致性检测的测试结果,生成
显示全部
相似文档