Modelling the Behaviour of Object Systems with Event Traces

This paper presents a pragmatic approach to the specification of functionality of object-oriented applications. The approach relies on event traces, which are used to depict the co-operation between objects. Event traces model the communication between the objects, whereas object models provide a static view of object structures. Together these two notations form the backbone of object modelling, and they can be used consistently throughout the development process. In the analysis phase, event traces provide a black-box view of the system that is to be implemented. Event traces are also used to illustrate how the end user communicates with the user interface. In the design phase event traces illustrate what architectural decisions have been made and how the design objects co-operate with each other. The implementation phase can also be supported by event traces. This paper explains how we use event traces in real software projects. Our approach combines ideas from various object-oriented methods. Our method is called OMT++ and it is being applied in the development of a large network management system with nearly two million lines of C++ code running in the X11 environment.