Context-aware Self Adapting Systems: a Ground for the Cooperation of Data, Software, and Services

Modern technologies related to Pervasive and Ubiquitous computing require software to self adapt to different operating environments and situations, in a word, to different contexts. Several approaches have been proposed to solve this problem both in the Data Management and in the Programming Languages communities, however these efforts have proceeded along separate paths with little, if no interaction. We claim that there are complementary features which can bring different paradigms in the Data Management and Programming Languages domains to a fruitful cooperation in building Adaptive Systems. In fact, data collected by sensor networks can be directly used by application programs as well as used to determine the context the application is working in, so attaining a context-aware behavior obtained by triggering the execution of specific program modules or the connection to relevant web services. In this paper, we use the PerLa pervasive data management language and JCop Context-Oriented Programming Java language extension to show the feasibility of this approach applied to the classical case of keeping an office room climate comfortable under several environmental constraints and to the management of a ski resort.

[1]  Jadwiga Indulska,et al.  A survey of context modelling and reasoning techniques , 2010, Pervasive Mob. Comput..

[2]  Oscar Nierstrasz,et al.  Context-oriented Programming , 2008, J. Object Technol..

[3]  Harry Chen,et al.  An Intelligent Broker Architecture for Pervasive Context-Aware Systems , 2004 .

[4]  David Harel,et al.  Behavioral programming , 2012, CACM.

[5]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[6]  Éric Tanter,et al.  A Taxonomy of Domain-Specific Aspect Languages , 2015, ACM Comput. Surv..

[7]  Peter Steenkiste,et al.  Providing contextual information to pervasive computing applications , 2003, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

[8]  Gregory D. Abowd,et al.  The context toolkit: aiding the development of context-enabled applications , 1999, CHI '99.

[9]  Robert Hirschfeld,et al.  Layered design approach for context-aware systems , 2007, VaMoS.

[10]  Apratim Purakayastha,et al.  iQueue: a pervasive data composition framework , 2002, Proceedings Third International Conference on Mobile Data Management MDM 2002.

[11]  Matteo Pradella,et al.  ContextErlang: introducing context-oriented programming in the actor model , 2012, AOSD '12.

[12]  Kurt Geihs,et al.  A Comprehensive Context Modeling Framework for Pervasive Computing Systems , 2008, DAIS.

[13]  Kim Mens,et al.  Subjective-C - Bringing Context to Mobile Platform Programming , 2010, SLE.

[14]  Hidehiko Masuhara,et al.  EventCJ: a context-oriented programming language with declarative event-based context transition , 2011, AOSD '11.

[15]  Letizia Tanca,et al.  Aspects of Pervasive Information Management: An Account of the Green Move System , 2012, 2012 IEEE 15th International Conference on Computational Science and Engineering.

[16]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[17]  Hee Yong Youn,et al.  Similarity Based Distributed Context Reasoning with Layer Context Modeling , 2011, 2011 IEEE 35th Annual Computer Software and Applications Conference.

[18]  Euiho Suh,et al.  Context-aware systems: A literature review and classification , 2009, Expert Syst. Appl..

[19]  David Garlan,et al.  Context is key , 2005, CACM.

[20]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[21]  Letizia Tanca,et al.  CARVE: Context-aware automatic view definition over relational databases , 2013, Inf. Syst..

[22]  Jason Pascoe,et al.  Adding generic contextual capabilities to wearable computers , 1998, Digest of Papers. Second International Symposium on Wearable Computers (Cat. No.98EX215).

[23]  Letizia Tanca,et al.  Pushing context-awareness down to the core : more flexibility for the PerLa language , 2012 .

[24]  Michael Haupt,et al.  A comparison of context-oriented programming languages , 2009, COP@ECOOP.

[25]  Felix Wortmann,et al.  Internet of Things , 2015, Business & Information Systems Engineering.

[26]  Hidehiko Masuhara,et al.  Introducing Composite Layers in EventCJ , 2013 .

[27]  Matteo Pradella,et al.  Context-oriented programming: A software engineering perspective , 2012, J. Syst. Softw..

[28]  Gail E. Kaiser,et al.  Self-managing systems: a control theory foundation , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[29]  Anind K. Dey,et al.  Understanding and Using Context , 2001, Personal and Ubiquitous Computing.

[30]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[31]  Tao Gu,et al.  A service-oriented middleware for building context-aware services , 2005, J. Netw. Comput. Appl..

[32]  Eleonora Borgia,et al.  The Internet of Things vision: Key features, applications and open issues , 2014, Comput. Commun..

[33]  F. Schreiber,et al.  PerLa: A Language and Middleware Architecture for Data Management and Integration in Pervasive Information Systems , 2012, IEEE Transactions on Software Engineering.

[34]  Robert Hirschfeld,et al.  Declarative Layer Composition with The JCop Programming Language , 2013, J. Object Technol..

[35]  Matteo Pradella,et al.  Context-Oriented Programming: A Programming Paradigm for Autonomic Systems , 2011, ArXiv.

[36]  Carlo Curino,et al.  And what can context do for data? , 2009, Commun. ACM.

[37]  Siobhán Clarke,et al.  CASS - Middleware for Mobile Context-Aware Applications , 1990 .

[38]  Coen De Roover,et al.  Interruptible context-dependent executions: a fresh look at programming context-aware applications , 2012, Onward! 2012.

[39]  Zakaria Maamar,et al.  What can context do for web services? , 2006, CACM.

[40]  Immanuel Kant Kritik Der Reinen Vernunft , 2004 .

[41]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[42]  Carlo Curino,et al.  A data-oriented survey of context models , 2007, SGMD.