Skip to main content

Encoding and Decoding in Refinement Algebra

  • Conference paper
  • First Online:
Relational and Algebraic Methods in Computer Science (RAMICS 2015)

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

  • 418 Accesses

Abstract

Refinement algebras are axiomatic algebras for reasoning about programs in a total-correctness framework. We extend demonic and angelic refinement algebra with operators for encoding and decoding. Encoding gives one the least data refinement of a program with respect to a given data-refinement abstraction. Decoding gives one the greatest program that can be data refined into the decoded program with respect to a given abstraction statement. The resulting algebra is applied to reasoning about action systems.

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. Armstrong, A., Gomes, V.B.F., Struth, G.: Algebraic principles for rely-guarantee style concurrency verification tools. In: Jones, C., Pihlajasaari, P., Sun, J. (eds.) FM 2014. LNCS, vol. 8442, pp. 78–93. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  2. Armstrong, A., Gomes, V.B.F., Struth, G.: Kleene algebra with tests and demonic refinement algebras. Archive of Formal Proofs (2014)

    Google Scholar 

  3. Back, R.-J., Kurki-Suonio, R.: Distributed cooperation with action systems. ACM Trans. Program. Lang. Syst. 10(4), 513–554 (1988)

    Article  MATH  Google Scholar 

  4. Back, R.-J., von Wright, J.: Encoding, decoding and data refinement. Formal Asp. Comput. 12(5), 313–349 (2000)

    Article  MATH  Google Scholar 

  5. Cohen, E.: Separation and reduction. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 45–59. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  6. Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. ACM Trans. Comput. Log. 7(4), 798–833 (2006)

    Article  MathSciNet  Google Scholar 

  7. Guttmann, W.: Algebras for correctness of sequential computations. Sci. Comput. Program. 85, 224–240 (2014)

    Article  Google Scholar 

  8. Hayes, I.J.: Generalised rely-guarantee concurrency: An algebraic foundation. Unpublished manuscript, The University of Queensland (February 2015)

    Google Scholar 

  9. Hoare, T., Möller, B., Struth, G., Wehrman, I.: Concurrent Kleene algebra and its foundations. J. Log. Algebr. Program. 80(6), 266–296 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  10. Höfner, P., Khédri, R., Möller, B.: An algebra of product families. Software and System Modeling 10(2), 161–182 (2011)

    Article  Google Scholar 

  11. Höfner, P., Struth, G.: Automated reasoning in Kleene algebra. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 279–294. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  12. Kozen, D.: Kleene algebra with tests. ACM Trans. Program. Lang. Syst. 19(3), 427–443 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  13. McIver, A., Gonzalia, C., Cohen, E., Morgan, C.C.: Using probabilistic Kleene algebra pKA for protocol verification. J. Log. Algebr. Program. 76(1), 90–111 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  14. McIver, A., Meinicke, L., Morgan, C.: Hidden-Markov program algebra with iteration. Mathematical Structures in Computer Science 25(2), 320–360 (2015)

    Article  MathSciNet  Google Scholar 

  15. Meinicke, L., Hayes, I.: Probabilistic choice in refinement algebra. In: Audebaud, P., Paulin-Mohring, C. (eds.) MPC 2008. LNCS, vol. 5133, pp. 243–267. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  16. Meinicke, L., Solin, K.: Refinement algebra for probabilistic programs. Formal Asp. Comput. 22(1), 3–31 (2010)

    Article  MATH  Google Scholar 

  17. Nelson, G.: A generalization of Dijkstra’s calculus. ACM Trans. Program. Lang. Syst. 11(4), 517–561 (1989)

    Article  Google Scholar 

  18. Preoteasa, V.: Refinement algebra with dual operator. Sci. Comput. Program. 92, 179–210 (2014)

    Article  Google Scholar 

  19. Solin, K.: Normal forms in total correctness for while programs and action systems. J. Log. Algebr. Program. 80(6), 362–375 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  20. Solin, K.: Dual choice and iteration in an abstract algebra of action. Studia Logica 100(3), 607–630 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  21. Solin, K., von Wright, J.: Enabledness and termination in refinement algebra. Sci. Comput. Program. 74(8), 654–668 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  22. von Wright, J.: Towards a refinement algebra. Sci. Comput. Program. 51(1-2), 23–45 (2004)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Solin, K. (2015). Encoding and Decoding in Refinement Algebra. In: Kahl, W., Winter, M., Oliveira, J. (eds) Relational and Algebraic Methods in Computer Science. RAMICS 2015. Lecture Notes in Computer Science(), vol 9348. Springer, Cham. https://doi.org/10.1007/978-3-319-24704-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-24704-5_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-24703-8

  • Online ISBN: 978-3-319-24704-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics