The SOTA approach to engineering collective adaptive systems