Abstract
This paper presents an empirical study of control logic specifications used to document industrial control logic code in manufacturing applications. More than one hundred input/output related property specifications from ten different reusable function blocks were investigated. The main purpose of the study was to provide understanding of how the specifications are expressed by industrial practitioners, in order to develop new tools and methods for specifying control logic software, as well as for evaluating existing ones. In this paper, the studied specifications are used to evaluate linear temporal logic in general and the specification language ST-LTL, tailored for functions blocks, in particular. The study shows that most specifications are expressed as implications, that should always be fulfilled, between input and output conditions. Many of these implications are complex since the input and output conditions may be mixed and involve sequences, timer issues and non-boolean variables. Using ST-LTL it was possible to represent all implications of this study. The few non-implication specifications could be specified in ST-LTL as well after being altered to suit the specification language. The paper demonstrates some advantages of ST-LTL compared to standard linear temporal logic and discusses possible improvements such as support for automatic rewrite of complex specifications.
Similar content being viewed by others
Notes
One of the ten FBs, EM_PB8ch8, was used to pack an 8 channel data into 4 registers, but its functionality was not at all described in a way that may be formalized, and the FB was hence excluded from the study.
References
Alur R, Henzinger TA (1992) Logics and models of real time: a survey. In: de Bakker J, Huizing K, de Roever WP, Rozenberg G (eds) Real time: theory in practice. Lecture notes in computer science, vol 600. Springer, pp 74–106
Baier C, Katoen JP (2008) Principles of model checking. MIT Press
Behrmann G, David A, Larsen KG (2004) A tutorial on Uppaal. In: Proceedings of the 4th international school on formal methods for the design of computer, communication, and software systems, Bertinoro, Italy. Lecture notes in computer science, vol 3185, pp 200–236
Bérard B, Bidoit M, Finkel A, Laroussinie F, Petit A, Petrucci L, Schnoebelen P, McKenzie P (2001) Systems and software verification—model-checking techniques and tools. Springer
Bitsch F (2001) Safety patterns—the key to formal specification of safety requirements. In: Proceedings of the 20th international conference on computer safety, reliability and security. Lecture notes in computer science, vol 2187. Springer, pp 176–189
Bryman A, Bell E (2011) Business research methods, 3rd edn. Oxford University Press
Campos JC, Machado J (2009) Pattern-based analysis of automated production systems. In: Proceedings of the 13th IFAC symposium on information control problems in manufacturing, Moscow, Russia, pp 976–981
Campos JC, Machado J, Seabra E (2008) Property patterns for the formal verification of automated production systems. In: Proceedings of the 17th IFAC world congress, IFAC, Seoul, South Korea, pp 5107–5112
Clarke EM, Grumberg O, Peled DA (2000) Model checking. MIT Press
Devlin K (2005) Sets, functions and logic—an introduction to abstract mathematics, 3rd edn. Chapman & Hall/CRC
Dwyer M, Avrunin G, Corbett J (1998) Property specification patterns for finite-state verification. In: Proceedings of the second workshop on formal methods in software practice, Clearwater Beach, Fla, USA, pp 7–15
Dwyer M, Avrunin G, Corbett J (1999) Patterns in property specifications for finite-state verification. In: Proceedings of the 1999 international conference on software engineering, Los Angeles, CA, USA, pp 411–420
Hajarnavis V, Young K (2008) An investigation into programmable logic controller software design techniques in the automotive industry. Assembly Autom 28:43–54
IEC (2003) Programmable controllers—part 3: programming languages, 2nd edn. International standard IEC 61131-3, International Electrotechnical Commission
Lennartson B, Bengtsson K, Yuan C, Andersson K, Fabian M, Falkman P, Åkesson K (2010) Sequence planning for integrated product, process and automation design. IEEE Trans Autom Sci Eng 7(4):791–802
Lewis RW (1998) Programming industrial control systems using IEC 1131-3 revised edition. The Institution of Electrical Engineers
Ljungkrantz O, Åkesson K, Fabian M (2010a) Practice of industrial control logic programming using library components. In: Guedes LA (ed) Programmable logic controller, Intech, chap 2, pp 17–32
Ljungkrantz O, Åkesson K, Fabian M, Yuan C (2010b) A formal specification language for PLC-based control logic. In: Proceedings of the 8th IEEE international conference on industrial informatics, Osaka, Japan, pp 1067–1072
Lucas M, Tilbury D (2003) A study of current logic design practices in the automotive manufacturing industry. Int J Human-Comput Stud 59(5):725–753
Nain S, Vardi MY (2007) Branching vs. linear time: semantical perspective. In: Automated technology for verification and analysis. Lecture notes in computer science, vol 4762. Springer, pp 19–34
Preusse S, Hanisch HM (2008) Specification and verification of technical plant behavior with symbolic timing diagrams. In: Proceedings of the 3rd international design and test workshop, Monastir, Tunisia, pp 313–318
Preusse S, Hanisch HM (2009) Specification of technical plant behavior with a safety-oriented technical language. In: Proceedings of the 7th IEEE international conference on industrial informatics, Cardiff, Wales, pp 632–637
Richardsson J, Fabian M (2006) Modeling the control of a flexible manufacturing cell for automatic verification and control program generation. Flex Serv Manuf J 18(3):191–208
Rozier KY (2010) Linear temporal logic symbolic model checking. Comput Sci Rev 5(2):163–203
Ruf J, Kropf T (2003) Symbolic verification and analysis of discrete timed systems. Formal Methods Syst Des 23(1):67–108
Shull F, Singer J, Sjøberg DIK (eds) (2008) Guide to advanced empirical software engineering, vol 4334. Springer
Vardi MY (2001) Branching vs. linear time: final showdown. In: Tools and algorithms for the construction and analysis of systems. Lecture notes in computer science, vol 2031. Springer, pp 1–22
Visser W (1987) Strategies in programming programmable controllers: a field study on a professional programmer. In: Proceedings of the empirical studies of programmers: second workshop. Ablex Publishing Corp., Washington DC, pp 217–230
Vyatkin V, Bouzon G (2008) Using visual specifications in verification of industrial automation controllers. EURASIP J Embedded Syst 2008(5):5:1–5:9
Acknowledgements
This work was carried out at theWingquist LaboratoryVINN Excellence Centre within the Area of Advance - Production at Chalmers, supported by the Swedish Governmental Agency for Innovation Systems (VINNOVA). The support is gratefully acknowledged. Thanks also to our industrial partners in the FLEXA research project within the European Seventh Framework Programme (FP7).
Author information
Authors and Affiliations
Corresponding author
Additional information
Editor: Jane Hayes
Rights and permissions
About this article
Cite this article
Ljungkrantz, O., Åkesson, K., Fabian, M. et al. An empirical study of control logic specifications for programmable logic controllers. Empir Software Eng 19, 655–677 (2014). https://doi.org/10.1007/s10664-012-9232-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-012-9232-x