Fair Objects
Résumé
The temporal logic of actions (TLA) provides operators to express liveness requirements in an abstract specification model. TLA does not, however, provide high level composition mechanisms which are essential for synthesising and analysing complex behaviour. Contrastingly, the object oriented paradigm has proven itself in the development of structured specifications. However, most, if not all, of the object oriented formalisms are based on the specification of safety properties and, as such, they do not provide an adequate means of expressing liveness conditions. This paper examines how we combine temporal semantics and object oriented concepts in a complementary fashion. High level re-usable concepts are formalised as different kinds of {\it fair objects}. The object oriented semantics aid validation and customer communication, whilst the TLA semantics provide a means of formally verifying liveness requirements. The fairness concepts are founded on the notion of objects as servers which may have multiple (concurrent) clients. Some simple telephone feature specifications illustrate the practical application of our {\it fair object} semantics.