Skip to main content

Applying a Theorem Prover to the Verification of Optimistic Replication Algorithms

  • Chapter
Rewriting, Computation and Proof

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4600))

Abstract

The Operational Transformation (OT) approach is a technique for supporting optimistic replication in collaborative and mobile systems. It allows the users to concurrently update the shared data and exchange their updates in any order since the convergence of all replicas, i.e. the fact that all users view the same data, is ensured in all cases. However, designing algorithms for achieving convergence with the OT approach is a critical and challenging issue. In this paper, we address this issue for the important case where the shared data has a linear structure such as lists, texts, ordered XML trees, etc. We analyze the problem and we propose a generic solution with its formal analysis. We also show in this work how to support the formal design of an OT algorithm with a rewrite-based theorem prover. This theorem prover enables us to envisage the large number of cases required for the correctness proof of the algorithm. Since the manual proofs of all previously published algorithms were wrong, this shows the decisive advantage of using an automatic prover in this context.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Armando, A., Rusinowitch, M., Stratulat, S.: Incorporating decision procedures in implicit induction. Journal of Symbolic Computation 34(4), 241–258 (2001)

    Article  MathSciNet  Google Scholar 

  2. Barthe, G., Stratulat, S.: Validation of the javacard platform with implicit induction techniques. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 337–351. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  3. Bouhoula, A.: Using induction and rewriting to verify and complete parameterized specifications. Theor. Comput. Sci. 170(1-2), 245–276 (1996)

    MATH  MathSciNet  Google Scholar 

  4. Bouhoula, A., Kounalis, E., Rusinowitch, M.: Automated Mathematical Induction. Journal of Logic and Computation 5(5), 631–668 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  5. Cheriton, D.R., Skeen, D.: Understanding the limitations of causally and totally ordered communication. In: SOSP, pp. 44–57 (1993)

    Google Scholar 

  6. Dershowitz, N., Jouannaud, J.-P.: Rewrite systems. In: Handbook of Theoretical Computer Science, vol. B: Formal Models and Sematics (B), pp. 243–320 (1990)

    Google Scholar 

  7. Ellis, C.A., Gibbs, S.J.: Concurrency Control in Groupware Systems. In: SIGMOD Conference, vol. 18, pp. 399–407 (1989)

    Google Scholar 

  8. Guerraoui, R., Hari, C.: On the consistency problem in mobile distributed computing. In: Proceedings of the second ACM international workshop on Principles of mobile computing, pp. 51–57. ACM Press, New York (2002)

    Chapter  Google Scholar 

  9. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  10. Imine, A.: Conception Formelle d’ Algorithmes de Réplication Optimiste. Vers I’ Edition Collaborative dans les Réseaux Pair-á-Pair. Thèse de doctorat, Université Henri Poincaré, Nancy (December 2006)

    Google Scholar 

  11. Imine, A., Molli, P., Oster, G., Rusinowitch, M.: Development of Transformation Functions Assisted by a Theorem Prover. In: Fourth International Workshop on Collaborative Editing (ACM CSCW 2002), Collaborative Computing in IEEE Distributed Systems Online (November 2002)

    Google Scholar 

  12. Imine, A., Molli, P., Oster, G., Rusinowitch, M.: Proving Correctness of Transformation Functions in Real-Time Groupware. In: 8th European Conference of Computer-supported Cooperative Work, Helsinki, Finland, 14.-18. September 2003. Kluwer Academic publishers, Dordrecht (2003)

    Google Scholar 

  13. Imine, A., Molli, P., Oster, G., Rusinowitch, M.: Deductive verification of distributed groupware systems. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 226–240. Springer, Heidelberg (2004)

    Google Scholar 

  14. Jouannaud, J.-P., Kounalis, E.: Automatic proofs by induction in theories without constructors. Inf. Comput. 82(1), 1–33 (1989)

    Article  MATH  MathSciNet  Google Scholar 

  15. Li, D., Li, R.: Ensuring Content Intention Consistency in Real-Time Group (ed.) In: The 24th International Conference on Distributed Computing Systems (ICDCS 2004), Tokyo, Japan, March 2004, IEEE Computer Society, Washington (2004)

    Google Scholar 

  16. Lushman, B., Cormack, G.V.: Proof of correctness of ressel’s adopted algorithm. Information Processing Letters 86(3), 303–310 (2003)

    Article  MathSciNet  Google Scholar 

  17. Molli, P., Oster, G., Skaf-Molli, H., Imine, A.: Using the transformational approach to build a safe and generic data synchronizer. In: Proceedings of the 2003 international ACM SIGGROUP conference on Supporting group work, pp. 212–220. ACM Press, New York (2003)

    Chapter  Google Scholar 

  18. Ressel, M., Nitsche-Ruhland, D., Gunzenhauser, R.: An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors. In: Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW 1996), Boston, Massachusetts, USA, pp. 288–297 (November 1996)

    Google Scholar 

  19. Rusinowitch, M., Stratulat, S., Klay, F.: Mechanical Verification of an Ideal ABR Conformance Algorithm. Journal of Automated Reasoning 30(2), 153–177 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  20. Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)

    Article  Google Scholar 

  21. Stratulat, S.: A general framework to build contextual cover set induction provers. Journal of Symbolic Computation 32(4), 403–445 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  22. Suleiman, M., Cart, M., Ferrié, J.: Concurrent Operations in a Distributed and Mobile Collaborative Environment. In: Proceedings of the Fourteenth International Conference on Data Engineering, Orlando, Florida, USA, February 23-27, 1998, pp. 36–45. IEEE Computer Society Press, Washington (1998)

    Google Scholar 

  23. Sun, C.: The copowerpoint project http://reduce.qpsf.edu.au/copowerpoint/ (2004)

  24. Sun, C., Ellis, C.: Operational transformation in real-time group editors: issues, algorithms, and achievements. In: Proceedings of the 1998 ACM conference on Computer supported cooperative work, pp. 59–68. ACM Press, New York (1998)

    Chapter  Google Scholar 

  25. Sun, C., Jia, X., Zhang, Y., Yang, Y., Chen, D.: Achieving convergence, causality-preservation and intention-preservation in real-time cooperative editing systems. ACM Transactions on Computer-Human Interaction (TOCHI) 5(1), 63–108 (1998)

    Article  Google Scholar 

  26. Sun, D., Xia, S., Sun, C., Chen, D.: Operational transformation for collaborative word processing. In: CSCW ’04: Proceedings of the 2004 ACM conference on Computer supported cooperative work, New York, NY, USA, 2004, pp. 437–446. ACM Press, New York (2004)

    Chapter  Google Scholar 

  27. Vidot, N., Cart, M., Ferri é, J., Suleiman, M.: Copies convergence in a distributed real-time collaborative environment. In: Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW 2000), Philadelphia, Pennsylvania, USA (December 2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hubert Comon-Lundh Claude Kirchner Hélène Kirchner

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Imine, A., Rusinowitch, M. (2007). Applying a Theorem Prover to the Verification of Optimistic Replication Algorithms. In: Comon-Lundh, H., Kirchner, C., Kirchner, H. (eds) Rewriting, Computation and Proof. Lecture Notes in Computer Science, vol 4600. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73147-4_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73147-4_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73146-7

  • Online ISBN: 978-3-540-73147-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics