Understanding the Design Principles and Dynamics of Complex Adaptive Systems