Open systems
- reactive -- {\em \c{flexible (dynamic)} choice of actions}
- modular -- {\em (static) scalability}
Dimensions of modularity
- encapsulation boundary -- {\em interface \c{to client}}
- distribution boundary -- {\em \c{visibility} from within \c{objects}}
- concurrency boundary -- {\em threads \c{per object, synchronization}}