CAptLang: a language for context-aware and adaptable business processes