Two major design choices:
1. Choose implicit control
2. Choose explicit control
• Centralized or decentralized
• Centralized control:
• Procedure-driven: Control resides within program code.
• Event-driven: Control resides within a dispatcher calling
• Decentralized control
• Control resides in several independent objects.
• Possible speedup by mapping the objects on different
functions via callbacks.
• Examples: Message based system, RMI
processors, increased communication overhead.