Occurrence-Oriented Design Strategy for Developing Business Process Monitoring Systems
design patterns : elements of reusable object - oriented software .