一种形式化建模中活性属性转化方法研究

来源 :计算技术与自动化 | 被引量 : 0次 | 上传用户:marticabi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:现有的安全关键系统开发的方法一般是在系统开发后期使用测试的方法对系统需求进行验证,这种方法一方面需要耗费大量时间与人力,另一方面测试并不能保证系统中不存在错误。使用形式化的开发方法可以将软件需求添加到模型中,使用数学证明的方法来验证所要建立的系统是正确的,即在开发早期就能发现需求与系统设计间可能存在的问题,能够有效地减少后期发现错误所带来的损失。在现有需求工程方法KAOS方法转化到Event-B模型的方法基础上,对其中活性属性丢失问题进行研究,并给出了解决方法。
  关键字:安全关键系统;KAOS;Event-B;活性;模型检测
  中图法分类号:TP311 文献标识码:A
  Abstract: The traditional verification method of safety-critical system usually happened in the late stage of system development.On one hand,test stage requires a lot of time and effort,moreover,traditional test technique does not guarantee that there is no error in the system.On the other hand,formal development methods use mathematic language to describe requirements,and then use various model checking methods to prove that the model which contains properties of requirements is correct.So we can find design error in early development stage,and this can reduce the losses caused by late errors.In this paper,we discuss the deletion of liveness property in several translation method from goal-oriented method to Event-B method,then we give a solution.
  Keywords:safety-critical system;KAOS;Event-B;liveness;model checking
  1 引 言
  安全关键系统是指系统运行错误会导致一系列危及生命财产安全等后果的计算机系统。常见的安全关键系统如车载自动驾驶系统、医疗系统、航空控制系统等,這些系统在运行过程中一旦发生错误,造成的潜在危害往往是难以预估的[2]。因此,如何确保安全关键系统在运行过程中正确行使其功能是目前软件工程领域中研究的一个热点。
  在软件工程领域中,形式化方法通过使用严格数学语言对需求进行描述和建模,并且使用证明的方法验证需求和软件模型之间的一致性和正确性。对于安全关键系统开发,使用形式化的语言来描述文本需求有助于消除自然语言的二义性,提高需求规范的准确性。Event-B是一种基于一阶逻辑和集合论的用于对需求进行规约验证的形式化建模方法[1]。精化是Event-B区别于其它形式化方法的主要特征,即根据需求逐步向模型中添加细节使其完善。同时,早期模型中已经被证明的安全性属性在后续精化过程中可以得到保持。
  然而,由于使用Event-B方法时需要从普通文本需求中获取形式化的需求规范,对开发人员的专业背景要求较高。针对这一问题,目前常用方法是使用需求工程方法对文本需求进行预处理,将复杂需求分解成若干子需求,并且以半形式化方式进行表达,然后将半形式化的需求规范转化到Event-B模型中,通过这种方式可以有效降低需求规范的获取难度。KAOS方法是一种经典的面向目标的需求工程方法,现有的研究是将KAOS方法中的目标模型(goalmodel)转换到Event-B组件中,如[3,4,6,10]。然而,这些方法都只是将目标模型中的功能性需求及安全属性转到Event-B中,由于目标模型中的目标(goal)同样表达了活性属性,使得现有的方法在转化过程中会出现活性属性丢失的问题[5,7,9]。本文在现有方法的基础上,给出了目标模型转化到Event-B模型的过程中保持其活性属性的方法。
  结构如下:第2节介绍KAOS方法中的目标模型和Event-B的相关理论知识;第3节给出目标模型中目标的活性属性到Event-B模型的相关转化规则;第4节通过电梯实例介绍本文方法的有效性;第5节总结及未来工作的展望。
  2 相关理论
  2.1 KAOS方法
  KAOS方法是一种面向目标建模和分析的需求工程方法[8]。KAOS方法包含5种模型用于描述需求文本,本文主要研究其中的核心模型,即目标模型(goalmodel)。在目标模型中,目标(goal)定义了系统为了实现对应需求应该完成的功能,可以分为实现目标(achievegoal)和维持目标(maintaingoal),分别表示功能性需求和安全性需求。实现目标是指预期系统最终将要实现的属性,形如:{If (Cur_Condition) then eventually (Tar_Condtion)}。维持目标则是指在某些条件下系统中定义的需要一直保持的属性,形如{If (CurrentCondition) then always not (BadCondition)}。
  在目标模型中,上层的抽象目标可以分解精化为若干个子目标,子目标和上层抽象目标之间通过三种关系联系,分别为AND分解,OR分解,MileStone分解。   其中,AND分解表示当且仅当所有子目标实现时,上层抽象目标可以被满足;OR分解表示子目标中的一个实现时,上层抽象目标可以被满足;MileStone分解则表示子目标按照一定次序实现时,上层抽象目标可以被满足。
  2.2 Event-B方法
  为了验证模型中的属性是否满足需求规约,以及精化后的模型与上一层模型是否一致,Event-B在建模过程中需要对一些证明义务(proofobligations)进行证明。这些证明义务主要包括不变式保持(INV)、无死锁性(DLF)、胶合不变式。INV表示当前模型中的事件所引起的状态变迁应该满足不变式的要求,DLF要求模型中不存在死锁,胶合不变式则表示精化后模型中的事件与抽象模型应该保持一致。
  3 目标中的活性属性到Event-B中的表达
  在2.1节中,目标goal分为两种类型,分别为实现目标和维持目标,目前常用的转化方法中如[3,4,6,10]一般是直接将实现目标显式地转化到Event-B中的事件event中,即每一个目标对应于Event-B模型中的一个事件。然而,实现目标同时也通过eventually修饰符来表达在将来某个时间点目标状态最终会到达这样一种活性属性。现有的转化方法一般忽略了实现目标中的活性属性的表达,考虑到目标模型中的目标ag可以被分解为多个子目标如g1、g2,对应转化到Event-B模型中的事件evt1、evt2,存在这样的一组事件执行序列{evt1,evt1,…},使得事件evt2无法得到执行,ag中的目标状态Tar_Condition无法达到。可以看到,在转化过程中,目标ag中的活性属性丢失。
  在Event-B模型中,事件event表达状态变迁行为的同时,自身具有三种不同的属性{ordinary,convergent,anticipated}。Ordinary属性表示事件的执行次数不受约束,convergent属性表示事件的执行次数是收敛的,anticipated属性表示事件的执行次数不受约束,需要通过后续精化进行约束。
  事件的收敛通过变式variant进行约束,变式是一组包含常数(x∈N)或有限集合(x∈P(α))的表達式。变式会随着convergent事件的执行递减,当变式的值为零或集合为空时,convergent事件在后续事件链中停止执行。
  4 结束语
  使用KAOS方法将文本需求进行分解建立目标模型,并且将需求改写转化到Event-B模型中对应元素,可以有效减少开发人员的工作量。目前现有的方法在转换过程中只考虑到需求中的安全性属性和功能性属性,对活性属性的转化有所缺失。本文在现有方法的基础上给出了将目标模型中目标的活性属性添加到Event-B模型的方法,并且结合电梯实例说明了该方法的有效性。
  由于在Event-B的精化过程中,已经标记为convergent属性的事件可能会在精化过程中分解为若干子事件,导致之前保持的活性属性可能丢失,因此在之后的研究中将会关注Event-B精化过程中的活性属性保持研究。
  参考文献
  [1] ABRIAL J R.Modeling in event-b:system and software engineering[M].Cambridge University press,New York,2010.
  [2] 黄志球,徐丙凤,阚双龙.嵌入式机载软件安全性分析标准、方法及工具研究综述[J].软件学报,2014,25(2):200—218.
  [3] LALEAU R,SEMMAK F,MATOUSSI A,et al.A first attempt to combine SysML requirements diagrams and B[J].Innevations in Systems
