[发明专利]一种验证UML模型中动态行为与时序契约的一致性的方法无效
| 申请号: | 200910047165.3 | 申请日: | 2009-03-06 |
| 公开(公告)号: | CN101673198A | 公开(公告)日: | 2010-03-17 |
| 发明(设计)人: | 刘静;杜德慧;谢越;尹玲;宫学强;曹虹华 | 申请(专利权)人: | 华东师范大学 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 上海伯瑞杰知识产权代理有限公司 | 代理人: | 傅戈雁 |
| 地址: | 200062*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 验证 uml 模型 动态 行为 时序 契约 一致性 方法 | ||
技术领域
本发明属于软件开发技术领域,尤其涉及一种验证统一建模语言UML模型中动态行为与时序契约的一致性的方法。
背景技术
面向服务架构(SOA)是一种架构模型,它可以根据需求通过网络对松散耦合的粗颗粒应用组件进行分布式部署,组合和使用。服务层是SOA的基础,而SOA服务必须由契约,接口和实现组成。而契约是服务共享和重用得以实现的基础,契约式设计和SOA的结合为软件开发和重用带来了诸多益处。
统一建模语言(UML)是现今分析和设计软件系统最为常用和有效的方法之一,通过动态模拟模型的行为,不但可以准确的描绘系统需求,还可以通过验证方法在建模的初期发现模型中存在的问题,这也是模型驱动式(Model Driving)软件开发的目标所在。如何能够让UML模型满足某些特性而又不出现错误则是设计时应该考虑的一个重要问题,而模型检测是一种能够非常有效提高系统可靠性的自动化技术。
模型检测主要分三部分的工作,其中包括:对系统进行形式化建模,精确表达系统约束以及验证模型是否满足给定约束。
状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应,状态图的创建通常是为了研究类,角色,子系统或者组件之间的复杂关系。状态图用于显示状态机(状态机指定对象所在的状态序列),使对象达到这些状态的事件和条件,已经达到这些状态时所发生的操作。
顺序图(Sequence Diagram)同样是种动态建模方法,它表示对象间消息传递的顺序关系,它可以表达成对象动态行为的时间契约,很好的约束模型中对象间的动态行为。
研究状态图和顺序图之间的一致性关系可以很好的分析模型中对象的动态行为是否满足其定义的时间契约,从而有效分析UML动态模型间的关系,对于保证软件开发初期需求模型的正确性和可重用性有着很大的作用。
系统属性的描述方法有很多种,其中时序逻辑被证明能够很有效地描述系统属性,其中最为常用的是线性时序逻辑(LTL)。它能有效地描述模型中的时序和逻辑关系。模型检测工具SPIN能够有效地对并发系统进行建模并检测,但由于其建模语言PROMELA是一种类C的代码语言,因此通过PROMELA来精确描述系统并不是一件很容易的事情,而这是UML在模型描述上的优势所在,同时将UML图形转换为PROMELA代码也成为模型检测的有效手段之一。
然而,目前没有一种通用的办法将模型的动态行为和时间契约用模型验证工具有效联系起来,给基于UML模型中的动态行为与时序契约一致性检测带来了很大困难。
发明内容
本发明的目的是提供一种验证统一建模语言UML模型中动态行为与时序契约的一致性的方法,解决软件开发需求设计阶段所出现的模型不一致性的问题,为面向服务架构SOA和契约式设计的组合运用提供模型级的标准化技术解决方案。
本发明的技术方案是,一种验证UML模型中动态行为与时序契约的一致性的方法,其特征在于,包括以下步骤:
A1,根据UML标准建模,包括生成UML状态图和UML顺序图,保存图形的元模型;
A2,对所建模型的动态行为,实现UML状态图到PROMELA代码的映射;
A3,构建所建模型时序契约,实现UML顺序图到LTL时态逻辑公式的映射;
A4,利用模型验证工具SPIN对所述PROMELA代码和所述LTL时态逻辑公式进行验证;
A5,分析返回的所述的SPIN验证结果。
所述步骤A1中生成的UML状态图具有的属性包括触发时间、迁移动作和状态图守卫条件,UML顺序图具有的属性包括顺序图守卫条件和到达状态。
所述步骤A2包括以下步骤:
B1,遍历所述UML状态图得到所述保存的状态图元模型;
B2,抽取所述的状态图元模型中的动态行为,转化为层次状态机;
B3,根据所述的层次状态机使用PROMELA语言建模,得到PROMELA代码。
所述步骤A3包括以下步骤:
C1,遍历所述UML顺序图得到所述保存的顺序图元模型。
C2,构建所建模型的时序契约,生成所述的LTL时态逻辑公式。
所述步骤A4包括以下步骤:
D1,将所述状态图转换得到的PROMELA代码保存在SPIN包下的pan in文件中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910047165.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:NELL-1增强的骨矿化作用
- 下一篇:脉络膜血管新生的疫苗疗法





