关键词:
形式化方法
Event-B方法
免疫模型
Rodin平台
摘要:
在当今互联网时代,社会信息化飞速发展,大部分行业都不断提高信息化水平。在准备开发一个软件时,根据软件工程的思路需要对系统的需求进行分析,弄清楚目标系统必须做什么的问题。然而分析的过程中不可避免的存在矛盾、二义性、不完整性和抽象层次混乱等问题。形式化方法是通过系统的数学规格说明来保证需求无二义性,并且可以通过数学的方法进行验证,来查找系统中的矛盾和不完整性,以此来保证规格说明的正确性。常见的形式化方法有B方法和Event-B方法,本文通过形式化方法Event-B对免疫系统进行开发模拟,采用Rodin工具建立免疫系统模型,从需求重写、模型多次精化到模型中义务证明的验证,在软件开发过程中安全平滑地过渡到程序设计与编码阶段,保证软件开发前期的正确性与一致性。免疫系统的学习与研究可以加深对生物体中的机制的认识,免疫系统也可以对网络安全中的入侵、分布式中的一致性问题等提供思路。本文以免疫系统作为需求,采用Event-B形式化方法建立免疫系统模型,并在Rodin平台下对该模型从需求分析到模型验证,通过结合UML和Swing技术将系统开发完成,具体开展了如下工作:第一,阐述免疫系统中的免疫机制。根据Event-B形式化方法的建模过程,首先创建免疫系统初代抽象免疫系统模型,之后根据每一层细胞的特性进行精化,第一次精化引入了细胞生长的概念,第二次精化引入了免疫应答机制的概念,第三次精化引入了记忆细胞的二次免疫应答的概念,通过多次逐步精化的方式不断细化模型,使得模型符合生物学中的免疫系统。第二,研究Rodin中的证明规则、证明策略和证明类型等一些规则和方法,结合免疫系统模型逐层进行。通过Rodin证明了大部分证明义务,部分未完成的证明通过手动证明完成整个免疫系统的验证。第三,通过结合UML和Swing技术分析精化验证后的免疫系统模型,精化验证后的模型没有语义的二义性等错误。通过软件工程的思想进行详细设计,使用Java编程语言进行编写工作,实现了带有图形界面的免疫系统模型,可视化模拟病毒入侵到抗体对抗的过程,并实时统计不同时期细胞的数量的关系。实验运行结果得到与生物学免疫应答规律一致的结果,可供相关的免疫系统研究学习人员模拟教学使用。总而言之,通过形式化方法的流程去对免疫系统的需求进行精化验证,将精化验证后的模型结合UML和Swing技术进行实现,通过设置的相应细胞的参数进行模拟,发现其结果与生物学中的规律基本保持一致,验证了系统的合理性和可使用性。