Derivation of concurrent programs by stepwise scheduling of Event-B models

被引:6
作者
Bostrom, Pontus [1 ]
Degerlund, Fredrik [1 ,2 ]
Sere, Kaisa [1 ]
Walden, Marina [1 ]
机构
[1] Abo Akad Univ, Dept Informat Technol, FIN-20520 Turku, Finland
[2] Turku Ctr Comp Sci TUCS, Turku 20520, Finland
关键词
Concurrency; Event-B; Patterns; Scheduling; Stepwise development; PARALLEL PROGRAMS; DECOMPOSITION; REFINEMENT;
D O I
10.1007/s00165-012-0260-5
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:281 / 303
页数:23
相关论文
共 29 条
  • [1] Abrial JR, 2007, FUND INFORM, V77, P1
  • [2] Back R.J., 1983, P 2 ACM SIGACT SIGOP, P131
  • [3] Back R. J. R., 2003, Formal Aspects of Computing, V15, P103, DOI 10.1007/s00165-003-0005-6
  • [4] Back Ralph-Johan, 1998, GRADUATE TEXTS COMPU
  • [5] BACK RJ, 1991, STRUCT PROGRAM, V12, P17
  • [6] Reasoning algebraically about loops
    Back, RJR
    von Wright, J
    [J]. ACTA INFORMATICA, 1999, 36 (04) : 295 - 334
  • [7] BACK RJR, 1990, LECT NOTES COMPUT SC, V430, P42
  • [8] Bostrom P, 2010, IFM 10 P 8 INT C INT, V6396, P74
  • [9] Bostrom P, 2011, P 15 INT REF WORKSH, P166