Page tree
Skip to end of metadata
Go to start of metadata

PLCverif is a tool developed at CERN to support formal verification of PLC programs. It translates the given PLC code and the specified requirement automatically to the input format of various model checker engines, and reports the result to the user in a readable format. Essentially it does model checking without needing any formal verification knowledge from the user.

Link to all related publications

Main features

  • Editor for SCL programs with syntax highlighting, content assist, and reference handling
  • Verification cases can be defined – these are the requirements to be checked
    • The requirements can be given using requirement patterns
    • Requirements are translated to temporal logic expressions in the background (needs no formal verification knowledge from the user)
  • Automated model generation from the given SCL code (STL, SFC are also partially supported)
  • Click-button verification: all steps are hidden and automatised – the user just imports/edits the code, defines the verification case and hits the "Verify" button
    • The translation process contains various automated model reductions
  • Verification report gives feedback to the user about the checked verification case, including the counterexample, if it exists.
  • Besides the graphical interface, the tool has a command line interface. This allows to automate verification using scripts or continuous integration tools (e.g. Jenkins).

Applied technologies

  • Eclipse RCP (Mars)
  • Eclipse Modeling Framework
  • Xtext (2.9)
  • Xtend (2.9)
  • Zest (1.5)
  • GraphViz (2.36)

Underlying model checker engines

Distribution

The tool is currently under development and in a proof-of-concept phase. As currently it is not production ready, we cannot make it publicly accessible yet. However, we are planning to improve it and to make it accessible in the near future.

For more information, contact us or read our toolpaper: D. Darvas, B. Fernández Adiego, E. Blanco Viñuela. PLCverif: A tool to verify PLC programs based on model checking techniques. In Proc. of the 15th International Conference on Accelerator and Large Experimental Physics Control Systems, p. 911-915.  [Paper]

Link to all related publications