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