A layer-structure diagram and a layer-interaction diagram towards a context-oriented development methodology for embedded systems

The paper introduces new kinds of diagrams for describing organizations and interactions of layers based on context-oriented technology for context-sensitive embedded system developments. The concept of layers is suitable for processing context-aware embedded systems. As mentioned in several related literatures, layer-interactions cause critical problems such as deadlock, collision, and multi-invocation. To comprehend these problems at a high level, diagrams for visualizing relationships among layers are required. In a previous work, we proposed an OS-like architecture based on context-oriented technologies for embedded system development. The layering mechanism of the architecture dispatches or inserts layers with their states for dealing with layer-interaction problems. The goal of this paper is to introduce diagrams that contain notations for relating with the elements of the layering mechanism. To accomplish this, we consider the following issues: (1) the relations between layers, (2) layer-state management, and (3) context management attributes. The diagrams contribute to understanding layer-interaction problems with time delay and mutually exclusive layers. To explain the diagrams, we provide a simple example of an automatic cleaner robot.

[1]  Michael Haupt,et al.  ContextJ: Context-oriented Programming with Java , 2011 .

[2]  Atsushi Igarashi,et al.  On-Demand Layer Activation for Type-Safe Deactivation , 2014, COP'14.

[3]  Tetsuo Tamai,et al.  Context-oriented software engineering: a modularity vision , 2014, MODULARITY.

[4]  Midori Sugaya,et al.  A structure of a c# framework ContextCS based on context-oriented programming , 2015, MODULARITY.

[5]  Andry Rakotonirainy,et al.  Context-oriented programming , 2003, MobiDe '03.

[6]  Kim Mens,et al.  Uniting global and local context behavior with context Petri nets , 2012, COP@ECOOP.

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

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

[9]  Hidehiko Masuhara,et al.  Unifying Multiple Layer Activation Mechanisms Using One Event Sequence , 2014, COP'14.

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

[11]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[12]  Kim Mens,et al.  Safer context (de)activation: through the prompt-loyal strategy , 2011, COP@ECOOP.

[13]  Midori Sugaya,et al.  A Study of Context-Oriented Programming for Applying to Robot Development , 2015, COP@ECOOP.

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

[15]  Michael Haupt,et al.  An Introduction to Context-Oriented Programming with ContextS , 2007, GTTSE.