Abstract
In this article, the feasibility of a unified modelling and programming paradigm is discussed from the perspective of large scale system development and verification in collaborative development environments. We motivate the necessity to utilise multiple formalisms for development and verification, in particular for complex cyber-physical systems or systems of systems. Though modelling, programming, and verification will certainly become more closely integrated in the future, we do not expect a single formalism to become universally applicable and accepted by the development and verification communities. The multi-formalism approach requires to translate verification artefacts (assertions, test cases, etc.) between different representations, in order to allow for the verification of emergent properties based on local verification results established with different methods and modelling techniques. It is illustrated by means of a case study from the railway domain, how this can be achieved, using concepts from the theory of institutions. This also enables the utilisation of verification tools in different formalisms, despite the fact that these tools are usually developed for one specific formal method.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
It is interesting to note that the Z specification language already provided extensive libraries, as can be seen in its early reference books like [16]. This, however, has not become a standard requirement for designing new formalisms.
- 2.
The signature of a DFSM model consists of its input alphabet and output alphabet. For the BC model, we have \(\varSigma _{BC} =(\varSigma _I, \varSigma _O)\) = ({auto_on, auto_off, man_on, man_off}, {release, trigger}).
- 3.
A Kripke signature consists of those input variables, local variables and output variables that can be used in a model over that signature. For the corresponding Kripke signature \(\varSigma _K\) it is the variables \(a_\text {on}\), \(m_\text {on}\), and r.
References
Bézivin, J., Jouault, F., Valduriez, P.: On the need for megamodels. In: OOPSLA/GPCE: Best Practices for Model-Driven Software Development Workshop (2004)
Cavalcanti, A., Huang, W., Peleska, J., Woodcock, J.: CSP and kripke structures. In: Leucker, M., Rueda, C., Valencia, F.D. (eds.) ICTAC 2015. LNCS, vol. 9399, pp. 505–523. Springer, Heidelberg (2015). doi:10.1007/978-3-319-25150-9_29
Chow, T.S.: Testing software design modeled by finite-state machines. IEEE Trans. Softw. Eng. SE-4(3), 178–186 (1978)
Diaconescu, R.: Institution-independent Model Theory. Birkhäuser Verlag AG, Basel, Boston, Berlin (2008)
Goguen, J.A., Burstall, R.M.: Institutions: abstract model theory for specification and programming. J. Association Comput. Mach. 39, 95–146 (1992). Predecessor. LNCS 164, 221–256 (1984)
Goguen, J., Roşu, G.: Institution morphisms. Formal Aspects Comput. 13(3), 274–307 (2014)
Grönniger, H., Krahn, H., Rumpe, B., Schindler, M., Völkel, S.: Textbased modeling. CoRR, abs/1409.6623 (2014)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)
Huang, W., Peleska, J.: Complete model-based equivalence class testing for nondeterministic systems. Formal Aspects of Computing. (Under review)
Huang, W., Peleska, J.: Complete model-based equivalence class testing. STTT 18(3), 265–283 (2016)
Luo, G., Bochmann, G.V., Petrenko, A.: Test selection based on communicating nondeterministic finite-state machines using a generalized Wp-method. IEEE Trans. Softw. Eng. 20(2), 149–162 (1994)
Nielsen, C.B., Larsen, P.G., Fitzgerald, J., Woodcock, J., Peleska, J.: Systems of systems engineering: basic concepts, model-based techniques, and research directions. ACM Comput. Surv. 48(2), 18:1–18:41 (2015)
Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)
Sheeran, M., Singh, S., Stålmarck, G.: Checking safety properties using induction and a SAT-solver. In: Hunt, W.A., Johnson, S.D. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 127–144. Springer, Heidelberg (2000). doi:10.1007/3-540-40922-X_8
Sistla, A.P.: Safety, liveness and fairness in temporal logic. Formal Aspects Comput. 6(5), 495–511 (1994)
Spivey, J.M.: The Z Notation: A Reference Manual. Prentice-Hall Inc., Upper Saddle River (1989)
Vasilevskii, M.P.: Failure diagnosis of automata. Kibernetika (Transl.) 4, 98–108 (1973)
Acknowledgements
The first author’s research has been funded by the RobustRailS project granted by Innovation Fund Denmark. The second author’s contribution has been elaborated within project ITTCPS – Implementable Testing Theory for Cyber-physical Systems (http://www.cs.uni-bremen.de/agbs/-projects/ittcps/index.html) which has been granted by the University of Bremen in the context of the German Universities Excellence Initiative (http://en.wikipedia.org/wiki/German_Universities_Excellence_Initiative).
Some diagrams in this paper were created using Paul Taylors diagrams package.
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
Haxthausen, A.E., Peleska, J. (2016). On the Feasibility of a Unified Modelling and Programming Paradigm. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications. ISoLA 2016. Lecture Notes in Computer Science(), vol 9953. Springer, Cham. https://doi.org/10.1007/978-3-319-47169-3_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-47169-3_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-47168-6
Online ISBN: 978-3-319-47169-3
eBook Packages: Computer ScienceComputer Science (R0)