Skip to main content

Compositional Action System Derivation Using Enforced Properties

  • Conference paper

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

Abstract

Action systems have been shown to be applicable for modelling and constructing both sequential and concurrent systems. This paper presents an approach to program construction where the concrete implementation is derived from its specification — via a series of small refinements — using incomplete proofs to motivate changes to the program. Formalisation of our approach is provided by enforced properties, which restrict the traces of a program to those that satisfy the enforced properties. The goal of the derivation is to refine a program with enforced properties to a program (with no enforced properties) whose code satisfies the enforced properties. An advantage of this approach is that the code in the earlier versions of the program need not be complete; incorrect execution of the program is avoided by including enforced properties in the specification. Enforced properties may be any temporal formula or relation, and hence we may reason about both safety and progress in a compositional setting.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrial, J.R., Cansell, D., Méry, D.: Refinement and reachability in Event B. In: Treharne, H., King, S., Henson, M.C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 222–241. Springer, Heidelberg (2005)

    Google Scholar 

  2. Back, R.J., von Wright, J.: Trace refinement of action systems. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836, pp. 367–384. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  3. Back, R.J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, New York (1998)

    MATH  Google Scholar 

  4. Back, R.J., von Wright, J.: Compositional action system refinement. Formal Asp. Comput. 15(2-3), 103–117 (2003)

    Article  MATH  Google Scholar 

  5. Back, R.J., Xu, Q.: Refinement of fair action systems. Acta Inf. 35(2), 131–165 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  6. Chandy, K.M., Misra, J.: Parallel Program Design: A Foundation. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1988)

    MATH  Google Scholar 

  7. Coleman, J.W., Jones, C.B.: A structural proof of the soundness of rely/guarantee rules. J. Log. Comput. 17(4), 807–841 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  8. Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975)

    Article  MATH  MathSciNet  Google Scholar 

  9. Dongol, B.: Progress-based verification and derivation of concurrent programs. Ph.D. thesis, The University of Queensland (2009)

    Google Scholar 

  10. Dongol, B., Hayes, I.J.: Enforcing safety and progress properties: An approach to concurrent program derivation. In: 20th Australian Software Engineering Conference, pp. 3–12. IEEE Computer Society, Los Alamitos (2009)

    Chapter  Google Scholar 

  11. Dongol, B., Mooij, A.J.: Progress in deriving concurrent programs: Emphasizing the role of stable guards. In: Uustalu, T. (ed.) MPC 2006. LNCS, vol. 4014, pp. 140–161. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  12. Dongol, B., Mooij, A.J.: Streamlining progress-based derivations of concurrent programs. Formal Aspects of Computing 20(2), 141–160 (2008)

    Article  MATH  Google Scholar 

  13. Feijen, W.H.J., van Gasteren, A.J.M.: On a Method of Multiprogramming. Springer, Heidelberg (1999)

    MATH  Google Scholar 

  14. Groslambert, J.: Verification of LTL on B event systems. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 109–124. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  15. Hayes, I.J.: Dynamically detecting faults via integrity constraints. In: Butler, M., Jones, C.B., Romanovsky, A., Troubitsyna, E. (eds.) Methods, Models and Tools for Fault Tolerance. LNCS, vol. 5454, pp. 85–103. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  16. Jones, C.B.: Tentative steps toward a development method for interfering programs. ACM Transactions on Programming Languages and Systems 5(4), 596–619 (1983)

    Article  MATH  Google Scholar 

  17. Jonsson, B., Tsay, Y.K.: Assumption/guarantee specifications in linear-time temporal logic. Theoretical Computer Science 167(1-2), 47–72 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  18. Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)

    Google Scholar 

  19. Manna, Z., Pnueli, A.: Temporal Verification of Reactive and Concurrent Systems: Specification. Springer, New York (1992)

    Google Scholar 

  20. McDermid, J., Kelly, T.: Industrial press: Safety case. Tech. rep., High Integrity Systems Engineering Group, University of York (1996)

    Google Scholar 

  21. Morgan, C.: Programming from specifications, 2nd edn. Prentice Hall International (UK) Ltd., Hertfordshire (1994)

    MATH  Google Scholar 

  22. Morgan, C., Vickers, T.: On the Refinement Calculus. Springer, New York (1992)

    Google Scholar 

  23. Sekerinski, E.: An algebraic approach to refinement with fair choice. Electr. Notes Theor. Comput. Sci. 214, 51–79 (2008)

    Article  Google Scholar 

  24. Troubitsyna, E.: Enhancing dependability via parameterized refinement. In: PRDC, p. 120. IEEE Computer Society, Los Alamitos (1999)

    Google Scholar 

  25. Troubitsyna, E.: Reliability assessment through probabilistic refinement. Nord. J. Comput. 6(3), 320–342 (1999)

    MATH  MathSciNet  Google Scholar 

  26. Wabenhorst, A.: Stepwise development of fair distributed systems. Acta Inf. 39(4), 233–271 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  27. Woodcock, J., Davies, J.: Using Z: specification, refinement, and proof. Prentice-Hall, Inc., Upper Saddle River (1996)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dongol, B., Hayes, I.J. (2010). Compositional Action System Derivation Using Enforced Properties. In: Bolduc, C., Desharnais, J., Ktari, B. (eds) Mathematics of Program Construction. MPC 2010. Lecture Notes in Computer Science, vol 6120. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13321-3_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13321-3_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13320-6

  • Online ISBN: 978-3-642-13321-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics