Derivation of algorithmic control structures in Event-B refinement

被引:2
作者
Dalvandi, Mohammadsadegh [1 ]
Butler, Michael [1 ]
Rezazadeh, Abdolbaghi [1 ]
机构
[1] Univ Southampton, Southampton SO17 1BJ, Hants, England
关键词
Refinement; Program verification; Event-B; Program derivation; OBJECT-Z;
D O I
10.1016/j.scico.2017.05.010
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Event-B formalism allows program specifications to be modelled at an abstract level and refined towards a concrete model. However, Event-B lacks explicit control flow structure and ordering is implicitly encoded in event guards. This makes it difficult to identify and apply rules for transformation of Event-B models to sequential code. This paper introduces a scheduling language to support the incremental derivation of algorithmic control structure for events as part of the Event-B refinement process. We provide intermediate control structures for non-deterministic iteration and choice that ease the transition from abstract specifications to sequential implementations. We present rules for transforming algorithmic structures to more concrete refinements. We illustrate our approach by applying our method to the Schorr-Waite graph marking algorithm. (C) 2017 Elsevier B.V. All rights reserved.
引用
收藏
页码:49 / 65
页数:17
相关论文
共 38 条
[1]   Rodin: An open toolset for modelling and reasoning in Event-B [J].
Abrial J.-R. ;
Butler M. ;
Hallerstede S. ;
Hoang T.S. ;
Mehta F. ;
Voisin L. .
International Journal on Software Tools for Technology Transfer, 2010, 12 (06) :447-466
[2]  
Abrial JR, 2003, LECT NOTES COMPUT SC, V2805, P51
[3]  
Alagar VS, 2011, TEXTS COMPUT SCI, P405, DOI 10.1007/978-0-85729-277-3_16
[4]  
[Anonymous], 2010, Modeling in Event-B: system and software engineering
[5]  
[Anonymous], 2002, SEMANTICS CIRCUS
[6]  
Back R.-J., 1998, Refinement Calculus: A Systematic Introduction
[7]   DISTRIBUTED COOPERATION WITH ACTION SYSTEMS [J].
BACK, RJR ;
KURKISUONIO, R .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1988, 10 (04) :513-554
[8]  
Bostrom P, 2010, IFM 10 P 8 INT C INT, V6396, P74
[9]  
Bubel R., 2007, Verification of Object-Oriented Software. The KeY Approach, P569
[10]   Incremental Design of Distributed Systems with Event-B [J].
Butler, Michael .
ENGINEERING METHODS AND TOOLS FOR SOFTWARE SAFETY AND SECURITY, 2009, 22 :131-159