Context-Oriented Software Engineering: A Modularity Vision (bibtex)
by Tetsuo Kamina, Tomoyuki Aotani, Hidehiko Masuhara and Tetsuo Tamai
Abstract:
There are a number of constructs to implement context-dependent behavior, such as conditional branches using if statements, method dispatching in object-oriented programming (such as the state design pattern), dynamic deployment of aspects in aspect-oriented programming, and layers in context-oriented programming (COP). Uses of those constructs significantly affect the modularity of the obtained implementation. While there are a number of cases where COP improves modularity, it is not clear when we should use COP in general. This paper presents a preliminary study on our software development methodology, the context-oriented software engineering (COSE), which is a use-case-driven software development methodology that guides us to a specification of context-dependent requirements and design. We provide a way to map the requirements and design formed by COSE to the implementation in our COP language ServalCJ. We applied COSE to two applications in order to assess its feasibility. We also identify key linguistic constructs that make COSE effective by examining existing COP languages. These feasibility studies and examination raise a number of interesting open issues. We finally show our future research roadmap to address those issues.
Reference:
Context-Oriented Software Engineering: A Modularity Vision (Tetsuo Kamina, Tomoyuki Aotani, Hidehiko Masuhara and Tetsuo Tamai), In Proceedings of International Conference on Modularity (Modularity'14), 2014.
Bibtex Entry:
@inproceedings{kamina2014mv,
  location = {Lugano, Swizerland},
  month = apr,
  booktitle = {Proceedings of International Conference on Modularity (Modularity'14)},
  year = 2014,
  pdf = {modularity2014.pdf},
  author = {Tetsuo Kamina and Tomoyuki Aotani and Hidehiko Masuhara and Tetsuo Tamai},
  title = {Context-Oriented Software Engineering: A Modularity Vision},
  annote = {submitted on October 22, 2013, accepted on February 11, 2014},
  doi = {10.1145/2577080.2579816},
  annote = {Track on Modularity Visions},
  pages = {85--98},
  annote = {21/60 -- 35 percent acceptance},
  abstract = {There are a number of constructs to implement context-dependent
behavior, such as conditional branches using if statements, method dispatching in object-oriented programming (such as the state design pattern), dynamic deployment of aspects in aspect-oriented programming, and layers in context-oriented programming (COP). Uses of those constructs significantly affect the modularity of the obtained implementation. While there are a number of cases where COP improves modularity, it is not clear when we should use COP in general.

This paper presents a preliminary study on our software development methodology, the context-oriented software engineering (COSE), which is a use-case-driven software development methodology that guides us to a specification of context-dependent requirements and design. We provide a way to map the requirements and design formed by COSE to the implementation in our COP language ServalCJ. We applied COSE to two applications in order to assess its feasibility. We also identify key linguistic constructs that make COSE effective by examining existing COP languages. These feasibility studies and examination raise a number of interesting open issues. We finally show our future research roadmap to address those issues.}
}
Powered by bibtexbrowser