Modelling of Railway Logics for Reverse Engineering, Verification and Refactoring
Francesco Flaminni, Armando Lazzaro, Nicola Mazzocca · Safety and Reliability · 2010
Model-based approaches are widespread both in functional and non functional verification activities of critical fault-tolerant systems. Reverse engineering can also be used to support checks for correctness of system implementation against its requirements. In this paper we show how a model-based technique, using the Unified Modeling Language (UML), suits the reverse engineering of complex control logics. UML is usually exploited to drive the development of software systems, using an object-oriented and bottom-up approach; however, it can be also used to model legacy non object-oriented logic processes featuring a clear distinction between data structures and related Operations. Our case-study consists in the most important component of the European Railway Traffic Management System / European Train Control System: the Radio Block Center (RBC). The model we obtained from the logic code of the RBC significantly facilitated both structural and behavioral analyses, giving a valuable contribution to the static verification and refactoring of the software under test.