2011/04/30 by Guido Salvaneschi, Salvaneschi, Guido, Carlo Ghezzi +3
Computer Science · #Advanced Software Engineering Methodologies #Context-Aware Activity Recognition Systems #Distributed systems and fault tolerance #FOS: Computer and information sciences #Programming Languages (cs.PL) #Service-Oriented Architecture and Web Services #Software System Performance and Reliability #cs.PL
paper · pdf · doi:10.48550/arxiv.1105.0069
openalex publication_date 2011/04/30 · arxiv created 2012/03/30 · arxiv updated 2012/04/02 · openalex created_date 2022/10/01 · openalex updated_date 2026/07/28
Dynamic software adaptability is one of the central features leveraged by autonomic computing. However, developing software that changes its behavior at run time adapting to the operational conditions is a challenging task. Several approaches have been proposed in the literature to attack this problem at different and complementary abstraction levels: software architecture, middleware, and programming level. We focus on the support that ad-hoc programming language constructs may provide to support dynamically adaptive behaviors. We introduce context-oriented programming languages and we present a framework that positions the supported paradigm in the MAPE-K autonomic loop. We discuss the advantages of using context-oriented programming languages instead of other mainstream approaches based on dynamic aspect oriented programming languages and present a case study that shows how the proposed programming style naturally fits dynamic adaptation requirements. Finally, we discuss some known problems and outline a number of open research challenges.