Skip to main content
Log in

External and internal choice with event groups in Event-B

  • Original Article
  • Published:
Formal Aspects of Computing

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

    Article  Google Scholar 

  2. Abrial J-R (2010) Modeling in Event-B: system and software engineering. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  3. 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

    Google Scholar 

  4. 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

  5. Butler M (1992) A CSP approach to action systems. D.Phil. Thesis, Programming Research Group, Oxford University

  6. Back R-JR, von Wright J (1994) Trace refinement of action systems. In: CONCUR, volume 836 of LNCS. Springer, pp 367–384

  7. Back R-JR, von Wright J (2000) Contracts, games, and refinement. Inf Comput 156(1–2): 25–45

    Article  MATH  Google Scholar 

  8. Butler M, Yadav D (2008) An incremental development of the Mondex system in Event-B. Formal Asp Comput 20(1): 61–77

    Article  Google Scholar 

  9. 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

  10. 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

  11. Gardiner PHB, Morgan CC (1991) Data refinement of predicate transformers. Theor Comput Sci 87: 143–162

    Article  MathSciNet  MATH  Google Scholar 

  12. Hallerstede S (2011) On the purpose of Event-B proof obligations. Formal Asp Comput 23(1): 133–150

    Article  MathSciNet  MATH  Google Scholar 

  13. He J (1989) Process refinement. In: McDermid J (ed) The theory and practice of refinement. Butterworths

  14. Hoare CAR (1985) Communicating sequential processes. Prentice–Hall

  15. Josephs MB (1988) A state-based approach to communicating sequential processes. Distrib Comput 3: 9–18

    Article  MATH  Google Scholar 

  16. Morris JM (1989) Laws of data refinement. Acta Inform. 26: 287–308

    MathSciNet  MATH  Google Scholar 

  17. 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

  18. Sarshogh MR, Butler M (2011) Specification and refinement of discrete timing properties in Event-B. In: AVoCS 2011

  19. Schneider S, Treharne H, Wehrheim H (2011) A CSP account of Event-B refinement. In: Refine, volume 55 of EPTCS, pp 139–154

  20. von Wright J (1994) The lattice of data refinement. Acta Inform. 31(2): 105–135

    Article  MathSciNet  MATH  Google Scholar 

  21. 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

  22. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Butler.

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

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-012-0239-2

Keywords

Navigation