A core calculus of composite layers

Composite layers in context-oriented programming (COP) are the abstraction that localizes conditions about when the specified layer becomes active. A composite layer changes the behavior of the system by implicit layer activation triggered by explicit activation of contexts. Existing studies on formalization of COP languages do not cover such an activation mechanism. This paper formalizes composite layers to clarify the operational semantics of implicit layer activation. Based on this formalization, we prove that the translation of composite layers into the existing COP language is sound, which ensures the correctness of the existing implementation of composite layers.

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

[2]  Theo D'Hondt,et al.  Feature Descriptions for Context-oriented Programming , 2008, SPLC.

[3]  Atsushi Igarashi,et al.  ContextFJ: a minimal core calculus for context-oriented programming , 2011, FOAL.

[4]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[5]  Kim Mens,et al.  Context-Oriented Programming with the Ambient Object System , 2008, J. Univers. Comput. Sci..

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

[7]  Alexandre Bergel,et al.  Context-Aware Aspects , 2006, SC@ETAPS.

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

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

[10]  Kim Mens,et al.  Highly dynamic behaviour adaptability through prototypes with subjective multimethods , 2007, DLS '07.

[11]  Felix Schlenk,et al.  Proof of Theorem 3 , 2005 .

[12]  Hidehiko Masuhara,et al.  Featherweight EventCJ: a core calculus for a context-oriented language with event-based per-instance layer transition , 2011, COP@ECOOP.

[13]  Robert Hirschfeld,et al.  An open implementation for context-oriented layer composition in ContextJS , 2011, Sci. Comput. Program..

[14]  Hidehiko Masuhara,et al.  Bridging real-world contexts and units of behavioral variations by composite layers , 2012, COP@ECOOP.

[15]  R. Varga,et al.  Proof of Theorem 4 , 1983 .

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