关键词:
形式化方法
UML
Z
B方法
转换框架
ProB
Z/EVES
摘要:
形式化方法(Formal Method)是基于严格数学基础的,可以得到非歧义的形式化描述规约,在软件工程领域中引入严格的数学机制,对于提高软件可靠性具有积极作用。形式化技术的使用要求开发者具备一定的数学基础,所描述的规约需要根据严格的数学表示法,这给软件开发者增设了较高的技术门槛。同时,形式化规约可读性不强,表达不够直观,使得与用户交流出现困难,以上种种原因限制了形式化方法的研究和应用。
UML(Unified Modeling Language)语言由于采用直观的图形表示法为系统进行建模,一直以来作为软件工程中通用性较强的工业标准被广泛使用。但由于UML诸多概念均依据非形式化的语义,难以实现对目标模型精确的定义,由此可能带来表达的模糊性或者二义性,从而增加了分析和验证所得到描述的形式化规约的难度。
UML和形式化方法存在互补性,形式化方法可以弥补UML中精确语义上的欠缺,进而保证了由需求分析所得到的系统模型在开发过程中的一致性。同时,UML可以拓宽形式化方法的应用领域,提高形式化方法在软件开发过程中的实际效能。总之,将二者相结合应用于软件开发领域具有显著的积极意义。
本文中,主要针对UML中的类图及状态图,给出其UML语义到B方法及Z规格之间的映射转换。首先,软件开发者通过UML类图及状态图进行模型的构建,然后根据本文所提出的转换框架,构造相应系统模型的B、Z形式规约,最后使用相应方法辅助工具动态分析,进而通过模型检测、定理证明等方式对相应系统进行验证。
最后,本文结合电梯系统实例及LR(1)文法,具体阐述了UML模型到B、Z方法形式规约的转换框架,并结合工具ProB和Z/EVES自行搭建实验环境进行了实例的模拟以验证该方案的可行性和有效性。