Design of Self-adaptive cGAs