Applying evolutionary computation techniques to address environmental uncertainty in dynamically adaptive systems