Skip to main content
Log in

An empirical study of control logic specifications for programmable logic controllers

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

Notes

  1. 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.

  2. http://www.chalmers.se/s2/EN/research/divisions/aut-contr-aut-mec/public-research.

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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Rozier KY (2010) Linear temporal logic symbolic model checking. Comput Sci Rev 5(2):163–203

    Article  Google Scholar 

  • Ruf J, Kropf T (2003) Symbolic verification and analysis of discrete timed systems. Formal Methods Syst Des 23(1):67–108

    Article  MATH  Google Scholar 

  • 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

    Google Scholar 

  • Vyatkin V, Bouzon G (2008) Using visual specifications in verification of industrial automation controllers. EURASIP J Embedded Syst 2008(5):5:1–5:9

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Oscar Ljungkrantz.

Additional information

Editor: Jane Hayes

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-012-9232-x

Keywords

Navigation