Specification of behaviour A test in a suitable language could be used as a way to abstractly specify the behaviour of an object. Although most experiments could eventually be expressed as a CCS experimenter interacting with the agent representing the behaviour of a class, a higher level language would be desirable. In order to be useful a test language should subsume high level features such as algebraic specifications of ADT. Also modal logic formulas may provide a more compact and clear way to specify allowed execution sequences than the CCS agents that implement the test. 5 Conclusions and Future Work We have argued that for effectively taking advantage of the potential of COOPLs for reusing concurrent software it is essential to have a precise understanding of compatibility of the behaviours expressed by class definitions. For investigating these issues we proposed to use a model of object behaviour based on process calculus and examined how to take advantage of related work on behavioural equivalence and specification of concurrent systems based on process calculi. In order to use the work on process calculi, we need models for the description of the behaviour of classes that capture more aspects that are of importance to object-oriented programming such as method execution, passing arguments and comparing operation results passed both on the equality of object identifiers and behavioural compatibility. We have discussed some aspects of object-oriented programming that should be captured by models of object behaviour and behaviour compatibility notions. We suggested that a testing methodology appears to be appealing for the further investigation of these aspects. This approach provides both a conceptual framework and a setting for further formal investigation of behavioural compatibility issues.