ABSTRACT

The challenges posed by the new scenarios of railway transportation—liberalization, distinction between infrastructure and operation, high speed, European interoperability, etc.—have a dramatic impact on the safety issues. This impact is counterbalanced by the growing adoption of innovative signaling equipment (e.g., European Rail Traffic Management System/European Train Control System) and monitoring systems, such as onboard and wayside diagnosis systems. Each one of these devices includes some software, which in the end makes up the major part of their design costs. It is, however, notorious how software is often plagued by bugs that may threaten its correct functioning: how can the high safety standards assumed as normal practice in railway operation be compatible with such threats? This chapter briefly summarizes the current answers to such a question, including the safety guidelines in effect for software development in this domain, the foundations of software testing, and formal methods and model-based software development with their applications in the railway domain.