Some Approaches to Designing Adaptive Systems | Synapse