An Empirical Study of Control Logic Specifications for Programmable Logic Controllers
Journal article, 2014
This paper presents an empirical study of control logic specifications used to document real-world 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. This study can be used to develop new tools and methods for specifying control logic software, as well as 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 between input and output conditions, which should always be fulfilled. Many of these implications are rather 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 remaining few 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.
programmable logic controller (PLC)
software requirements and specification