Towards Automatic Generation of Formal Specifications to Validate and Verify Reliable Distributed Systems
Vidar Slåtten, Frank Alexander Kraemer and Peter Herrmann
Abstract:
The validation and verification of reliable systems is a difficult and
complex task, mainly for two reasons: First, it is difficult to precisely state which formal properties a system needs to fulfil to
be of high quality. Second, it is complex to automatically verify
such properties, due to the size of the analysis state space which
grows exponentially with the number of components. We tackle
these problems by a tool-supported method which embeds application functionality in building blocks that use UML activities to
describe their internal behaviour. To describe their externally visible behaviour, we use a combination of complementary interface
contracts, so-called ESMs and EESMs. In this paper, we present an
extension of the interface contracts, External Reliability Contracts
(ERCs), that capture failure behaviour. This separation of different
behavioural aspects in separate descriptions facilitates a two-step
analysis, in which the first step is completely automated and the
second step is facilitated by an automatic translation of the models
to the input syntax of the model checker TLC. Further, the cascade
of contracts is used to separate the work of domain and reliability
experts. The concepts are proposed with the background of a real
industry case, and we demonstrate how the use of interface contracts leads to significantly smaller state spaces in the analysis.