Abstract
The construction of specifications is often a combination of smaller sub-components. Composition and decomposition are techniques supporting reuse and allowing formal combination of sub-components through refinement steps. Sub-components can result from a design or architectural goal and a refinement framework should allow them to be further developed, possibly in parallel. We propose the definition of composition and decomposition in the Event-B formalism following a shared event approach where sub-components interact via synchronised shared events and shared states are not allowed. We define the necessary proof obligations to ensure valid compositions and decompositions. We also show that shared event composition preserves refinement proofs, that is, in order to maintain refinement of compositions, it is sufficient to prove refinement between corresponding sub-components. A case study applying these two techniques is illustrated using Rodin, the Event-B toolset.
Part of this research was carried out within the European Commission ICT project 214158 DEPLOY ( http://www.deploy-project.eu .
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Jackson, D.: Structuring Z specifications with views. ACM Trans. Softw. Eng. Methodol. 4(4), 365–389 (1995)
Zave, P., Jackson, M.: Conjunction as Composition. ACM Trans. Softw. Eng. Methodol. 2(4), 379–411 (1993)
Jones, C.B.: Wanted: a compositional approach to concurrency. In: Programming Methodology, pp. 5–15. Springer-Verlag New York, Inc, New York (2003)
Poppleton, M.: The Composition of Event-B Models. In: Börger, E., Butler, M., Bowen, J.P., Boca, P. (eds.) ABZ 2008. LNCS, vol. 5238, pp. 209–222. Springer, Heidelberg (2008)
Abrial, J.R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)
Abrial, J.R., Hallerstede, S.: Refinement, Decomposition, and Instantiation of Discrete Models: Application to Event-B. Fundam. Inf. 77(1-2), 1–28 (2007)
Butler, M.: An Approach to the Design of Distributed Systems with B AMN. In: Till, D., P. Bowen, J., Hinchey, M.G. (eds.) ZUM 1997. LNCS, vol. 1212, pp. 221–241. Springer, Heidelberg (1997)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall International Series in Computer Science (1985)
Morgan, C.: Of wp and CSP. In: Beauty is our Business: a Birthday Salute to Edsger W. Dijkstra, pp. 319–326. Springer-Verlag New York, Inc., New York (1990)
Back, R.-J.R., Kurki-Suonio, R.: Decentralization of Process Nets with Centralized Control. In: PODC 1983: Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing, pp. 131–142. ACM, New York (1983)
Abrial, J.R.: The B-Book: Assigning programs to meanings. Cambridge University Press, Cambridge (1996)
Rodin: RODIN project Homepage (September 2008), http://rodin.cs.ncl.ac.uk (accessed July 27, 2010)
Abrial, J.R., Butler, M.J., Hallerstede, S., Voisin, L.: An Open Extensible Tool Environment for Event-B. In: Liu, Z., Kleinberg, R.D. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 588–605. Springer, Heidelberg (2006)
Spivey, J.M.: The Z Notation: a Reference Manual. Prentice-Hall, Inc., Englewood Cliffs (1989)
Butler, M.J.: A CSP Approach to Action Systems. PhD thesis, Oxford University (1992)
Butler, M.: Stepwise Refinement of Communicating Systems. Science of Computer Programming 27(2), 139–173 (1996)
Butler, M.: Synchronisation-Based Decomposition for Event-B. In: RODIN Deliverable D19 Intermediate Report on Methodology, pp. 47–57 (2006)
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. International Journal on Software Tools for Technology Transfer, STTT (April 2010)
Silva, R., Pascal, C., Hoang, T.S., Butler, M.: Decomposition Tool for Event-B. Software: Practice and Experience 41(2), 199–208 (2011)
Silva, R., Butler, M.: Parallel Composition Using Event-B (July 2009), http://wiki.event-b.org/index.php/Parallel_Composition_using_Event-B (accessed July 27, 2010)
Back, R.-J.R.: Refinement Calculus, part II: Parallel and Reactive Programs. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) REX 1989. LNCS, vol. 430, pp. 67–93. Springer, Heidelberg (1990)
Abadi, M., Lamport, L.: Composing Specifications. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds.) REX 1989. LNCS, vol. 430, pp. 1–41. Springer, Heidelberg (1990)
Woodcock, J., Dickinson, B.: Using VDM with Rely and Guarantee-Conditions. In: Bloomfield, R.E., Jones, R.B., Marshall, L.S. (eds.) VDM 1988. LNCS, vol. 328, pp. 434–458. Springer, Heidelberg (1988)
Bellegarde, F., Julliand, J., Kouchnarenko, O.: Synchronized Parallel Composition of Event Systems in B. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 436–457. Springer, Heidelberg (2002)
Butler, M., Waldén, M.: Distributed System Development in B. Technical Report TUCS-TR-53, Turku Centre for Computer Science, 14 (1996)
Hoang, T., Abrial, J.R.: Event-B Decomposition for Parallel Programs. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 319–333. Springer, Heidelberg (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Silva, R., Butler, M. (2011). Shared Event Composition/Decomposition in Event-B. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds) Formal Methods for Components and Objects. FMCO 2010. Lecture Notes in Computer Science, vol 6957. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25271-6_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-25271-6_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25270-9
Online ISBN: 978-3-642-25271-6
eBook Packages: Computer ScienceComputer Science (R0)