Abstract
We present here a case study developing a parallel program. The approach that we use combines refinement and decomposition techniques. This involves in the first step to abstractly specify the aim of the program, then subsequently introduce shared information between sub-processes via refinement. Afterwards, decomposition is applied to split the resulting model into sub-models for different processes. These sub-models are later independently developed using refinement. Our approach aids the understanding of parallel programs and reduces the complexity in their proofs of correctness.
Part of this research was carried out within the European Commission ICT project 214158 DEPLOY ( http://www.deploy-project.eu/index.html ). We thank Matthias Schmalz, Christoph Sprenger and David Basin for their comments on drafts of this paper.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abadi, M., Lamport, L.: Conjoining specifications. ACM Trans. Prog. Lang. Syst. (1995)
Abrial, J.-R.: Event model decomposition. Technical Report 626, ETH Zurich (May 2009)
Abrial, J.-R.: Modeling in Event-B: System and Software Design. CUP (2009) (to appear)
Abrial, J.-R., Butler, M., Hallerstede, S., Voisin, L.: An open extensible tool environment for Event-B. In: Liu, Z., He, J. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 588–605. Springer, Heidelberg (2006)
Abrial, J.-R., Cansell, D.: Formal construction of a non-blocking concurrent queue algorithm (a case study in atomicity). J. UCS (2005)
Abrial, J.-R., Hallerstede, S.: Refinement, decomposition and instantiation of discrete models: Application to Event-B. Fundamentae Informatica (2006)
Back, R.-J.: Refinement calculus, part II: Parallel and reactive programs. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds.) REX Workshop, pp. 67–93 (1989)
Back, R.-J., Sere, K.: Stepwise refinement of parallel algorithms. Sci. Comp. Prog. (1989)
Back, R.-J., Sere, K.: Superposition refinement of parallel algorithms. In: FORTE (1991)
Barringer, H.: A Survey of Verification Techniques for Parallel Programs. LNCS, vol. 191. Springer, Heidelberg (1985)
de Roever, W.P., de Boer, F.S., Hannemann, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification: Introduction to Compositional and Noncompositional Methods. Cambridge Tracts in Theoretical Computer Science. CUP (2001)
Hoang, T.S.: Event-B development of the FindP program. Technical Report 653, ETH Zurich (November 2009)
Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM (1969)
Jones, C.B.: Tentative steps toward a development method for interfering programs. ACM Trans. Program. Lang. Syst. (1983)
Jones, C.B.: The role of proof obligations in software design. In: Ehrig, H., Floyd, C., Nivat, M., Thatcher, J. (eds.) TAPSOFT 1985 and CSE 1985. LNCS, vol. 186. Springer, Heidelberg (1985)
Jones, C.B.: Splitting atoms safely. Theor. Comput. Sci. (2007)
Lamport, L.: Composition: A way to make proofs harder. In: de Roever, W.-P., Langmaack, H., Pnueli, A. (eds.) COMPOS 1997. LNCS, vol. 1536, p. 402. Springer, Heidelberg (1998)
Prensa Nieto, L.: Verification of Parallel Programs with the Owicki-Gries and Rely-Guarantee Methods in Isabelle/HOL. PhD thesis, Technische Universität München (2001)
Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs I. Acta Inf. (1976)
Rosen, B.K.: Correctness of parallel programs: The Church-Rosser approach. Theor. Comput. Sci. (1976)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hoang, T.S., Abrial, JR. (2010). Event-B Decomposition for Parallel Programs. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds) Abstract State Machines, Alloy, B and Z. ABZ 2010. Lecture Notes in Computer Science, vol 5977. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11811-1_24
Download citation
DOI: https://doi.org/10.1007/978-3-642-11811-1_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11810-4
Online ISBN: 978-3-642-11811-1
eBook Packages: Computer ScienceComputer Science (R0)