Skip to main content

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

Included in the following conference series:

Abstract

Model-driven development is being used increasingly in the development of modern computer-based systems. In the case of cyber-physical systems (including robotics and autonomous systems) no single modelling solution is adequate to cover all aspects of a system, such as discrete control, continuous dynamics, and communication networking. Instead, a heterogeneous modelling solution must be adopted. We propose a theory engineering technique involving Isabelle/HOL and Hoare & He’s Unifying Theories of Programming. We illustrate this approach with mechanised theories for building a contractual theory of sequential programming, a theory of pointer-based programs, and the reactive theory underpinning CSP’s process algebra. Galois connections provide the mechanism for linking these theories.

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 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

References

  1. Anderson, H., Ciobanu, G., Freitas, L.: UTP and temporal logic model checking. In: [13], pp. 22–41 (2008)

    Google Scholar 

  2. Julliand, J., Kouchnarenko, O. (eds.): B 2007: Formal Specification and Development in B, Proceedings 7th International Conference of B Users, Besancon, France, 17–19 , LNCS, 4355 Springer, 2006., January 2007

    Google Scholar 

  3. Bandur, V., Woodcock, J.: Unifying theories of logic and specification. In: [47], pp. 18–33 (2013)

    Google Scholar 

  4. Banks, M.J., Jacob, J.L.: Unifying theories of confidentiality. In: [44], pp. 120–136 (2010)

    Google Scholar 

  5. Banks, M.J., Jacob, J.L.: On modelling user observations in the UTP. In: [44], pp. 101–119 (2010)

    Google Scholar 

  6. Bresciani, R., Butterfield, A.: A probabilistic theory of designs based on distributions. In: [56], pp. 105–123 (2012)

    Google Scholar 

  7. Butterfield, A.: Saoithín: a theorem prover for UTP. In: [44], pp. 137–156 (2010)

    Google Scholar 

  8. Butterfield, A.: The Logic of U\(\cdot \)(TP)\(^{\text{2}}\). In: [56], pp. 124–143 (2012)

    Google Scholar 

  9. Butterfield, A., Sherif, A., Woodcock, J.: Slotted-Circus. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 75–97. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  10. Cavalcanti, A., Gaudel, M.-C.: A note on traces refinement and the \(conf\) relation in the unifying theories of programming. In: [13], pp. 42–61 (2008)

    Google Scholar 

  11. Cavalcanti, A., Gaudel, M.-C.: Specification coverage for testing in Circus. In: [44], 1–45 (2010)

    Google Scholar 

  12. Cavalcanti, A., Harwood, W., Woodcock, J.: Pointers and records in the Unifying Theories of Programming. In: [24], pp. 200–216 (2006)

    Google Scholar 

  13. Butterfield, A. (ed.): UTP 2008. LNCS, vol. 5713. Springer, Heidelberg (2010)

    MATH  Google Scholar 

  14. Cavalcanti, A., Mota, A., Woodcock, J.: Simulink timed models for program verification. In: Liu, Z., Woodcock, J., Zhu, H. (eds.) Theories of Programming and Formal Methods. LNCS, vol. 8051, pp. 82–99. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  15. Cavalcanti, A., Sampaio, A., Woodcock, J.: Unifying classes and processes. Softw. Syst. Model. 4(3), 277–296 (2005)

    Article  Google Scholar 

  16. Cavalcanti, A., Woodcock, J., Dunne, S.: Angelic nondeterminism in the Unifying Theories of Programming. Formal Asp. Comput. 18(3), 288–307 (2006)

    Article  MATH  Google Scholar 

  17. Cavalcanti, A., Wellings, A.J., Woodcock, J.: The Safety-critical Java memory model formalised. Formal Asp. Comput. 25(1), 37–57 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  18. Cavalcanti, A., Woodcock, J.: A tutorial introduction to CSP in Unifying Theories of Programming. In: Cavalcanti, A., Sampaio, A., Woodcock, J. (eds.) PSSE 2004. LNCS, vol. 3167, pp. 220–268. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  19. Cavalcanti, A., Wellings, A.J., Woodcock, J., Wei, K., Zeyda, F.: Safety-critical Java in Circus. In: Wellings, A.J., Ravn, A.P. (eds) ACM 9th International Workshop on Java Technologies for Real-time and Embedded Systems, JTRES 2011, York, 26–28 September 2011, pp. 20–29 (2011)

    Google Scholar 

  20. Cavalcanti, A., Zeyda, F., Wellings, A.J., Woodcock, J., Wei, K.: Safety-critical Java programs from Circus models. Real-Time Syst. 49(5), 614–667 (2013)

    Article  MATH  Google Scholar 

  21. Chen, X., Ye, N., Ding, W.: A formal approach to analyzing interference problems in aspect-oriented designs. In: [44], pp. 157–171 (2010)

    Google Scholar 

  22. Dunne, S., Chorus Angelorum. In: [2], pp. 19–33 (2007)

    Google Scholar 

  23. Dunne, S., Stoddart, B. (eds.): UTP 2006. LNCS, vol. 4010. Springer, Heidelbreg (2006)

    MATH  Google Scholar 

  24. Foster, S., Woodcock, J.: Unifying theories of programming in Isabelle. In: Liu, Z., Woodcock, J., Zhu, H. (eds.) Unifying Theories of Programming and Formal Engineering Methods. LNCS, vol. 8050, pp. 109–155. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  25. Foster, S., Zeyda, F., Woodcock, J.: Isabelle/UTP: a mechanised theory engineering framework. In: [37], pp. 21–41 (2014)

    Google Scholar 

  26. Goguen, J.A., Burstall, R.M.: Introducing Institutions. In: Clarke, E.M., Kozen, D. (eds.) Logics of Programs. LNCS, vol. 164, pp. 221–256. Springer, Heidelberg (1984)

    Chapter  Google Scholar 

  27. Harwood, W.T., Cavalcanti, A., Woodcock, J.: A theory of pointers for the UTP. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigun, H. (eds.) ICTAC 2008. LNCS, vol. 5160, pp. 141–155. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  28. Hayes, I.J.: Termination of real-time programs: definitely, definitely not, or maybe. In: [24], pp. 141–154 (2006)

    Google Scholar 

  29. He, J.: Transaction Calculus. In: [13], pp. 2–21 (2008)

    Google Scholar 

  30. He, J.: A probabilistic BPEL-like language. In: [44], pp. 74–100 (2010)

    Google Scholar 

  31. He, J., Qin, S., Sherif, A.: Constructing property-oriented models for verification. In: [24], pp. 85–100 (2006)

    Google Scholar 

  32. He, J., Sanders, J.W.: Unifying Probability. In: [24], pp. 173–199 (2006)

    Google Scholar 

  33. Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice Hall, Upper Saddle River (1998)

    MATH  Google Scholar 

  34. McEwan, A.A., Woodcock, J.: Unifying Theories of Interrupts. In: [13], pp. 122–141 (2008)

    Google Scholar 

  35. Naumann, D. (ed.): UTP 2014. LNCS, vol. 8963. Springer, Heidelberg (2015)

    MATH  Google Scholar 

  36. Oliveira, M., Cavalcanti, A., Woodcock, J.: Unifying Theories in ProofPower-Z. In: [24], pp. 123–140 (2006)

    Google Scholar 

  37. Oliveira, M., Cavalcanti, A., Woodcock, J.: A denotational semantics for circus. Electr. Notes Theor. Comput. Sci 187, 107–123 (2007)

    Article  Google Scholar 

  38. Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Circus. Formal Asp. Comput. 21(1–2), 3–32 (2009)

    Article  MATH  Google Scholar 

  39. Oliveira, M., Cavalcanti, A., Woodcock, J.: Unifying theories in ProofPower-Z. Formal Asp. Comput. 25(1), 133–158 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  40. Perna, J.I., Woodcock, J.: A denotational semantics for Handel-C hardware compilation. In: Butler, M., Hinchey, M.G., Larrondo-Petrie, M.M. (eds.) ICFEM 2007. LNCS, vol. 4789, pp. 266–285. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  41. Perna, J.I., Woodcock, J.: UTP semantics for Handel-C. In: [13], pp. 142–160 (2008)

    Google Scholar 

  42. Qin, S. (ed.): UTP 2010. LNCS, vol. 6445. Springer, Heidelberg (2010)

    Google Scholar 

  43. Ribeiro, P., Cavalcanti, A.: Designs with angelic nondeterminism. In: Seventh IEEE International Symposium on Theoretical Aspects of Software Engineering, TASE 2013, 1–3 July 2013, Birmingham, pp. 71–78 (2013)

    Google Scholar 

  44. Ribeiro, P., Cavalcanti, A.: Angelicism in the theory of reactive processes. In: [37], pp. 42–61 (2014)

    Google Scholar 

  45. Iyoda, J., de Moura, L. (eds.): Formal Methods: Foundations and Applications. LNCS, vol. 8195. Springer, Heidelberg (2013)

    MATH  Google Scholar 

  46. Reynolds, J.C.: Separation logic: a logic for shared mutable data structures. In: 17th IEEE Symposium on Logic in Computer Science, LICS 2002, 22–25 July 2002, Copenhagen, Denmark, pp. 55–74 (2002)

    Google Scholar 

  47. Santos, Thiago L. V. L Cavalcanti, A., Sampaio, A.: Object-orientation in the UTP. In: [24], pp. 18–37 (2006)

    Google Scholar 

  48. Sherif, A., Cavalcanti, A., He, J., Sampaio, A.: A process algebraic framework for specification and validation of real-time systems. Formal Asp. Comput. 22(2), 153–191 (2010)

    Article  MATH  Google Scholar 

  49. Sherif, A., Kleinberg, R.D.: Towards a time model for \(Circus\). In: George, C.W., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 613–624. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  50. Sherif, A., Jifeng, H., Cavalcanti, A., Sampaio, A.: A framework for specification and validation of real-time systems using Circus actions. In: Liu, Z., Araki, K. (eds.) ICTAC 2004. LNCS, vol. 3407, pp. 478–493. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  51. Smith, M.A., Gibbons, J.: Unifying Theories of Locations. In: [13], pp. 161–180 (2008)

    Google Scholar 

  52. Stoddart, B., Bell, P.: Probabilistic choice, reversibility, loops, and miracles. In: [44], pp. 253–270 (2010)

    Google Scholar 

  53. Stoddart, B., Zeyda, F., Lynas, R.: A design-based model of reversible computation. In: [24], pp. 63–83 (2006

    Google Scholar 

  54. Wolff, B., Gaudel, M.-C., Feliachi, A. (eds.): UTP 2012. LNCS, vol. 7681. Springer, Heidelberg (2013)

    Google Scholar 

  55. Wei, K., Woodcock, J., Cavalcanti, A.: Circus time with reactive designs. In: [56], pp. 68–87 (2012)

    Google Scholar 

  56. Weiglhofer, M., Aichernig, B.K.: Unifying input output conformance. In: [13], pp. 181–201 (2008)

    Google Scholar 

  57. Woodcock, J., Cavalcanti, A.: A tutorial introduction to designs in Unifying Theories of Programming. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 40–66. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  58. Woodcock, J.: The miracle of reactive programming. In: [13], pp. 202–217 (2008)

    Google Scholar 

  59. Woodcock, J.: Engineering UToPiA. In: Jones, C., Pihlajasaari, P., Sun, J. (eds.) FM 2014. LNCS, vol. 8442, pp. 22–41. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  60. Woodcock, J., Davies, J.: Using Z-Specification, Refinement, and Proof. Prentice Hall, Upper Saddle River (1996)

    MATH  Google Scholar 

  61. Woodcock, J., Bandur, V.: Unifying theories of undefinedness in UTP. In: [56], pp. 1–22 (2012)

    Google Scholar 

  62. Woodcock, J., Cavalcanti, A.: A concurrent language for refinement. Butterfield, A., Strong, G., Pahl, C. (eds) 5th Irish Workshop on Formal Methods, IWFM 2001, Dublin, Ireland, 16–17, BCS Workshops in Computing, July 2001 (2001)

    Google Scholar 

  63. Woodcock, J., Cavalcanti, A., Fitzgerald, J.S., Larsen, P.G., Miyazawa, A., Perry, S.: Features of CML: a formal modelling language for systems of systems. In: 7th IEEE International Conference on System of Systems Engineering, SoSE 2012, Genova, pp. 445–450, 16–19 July 2012 (2012)

    Google Scholar 

  64. Zeyda, F., Cavalcanti, A.: Encoding Circus programs in ProofpowerZ. In: [13], pp. 218–237 (2008)

    Google Scholar 

  65. Zeyda, F., Cavalcanti, A.: Higher-order UTP for a theory of methods. In: [56], pp. 204–223 (2012)

    Google Scholar 

  66. Zhan, N., Kang, E.-Y., Liu, Z.: Component publications and compositions. In: [13], pp. 238–257 (2008)

    Google Scholar 

  67. Zhu, H., He, J., Peng, X., Jin, N.: Denotational approach to an event-driven system-level language. In: [13], pp. 258–278 (2008)

    Google Scholar 

  68. Zhu, H., Liu, P., He, J., Qin, S.: Mechanical approach to linking operational semantics and algebraic semantics for verilog using Maude. In: [56], pp. 164–185 (2012)

    Google Scholar 

  69. Zhu, H., Sanders, J.W., He, J., Qin, S.: Denotational semantics for a probabilistic timed shared-variable language. In: [56], pp. 224–247 (2012)

    Google Scholar 

  70. Zhu, H., Yang, F., He, J.: Generating denotational semantics from algebraic semantics for event-driven system-level language. In: [44], pp. 286–308 (2010)

    Google Scholar 

Download references

Acknowledgements

The work reported in this paper is partially supported by the European Commission INTO-CPS project (Horizon 2020, 664047). The authors are grateful to the anonymous referees for their careful reading of the paper and helpful suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jim Woodcock .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Woodcock, J., Foster, S., Butterfield, A. (2016). Heterogeneous Semantics and Unifying Theories. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques. ISoLA 2016. Lecture Notes in Computer Science(), vol 9952. Springer, Cham. https://doi.org/10.1007/978-3-319-47166-2_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-47166-2_26

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-47165-5

  • Online ISBN: 978-3-319-47166-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics