ContextJ: Context-Oriented Programming with Java (bibtex)
by Malte Appeltauer, Robert Hirschfeld, Michael Haupt and Hidehiko Masuhara
Abstract:
Context-oriented programming (COP) allows for the modularization of context-dependent behavioral variations. So far, COP has been implemented for dynamically-typed languages such as Lisp, Smalltalk, Python, and Ruby relying on reflection mechanisms, and for the statically-typed programming language Java based on a library and a pre-processor. ContextJ is our COP implementation for Java. It properly integrates COP's layer concept into the Java type system. ContextJ is compiler-based. As confirmed by a benchmark and a case study, it provides both better performance and higher-level abstraction mechanisms than its Java-based predecessors. In this paper, we present the ContextJ language and explain its constructs and semantics. Further, we give an overview of the implementation of our compiler and discuss run-time benchmarks.
Reference:
ContextJ: Context-Oriented Programming with Java (Malte Appeltauer, Robert Hirschfeld, Michael Haupt and Hidehiko Masuhara), In Proceedings of the 26th Annual Conference of Japan Society for Software Science and Technology (Hideya Iawasaki, ed.), 2009. (Full paper veresion is published as [appeltauer2011compsoft])
Bibtex Entry:
@inproceedings{appeltauer2009jssst,
  organization = {{J}apan Society for Software Science and Technology
		  ({JSSST})},
  address = {Shimane University, Matsue, Shimane, Japan},
  editor = {Hideya Iawasaki},
  year = 2009,
  booktitle = {Proceedings of the 26th Annual Conference of {J}apan Society for Software Science and Technology},
  pdf = {jssst2009.pdf},
  author = {Malte Appeltauer and Robert Hirschfeld and  Michael Haupt and Hidehiko Masuhara},
  url = {https://ipl.cs.uec.ac.jp/jssst2009/},
  title = {{ContextJ}: Context-Oriented Programming with {Java}},
  note = {Full paper veresion is published as \cite{appeltauer2011compsoft}},
  pages = {2D-1},
  month = sep # { 16},
  abstract = {Context-oriented programming (COP) allows for the modularization of context-dependent behavioral variations. So far, COP has been implemented for dynamically-typed languages such as Lisp, Smalltalk, Python, and Ruby relying on reflection mechanisms, and for the statically-typed programming language Java based on a library and a pre-processor. ContextJ is our COP implementation for Java. It properly integrates COP's layer concept into the Java type system. ContextJ is compiler-based. As confirmed by a benchmark and a case study, it provides both better performance and higher-level abstraction mechanisms than its Java-based predecessors. In this paper, we present the ContextJ language and explain its constructs and semantics. Further, we give an overview of the implementation of our compiler and discuss run-time benchmarks.}
}
Powered by bibtexbrowser