基于OOAPN模型的代码逆向生成*

2014-09-07 01:20李金友于江涛
通化师范学院学报 2014年2期
关键词:集成化面向对象代数

李金友,于江涛

(通化师范学院计算机学院,吉林通化 134002)

Petri网(Petri Net)是一种高效的建模和分析工具,近年来得到了快速的发展.但是Petri网是一种纯理论工具,并不能适合所有领域的应用需求.很多学者针对不同领域的研究对象,提出了各种各样改进的Petri网理论.如近年来得到普遍应用的随机Petri网、着色 Petri网、模糊 Petri网、代数 Petri网、面向对象Petri网和面向对象代数Petri网模型等.

面向对象代数Petri网模型OOAPN(Object Oriented Petri Net)模型支持面向对象的概念,支持面向对象软件系统分析和建模,把代数理论、Petri理论以及面向对象方法和技术结合在一起,为形式化和智能化软件工程环境的建立提供了一种有效方法,可以提高并发系统动态建模和复杂系统的高级建模的能力,实现系统的动态建模和不确定建模,完善现有建模方法的不足.

1 OOAPN模型建模工具系统分析

OOAPN模型建模工具旨在为人们提供一套科学的工程化的软件开发工具系统,有效的管理分析、设计、编码和测试的全过程,生成高效、正确的代码.集成化思想与建模工具紧密地结合在一起,形成了具有强有力的逆向代码自动生成的可编程和测试的集成化建模工具.OOAPN建模工具主要作用有:一个具有专用资源和早期查错功能的交互式开发环境、对软件的开发和维护过程中的许多环节实现了自动化、通过一个强有力的图形接口,实现了直观的程序设计.

基于OOAPN模型的建模工具,提出了模型驱动模板MDT(Model Driven Template)设计模式.模型驱动模板MDT(Model Driven Template)设计模式主要包含两个要素:模型和模板.而这两个要素都是抽象的,即在实际开发中,可根据需要采用不同的模型和模板.在建模系统中,模型采用的是OOAPN模型,模板采用的是Cheetah Templates模板引擎,在中心信息库CIL(Center Information Library)中,用逆向代码生成器,利用自定义的模式,匹配出符合要求的格式数据,再经过逆向代码生成器的加工转换,使其转变成符合nameSpace数据结构类型的数据,再由CIL加工厂还原成OOAPN模型.系统运行界面如图1所示.

图1 是系统运行的界面

2 逆向代码自动生成过程

逆向代码的自动生成的主要构件是正则表达式,利用自定义的模式,匹配出符合要求的格式数据,再经过逆向代码生成器的加工转换,使其转变成符合nameSpace数据结构类型的数据,再由CIL加工厂还原成OOAPN模型.其系统结构图如图2所示:

3 逆向代码自动生成实现

首先,构造自定义的正则模式,以便匹配出符合要求的代码,进行下一步的转换.如自定义的匹配函数(方法、事件)的正则模式:

其次,由逆向代码生成器转换成类型nameSpace数据结构类型的数据.如向一个已经匹配的接口添加函数(方法、事件):

再次,由中心信息库CIL(Center Information Library)对nameSpace加工转换成OOAPN模型.如向已经在画布存在的接口图形的一个函数添加参数模型:

最后,由中心信息库CIL(Center Information Library)对nameSpace加工转换成有 效的OOAPN模型.

图2 逆向代码自动生成过程

4 结语

集成化思想与建模工具紧密地结合在一起,形成了具有强有力的逆向代码自动生成的可编程和测试的集成化建模工具,有效的管理分析、设计、编码和测试的全过程,生成高效、正确的模型.

:

[1]潘洪军.面向对象代数 Petri网[J].吉林大学学报,2006(3).

[2]克莱普,等著.解析MDA[M].鲍志云,译.人民邮电出版社,2004.

[3]袁崇义.Petri网原理与应用[M].北京:电子工业出版社,1998.

[4]贾立新,薛钧义,茹峰.采用模糊Petri网的形式化推理算法及其应用[J].西安交通大学学报,2003(12).

[5]丛佩政,任爱华.基于面向对象Petri网的模型驱动开发方法的研究[J].微计算机信息,2006(28).

猜你喜欢
集成化面向对象代数
两个有趣的无穷长代数不等式链
Hopf代数的二重Ore扩张
什么是代数几何
面向对象方法在水蓄冷PLC编程中应用分析
博格华纳向集成化转型
基于电子商务的计算机软件系统集成化维护思路探索
基于面向对象的车辆管理软件的研制与开发
集成化供应链项目转变药学管理模式
大型国际活动报道的集成化呈现
面向对象的SoS体系结构建模方法及应用