Features on demand

This paper presents our vision of applications as feature clouds, providing software services that are composed dynamically from a set of available fine-grained features. Our feature cloud programming model realizing this vision, relies on context-oriented programming technology, enabling new or adapted features to be added to or removed from running applications on demand, according to contextual information, and taking into account feature dependencies. As a proof of concept, we implemented a prototype of an on-board car system running on a mobile device, using an instantiation of our feature clouds programming model for JavaScript.

[1]  Oscar Nierstrasz,et al.  Traits: A mechanism for fine-grained reuse , 2006, TOPL.

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

[3]  Wouter Joosen,et al.  Context-oriented programming for customizable SaaS applications , 2012, SAC '12.

[4]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[5]  Steve Hanna,et al.  A Symbolic Execution Framework for JavaScript , 2010, 2010 IEEE Symposium on Security and Privacy.

[6]  Nicolás Alvarez,et al.  Identification and management of inconsistencies in dynamically adaptive software systems , 2013 .

[7]  Sebastian Günther,et al.  rbFeatures: Feature-oriented programming with Ruby , 2012, Sci. Comput. Program..

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

[9]  Kim Mens,et al.  Feature-Oriented Programming and Context-Oriented Programming: Comparing Paradigm Characteristics by , 2011, ICSEA 2011.

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

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

[12]  Kim Mens,et al.  Context traits: dynamic behaviour adaptation through run-time trait recomposition , 2013, AOSD.

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

[14]  Robert Hirschfeld,et al.  Language constructs for context-oriented programming: an overview of ContextL , 2005, DLS '05.

[15]  Lixin Tao,et al.  Shifting Paradigms with the Application Service Provider Model , 2001, Computer.