"Monitoring of the behavior of computer programs enjoys applications in activities such as debugging, testing, and software management. For example, in debugging, developers use information collected during application runtime to pinpoint the source(s) of application behavior they consider erroneous. On this talk I present my work on monitoring communication behavior for middleware-based systems. I will start with describing the context, the problems, motivation, goals, scope and approach. After the first break I will continue with introduction to monitoring concepts, object and component middleware concepts, and the concept of reflection in middleware. I will then discuss a design approach that I propose to designers who want to build generic monitoring systems. I will illustrate the approach with an architecture of a Generic Monitoring System. After the second break I will dive into the details of the solution framework I propose for monitoring of object and component communication. This solution framework follows the design methodology which I presented earlier. I also discuss several applications, which I use to validate this approach. In the last 10 minutes of the talk I would like to demonstrate the MODOCC monitoring system that I have build as a proof-of-concept implementation."