computes the set of reachable states exactly. Typical
properties which can be verified are boundedness of
places, liveness of transitions, and reachability of
states. In addition, temporal/functional properties
based on computation Tree Logic (CTL) specified
by users can be checked manually.
2.3 Related Work
There have been a set of approaches to formally
apply model checking techniques to verify the
properties at design time (Schneider et al., 2006).
Zhang and Cheng (Zhang and Cheng, 2006)
introduce a modular verification algorithm to verify
an adaptive system against the formulae expressed in
A-LTL (Zhang et al., 2006). The system is
represented as a state machine in which the states
present the system configurations and transitions are
adaptation actions. Xie and Zhe (Xie and Dang,
2004) propose a test-based approach for the
verification of component-based systems, in which
the behavior of some components is not specified.
The system consists of a host system and a
collection of unspecified components, which are
represented as finite transition systems that
synchronously communicate via a set of input/output
symbols. Schaefer (Schaefer, 2008) has provided
several approaches on verifying adaptive embedded
systems specified as synchronous adaptive systems -
high level representations of modelling concepts
used in the MARS modelling approach (Trapp et al.,
2007). The solution integrates model slicing of
various granularities to reduce the complexity and
enable automated model checking of the models by
means of theorem proving. The technique is tested
on adaptive vehicle stability control system. Goldsby
et al. (Goldsby et al., 2008) provide the AMOEBA-
RT model focused on run-time verification and
monitoring. Wang et al. (Wang et al., 2007) have
proposed usage of verification techniques to find the
optimal schedule for energy constrained systems.
Nevertheless, these works did not discuss how to
optimize the formal verification of reconfigurable
systems and their feasibility at run-time verification
at each adaptation.
3 RUNNING EXAMPLE
The running example used through this paper is
presented in this section. Rail transport is a means of
conveyance of passengers and goods on wheeled
vehicles running on rails. It is also commonly
referred to as train transport. It is a complex and
critical system because it deals with millions of
human life every day. It is also faced to different
challenges: safety from collisions and derailments
and provide as maximum line capacity as possible
for running many trains on the same line within the
safety constraints (The Metro, 2017). These systems
are considered to be reconfigurable distributed
systems because the railway structure is not static: it
is usually the subject of variant extension on
different lines. It is also faced to numerous accident,
structures breaking and natural disasters. Moreover,
the number of trains is always changeable; it is
possible to add extra trains to cover the increased
demand and to maintain quality of service.
Similarly, rapidly increasing capacity is the
biggest challenge facing all mass transit operators
today. As major cities expand, so too does demand
for high capacity and efficient railway network.
Thus, the speed of trains is not constant for almost of
the lines. Each change can be considered as an
adaptation process that affects the characteristics of
the system. As a real case study, the Paris Metro is a
safety critical reconfigurable system. It is a large
railway network with 14 main lines that cover 303
stations in the Paris area. It is mostly underground
and it has 205 km of tracks. This system carried 1.5
billion passengers in 2014 (The Metro, 2017). The
Metro system is an example of component-based
systems whose safety properties depend on the
dynamic components which are variable and change
at run-time. Such systems require a continuous
verification process to certify the correctness of the
system at any new adaptation process.
This verification step should be as light-weight as
possible to avoid intolerable overheads. The system
is highly critical and its safety is the main propose of
its existence. On the other side, the formal
verification of the whole system at each adaptation
process is considered to be unfeasible because of the
resources and time limitation at run-time. We focus
on the specification and verification part of the
project. We present the system as a modular
connected structure. It is a reconfigurable distributed
system that can change its characteristics at run-time
operation. Fig. 1 presents the abstract model of the
system. It is a 14 module system that represents the
different lines of the railway network. Each module
represents one metro line with its trains and
characteristics. It describes its capacity, structure
and its connection to other lines. We assume that
modules links represent the connections points
between different lines of the railway network. The
red rectangles are the system modules that represent
the unstable lines: its characteristics are not fixed at