Abstract
Event-B is a state-based formal method that supports a refinement process in which an abstract model is elaborated towards an implementation in a step-wise manner. One weakness of Event-B is that control flow between events is typically modelled implicitly via variables and event guards. While this fits well with Event-B refinement, it can make models involving sequencing of events more difficult to specify and understand than if control flow was explicitly specified. New events may be introduced in Event-B refinement and these are often used to decompose the atomicity of an abstract event into a series of steps. A second weakness of Event-B is that there is no explicit link between such new events that represent a step in the decomposition of atomicity and the abstract event to which they contribute. To address these weaknesses, atomicity decomposition diagrams support the explicit modelling of control flow and refinement relationships for new events. In previous work, the atomicity decomposition approach has been evaluated manually in the development of two large case studies, a multi media protocol and a spacecraft sub-system. The evaluation results helped us to develop a systematic definition of the atomicity decomposition approach, and to develop a tool supporting the approach. In this paper we outline this systematic definition of the approach, the tool that supports it and evaluate the contribution that the tool makes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press (2010)
Abrial, J.-R.: The B-book: Assigning Programs to Meanings. Cambridge University Press (1996)
Abrial, J.-R.: Refinement, Decomposition and Instantiation of Discrete Models. In: Abstract State Machines, pp. 17–40 (2005)
Butler, M.: csp2B: A Practical Approach to Combining CSP and B. In: Formal Aspects of Computing, vol. 12, pp. 934–5043 (2000) ISSN 0934-5043
Iliasov, A.: On Event-B and Control Flow. Technical Report, School of Computing Science, Newcastle University (2009)
Butler, M.: Decomposition Structures for Event-B. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 20–38. Springer, Heidelberg (2009)
Jackson, M.A.: System Development. Prentice-Hall, Englewood Cliffs (1983)
Zave, P., Cheung, E.: Compositional Control of IP Media. IEEE Trans. Software Eng. 35(1), 46–66 (2009)
ESA Media Center, Space Science. Factsheet: Bepicolombo (2008), http://www.esa.int/esaSC
Fathabadi, A.S., Butler, M.: Applying Event-B Atomicity Decomposition to a Multi Media Protocol. In: FMCO Formal Methods for Components and Objects, pp. 89–104 (2010)
Fathabadi, A.S., Rezazadeh, A., Butler, M.: Applying Atomicity and Model Decomposition to a Space Craft System in Event-B. In: NASA Formal Methods, pp. 328–342 (2011)
Metayer, C., Abrial, J-R., Voisin, L.: Event-B language. RODIN Project Deliverable 3.2 (2005), http://rodin.cs.ncl.ac.uk/deliverables/D7.pdf
Back, R.-J., Kurki-Suonio, R.: Distributed Cooperation with Action Systems. ACM Trans. Program. Lang. Syst., 513–554 (1988)
Abrial, J.-R., Butler, M., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: Rodin: An Open Toolset for Modelling and Reasoning in Event-B. In: STTT, vol. 12, pp. 447–466 (2010)
Woodcock, J., Cavalcanti, A.: The semantics of $ circus$. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 184–203. Springer, Heidelberg (2002)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall (1985) ISBN 0-13-153289-8
Davies, J., Woodcock, J.: Using Z: Specification, Refinement and Proof. Prentice Hall International Series in Computer Science (1996) ISBN 0-13-948472-8
Schneider, S., Treharne, H.: Verifying Controlled Components. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 87–107. Springer, Heidelberg (2004)
Schneider, S., Treharne, H., Wehrheim, H.: A CSP Approach to Control in Event-B. In: Méry, D., Merz, S. (eds.) IFM 2010. LNCS, vol. 6396, pp. 260–274. Springer, Heidelberg (2010)
Said, M.Y., Butler, M., Snook, C.: Language and Tool Support for Class and State Machine Refinement in UML-B. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 579–595. Springer, Heidelberg (2009)
Iliasov, A.: Tutorial on the Flow plugin for Event-B. In: Workshop on B Dissemination (WOBD) Satellite event of SBMF, Natal, Brazil (2010)
Crocker, D., Overell, P.: Augmented BNF for Syntax Specifications: ABNF. STD 68, RFC 5234 (2008)
Eclipse (Online), http://www.eclipse.org
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Part of the Eclipse Series series. Published by Addison-Wesley Professional (2008)
Kolovos, D., Rose, L., Paige, R.: The Epsilon Book (2008), http://www.eclipse.org/gmt/epsilon/doc/book
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Salehi Fathabadi, A., Butler, M., Rezazadeh, A. (2012). A Systematic Approach to Atomicity Decomposition in Event-B. In: Eleftherakis, G., Hinchey, M., Holcombe, M. (eds) Software Engineering and Formal Methods. SEFM 2012. Lecture Notes in Computer Science, vol 7504. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33826-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-33826-7_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33825-0
Online ISBN: 978-3-642-33826-7
eBook Packages: Computer ScienceComputer Science (R0)