CN110968436B - 基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法 - Google Patents
基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法 Download PDFInfo
- Publication number
- CN110968436B CN110968436B CN201911051831.0A CN201911051831A CN110968436B CN 110968436 B CN110968436 B CN 110968436B CN 201911051831 A CN201911051831 A CN 201911051831A CN 110968436 B CN110968436 B CN 110968436B
- Authority
- CN
- China
- Prior art keywords
- model
- event
- modeling
- operating system
- communication mechanism
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于Event‑B方法的微内核操作系统进程间通信机制的形式化建模和验证方法,包括:需求设计分析,根据基于Event‑B方法的微内核操作系统进程间通信机制,结合订阅者发布者模式,设计分析符合Event‑B建模的原始需求。根据基于Event‑B方法的微内核操作系统进程间通信机制以及原始需求的结果,设计分析符合Event‑B建模的重写需求;建模精化验证,根据重写需求,设计建立验证基于Event‑B方法的微内核操作系统进程间通信机制的模型。该模型需要验证的证明义务包括模型功能性不变式以及模型性质不变式和安全性质相关不变式。
Description
技术领域
本发明属于微内核操作系统建模验证技术领域,尤其用Event-B建模验证语言设计一种基于Event-B方法的微内核操作系统进程间通信机制的需求重写、建模验证的方法。
背景技术
操作系统是互联网时代的基石,然而随着时代不断发展,宏内核操作系统日益庞大,为了执行效率和简单的架构,内核中存在大量不必要的功能服务。这种情况让宏内核操作系统功能越来越多,但是也让其安全性越来越差,因为代码的庞大必然会导致一些漏洞和冲突。
微内核操作系统较Linux、Windows等宏内核操作系统不一样,其设计原理是精炼内核功能。内核只需要处理关键的一些服务,比如说进程调度、进程间的通信(进程间通信)等,将非关键性的服务则由内核之外的一些驱动模块或者服务模块来提供。这样的优点是内核功能少,能够很完备的设计和验证其安全性,所以微内核操作系统大多都在内核安全上面有策略保证。而进程间通信则成为了系统服务和应用间传递信息的方式。
微内核操作系统这一概念上世纪被提出,由于时代限制,进程间通信效率低下是微内核一直没有流行的一个原因,其中SEL4系列的微内核操作系统具有经过形式化验证的特点,能在很大程度上保证其安全性。现在正是体现微内核操作系统优点的时代,从微内核概念被提出到英特尔被爆出芯片上存在Minix微内核监管程序到华为鸿蒙微内核操作系统的发布,无一不证明现今微内核自主的重要性,其中微内核自主一个很重要的方面就是对其的设计验证开发。
微内核一直没能突破瓶颈的一个很重要的原因就是其进程间通信效率太低,而现在流行的微内核都针对进程间通信进行了不同程度的优化,使其效率提高。安全是微内核一个较于宏内核的优势,怎么样在提高进程间通信效率的过程中保证其算法和机制不会影响微内核的安全性,这也是一个很重要的研究方向。
发明内容
本发明克服了微内核操作系统进程间通信机制难以建模的困难,根据微内核操作系统进程间通信机制的原始需求重写了的需求,用Event-B语言将微内核操作系统环境和进程间通信机制建立抽象模型,将模型分多层进行精化,最终得到符合上述需求的实现模型,在实现模型中证明了该机制的可行性和安全性。
本发明提出的基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法包括:
步骤1:模型需求重写,根据基于Event-B方法的微内核操作系统进程间通信机制,分析Event-B建模的原始需求;根据基于Event-B方法的微内核操作系统进程间通信机制以及原始需求的结果,设计符合Event-B建模的重写需求;
步骤2:策略分层精化,根据所述重写需求,结合Event-B建模的需求规范和精化规则,将需求分为环境需求和功能需求,并且将重写模型按照微内核操作系统的进程间通信机制功能和事件总线策略来进行分层精化,得到建模直接参考的精化策略;
步骤3:建模精化验证,根据所述精化策略,设计建立验证基于Event-B方法的微内核操作系统进程间通信机制的模型;验证的证明义务包括模型功能性不变式以及模型性质不变式和安全性质相关不变式。
本发明提出的基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法中,所述步骤1包括以下步骤:
步骤11:原始需求分析,对基于Event-B方法的微内核操作系统进程间通信机制的微内核环境与机制算法进行分析归纳,提取微内核事件操作系统进程间通信机制的功能,分析提炼符合Event-B建模需求规范的模型需求;
步骤12:重写需求设计,其输入为所述原始需求,根据基于Event-B方法的微内核操作系统进程间通信机制的功能模块,结合所述原始需求,提取需要事件总线策略相应的模型需求,设计符合Event-B建模需求规范的实现模型的需求。
本发明提出的基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法中,所述步骤2包括以下步骤:
步骤21:需求分类,其输入端为步骤12的重写需求;根据所述重写需求的性质和Event-B建模语言的需求规范将每条需求分为环境需求或者功能需求;
步骤22:需求分层,其输入端为所述分类需求;结合所述分类需求、Event-B建模语言的精化规范和微内核操作系统的进程间通信机制功能模块,将分类过的需求按照实现的功能进行分层,得到相应的模型精化策略,在建模阶段会将各层需求建立相应的模型和证明义务。
本发明提出的基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法中,所述步骤3包括以下步骤:
步骤31:抽象模型建模验证,其输入端为步骤22的模型精化策略;根据重写模型的结果结合订阅者发布者模式,建立第一层抽象模型;其中抽象模型中的证明义务包括发布者订阅者模式的不变式描述;
步骤32:模型分层精化,其输入端为所述抽象模型结果与所述模型精化策略;通过Rodin建模工具,将抽象模型按照重写模型的结果,将抽象模型分多层进行精化,在每层精化过程中用Event-B语言定义数据结构和证明义务方式来实现精化策略相应的环境需求和功能需求,逐步完善基于Event-B方法的微内核操作系统进程间通信机制的模型,直至完成重写需求的建模;
步骤33:实现模型验证,其输入端为步骤32的精化模型;在每层模型精化后,都含有相应的证明义务来描述模型的功能和相应的性质,通过Rodin建模工具的自动验证证明义务功能进行验证,随后将没被自动化验证的证明义务进行手动分析验证;直至证毕,如若不能完全证明,则需分析修改模型或证明义务;
步骤34:模型性质证明,根据每层精化的模型,结合Event-B建模语言的验证规则,结合Rodin建模软件的自动化工具,对每层模型的无死锁性质进行证明。
本发明提出的基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法中,所述步骤34包括以下步骤:
步骤341:抽象模型的相关性质证明,其输入端抽象模型结果;证明抽象模型的特性和安全性,建立模型主性质的证明义务,证明抽象模型符合发布者和订阅者模式的性质;随后每层精化的模型包括实现模型均符合这层性质;其次需要证明抽象模型的无死锁性质等安全性质的不变式;
步骤342:精化模型的安全性质证明,其输入端每层精化模型结果;建立相应的不变式,通过Rodin建模工具的自动验证证明义务功能进行验证,随后将没被自动化验证的证明义务进行手动分析验证;直至证毕,如若不能完全证明,则需分析修改模型或证明义务;最后证明每层模型是符合无死锁性质的;
步骤343:实现模型的安全性质证明,其输入端的实现模型结果;建立相应的不变式以及相应的定理;建立一层模型以及若干相关定理辅助证明实现模型的无死锁的安全性质;最终通过Rodin建模工具的自动验证和手动验证结合证明实现模型的无死锁性质。
基于以上方法,本发明还提出了一种基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法,所述系统包括:
模型需求重写模块,根据基于Event-B方法的微内核操作系统进程间通信机制,分析Event-B建模的原始需求;根据基于Event-B方法的微内核操作系统进程间通信机制以及原始需求的结果,设计符合Event-B建模的重写需求;
策略分层精化模块,根据所述重写需求,结合Event-B建模的需求规范和精化规则,将需求分为环境需求和功能需求,并且将重写模型按照微内核操作系统的进程间通信机制功能和事件总线策略来进行分层精化,得到建模直接参考的精化策略;
建模精化验证模块,根据所述精化策略,设计建立验证基于Event-B方法的微内核操作系统进程间通信机制的模型;验证的证明义务包括模型功能性不变式以及模型性质不变式和安全性质相关不变式。
本发明的有益效果包括:本发明成功的建立了微内核的部分运行环境模型,并且将需要验证的机制在此模型中表现了出来,证明这一机制在微内核的运行环境中的可行性和安全性。使得对这一机制提出了很多建模时发现的问题,使这一机制符合无死锁等安全性特征。为这一机制在微内核的高效安全运行提供了保障。
附图说明
图1为基于Event-B方法的微内核操作系统进程间通信机制建模和验证的结构示意图。
图2为基于Event-B方法的微内核操作系统进程间通信机制建模和验证的流程图。
图3为基于Event-B方法的微内核操作系统进程间通信机制建模和验证的重写需求流程图。
图4为基于Event-B方法的微内核操作系统进程间通信机制建模和验证的精化策略流程图。
图5为基于Event-B方法的微内核操作系统进程间通信机制建模和验证的建模验证流程图。
图6为基于Event-B方法的微内核操作系统进程间通信机制建模和验证的各层模型精化规则。
图7为基于Event-B方法的微内核操作系统进程间通信机制建模和验证的各层模型证明情况。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明公开了一种基于Event-B方法的微内核操作系统进程间通信机制的建模和验证,包括:重写需求设计分析,根据基于Event-B方法的微内核操作系统进程间通信机制,分析符合Event-B建模的原始需求。根据基于Event-B方法的微内核操作系统进程间通信机制以及原始需求的结果,设计分析符合Event-B建模的重写需求;建模精化验证,根据重写需求,设计建立验证基于Event-B方法的微内核操作系统进程间通信机制的模型。验证的证明义务包括模型功能性不变式以及模型性质不变式和安全性质相关不变式。
本发明所述的基于Event-B方法的微内核操作系统进程间通信机制的建模和验证,其特征在于,根据原始需求重写需求包括:原始需求分析,对基于Event-B方法的微内核操作系统进程间通信机制的微内核环境与机制算法进行分析归纳,提取微内核事件操作系统进程间通信机制的主要功能,分析符合Event-B建模需求规范的原始需求;重写需求设计分析,其输入为原始需求,根据基于Event-B方法的微内核操作系统进程间通信机制的功能模块,结合原始需求,提取需要事件总线策略相应的模型需求,设计符合Event-B建模需求规范的实现模型的重写需求。
本发明所述的基于Event-B方法的微内核操作系统进程间通信机制的建模和验证,其特征在于,策略分层精化包括:需求分类,其输入端为重写需求。根据重写需求的性质和Event-B建模语言的需求规范将每条需求分为环境需求或者功能需求;需求分层,其输入端为的分类需求。结合分类需求、Event-B建模语言的精化规范和微内核操作系统的进程间通信机制功能模块,将分类过的需求按照实现的功能进行分层,得到相应的模型精化策略,在建模阶段会将各层需求建立相应的模型和证明义务。
本发明所述的基于Event-B方法的微内核操作系统进程间通信机制的建模和验证,其特征在于其建模精化验证特征包括:抽象模型建模验证,其输入端为的模型精化策略。根据重写模型的结果结合订阅者发布者模式,建立第一层抽象模型。其中抽象模型中的证明义务包括发布者订阅者模式的不变式描述;模型分层精化,其输入端为的抽象模型结果与的模型精化策略。通过Rodin建模工具,将抽象模型按照重写模型的结果,将抽象模型分多层进行精化,在每层精化过程中用Event-B语言定义数据结构和证明义务等方式来实现精化策略相应的环境需求和功能需求,逐步完善基于Event-B方法的微内核操作系统进程间通信机制的模型,直至完成重写需求的建模;实现模型验证,其输入端为精化模型。在每层模型精化后,都含有相应的证明义务来描述模型的功能和相应的性质,通过Rodin建模工具的自动验证证明义务功能进行验证,随后将没被自动化验证的证明义务进行手动分析验证。直至证毕,如若不能完全证明,则需分析修改模型或证明义务;模型性质证明,根据每层精化的模型,结合Event-B建模语言的验证规则,结合Rodin建模软件的自动化工具,对每层模型的无死锁性质进行证明。
本发明所述的基于Event-B方法的微内核操作系统进程间通信机制的建模和验证,其特征在于,模型性质证明包括以下步骤:
步骤一:抽象模型的相关性质证明,其输入端抽象模型结果。证明抽象模型的特性和安全性,由于抽象模型是第一层模型,所以需要建立主性质不变式,证明抽象模型符合发布者和订阅者模式的性质。随后每层精化的模型包括实现模型也会符合这层性质。其次需要证明抽象模型的无死锁性质等安全性质的不变式。
步骤二:精化模型的安全性质证明,其输入端每层精化模型结果。建立相应的不变式,通过Rodin建模工具的自动验证证明义务功能进行验证,随后将没被自动化验证的证明义务进行手动分析验证。直至证毕,如若不能完全证明,则需分析修改模型或证明义务。最后证明每层模型是符合无死锁性质的。
步骤三:实现模型的安全性质证明,其输入端的实现模型结果。建立相应的不变式以及相应的定理,由于最终模型较复杂,所以需要建立一层模型以及若干相关定理辅助证明实现模型的无死锁的安全性质。最终通过Rodin建模工具的自动验证和手动验证结合证明实现模型的无死锁性质。
图1显示的是基于Event-B方法的微内核操作系统进程间通信机制建模和验证的结构示意图。基于Event-B方法的微内核操作系统进程间通信机制建模和验证中包括需求设计与分析、模型搭建与验证规则与事件总线策略四个模块。需求设计与分析模块可以包括原始需求设计与分析和重写需求设计与分析两个小模块。模型搭建与验证包括抽象模型的搭建与验证、层层模型精化证明和实现模型搭建与验证这三个小模块。初步分析事件总线策略模块可以得到原始需求,根据各个需求的性质可分为环境需求和功能需求,根据需求描述的策略可将这些需求分层组合,得到重写需求。通过重写需求中的首层需求搭建和验证第一层抽象模型,之后根据需求分层情况对模型进行层层的精化和证明,最终得到实现模型,其中证明各层模型的无死锁性质也是证明机制安全可行的重要依据。模型搭建与验证模块中的模型性质证明都是基于验证规则模块的。
图2显示的是基于Event-B方法的微内核操作系统进程间通信机制建模和验证步骤流程图。如图2所示,于总体步骤流程比较复杂,在此分为重写需求、精化策略和建模验证三个子流程。在图3中再描述基于Event-B方法的微内核操作系统进程间通信机制建模和验证的重写需求步骤流程图,在图3中再描述基于Event-B方法的微内核操作系统进程间通信机制建模和验证的精化策略流程图,在图5再描述基于Event-B方法的微内核操作系统进程间通信机制建模和验证的建模验证步骤流程图;其中详细的步骤描述如下文所述。
步骤一:如图3所示,图3显示的是基于Event-B方法的微内核操作系统进程间通信机制建模和验证的需求提炼步骤流程图;此图描述的是图2中第一步骤需求分析子流程。需求提炼的对象是微内核操作系统的进程间通信机制规范。首先分析微内核操作系统的进程间通信机制规范中的内核环境以及其主要的算法思想和API,再根据Event-B建模语言规范的需求提炼规则设计出模型的原始需求。之后根据Event-B建模语言规范的需求建模规范将需求按照性质分为环境需求和功能需求,微内核操作系统进程间通信机制的功能实现将需求分层。至此得到重写需求,可以进入到图2描述的第二步骤建模验证了。
步骤二:如图4所示,图4显示的是基于Event-B方法的微内核操作系统进程间通信机制建模和验证的精化策略步骤流程图;此图描述的是图2中第二步骤精化策略子流程。其输入为步骤一中的重写需求,根据重写需求的性质和Event-B建模语言的需求规范将每条需求分为环境需求或者功能需求,之后结合分类需求、Event-B建模语言的精化规范和微内核操作系统的进程间通信机制功能模块,将分类过的需求按照实现的功能进行分层,得到相应的模型精化策略。
步骤三:如图5所示,图5显示的是基于Event-B方法的微内核操作系统进程间通信机制建模和验证的建模验证步骤流程图;此图描述的是图2中第三步骤建模验证子流程。该流程的输入应该是图2中第二步骤精化策略设计的输出结果,即微内核操作系统的进程间通信机制规范的重写需求。首先根据重写需求建立第一层模型,即抽象模型。之后按照重写需求中的分层情况将模型精化。之后自动验证精化后模型的证明义务,如果没有全部证明通过则需手动验证证明义务,如果证明义务不能全被证明,则说明模型有问题或者机制出错,需要分析修正模型,之后回到自动验证证明义务步骤。如果全部证明均通过,则需要判断重写需求是否全被是西安,如果不是,则回到模型精化的步骤,按照重写需求进行进一步的精化。如果全部重写需求均实现,则说明我们得到了实现模型。特别需要说明的是,在模型验证的过程中,除了需求中的环境和机制描述的相关不变式之外,还需要加入模型的一些特性和安全性相关性质的不变式进行验证。比如说订阅者发布者模式性质的不变式和模型无死锁性质不变式。
图6显示的是基于Event-B方法的微内核操作系统进程间通信机制建模和验证的各层模型精化规则。该精化规则是结合Event-B建模验证语言的规范与微内核操作系统的进程间通信机制进行设计,是重写需求和模型精化搭建的重要依据,每一层模型都实现了一部分重写需求,这些需求概括起来就如图5对应的实现功能的描述。
图7显示的是基于Event-B方法的微内核操作系统进程间通信机制建模和验证的各层模型证明情况。本发明的实现过程是基于Event-B建模验证语言与Rodin建模验证工具的。其中Rodin建模验证工具中就提供Event-B模型不变式的自动证明,每一层模型在搭建好后首先都要自动验证证明义务。如图7所示,抽象模型M0共40条证明义务,全被自动证毕。随着模型的不断精化,模型中的功能也越来越复杂,证明义务也就不能被全部证明了。每层模型验证证明义务的自动化程度与该层模型的复杂度有很大关系,其中实现模型M7自动化程度之有46%,该层模型是为了验证实现模型的无死锁性质。模型共630条证明义务,571条证明义务被自动证明,总的来说,自动化的证明极大程度上减轻了工作量。
本发明还提出了一种基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法,包括:
模型需求重写模块,根据基于Event-B方法的微内核操作系统进程间通信机制,分析Event-B建模的原始需求;根据基于Event-B方法的微内核操作系统进程间通信机制以及原始需求的结果,设计符合Event-B建模的重写需求;
策略分层精化模块,根据重写需求,结合Event-B建模的需求规范和精化规则,将需求分为环境需求和功能需求,并且将重写模型按照微内核操作系统的进程间通信机制功能和事件总线策略来进行分层精化,得到建模直接参考的精化策略;
建模精化验证模块,根据精化策略,设计建立验证基于Event-B方法的微内核操作系统进程间通信机制的模型;验证的证明义务包括模型功能性不变式以及模型性质不变式和安全性质相关不变式。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (3)
1.一种基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法,其特征在于,包括:
步骤1:模型需求重写,根据基于Event-B方法的微内核操作系统进程间通信机制,分析Event-B建模的原始需求;根据基于Event-B方法的微内核操作系统进程间通信机制以及原始需求的结果,设计符合Event-B建模的重写需求;所述步骤1包括以下步骤:
步骤11:原始需求分析,对基于Event-B方法的微内核操作系统进程间通信机制的微内核环境与机制算法进行分析归纳,提取微内核事件操作系统进程间通信机制的功能,分析提炼符合Event-B建模需求规范的模型需求;
步骤12:重写需求设计,其输入为所述原始需求,根据基于Event-B方法的微内核操作系统进程间通信机制的功能模块,结合所述原始需求,提取需要事件总线策略相应的模型需求,设计符合Event-B建模需求规范的实现模型的需求;
步骤2:策略分层精化,根据所述重写需求,结合Event-B建模的需求规范和精化规则,将需求分为环境需求和功能需求,并且将重写模型按照微内核操作系统的进程间通信机制功能和事件总线策略来进行分层精化,得到建模直接参考的精化策略;所述步骤2包括以下步骤:
步骤21:需求分类,其输入端为步骤12的重写需求;根据所述重写需求的性质和Event-B建模语言的需求规范将每条需求分为环境需求或者功能需求;
步骤22:需求分层,其输入端为分类需求;结合所述分类需求、Event-B建模语言的精化规范和微内核操作系统的进程间通信机制功能模块,将分类过的需求按照实现的功能进行分层,得到相应的模型精化策略,在建模阶段会将各层需求建立相应的模型和证明义务;
步骤3:建模精化验证,根据所述精化策略,设计建立验证基于Event-B方法的微内核操作系统进程间通信机制的模型;验证的证明义务包括模型功能性不变式以及模型性质不变式和安全性质相关不变式;所述步骤3包括以下步骤:
步骤31:抽象模型建模验证,其输入端为步骤22的模型精化策略;根据重写模型的结果结合订阅者发布者模式,建立第一层抽象模型;其中抽象模型中的证明义务包括发布者订阅者模式的不变式描述;
步骤32:模型分层精化,其输入端为所述抽象模型结果与所述模型精化策略;通过Rodin建模工具,将抽象模型按照重写模型的结果,将抽象模型分多层进行精化,在每层精化过程中用Event-B语言定义数据结构和证明义务方式来实现精化策略相应的环境需求和功能需求,逐步完善基于Event-B方法的微内核操作系统进程间通信机制的模型,直至完成重写需求的建模;
步骤33:实现模型验证,其输入端为步骤32的精化模型;在每层模型精化后,都含有相应的证明义务来描述模型的功能和相应的性质,通过Rodin建模工具的自动验证证明义务功能进行验证,随后将没被自动化验证的证明义务进行手动分析验证;直至证毕,如若不能完全证明,则需分析修改模型或证明义务;
步骤34:模型性质证明,根据每层精化的模型,结合Event-B建模语言的验证规则,结合Rodin建模软件的自动化工具,对每层模型的无死锁性质进行证明。
2.如权利要求1所述的基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法,其特征在于,所述步骤34包括以下步骤:
步骤341:抽象模型的相关性质证明,其输入端抽象模型结果;证明抽象模型的特性和安全性,建立模型主性质的证明义务,证明抽象模型符合发布者和订阅者模式的性质;随后每层精化的模型包括实现模型均符合这层性质;其次需要证明抽象模型的无死锁安全性质的不变式;
步骤342:精化模型的安全性质证明,其输入端每层精化模型结果;建立相应的不变式,通过Rodin建模工具的自动验证证明义务功能进行验证,随后将没被自动化验证的证明义务进行手动分析验证;直至证毕,如若不能完全证明,则需分析修改模型或证明义务;最后证明每层模型是符合无死锁性质的;
步骤343:实现模型的安全性质证明,其输入端的实现模型结果;建立相应的不变式以及相应的定理;建立一层模型以及若干相关定理辅助证明实现模型的无死锁的安全性质;最终通过Rodin建模工具的自动验证和手动验证结合证明实现模型的无死锁性质。
3.一种基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证系统,其特征在于,采用如权利要求1或2所述的方法,所述系统包括:
模型需求重写模块,根据基于Event-B方法的微内核操作系统进程间通信机制,分析Event-B建模的原始需求;根据基于Event-B方法的微内核操作系统进程间通信机制以及原始需求的结果,设计符合Event-B建模的重写需求;
策略分层精化模块,根据所述重写需求,结合Event-B建模的需求规范和精化规则,将需求分为环境需求和功能需求,并且将重写模型按照微内核操作系统的进程间通信机制功能和事件总线策略来进行分层精化,得到建模直接参考的精化策略;
建模精化验证模块,根据所述精化策略,设计建立验证基于Event-B方法的微内核操作系统进程间通信机制的模型;验证的证明义务包括模型功能性不变式以及模型性质不变式和安全性质相关不变式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911051831.0A CN110968436B (zh) | 2019-10-31 | 2019-10-31 | 基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法 |
AU2020102903A AU2020102903A4 (en) | 2019-10-31 | 2020-10-20 | A Formal Modeling And Verification Method For A Microkernel Operating System Inter-Process Communication Mechanism Based on the Event-B Method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911051831.0A CN110968436B (zh) | 2019-10-31 | 2019-10-31 | 基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968436A CN110968436A (zh) | 2020-04-07 |
CN110968436B true CN110968436B (zh) | 2023-07-14 |
Family
ID=70030205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911051831.0A Active CN110968436B (zh) | 2019-10-31 | 2019-10-31 | 基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110968436B (zh) |
AU (1) | AU2020102903A4 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679964B (zh) * | 2020-04-21 | 2022-07-26 | 华东师范大学 | 基于边界模型检测技术的微内核操作系统接口的形式化验证方法 |
CN112100633B (zh) * | 2020-09-14 | 2022-04-05 | 浙江大学 | 一种基于B方法的Android访问控制建模与安全性分析方法 |
CN113326040B (zh) * | 2021-06-30 | 2022-09-20 | 同济大学 | 一种轨道交通联锁系统的开发与实现方法 |
CN113469521A (zh) * | 2021-06-30 | 2021-10-01 | 同济大学 | 基于stpa的安全攸关系统形式化开发方法、系统及存储介质 |
CN115494829B (zh) * | 2022-11-16 | 2023-03-14 | 华侨大学 | 一种自主列车运行控制系统建模及验证方法 |
CN115687167B (zh) * | 2023-01-05 | 2023-04-07 | 军事科学院系统工程研究院网络信息研究所 | 一种群体智能操作系统的形式化验证方法及装置 |
CN115687165B (zh) * | 2023-01-05 | 2023-05-05 | 军事科学院系统工程研究院网络信息研究所 | 一种需求层形式化验证方法及系统 |
CN115827494B (zh) * | 2023-01-09 | 2023-05-05 | 军事科学院系统工程研究院网络信息研究所 | 一种设计层形式化验证方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802863A (zh) * | 2016-12-16 | 2017-06-06 | 华东师范大学 | 基于微内核原型的进程间通信安全性形式化分析验证系统 |
CN108228410A (zh) * | 2018-01-24 | 2018-06-29 | 北京航空航天大学 | 一种基于Event-B的多核并发系统验证方法 |
-
2019
- 2019-10-31 CN CN201911051831.0A patent/CN110968436B/zh active Active
-
2020
- 2020-10-20 AU AU2020102903A patent/AU2020102903A4/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802863A (zh) * | 2016-12-16 | 2017-06-06 | 华东师范大学 | 基于微内核原型的进程间通信安全性形式化分析验证系统 |
CN108228410A (zh) * | 2018-01-24 | 2018-06-29 | 北京航空航天大学 | 一种基于Event-B的多核并发系统验证方法 |
Non-Patent Citations (1)
Title |
---|
基于 Event-B 的中断管理需求和设计形式化建模与验证方法;周育逵 等;《空间控制技术与应用》;20170630;第43卷(第3期);摘要、正文第2-3部分 * |
Also Published As
Publication number | Publication date |
---|---|
CN110968436A (zh) | 2020-04-07 |
AU2020102903A4 (en) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110968436B (zh) | 基于Event-B方法的微内核操作系统进程间通信机制的形式化建模和验证方法 | |
Kobayashi | Model checking higher-order programs | |
Filipovikj et al. | SMT-based consistency analysis of industrial systems requirements | |
CN110705974B (zh) | 一种完备的智能合约形式规范实现方法 | |
US9715372B2 (en) | Executable guidance experiences based on implicitly generated guidance models | |
US8751094B2 (en) | Method for validation of a graphically based executable control specification using model extraction | |
CN110287089B (zh) | 一种基于中间格式及smt技术的微内核ipc验证方法 | |
Lu et al. | Required behavior of sequence diagrams: Semantics and conformance | |
CN108509773B (zh) | 一种源代码加固方法及装置 | |
CN112671920B (zh) | 一种基于区块链的污水自动化控制方法 | |
Butterfield et al. | prialt in Handel-C: an operational semantics | |
CN110837364A (zh) | 一种基于跨异构区块链互操作性和可编程性的超服务平台 | |
An et al. | stohMCharts: A Modeling Framework for Quantitative Performance Evaluation of Cyber-Physical-Social Systems | |
Said et al. | A model-based approach to secure multiparty distributed systems | |
Zhao et al. | A language-based multi-view approach for combining functional and security models | |
US9749281B2 (en) | Dynamic adaption of electronic routing slips for financial messaging | |
Genaim et al. | Modeling secure information flow with boolean functions | |
de Boer et al. | Guest editorial for the special section on SEFM 2020 and 2021 | |
Gandhi et al. | Early security patterns: A collection of constraints to describe regulatory security requirements | |
Zhao et al. | A Critical-Path-Based Vulnerability Detection Method for tx. origin Dependency of Smart Contract | |
Singh | Building Trust and Safety in Artificial Intelligence with Abstract Interpretation | |
Pereira et al. | KAT and PHL in Coq | |
CN115687165B (zh) | 一种需求层形式化验证方法及系统 | |
Bisi et al. | Using graph grammars to develop embedded systems based on UML models | |
Conrad et al. | Towards a methodology for the design of hybrid systems in automotive electronics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |