Abstract
Abrial’s Event-B formalism for refinement-based system development is influenced by Back’s action system approach. Morgan has defined a CSP-like failures-divergence semantics for action systems that distinguishes internal and external choice of actions. Morgan’s semantics has the characteristic that the choice between enabled actions is external while internal choice is represented less directly through nondeterministic effect of actions. Practical experience with Event-B has demonstrated the need to be able to represent both internal and external choice between enabled events more explicitly. In this paper, Morgan’s failures semantics for action systems is modified to allow both internal and external choice to be represented directly. This is achieved by grouping events so that external choice is between event groups and internal choice is within event groups. This leads to a refinement rule for preservation of choice between event groups while allowing for reduction of choice within event groups. We also provide a refinement rule for splitting event groups in order to increase external choice. The refinement rules are justified in terms of failures refinement.
Similar content being viewed by others
References
Abrial J-R, Butler M, Hallerstede S, Hoang TS, Mehta F, Voisin L (2010) Rodin: an open toolset for modelling and reasoning in Event-B. STTT 12(6): 447–466
Abrial J-R (2010) Modeling in Event-B: system and software engineering. Cambridge University Press, Cambridge
Back R-JR (1990) Refinement calculus II: parallel and reactive systems. In: Bakker JW, de Roever WP, Rozenberg G (eds) Stepwise refinement of distributed systems, volume LNCS 430.. Springer, New York
Ball E, Butler M (2009) Event-B patterns for specifying fault-tolerance in multi-agent interaction. In: Methods, models and tools for fault tolerance, volume 5454 of LNCS. Springer, pp 104–129
Butler M (1992) A CSP approach to action systems. D.Phil. Thesis, Programming Research Group, Oxford University
Back R-JR, von Wright J (1994) Trace refinement of action systems. In: CONCUR, volume 836 of LNCS. Springer, pp 367–384
Back R-JR, von Wright J (2000) Contracts, games, and refinement. Inf Comput 156(1–2): 25–45
Butler M, Yadav D (2008) An incremental development of the Mondex system in Event-B. Formal Asp Comput 20(1): 61–77
Damchoom K, Butler M (2009) Applying event and machine decomposition to a flash-based filestore in Event-B. In SBMF 2009, volume 5902. Springer, LNCS, pp 134–152
Fathabadi AS, Rezazadeh A, Butler M (2011) Applying atomicity and model decomposition to a space craft system in Event-B. In: NASA formal methods, volume 6617 of LNCS. Springer, pp 328–342
Gardiner PHB, Morgan CC (1991) Data refinement of predicate transformers. Theor Comput Sci 87: 143–162
Hallerstede S (2011) On the purpose of Event-B proof obligations. Formal Asp Comput 23(1): 133–150
He J (1989) Process refinement. In: McDermid J (ed) The theory and practice of refinement. Butterworths
Hoare CAR (1985) Communicating sequential processes. Prentice–Hall
Josephs MB (1988) A state-based approach to communicating sequential processes. Distrib Comput 3: 9–18
Morris JM (1989) Laws of data refinement. Acta Inform. 26: 287–308
Morgan CC (1990) Of wp and CSP. In: Feijen WHJ, van Gasteren AJM, Gries D, Misra J (eds) Beauty is our business: a birthday salute to Edsger W. Dijkstra. Springer
Sarshogh MR, Butler M (2011) Specification and refinement of discrete timing properties in Event-B. In: AVoCS 2011
Schneider S, Treharne H, Wehrheim H (2011) A CSP account of Event-B refinement. In: Refine, volume 55 of EPTCS, pp 139–154
von Wright J (1994) The lattice of data refinement. Acta Inform. 31(2): 105–135
Woodcock JCP, Morgan CC (1990) Refinement of state-based concurrent systems. In: Bjørner D, Hoare CAR, Langmaack H (eds) VDM ’90, volume LNCS 428, Springer
Yadav D, Butler M (2006) Rigorous design of fault-tolerant transactions for replicated database systems using Event B. In: RODIN book, volume 4157 of LNCS. Springer, pp 343–363
Author information
Authors and Affiliations
Corresponding author
Additional information
Peter Höfner, Robert van Glabbeek, Ian Hayes and Jim Woodcock
This work is supported by the FP7 DEPLOY Project (ICT 214158). http://www.deploy-project.eu.
Rights and permissions
About this article
Cite this article
Butler, M. External and internal choice with event groups in Event-B. Form Asp Comp 24, 555–567 (2012). https://doi.org/10.1007/s00165-012-0239-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-012-0239-2