Principles and applications of distributed event-based systems