Industrial automation systems need to be highly dependable; they should not merely function as expected but also do so in a reliable, safe and secure manner. Formal methods are mathematical techniques used to describe computer systems, both hardware, and software. Formal methods can greatly aid in developing dependable systems and can be used across all phases of the system development lifecycle, right from customer requirement gathering through design and implementation, verification and validation (testing), maintenance and even documentation. This state-of-the-art survey reports existing formal approaches for creating more dependable industrial automation systems, focussing on static or offline, as opposed to runtime or online, formal methods. This article categorises existing works as per the requirements engineering, design and implementation, and testing phases of the system development life cycle, allowing us to identify gaps in current research and promising future directions for each of these phases.
Validerad;2019;Nivå 2;2019-07-12 (johcin)