What are pros and cons in using a PLC-approach or a progammatic in safety interlocking software for railway?

Pros and cons in using a PLC-approach or a progammatic i.e. using C language for embedded microcontrollers in safety interlocking software for railway.

PLC coding

PROS

HW and low-level firmware are typically designed by and accompanied by a safety case. The designers of the interlocking SW shall only concentrate of safety aspects within their scope.

Simplicity of use and learning curve: languages such as FBD are more intuitive to use.

Even when part of the code is developed using a textual language, the latter does not typically have the compiler-depending issues and other pitfalls of C

CONS

Integration with platform HW can be problematic from the SW safety point of view

Less tools available to support the safety lifecycle activities: some activities (such as impact analysis or formal code inspection) can become expensive C-coding

PROS

Large number of platforms (microcontrollers) and compilers available, usually with consistent existing experience

Certified SW libraries and packages available

Availability in the market of certified tools that can be used in the lifecycle activities: requirements management tools, verification and validation tools, HILs for HW/SW integration testing etc.

CONS

ANSI C has numerous issues for safety applications: a very detailed coding standard, and corresponding analyses and tests, are needed platform hardware and its integration with SW is typically not certified in advance. The need to create a custom low-level firmware is more prone to safety issues.