Derivation of concurrent programs by stepwise scheduling of Event-B models
Derivation of concurrent programs by stepwise scheduling of Event-B models
复制标题
通过Event-B模型的逐步调度推导并发程序
DOI:
--
复制
发表时间:
2012
影响因子:
1
通讯作者:
M. Waldén
中科院分区:
文献类型:
--
作者:
Pontus Boström;Fredrik Degerlund;K. Sere;M. Waldén
Concurrent programs are often complex and they are not straightforward to develop and prove correct. Formal development methods based on refinement make it possible not only to derive programs gradually, but also to prove their correctness in a stepwise fashion. Event-B is a formal framework that has been shown useful for developing concurrent and distributed programs. In order to scale to large systems, models can be decomposed into sub-models that can be refined semi-independently and executed in parallel. In this paper, we show how to introduce explicit control flow for the concurrent sub-models in the form of event schedules. The purpose of these schedules is both to provide process-oriented specifications of the programs to complement the state-based approach in Event-B, as well as to facilitate more efficient implementation of the models. The schedules are introduced in a stepwise manner and should be designed to result in a correctness-preserving refinement step. In order to reduce the verification burden on the developers, we provide patterns for schedule introduction, together with their associated proof obligations. We demonstrate our method by applying it on the dining philosophers problem.