Context-Oriented Programming in Java

Context-oriented programming aims at modularization of context-depdent concerns by providing a few language constructs such as dynamically activable and first-class layers, and partial methods. This project investigates context-oriented programming as an extension to Java. It involves with design and implementation of the languages ContextJ and JCop, and case studies with practical application programs.

This is a joint project with the Software Archiceture Group at Hasso Plattner Institut.

Further information including implementations and related projects is available in the project page at HPI.


Malte Appeltauer (HPI, Germany)

Michael Haupt (HPI, Germany)

Robert Hirschfeld (HPI, Germany)

Kazunori Kawauchi

Hidehiko Masuhara


  • Malte Appeltauer, Robert Hirschfeld, Michael Haupt, and Hidehiko Masuhara. “ContextJ: Context-oriented programming with Java ”, Comptuer Software, to appear.
  • Malte Appeltauer, Robert Hirschfeld, Hidehiko Masuhara, Michael Haupt, and Kazunori Kawauchi, “Event-specific software composition in context-oriented programming ”, in Proceedings of the Conference on Software Composition (SC’10), LNCS, Malaga, Spain, July 1-2 2010. to appear.
  • Malte Appeltauer, Robert Hirschfeld, Michael Haupt and Hidehiko Masuhara, “ContextJ: Context-oriented Programming with Java ”, in Proceedings of the 26th JSSST Annual Conference, 2D-1, Shimane University, Matsue, Shimane, 16 September 2009.