Due to prevalent blocking, RTOS-based designs are generally difficult to reconcile with the Open-Closed Principle. In contrast, event-driven approach is naturally “Open for Extension and Closed for Modifications”.
Key Concept: Active Objects combine event-driven programming with multithreading. They naturally implement and automatically enforce the best practices of concurrent programming. Best Practices Active Object