Context-Oriented Software Development with Generalized Layer Activation Mechanism

  title={Context-Oriented Software Development with Generalized Layer Activation Mechanism},
  author={Tetsuo Kamina and Tomoyuki Aotani and Hidehiko Masuhara and Tetsuo Tamai},
  journal={LNCS Trans. Modul. Compos.},
Linguistic constructs such as if statements, dynamic dispatches, dynamic deployments, and layers in context-oriented programming (COP) are used to implement context-dependent behavior. Use of such constructs significantly affects the modularity of the obtained implementation. While there are a number of cases where COP improves modularity related to variations of context-dependent behavior and controls of dynamic behavior changes, it is unclear when COP should be used in general. 
1 Citations


Context-oriented software engineering: a modularity vision
This paper provides a way to map the requirements and design formed by COSE to the implementation in the authors' COP language ServalCJ, and identifies key linguistic constructs that make COSE effective by examining existing COP languages.
Feature Descriptions for Context-oriented Programming
This paper shows how feature diagrams can be naturally mapped onto COP by integrating the Feature Description Language, and ensures that feature dependencies are automatically enforced, so programmers can focus on declarative descriptions of layer dependencies without the need to resort to low-level details.
Event-Specific Software Composition in Context-Oriented Programming
This paper proposes new language constructs for event-specific composition and explicit context representation and introduces their implementation in JCop, the COP extension to Java.
An Introduction to Context-Oriented Programming with ContextS
This paper illustrates COP constructs, their application, and their implementation by developing a sample scenario, using ContextS in the Squeak/Smalltalk programming environment.
Context-Oriented Domain Analysis
This paper proposes the Context-Oriented Domain Analysis (CODA) model which is a specialized approach for analyzing, structuring, and formalizing the software requirements of context-aware systems.
Language constructs for context-oriented programming: an overview of ContextL
This paper illustrates the ideas of ContextL by providing different UI views on the same object while, at the same time, keeping the conceptual simplicity of object-oriented programming that objects know by themselves how to behave, in this case how to display themselves.
Context-oriented Programming
This paper lays the foundations of COP, shows how dynamic layer activation enables multi-dimensional dispatch, illustrates the application of COP by examples in several language extensions, and demonstrates that COP is largely independent of other commitments to programming style.
Improving the development of context-dependent Java applications with ContextJ
This paper assesses the applicability of ContextJ language abstractions for the development of a graphical user interface-based application and presents a text editor that has been implemented with ContextJ based on the Qt Jambi framework.
Introducing Composite Layers in EventCJ
This paper introduces a new construct called a composite layer, which declares a proposition in which ground terms are given other layer names (true when active) and discusses the efficient implementation of this mechanism in EventCJ.
Context-oriented programming in ContextL: state of the art
An overview of the major ingredients of ContextL is given, the developments in ContextL of the last four years are described, and some future work is sketched.