Abstract
In industrial practice today, correctness of software is rarely verified using formal techniques. One reason is the lack of specification languages for this application area that are both comprehensible and sufficiently expressive. We present the concepts and logical foundations of generalised test tables – a specification language for reactive systems accessible for practitioners. Generalised test tables extend the concept of test tables, which are already frequently used in quality management of reactive systems. The main idea is to allow more general table entries, thus enabling a table to capture not just a single test case but a family of similar behavioural cases. The semantics of generalised test tables is based on a two-party game over infinite words.
We show how generalised test tables can be encoded into verification conditions for state-of-the-art model checkers. And we demonstrate the applicability of the language by an example in which a function block in a programmable logic controller as used in automation industry is specified and verified.
Research supported by the DFG (German Research Foundation) in Priority Programme SPP1593: Design for Future – Managed Software Evolution (VO 937/28-2, BE 2334/7-2, and UL 433/1-2).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
We use the notation \((\phi , \psi , \tau )^n\) do denote that the row \((\phi , \psi , \tau )\) is repeated n times.
- 2.
In fact, the global variables are replaced by constants representing values. We assume that every value can be represented by a constant.
- 3.
Companion page: https://formal.iti.kit.edu/ifm17/.
References
Armoni, R., Fix, L., Flaisher, A., Gerth, R., Ginsburg, B., Kanza, T., Landver, A., Mador-Haim, S., Singerman, E., Tiemeyer, A., Vardi, M.Y., Zbar, Y.: The ForSpec temporal logic: a new temporal property-specification language. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 296–311. Springer, Heidelberg (2002). doi:10.1007/3-540-46002-0_21
Bitsch, F.: Safety patterns—the key to formal specification of safety requirements. In: Voges, U. (ed.) SAFECOMP 2001. LNCS, vol. 2187, pp. 176–189. Springer, Heidelberg (2001). doi:10.1007/3-540-45416-0_18
Campos, J.C., Machado, J.: Pattern-based analysis of automated production systems. IFAC Proc. Vol. 42(4), 972–977 (2009)
Cavada, R., Cimatti, A., Dorigatti, M., Griggio, A., Mariotti, A., Micheli, A., Mover, S., Roveri, M., Tonetta, S.: The nuXmv symbolic model checker. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 334–342. Springer, Cham (2014). doi:10.1007/978-3-319-08867-9_22
Cha, S., Ulewicz, S., Vogel-Heuser, B., Weigl, A., Ulbrich, M., Beckert, B.: Generation of monitoring functions in production automation using test specifications. In: 15th IEEE International Conference on Industrial Informatics, INDIN 2017, Emden, Germany. IEEE, 24–26 July 2017 (to appear)
Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No. 99CB37002), pp. 411–420, May 1999
Heitmeyer, C.L., Archer, M., Bharadwaj, R., Jeffords, R.: Tools for constructing requirements specifications: the SCR toolset at the age of ten. Int. J. Comput. Syst. Sci. Eng. 20(1), 19–35 (2005)
Ljungkrantz, O., Åkesson, K., Fabian, M., Yuan, C.: A formal specification language for PLC-based control logic. In: 2010 8th IEEE International Conference on Industrial Informatics, pp. 1067–1072, July 2010
Moszkowski, B.: A temporal logic for multilevel reasoning about hardware. Computer 18(2), 10–19 (1985)
Parnas, D.L., Madey, J., Iglewski, M.: Precise documentation of well-structured programs. IEEE Trans. Softw. Eng. 20(12), 948–976 (1994)
Rösch, S.: Model-based testing of fault scenarios in production automation. Ph.D. thesis, Technische Universität München, München (2016)
Weigl, A., Wiebe, F., Ulbrich, M., Ulewicz, S., Cha, S., Kirsten, M., Beckert, B., Vogel-Heuser, B.: Generalized test tables: a powerful and intuitive specification language for reactive systems. In: 15th IEEE International Conference on Industrial Informatics, INDIN 2017, Emden, Germany. IEEE, 24–26 July 2017 (to appear)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Beckert, B., Cha, S., Ulbrich, M., Vogel-Heuser, B., Weigl, A. (2017). Generalised Test Tables: A Practical Specification Language for Reactive Systems. In: Polikarpova, N., Schneider, S. (eds) Integrated Formal Methods. IFM 2017. Lecture Notes in Computer Science(), vol 10510. Springer, Cham. https://doi.org/10.1007/978-3-319-66845-1_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-66845-1_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-66844-4
Online ISBN: 978-3-319-66845-1
eBook Packages: Computer ScienceComputer Science (R0)