Architecture-based approach
Supports
- addition, replacement, and removal of behavior
- intermediation between existing parts
- behavior-based: interposition, wrap, and augment
- communication-based: monitoring, layering, and replacement
- reflexive change
- add-ons operate on an accurate representation of the system model that is deployed with the system
- separation of component functionality from component communication using connectors
- reduces accidental dependencies