The automatic synthesis of state machines describing the behaviour of
a class of objects in object-oriented software modelling is studied. I
t is shown that the synthesis can be carried out on the basis of trace
diagrams giving possible sequences of events during the execution of
the system. An algorithm originally developed for the automatic constr
uction of programs on the basis of their execution traces is applied t
o the problem, and an experimental state machine synthesizer is implem
ented. It is demonstrated that such a synthesizer is a highly useful c
omponent in a practical object-oriented CASE system.