其他文献
数学学科本身所具备的较强的抽象性、较高的逻辑性、较严密的推理性,使得不少学生望而生畏。特别是随着学生年龄的增长,数学知识的深入,使我们的数学课堂越来越沉闷、无味。那么
<正>Cooper美国固铂轮胎于美国市场近日首发了全新的Discoverer STI Pro系列,以扩充其最畅销的越野轮胎产品线。最新的Discoverer SIT Pro系列具有强劲的牵引力、坚韧性和耐
PU文本分类(以正例和未标识实例集训练分类器的分类方法)关键在于从 U(未标识实例)集中提取尽可能多的可靠反例,然后在正例与可靠反例的基础上使用机器学习的方法构造有效分类器,而
2011年是南昌市的“发展提升年”.对于市墙革办来说也是极不平凡的一年。根据市工信委的统一部署.市墙革办开展了具有创新特色的“一优三提升”活动:服务质量更优;提升服务水平、
巴彦淖尔市金园环保建材科技有限公司年产135万吨尾矿渣环保抗震结构砖生产线近日在乌拉特后旗青山镇建成投产.该项目是工业废渣再生资源综合利用项目,年利用铁矿尾矿渣85万吨,
研究膨胀珍珠岩保温板与胶粘剂的拉伸粘结强度。结果表明,胶粘剂与膨胀珍珠岩保温板的拉伸粘结强度低于与EPS板的拉伸粘结强度:膨胀珍珠岩保温板外墙保温系统不适宜用JGJ144—2
摘要:在分析现有访问控制策略研究的基础上。基于模糊负反馈算法,创建一个安全策略可演化的访问控制系统。通过对角色、权限以及安全策略的模糊化处理及分析,给出安全策略的描述方法。定义安全偏序关系,并在此基础上给出安全策略调整的方法,探讨算法调整时机。对用户的访问权限进行判断,在此基础上引入控制论的负反馈原理,对安全策略进行求精、演化。并通过实验初步验证算法的效果。  关键词:模糊算法;负反馈;安全策略:
本刊讯《全国游牧民定居工程建设“十二五”规划》经国务院常务会讨论通过。“十二五”时期,要深入推进游牧民定居工程,基本解决尚未定居的24.6万户、115.7万游牧民定居问题,促进
摘 要:通过计算机实现对文本主题合理提取、组合的过程,很多学者对此有着不同的研究。通过空间向量模型、文本聚类、遗传算去等成熟的技术尝试一种新的文本摘要方法。实验中通过空间向量模型的技术将文本表示成向量形式,通过聚类算法计算文本各种聚类的可能性,利用遗传算击全局寻优的特点对聚类结果进行计算、组合得到最优的文本摘要划分,最后通过实验,并让专家对实验结果进行打分证明方法的有效性。  关键词:空间向量模
新课程改革和素质教育的不断实施,给小学美术教学赋予了新的使命,提出了更高的要求。与传统学科相比,美术学科在培养学生创造能力和开放思维方面具有无可比拟的优越性。