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.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Anderson, H., Ciobanu, G., Freitas, L.: UTP and temporal logic model checking. In: [13], pp. 22–41 (2008)
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
Bandur, V., Woodcock, J.: Unifying theories of logic and specification. In: [47], pp. 18–33 (2013)
Banks, M.J., Jacob, J.L.: Unifying theories of confidentiality. In: [44], pp. 120–136 (2010)
Banks, M.J., Jacob, J.L.: On modelling user observations in the UTP. In: [44], pp. 101–119 (2010)
Bresciani, R., Butterfield, A.: A probabilistic theory of designs based on distributions. In: [56], pp. 105–123 (2012)
Butterfield, A.: Saoithín: a theorem prover for UTP. In: [44], pp. 137–156 (2010)
Butterfield, A.: The Logic of U\(\cdot \)(TP)\(^{\text{2}}\). In: [56], pp. 124–143 (2012)
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)
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)
Cavalcanti, A., Gaudel, M.-C.: Specification coverage for testing in Circus. In: [44], 1–45 (2010)
Cavalcanti, A., Harwood, W., Woodcock, J.: Pointers and records in the Unifying Theories of Programming. In: [24], pp. 200–216 (2006)
Butterfield, A. (ed.): UTP 2008. LNCS, vol. 5713. Springer, Heidelberg (2010)
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)
Cavalcanti, A., Sampaio, A., Woodcock, J.: Unifying classes and processes. Softw. Syst. Model. 4(3), 277–296 (2005)
Cavalcanti, A., Woodcock, J., Dunne, S.: Angelic nondeterminism in the Unifying Theories of Programming. Formal Asp. Comput. 18(3), 288–307 (2006)
Cavalcanti, A., Wellings, A.J., Woodcock, J.: The Safety-critical Java memory model formalised. Formal Asp. Comput. 25(1), 37–57 (2013)
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)
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)
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)
Chen, X., Ye, N., Ding, W.: A formal approach to analyzing interference problems in aspect-oriented designs. In: [44], pp. 157–171 (2010)
Dunne, S., Chorus Angelorum. In: [2], pp. 19–33 (2007)
Dunne, S., Stoddart, B. (eds.): UTP 2006. LNCS, vol. 4010. Springer, Heidelbreg (2006)
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)
Foster, S., Zeyda, F., Woodcock, J.: Isabelle/UTP: a mechanised theory engineering framework. In: [37], pp. 21–41 (2014)
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)
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)
Hayes, I.J.: Termination of real-time programs: definitely, definitely not, or maybe. In: [24], pp. 141–154 (2006)
He, J.: Transaction Calculus. In: [13], pp. 2–21 (2008)
He, J.: A probabilistic BPEL-like language. In: [44], pp. 74–100 (2010)
He, J., Qin, S., Sherif, A.: Constructing property-oriented models for verification. In: [24], pp. 85–100 (2006)
He, J., Sanders, J.W.: Unifying Probability. In: [24], pp. 173–199 (2006)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice Hall, Upper Saddle River (1998)
McEwan, A.A., Woodcock, J.: Unifying Theories of Interrupts. In: [13], pp. 122–141 (2008)
Naumann, D. (ed.): UTP 2014. LNCS, vol. 8963. Springer, Heidelberg (2015)
Oliveira, M., Cavalcanti, A., Woodcock, J.: Unifying Theories in ProofPower-Z. In: [24], pp. 123–140 (2006)
Oliveira, M., Cavalcanti, A., Woodcock, J.: A denotational semantics for circus. Electr. Notes Theor. Comput. Sci 187, 107–123 (2007)
Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Circus. Formal Asp. Comput. 21(1–2), 3–32 (2009)
Oliveira, M., Cavalcanti, A., Woodcock, J.: Unifying theories in ProofPower-Z. Formal Asp. Comput. 25(1), 133–158 (2013)
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)
Perna, J.I., Woodcock, J.: UTP semantics for Handel-C. In: [13], pp. 142–160 (2008)
Qin, S. (ed.): UTP 2010. LNCS, vol. 6445. Springer, Heidelberg (2010)
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)
Ribeiro, P., Cavalcanti, A.: Angelicism in the theory of reactive processes. In: [37], pp. 42–61 (2014)
Iyoda, J., de Moura, L. (eds.): Formal Methods: Foundations and Applications. LNCS, vol. 8195. Springer, Heidelberg (2013)
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)
Santos, Thiago L. V. L Cavalcanti, A., Sampaio, A.: Object-orientation in the UTP. In: [24], pp. 18–37 (2006)
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)
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)
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)
Smith, M.A., Gibbons, J.: Unifying Theories of Locations. In: [13], pp. 161–180 (2008)
Stoddart, B., Bell, P.: Probabilistic choice, reversibility, loops, and miracles. In: [44], pp. 253–270 (2010)
Stoddart, B., Zeyda, F., Lynas, R.: A design-based model of reversible computation. In: [24], pp. 63–83 (2006
Wolff, B., Gaudel, M.-C., Feliachi, A. (eds.): UTP 2012. LNCS, vol. 7681. Springer, Heidelberg (2013)
Wei, K., Woodcock, J., Cavalcanti, A.: Circus time with reactive designs. In: [56], pp. 68–87 (2012)
Weiglhofer, M., Aichernig, B.K.: Unifying input output conformance. In: [13], pp. 181–201 (2008)
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)
Woodcock, J.: The miracle of reactive programming. In: [13], pp. 202–217 (2008)
Woodcock, J.: Engineering UToPiA. In: Jones, C., Pihlajasaari, P., Sun, J. (eds.) FM 2014. LNCS, vol. 8442, pp. 22–41. Springer, Heidelberg (2014)
Woodcock, J., Davies, J.: Using Z-Specification, Refinement, and Proof. Prentice Hall, Upper Saddle River (1996)
Woodcock, J., Bandur, V.: Unifying theories of undefinedness in UTP. In: [56], pp. 1–22 (2012)
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)
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)
Zeyda, F., Cavalcanti, A.: Encoding Circus programs in ProofpowerZ. In: [13], pp. 218–237 (2008)
Zeyda, F., Cavalcanti, A.: Higher-order UTP for a theory of methods. In: [56], pp. 204–223 (2012)
Zhan, N., Kang, E.-Y., Liu, Z.: Component publications and compositions. In: [13], pp. 238–257 (2008)
Zhu, H., He, J., Peng, X., Jin, N.: Denotational approach to an event-driven system-level language. In: [13], pp. 258–278 (2008)
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)
Zhu, H., Sanders, J.W., He, J., Qin, S.: Denotational semantics for a probabilistic timed shared-variable language. In: [56], pp. 224–247 (2012)
Zhu, H., Yang, F., He, J.: Generating denotational semantics from algebraic semantics for event-driven system-level language. In: [44], pp. 286–308 (2010)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)