Modelling and Testing Object-Oriented Distributed Systems with Linear-time Temporal Logic
Numerous proposals for applying temporal logic to the specification and verification of object-oriented systems have appeared in the past several years. Although various temporal models have been proposed for the requirements analysis of object-oriented distributed systems, there is no similar amount of work for the design phase. We present a formal model for the design stage which reflects practical requirements and is yet sufficiently general to be applied to a wide range of systems. In our model, which relies on event-based behavioral abstraction, we use linear-time temporal logic as the underlying formalism for the specification of behavioral constraints. We show that although temporal logic is a powerful tool for behavior specifications, it does not have the expressive power required for non-trivial object systems. Specifically, in an object-system it is often essential to express procedural dependencies rather than simple temporal relationships for which we introduce two novel operators. In a case study we demonstrate the practical relevance and applicability of our model.