Abstract
We describe the semantic domains for Compass Modelling Language (CML), using Hoare & He’s Unifying Theories of Programming (UTP). CML has been designed to specify, design, compose, simulate, verify, test, and validate industrial systems of systems. CML is a semantically heterogeneous language, with state-rich imperative constructs based on VDM, communication and concurrency based on CSP, object orientation with object references, and discrete time based on Timed CSP. A key objective is to be semantically open, allowing further paradigms to be added, such as process mobility, continuous physical models, and stochastic processes. Our semantics deals separately with each paradigm, composing them with Galois connections, leading to a natural contract language for all constructs in all paradigms. The result is a compositional formal definition of a complex language, with the individual parts being available for reuse in other language definitions. The work backs our claim that use of UTP scales up to industrial-strength languages: Unifying Theories of Programming in Action (UToPiA).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press (1996)
Back, R.J.R., Wright, J.: Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer (1998)
Butterfield, A., Gancarski, P., Woodcock, J.: State visibility and communication in Unifying Theories of Programming. In: Chin, W.-N., Qin, S. (eds.) TASE 2009, Third IEEE Int. Symp. on Theoretical Aspects of Software Engineering, pp. 47–54. IEEE Computer Society (2009)
Cavalcanti, A., Sampaio, A., Woodcock, J.: Unifying classes and processes. Software and System Modeling 4(3), 277–296 (2005)
Cavalcanti, A., Wellings, A.J., Woodcock, J.: The Safety-Critical Java memory model formalised. Formal Asp. Comput. 25(1), 37–57 (2013)
Cavalcanti, A., Wellings, A.J., Woodcock, J., Wei, K., Zeyda, F.: Safety-critical Java in Circus. In: Wellings, A.J., Ravn, A.P. (eds.) The 9th International Workshop on Java Technologies for Real-time and Embedded Systems, JTRES 2011, York, United Kingdom, September 26-28, pp. 20–29. ACM (2011)
Foster, S., Woodcock, J.: Unifying Theories of Programming in Isabelle. In: Liu, Z., Woodcock, J., Zhu, H. (eds.) Theories of Programming. LNCS, vol. 8050, pp. 109–155. Springer, Heidelberg (2013)
Hehner, E.C.R.: Retrospective and prospective for Unifying Theories of Programming. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 1–17. Springer, Heidelberg (2006)
Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice Hall (1998)
Circus homepage, http://www.cs.york.ac.uk/circus/ (accessed February 27, 2014)
Jones, C.B.: Systematic Software Development Using VDM. Prentice-Hall (1986)
Lowe, G., Ouaknine, J.: On timed models and full abstraction. Electr. Notes Theor. Comput. Sci. 155, 497–519 (2006)
Morgan, C.: Programming from Specifications, 2nd edn. Prentice-Hall (1994)
Morris, J.M.: A Theoretical Basis for Stepwise Refinement and the Programming Calculus. Science of Computer Programming 9(3), 287–306 (1987)
Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
O’Hearn, P.W., Reynolds, J.C., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001. LNCS, vol. 2142, pp. 1–19. Springer, Heidelberg (2001)
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)
Perna, J.I., Woodcock, J.: UTP semantics for Handel-C. In: Butterfield, A. (ed.) UTP 2008. LNCS, vol. 5713, pp. 142–160. Springer, Heidelberg (2010)
Priestley, H.A.: Ordered sets and complete lattices. In: Blackhouse, R., Crole, R.L., Gibbons, J. (eds.) Algebraic and Coalgebraic Methods in the Mathematics of Program Construction. LNCS, vol. 2297, pp. 21–78. Springer, Heidelberg (2002)
Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: Proceedings of the 17th IEEE Symposium on Logic in Computer Science, LICS 2002, Copenhagen, Denmark, July 22-25, pp. 55–74. IEEE Computer Society (2002)
Roscoe, A.W.: Understanding Concurrent Systems. Springer (2010)
Sherif, A.: A Framework for Specification and Validation of Real-Time Systems using Circus Actions. PhD thesis, Centro de Informaticá, Universidade Federal de Pernambuco (2006)
Wei, K., Woodcock, J., Burns, A.: Timed Circus: Timed CSP with the Miracle. In: ICECCS, pp. 55–64 (2011)
Woodcock, J.: The miracle of reactive programming. In: Butterfield, A. (ed.) UTP 2008. LNCS, vol. 5713, pp. 202–217. Springer, Heidelberg (2010)
Woodcock, J., Cavalcanti, A.: The semantics of Circus. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) ZB 2002. LNCS, vol. 2272, pp. 184–203. Springer, Heidelberg (2002)
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 International Conference on System of Systems Engineering, SoSE 2012, Genova, Italy, July 16-19, pp. 445–450. IEEE (2012)
Woodcock, J., Davies, J.: Using Z—Specification, Refinement, and Proof. Prentice-Hall (1996)
Zhan, N., Kang, E.Y., Liu, Z.: Component publications and compositions. In: Butterfield, A. (ed.) UTP 2008. LNCS, vol. 5713, pp. 238–257. Springer, Heidelberg (2010)
Zhu, H., Yang, F., He, J.: Generating denotational semantics from algebraic semantics for event-driven system-level language. In: Qin, S. (ed.) UTP 2010. LNCS, vol. 6445, pp. 286–308. Springer, Heidelberg (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Woodcock, J. (2014). Engineering UToPiA . In: Jones, C., Pihlajasaari, P., Sun, J. (eds) FM 2014: Formal Methods. FM 2014. Lecture Notes in Computer Science, vol 8442. Springer, Cham. https://doi.org/10.1007/978-3-319-06410-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-06410-9_3
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-06409-3
Online ISBN: 978-3-319-06410-9
eBook Packages: Computer ScienceComputer Science (R0)