Adaptivity and adaptability are key characteristics of modern software to cope with sometimes unpredictable changes in the environment including system and user behaviour. Modern cloud-native architectures for instance foresee the case-by-case handling of decisions – e.g. to decide whether using a provider database or hosting one yourself – at the application or workflow level based on knowledge and rules or emergent behaviour. In workflows representing data flows from connected devices, the (self-)adaptivity should be modelled and supported by context-aware systems.

Continue reading